/// <summary> /// Deletes the asynchronous. /// </summary> /// <param name="entity">The entity.</param> /// <returns></returns> public async Task<SaveResult> DeleteAsync(FARMasterDto entity) { SaveResult result = SaveResult.FAILURE; try { using (FailureAnalysisEntities context = new FailureAnalysisEntities()) { var master = context.FAR_Master.Single(x => x.Id == entity.Id && x.IsDeleted == false); master.IsDeleted = true; master.LastUpdate = DateTime.Now; master.LastUpdatedBy = entity.LastUpdatedBy; context.Entry<FAR_Master>(master).State = System.Data.Entity.EntityState.Modified; result = await context.SaveChangesAsync() > 0 ? SaveResult.SUCCESS : SaveResult.FAILURE; } } catch (Exception ex) { _logService.Error(ex.Message, ex); result = SaveResult.FAILURE; } return result; }
/// <summary> /// Adds the master asynchronous. /// </summary> /// <param name="entity">The entity.</param> /// <returns></returns> public async Task<int> AddMasterAsync(FARMasterDto entity) { int result = 0; try { using (FailureAnalysisEntities context = new FailureAnalysisEntities()) { FAR_Master add = context.FAR_Master.Create(); add.Number = entity.Number; add.OriginId = entity.OriginId; add.Requestor = entity.Requestor; add.RefNo = entity.RefNo; add.FailureTypeId = entity.FailureTypeId; add.FailureOriginId = entity.FailureOriginId; add.FailureRate = entity.FailureRate; add.StatusId = entity.StatusId; add.Analyst = entity.Analyst; add.RequestDate = entity.RequestDate; add.SamplesArriveDate = entity.SamplesArriveDate; add.PriorityId = entity.PriorityId; add.InitialReportTargetDate = entity.InitialReportTargetDate; add.BUId = entity.BUId; add.Product = entity.Product; add.FailureDesc = entity.FailureDesc; add.FinalReportTargetDate = entity.FinalReportTargetDate; add.Submitted = entity.Submitted; add.Customer = entity.Customer; add.LabSiteId = entity.LabSiteId; add.RatingId = entity.RatingId; add.Comments = entity.Comments; add.IsDeleted = entity.IsDeleted; add.LastUpdatedBy = entity.LastUpdatedBy; add.LastUpdate = DateTime.Now; context.Entry<FAR_Master>(add).State = System.Data.Entity.EntityState.Added; await context.SaveChangesAsync(); result = add.Id; } } catch (Exception ex) { _logService.Error(ex.Message, ex); result = 0; } return result; }
public async Task<JsonResult> NewRequest(string btnSubmit, FARRequestViewModel viewmodel) { if (!ModelState.IsValid) { var bind = await BindRequestDashboard(); bind.BUId = viewmodel.BUId; bind.OriginId = viewmodel.OriginId; bind.FailureTypeId = viewmodel.FailureTypeId; bind.StatusId = viewmodel.StatusId; bind.PriorityId = viewmodel.PriorityId; bind.LabSiteId = viewmodel.LabSiteId; Response.StatusCode = (int)HttpStatusCode.NotAcceptable; return new JsonResult() { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new { result = "invalidate" } }; } string suffix = (await OriginRepository.SingleAsync(viewmodel.OriginId)).Name; var newFARNumber = GeneralFARNumber(suffix); bool isSubmit = false; switch (btnSubmit) { case "Save": isSubmit = false; break; case "Submit": isSubmit = true; break; } FARMasterDto master = new FARMasterDto() { Number = newFARNumber, OriginId = viewmodel.OriginId, Requestor = viewmodel.Requestor, RefNo = viewmodel.RefNo, FailureTypeId = viewmodel.FailureTypeId, FailureOriginId = viewmodel.FailureOriginId, FailureRate = viewmodel.FailureRate, StatusId = (int)StatusType.OPEN, LabSiteId = viewmodel.LabSiteId, RequestDate = viewmodel.RequestDate, SamplesArriveDate = viewmodel.SamplesArriveDate, PriorityId = viewmodel.PriorityId, BUId = viewmodel.BUId, Product = viewmodel.Product, FailureDesc = viewmodel.FailureDesc, Customer = viewmodel.Customer, LastUpdatedBy = this.CurrentName, Submitted = isSubmit, //Enhancement Comments = String.Empty }; //Enhancement if (!String.IsNullOrEmpty(viewmodel.Product)) { try { //var products = ProductRepository.FindByName(viewmodel.Product); //Enhacement https://mail.google.com/mail/u/0/?tab=wm#inbox/1549ffc4556acdc7 var products = ProductRepository.FindByNameAndLabSite(viewmodel.Product, viewmodel.LabSiteId); if (products != null && products.Count() > 0) { var product = products.First(); if (!String.IsNullOrEmpty(product.MainPerson)) master.Analyst = product.MainPerson; else if (!String.IsNullOrEmpty(product.SecondaryPerson)) master.Analyst = product.SecondaryPerson; else if (!String.IsNullOrEmpty(product.TertiaryPerson)) master.Analyst = product.TertiaryPerson; } } catch (Exception ex) { LogService.Error(ex.Message, ex); } } //End Enhancement #18 var result = await MasterRepository.AddMasterAsync(master); if (result > 0) { if (!String.IsNullOrEmpty(master.Analyst)) { //SendMail string emailSubject = "FA Request " + master.Number + " has been assigned to you"; string ebody = "You have been assigned by " + this.CurrentName + " to oversee FA Number: " + master.Number + ". Please login to FA DB to update its details."; string emailBody = string.Format("{0}<br><br>{1}", ebody, DateTime.Now.ToShortDateString()); Mail.Send(master.Analyst, emailSubject, ebody); } //Copy all files temp tp folder id master, and remove all file temp string filesTemp = System.IO.Path.Combine(Server.MapPath("~/Upload/Temp"), viewmodel.Gu); if (System.IO.Directory.Exists(filesTemp)) { //get all files string[] files = System.IO.Directory.GetFiles(filesTemp); string folderMaster = System.IO.Path.Combine(Server.MapPath("~/Upload"), result.ToString().PadLeft(10, '0')); if (!System.IO.Directory.Exists(folderMaster)) System.IO.Directory.CreateDirectory(folderMaster); foreach (string file in files) { System.IO.File.Copy(file, System.IO.Path.Combine(folderMaster, System.IO.Path.GetFileName(file))); System.IO.File.Delete(file); } //Remove all file temp System.IO.Directory.Delete(filesTemp); } Response.StatusCode = (int)HttpStatusCode.OK; return new JsonResult() { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new { code = result } }; } else { var bind = await BindRequestDashboard(); bind.BUId = viewmodel.BUId; bind.OriginId = viewmodel.OriginId; bind.FailureTypeId = viewmodel.FailureTypeId; bind.StatusId = viewmodel.StatusId; bind.PriorityId = viewmodel.PriorityId; bind.LabSiteId = viewmodel.LabSiteId; Response.StatusCode = (int)HttpStatusCode.BadRequest; return new JsonResult() { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new { result = "Failure" } }; } }
/// <summary> /// Updates the asynchronous. /// </summary> /// <param name="entity">The entity.</param> /// <returns></returns> public async Task<SaveResult> UpdateAsync(FARMasterDto entity) { SaveResult result = SaveResult.FAILURE; try { using (FailureAnalysisEntities context = new FailureAnalysisEntities()) { var entry = context.FAR_Master.Single(x => x.Id == entity.Id && x.IsDeleted == false); entry.Number = entity.Number; entry.OriginId = entity.OriginId; entry.Requestor = entity.Requestor; entry.RefNo = entity.RefNo; entry.FailureTypeId = entity.FailureTypeId; entry.FailureOriginId = entity.FailureOriginId; entry.FailureRate = entity.FailureRate; entry.StatusId = entity.StatusId; entry.Analyst = entity.Analyst; entry.RequestDate = entity.RequestDate; entry.SamplesArriveDate = entity.SamplesArriveDate; entry.PriorityId = entity.PriorityId; entry.InitialReportTargetDate = entity.InitialReportTargetDate; entry.BUId = entity.BUId; entry.Product = entity.Product; entry.FailureDesc = entity.FailureDesc; entry.FinalReportTargetDate = entity.FinalReportTargetDate; entry.Submitted = entity.Submitted; entry.Customer = entity.Customer; entry.LabSiteId = entity.LabSiteId; entry.RatingId = entity.RatingId; entry.Comments = entity.Comments; entry.IsDeleted = entity.IsDeleted; entry.LastUpdatedBy = entity.LastUpdatedBy; entry.LastUpdate = DateTime.Now; context.Entry<FAR_Master>(entry).State = System.Data.Entity.EntityState.Modified; result = await context.SaveChangesAsync() > 0 ? SaveResult.SUCCESS : SaveResult.FAILURE; } } catch (Exception ex) { _logService.Error(ex.Message, ex); result = SaveResult.FAILURE; } return result; }
public async Task<JsonResult> ReEditFA(int id, FAREditRequestViewModel farRequest, string btnSubmit) { var bind = await BindEditFA(id); #region Execute button Recall if (btnSubmit == "Recall") { //Find master by id var master = MasterRepository.Single(id); master.Submitted = false; var updateResult = MasterRepository.Update(master); if (updateResult == Model.SaveResult.SUCCESS) { Response.StatusCode = (int)HttpStatusCode.OK; return new JsonResult { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new { code = "RE01" } }; } else { Response.StatusCode = (int)HttpStatusCode.BadRequest; return new JsonResult { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new { code = "RE02" } }; } } #endregion bool isSubmit = false; farRequest.Id = id; switch (btnSubmit) { case "Save": break; case "Submit": isSubmit = ProcessHisRep.CheckExistProcess(id); break; } #region button Save or Submit execute FARMasterDto add = new FARMasterDto { Id = id, Number = farRequest.FARNumber, OriginId = farRequest.OriginId, Requestor = farRequest.Requestor, RefNo = farRequest.RefNo, FailureTypeId = farRequest.FailureTypeId, FailureOriginId = farRequest.FailureOriginId, FailureRate = farRequest.FailureRate, RequestDate = farRequest.RequestDate, SamplesArriveDate = null, PriorityId = farRequest.PriorityId, BUId = farRequest.BUId, Product = farRequest.Product, LabSiteId = farRequest.LabSiteId, InitialReportTargetDate = farRequest.InitialReportTargetDate, FinalReportTargetDate = farRequest.FinalReportTargetDate, FailureDesc = farRequest.FailureDesc, Analyst = bind.Analyst, StatusId = farRequest.StatusId, Customer = farRequest.Customer, Comments = String.Empty, LastUpdatedBy = this.CurrentName, Submitted = isSubmit, }; var result = await MasterRepository.UpdateAsync(add); if (result == Model.SaveResult.SUCCESS) { if (isSubmit) { string emailToAddress = GetManagers(); string emailSubject = "New FA Request"; string ebody = "FA Number: " + farRequest.FARNumber + " has been added to your queue. Please login to FA DB for your review and Analyst assignment."; string emailBody = string.Format("{0}<br><br>{1}", ebody, DateTime.Now.ToShortDateString()); try { Mail.Send(emailToAddress, emailSubject, ebody); } catch (Exception ex) { LogService.Error(ex.Message, ex); } } Response.StatusCode = (int)HttpStatusCode.OK; if (btnSubmit == "Submit") { if (isSubmit) { return new JsonResult { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new { code = "SB01" } }; } else { return new JsonResult { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new { code = "SB02" } }; } } if (btnSubmit == "Save") { return new JsonResult { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new { code = "SV01" } }; } } #endregion Response.StatusCode = (int)HttpStatusCode.BadRequest; return new JsonResult { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new { code = "04" } }; }