public ActionResult RemoveLockRecord(string refNumber) { var result = _clsGlobal.RemoveLockRecord("Spotter", refNumber, User.Identity.Name); var res = new JsonResult() { Data = result, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; return(res); }
public ResultViewModel InsertSpotterData(SpotterViewModel model, string UserName) { string userMail = ""; glog.Debug("InsertSpotterData: Entry"); var result = new ResultViewModel(); using (var db = new MainDbContext()) { using (var transaction = db.Database.BeginTransaction()) { try { userMail = db.Sys_Users.FirstOrDefault(x => x.Name == UserName).Email; var NewId = clsGlobal.GetSystemID("Payment", "SFP", DateTime.Now.Year.ToString(), DateTime.Now.Month.ToString()); Spotter_Master spotterMaster = new Spotter_Master() { SpotterID = model.SpotterId, SpotterRefNumber = model.SpotterId == 0 ? NewId.NewId : model.SpotterRefNumber, PreparationDate = DateTime.ParseExact(model.PreparationDate, "dd/MM/yyyy", CultureInfo.InvariantCulture), ApprovedAmount = (decimal)0.00, Amount = model.Amount, Status = "P", CreatedBy = model.SpotterId == 0 ? userMail : model.CreatedBy, CreatedDate = model.SpotterId == 0 ? DateTime.Now : Convert.ToDateTime(model.CreatedDate), UpdatedBy = model.SpotterId == 0 ? null : userMail, UpdatedDate = model.SpotterId == 0 ? (DateTime?)null : DateTime.Now, }; db.Spotter_Master.Add(spotterMaster); if (model.SpotterId == 0) { db.Entry(spotterMaster).State = System.Data.Entity.EntityState.Added; } else { db.Entry(spotterMaster).State = System.Data.Entity.EntityState.Modified; } var Id = db.SaveChanges(); #region Spotter Details var spotterId = 0; foreach (var data in model.SpotterContractDetails) { Spotter_Detail spotter = new Spotter_Detail() { SpotterDetailId = data.SpotterDetailId, ApprovedInd = "P", SpotterId = model.SpotterId == 0 ? spotterMaster.SpotterID : model.SpotterId, ContractNumber = data.ContractNumber, RolloverNumber = data.RolloverNumber, ItemNumber = data.ItemNumber, Valid = data.Valid, CreatedBy = model.SpotterId == 0 ? userMail : model.CreatedBy, CreatedDate = model.SpotterId == 0 ? DateTime.Now : Convert.ToDateTime(model.CreatedDate), UpdatedBy = model.SpotterId == 0 ? null : userMail, UpdatedDate = model.SpotterId == 0 ? (DateTime?)null : DateTime.Now, }; db.Spotter_Detail.Add(spotter); if (model.SpotterId == 0) { db.Entry(spotter).State = EntityState.Added; } else { db.Entry(spotter).State = EntityState.Modified; } } spotterId = db.SaveChanges(); #endregion #region Contract Spotter foreach (var data in model.SpotterContractDetails) { Contract_Spotter contractSpotter = new Contract_Spotter() { ContractNumber = data.ContractNumber, RolloverNumber = data.RolloverNumber, ItemNumber = data.ItemNumber, SpotterAmt = data.SpotterAmt, Status = data.Status, ApprovedInd = data.ApprovedInd, Referral = data.ReferralID, CreatedBy = data.CreatedBy, CreatedDate = data.CreatedDate, UpdatedBy = userMail, UpdatedDate = DateTime.Now, }; db.Contract_Spotter.Add(contractSpotter); db.Entry(contractSpotter).State = System.Data.Entity.EntityState.Modified; } var contractId = db.SaveChanges(); #endregion if (model.SpotterId == 0) { clsGlobal.UpdateSystemIDLastNum(NewId, UserName, db); } if (model.SpotterId != 0) { _clsGlobal.RemoveLockRecord("Spotter", spotterMaster.SpotterRefNumber, UserName); } if (spotterId > 0) { transaction.Commit(); var isEmailSend = SendEmailNotificationAPI(model, NewId.NewId, UserName, userMail); if (model.SpotterId == 0) { result.Status = 1; result.Message = "Data had been submitted for approval!"; } else { result.Status = 1; result.Message = String.Format("{0} updated successfully!", spotterMaster.SpotterRefNumber); } } else { transaction.Rollback(); if (model.SpotterId == 0) { result.Status = 0; result.Message = "Error occurred when submitting for approval."; } else { result.Status = 1; result.Message = String.Format("Error occurred when updating {0}!", spotterMaster.SpotterRefNumber); } } } catch (Exception ex) { glog.Error("InsertSpotterData Exception: " + ex.Message + ex.InnerException); result.Status = 0; result.Message = "Please contact MIS, error: " + ex.Message; transaction.Rollback(); } finally { transaction.Dispose(); } glog.Debug("InsertSpotterData: Exit"); return(result); } } }