Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using AutoMapper;
- using Azure;
- using BI.Elic.Services.MasterAPI.DBs;
- using BI.Elic.Services.MasterAPI.Models;
- using BI.Elic.Services.MasterAPI.Models.Dto;
- using Microsoft.AspNetCore.Http;
- using Microsoft.AspNetCore.Mvc;
- using Newtonsoft.Json;
- using Microsoft.EntityFrameworkCore;
- using System.ComponentModel.DataAnnotations;
- using Microsoft.AspNetCore.Authorization;
- using BI.Elic.Services.MasterAPI.Modules.Security;
- using static System.Runtime.InteropServices.JavaScript.JSType;
- namespace BI.Elic.Services.MasterAPI.Controllers
- {
- // [Authorization()]
- [Route("api/admin/konsultasiPCM")]
- [ApiController]
- //[Authorize]
- public class AdminKonsultasiPCMAPIController : ControllerBase
- {
- private readonly AppDbContext db;
- private ApiResponse response;
- private IMapper _mapper;
- public IConfiguration Configuration { get; private set; }
- public IHttpContextAccessor HttpContextAccessor { get; set; }
- public AdminKonsultasiPCMAPIController(IConfiguration configuration, IHttpContextAccessor httpContextAccessor, IMapper mapper) : base()
- {
- Configuration = configuration;
- if (HttpContextAccessor == null)
- {
- HttpContextAccessor = httpContextAccessor;
- }
- this.db = new AppDbContext(
- new DbContextOptionsBuilder<AppDbContext>()
- //.UseLazyLoadingProxies()
- .UseSqlServer(Configuration.GetConnectionString("DefaultConnection"), b => b.UseNetTopologySuite())
- .Options
- );
- response = new ApiResponse();
- _mapper = mapper;
- }
- [HttpGet]
- public IActionResult Get()
- {
- try
- {
- //IEnumerable<PemohonKonsultasiPCM> objlist = db.KonsultasiPCM.ToList();
- IEnumerable<ViewKonsultasiPCM> objlist = db.ViewKonsultasiPCM.FromSqlRaw(ViewKonsultasiPCM.GetViewSQL());
- if (objlist == null)
- {
- response.status = false;
- response.message = "Data tidak ditemukan";
- return NotFound(response);
- }
- response.data = _mapper.Map<IEnumerable<ViewKonsultasiPCMDto>>(objlist);
- }
- catch (Exception ex) when (ex is ValidationException)
- {
- response.status = false;
- response.message = ex.Message;
- return BadRequest(response);
- }
- catch (Exception ex)
- {
- // Log other unexpected exceptions
- //LogException(ex);
- response.status = false;
- response.message = ex.Message;
- return BadRequest(response);
- }
- return Ok(response);
- }
- [HttpGet]
- [Route("{id:int}")]
- public IActionResult Get(int id)
- {
- try
- {
- //PemohonKonsultasiPCM obj = db.KonsultasiPCM.First(u => u.konsultasipcmid == id);
- ViewKonsultasiPCM obj = db.ViewKonsultasiPCM.FromSqlRaw(ViewKonsultasiPCM.GetViewSQL()).First(u => u.konsultasipcmid == id);
- if (obj == null)
- {
- response.status = false;
- response.message = "Data tidak ditemukan";
- return NotFound(response);
- }
- response.data = _mapper.Map<ViewKonsultasiPCMDto>(obj);
- }
- catch (Exception ex)
- {
- response.status = false;
- response.message = ex.Message;
- return BadRequest(response);
- }
- return Ok(response);
- }
- [HttpGet]
- [Route("GetByCode/{code}")]
- public IActionResult GetByCode(int code)
- {
- try
- {
- //PemohonKonsultasiPCM obj = db.KonsultasiPCM.First(u => u.konsultasiid == code);
- ViewKonsultasiPCM obj = db.ViewKonsultasiPCM.FromSqlRaw(ViewKonsultasiPCM.GetViewSQL()).First(u => u.konsultasiid == code);
- if (obj == null)
- {
- response.status = false;
- response.message = "Data tidak ditemukan";
- return NotFound(response);
- }
- response.data = _mapper.Map<ViewKonsultasiPCM>(obj);
- }
- catch (Exception ex)
- {
- response.status = false;
- response.message = ex.Message;
- return BadRequest(response);
- }
- return Ok(response);
- }
- [HttpPost]
- [Route("save")]
- public IActionResult save([FromBody] ViewKonsultasiPCMDto ViewKonsultasiPCMDto)
- {
- try
- {
- List<AdminKonsultasiDokumenDto> documentList = ViewKonsultasiPCMDto.AdminKonsultasiDokumenList.ToList();
- foreach (var document in documentList)
- {
- if (document != null)
- {
- // Cek apakah dokumen dengan NamaFile dan KonsultasiId yang sama sudah ada
- var existingDocument = db.AdminKonsultasiDokumen
- .FirstOrDefault(d => d.FILENAME == document.FILENAME && d.KONSULTASIID == ViewKonsultasiPCMDto.konsultasiid);
- if (existingDocument != null)
- {
- // Update dokumen yang sudah ada
- existingDocument.DOCUMENTNAME = document.FILENAME;
- existingDocument.FILEALT = document.FILEALT;
- existingDocument.FILEDATA = document.FILEDATA;
- existingDocument.DATEMODIFIED = DateTime.Now;
- existingDocument.CONTENTTYPE = document.CONTENTTYPE;
- existingDocument.MODIFIEDBY = HttpContext.Items["User"].ToString(); // sesuaikan user yang melakukan modifikasi
- db.AdminKonsultasiDokumen.Update(existingDocument);
- }
- else
- {
- // Insert dokumen baru jika tidak ditemukan dokumen dengan nama yang sama
- var docEntity = new AdminKonsultasiDokumen
- {
- KONSULTASIID = ViewKonsultasiPCMDto.konsultasiid,
- FILENAME = document.FILENAME,
- DOCUMENTNAME = document.DOCUMENTNAME,
- FILEALT = document.FILEALT,
- FILEDATA = document.FILEDATA,
- DATECREATED = DateTime.Now,
- DATEMODIFIED = DateTime.Now,
- CONTENTTYPE = document.CONTENTTYPE,
- STATUS = 1,
- CREATEDBY = HttpContext.Items["User"].ToString(),
- MODIFIEDBY = HttpContext.Items["User"].ToString()
- };
- db.AdminKonsultasiDokumen.Add(docEntity);
- }
- }
- }
- db.SaveChanges();
- //Starts Here
- var existingEntity = db.Konsultasi.FirstOrDefault(e => e.konsultasiid == ViewKonsultasiPCMDto.konsultasiid);
- if (existingEntity != null)
- {
- existingEntity.workflowid = ViewKonsultasiPCMDto.workflowid;
- // Update fields lain sesuai kebutuhan
- }
- // Update AdminKonsultasi
- var existingAdminKonsultasi = db.AdminKonsultasiClone
- .FirstOrDefault(a => a.KONSULTASIID == ViewKonsultasiPCMDto.konsultasiid);
- if (existingAdminKonsultasi != null)
- {
- existingAdminKonsultasi.ENTITASID = ViewKonsultasiPCMDto.entitasid;
- existingAdminKonsultasi.TIMEPCMCMID = ViewKonsultasiPCMDto.timepcmcmid;
- existingAdminKonsultasi.TIPEKONSULTASI = ViewKonsultasiPCMDto.tipeperizinanid;
- existingAdminKonsultasi.WORKFLOWID = ViewKonsultasiPCMDto.workflowid;
- db.AdminKonsultasiClone.Update(existingAdminKonsultasi);
- }
- // Update AdminKonsultasiAwal
- var existingAdminKonsultasiPCM = db.AdminKonsultasiPCM
- .FirstOrDefault(a => a.KONSULTASIID == ViewKonsultasiPCMDto.konsultasiid);
- if (existingAdminKonsultasiPCM != null)
- {
- existingAdminKonsultasiPCM.TIPEPERIZINANID = ViewKonsultasiPCMDto.tipeperizinanid;
- existingAdminKonsultasiPCM.TOPICID = ViewKonsultasiPCMDto.topikid;
- existingAdminKonsultasiPCM.METODE = ViewKonsultasiPCMDto.metode;
- existingAdminKonsultasiPCM.LOKASI = ViewKonsultasiPCMDto.lokasi;
- db.AdminKonsultasiPCM.Update(existingAdminKonsultasiPCM);
- }
- db.SaveChanges();
- response.status = true;
- response.data = _mapper.Map<ViewKonsultasiPCM>(ViewKonsultasiPCMDto);
- //ENds There
- // ViewKonsultasiPCM obj = _mapper.Map<ViewKonsultasiPCM>(ViewKonsultasiPCMDto);
- // AdminKonsultasi obj2 = db.AdminKonsultasi.First(u => u.KONSULTASIID == obj.konsultasiid);
- // AdminKonsultasiPCM adminKonsultPCM = db.AdminKonsultasiPCM.First(u => u.KONSULTASIID == obj.konsultasiid);
- // // PemohonKonsultasiPCM obj = _mapper.Map<PemohonKonsultasiPCM>(ViewKonsultasiPCMDto);
- // // db.KonsultasiPCM.Add(obj);
- // //db.SaveChanges();
- // if (obj2 == null)
- // {
- // var newAdminKonsultasi = new AdminKonsultasi
- // {
- // KONSULTASIID = ViewKonsultasiPCMDto.konsultasiid,
- // ENTITASID = ViewKonsultasiPCMDto.entitasid,
- // TIMEPCMCMID = ViewKonsultasiPCMDto.timepcmcmid,
- // TIPEKONSULTASI = 2,
- // WORKFLOWID = 718,
- //};
- // db.AdminKonsultasi.Add(newAdminKonsultasi);
- // }
- // else
- // {
- // obj2.ENTITASID = ViewKonsultasiPCMDto.entitasid;
- // obj2.TIMEPCMCMID = ViewKonsultasiPCMDto.timepcmcmid;
- // obj2.TIMEPCMCMID = ViewKonsultasiPCMDto.timepcmcmid;
- // obj2.TIPEKONSULTASI = 2;
- // obj2.WORKFLOWID = 718;
- // }
- // db.SaveChanges();
- // if (adminKonsultPCM == null)
- // {
- // var newAdminKonsultasiPCM = new AdminKonsultasiPCM
- // {
- // KONSULTASIID = ViewKonsultasiPCMDto.konsultasiid,
- // TIPEPERIZINANID = ViewKonsultasiPCMDto.tipeperizinanid,
- // ISBACAKETENTUAN = ViewKonsultasiPCMDto.isbacaketentuan,
- // ISIZINSEBELUMNYA = ViewKonsultasiPCMDto.isizinsebelumnya,
- // ISPCMSEBELUMNYA = ViewKonsultasiPCMDto.ispcmsebelumnya,
- // TOPICID = ViewKonsultasiPCMDto.topikid,
- // INFORMASITAMBAHAN = ViewKonsultasiPCMDto.informasitambahan,
- // METODE = ViewKonsultasiPCMDto.metode,
- // LOKASI = ViewKonsultasiPCMDto.lokasi,
- // JAWABANKUIS = ViewKonsultasiPCMDto.jawabankuis,
- // KATEGORIPJPID = ViewKonsultasiPCMDto.kategoripjpid,
- // AKTIVITASPERIZINANID = ViewKonsultasiPCMDto.aktivitasperizinanid,
- // HASIL = ViewKonsultasiPCMDto.hasil,
- // FOLLOWUP = ViewKonsultasiPCMDto.followup,
- // };
- // db.AdminKonsultasiPCM.Add(newAdminKonsultasiPCM);
- // }
- // else
- // {
- // //adminKonsultPCM.KONSULTASIID = ViewKonsultasiPCMDto.konsultasiid;
- // //adminKonsultPCM.TIPEPERIZINANID = ViewKonsultasiPCMDto.tipeperizinanid;
- // //adminKonsultPCM.ISBACAKETENTUAN = ViewKonsultasiPCMDto.isbacaketentuan;
- // //adminKonsultPCM.ISIZINSEBELUMNYA = ViewKonsultasiPCMDto.isizinsebelumnya;
- // //adminKonsultPCM.ISPCMSEBELUMNYA = ViewKonsultasiPCMDto.ispcmsebelumnya;
- // //adminKonsultPCM.TOPICID = ViewKonsultasiPCMDto.topikid;
- // //adminKonsultPCM.INFORMASITAMBAHAN = ViewKonsultasiPCMDto.informasitambahan;
- // //adminKonsultPCM.METODE = ViewKonsultasiPCMDto.metode;
- // //adminKonsultPCM.LOKASI = ViewKonsultasiPCMDto.lokasi;
- // //adminKonsultPCM.JAWABANKUIS = ViewKonsultasiPCMDto.jawabankuis;
- // adminKonsultPCM.KATEGORIPJPID = ViewKonsultasiPCMDto.kategoripjpid;
- // adminKonsultPCM.AKTIVITASPERIZINANID = ViewKonsultasiPCMDto.aktivitasperizinanid;
- // adminKonsultPCM.HASIL = ViewKonsultasiPCMDto.hasil;
- // adminKonsultPCM.FOLLOWUP = ViewKonsultasiPCMDto.followup;
- // }
- // db.SaveChanges();
- // response.data = _mapper.Map<ViewKonsultasiPCM>(obj);
- }
- catch (Exception ex)
- {
- response.status = false;
- response.message = ex.Message;
- return BadRequest(response);
- }
- return Ok(response);
- }
- [HttpPost]
- [Route("reschedule")]
- public IActionResult reschedule([FromBody] ViewKonsultasiPCMDto ViewKonsultasiPCMDto)
- {
- try
- {
- ViewKonsultasiPCM obj = _mapper.Map<ViewKonsultasiPCM>(ViewKonsultasiPCMDto);
- // PemohonKonsultasiPCM obj = _mapper.Map<PemohonKonsultasiPCM>(ViewKonsultasiPCMDto);
- // db.KonsultasiPCM.Add(obj);
- //db.SaveChanges();
- int konsid;
- var newAdminKonsultasi = new AdminKonsultasiClone
- {
- ENTITASID = ViewKonsultasiPCMDto.entitasid,
- TIMEPCMCMID = ViewKonsultasiPCMDto.timepcmcmid,
- TIPEKONSULTASI = 2,
- WORKFLOWID = 715,
- };
- // db.Holiday.Add(newKalender);
- //PemohonKonsultasi obj2 = _mapper.Map<PemohonKonsultasi>(provinsiDto);
- db.AdminKonsultasiClone.Add(newAdminKonsultasi);
- db.SaveChanges();
- konsid = newAdminKonsultasi.KONSULTASIID;
- var newAdminKonsultasiPCM = new AdminKonsultasiPCM
- {
- KONSULTASIID = konsid,
- TIPEPERIZINANID = ViewKonsultasiPCMDto.tipeperizinanid,
- ISBACAKETENTUAN = ViewKonsultasiPCMDto.isbacaketentuan,
- ISIZINSEBELUMNYA = ViewKonsultasiPCMDto.isizinsebelumnya,
- ISPCMSEBELUMNYA = ViewKonsultasiPCMDto.ispcmsebelumnya,
- TOPICID = ViewKonsultasiPCMDto.topikid,
- INFORMASITAMBAHAN = ViewKonsultasiPCMDto.informasitambahan,
- METODE = ViewKonsultasiPCMDto.metode,
- LOKASI = ViewKonsultasiPCMDto.lokasi,
- JAWABANKUIS = ViewKonsultasiPCMDto.jawabankuis
- };
- db.AdminKonsultasiPCM.Add(newAdminKonsultasiPCM);
- db.SaveChanges();
- response.data = _mapper.Map<ViewKonsultasiPCM>(obj);
- }
- catch (Exception ex)
- {
- response.status = false;
- response.message = ex.Message;
- return BadRequest(response);
- }
- return Ok(response);
- }
- [HttpPost]
- [Route("update")]
- public IActionResult update([FromBody] PemohonKonsultasiPCMDto provinsiDto)
- {
- try
- {
- PemohonKonsultasiPCM obj = _mapper.Map<PemohonKonsultasiPCM>(provinsiDto);
- db.KonsultasiPCM.Update(obj);
- db.SaveChanges();
- response.data = _mapper.Map<PemohonKonsultasiPCMDto>(obj);
- }
- catch (Exception ex)
- {
- response.status = false;
- response.message = ex.Message;
- return BadRequest(response);
- }
- return Ok(response);
- }
- [HttpPost]
- [Route("delete/{id:int}")]
- public IActionResult delete(int id)
- {
- try
- {
- PemohonKonsultasiPCM obj = db.KonsultasiPCM.First(u => u.konsultasipcmid == id);
- db.KonsultasiPCM.Remove(obj);
- db.SaveChanges();
- }
- catch (Exception ex)
- {
- response.status = false;
- response.message = ex.Message;
- return BadRequest(response);
- }
- return Ok(response);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment