public ActionResult Create() { MiscellaneousTransactionModel model = SessionHelper.MiscellaneousTransaction; if (model == null) { model = new MiscellaneousTransactionModel(); model = new MiscellaneousTransactionModel { SOBId = SessionHelper.SOBId, CodeCombination = getCodeCombinationList(SessionHelper.SOBId), CompanyId = AuthenticationHelper.CompanyId.Value, TransactionDate = DateTime.Now }; model.CodeCombinationId = model.CodeCombination != null && model.CodeCombination.Count > 0 ? Convert.ToInt64(model.CodeCombination.FirstOrDefault().Value) : 0; model.CodeCombinationString = model.CodeCombination != null && model.CodeCombination.Count > 0 ? model.CodeCombination.FirstOrDefault().Text : ""; ViewBag.SOBName = SetOfBookHelper.GetSetOfBook(SessionHelper.SOBId.ToString()).Name; SessionHelper.MiscellaneousTransaction = model; if (SessionHelper.MiscellaneousTransaction.MiscellaneousTransactionDetail == null) SessionHelper.MiscellaneousTransaction.MiscellaneousTransactionDetail = new List<MiscellaneousTransactionDetailModel>(); } else model.CodeCombination = getCodeCombinationList(SessionHelper.SOBId); return View(model); }
public static MiscellaneousTransactionModel GetMiscellaneousTransaction(string id) { MiscellaneousTransactionModel model = new MiscellaneousTransactionModel(service.GetSingle(id, AuthenticationHelper.CompanyId.Value)); return model; }
public ActionResult Save(MiscellaneousTransactionModel model) { string message = ""; try { bool saved = false; if (SessionHelper.MiscellaneousTransaction != null) { SessionHelper.MiscellaneousTransaction.CodeCombinationId = model.CodeCombinationId; SessionHelper.MiscellaneousTransaction.CompanyId = model.CompanyId; SessionHelper.MiscellaneousTransaction.Id = model.Id; SessionHelper.MiscellaneousTransaction.SOBId = SessionHelper.SOBId; SessionHelper.MiscellaneousTransaction.TransactionDate = model.TransactionDate; SessionHelper.MiscellaneousTransaction.TransactionType = model.TransactionType; //Setting the parent fields.. foreach (var item in SessionHelper.MiscellaneousTransaction.MiscellaneousTransactionDetail) { item.TransactionType = model.TransactionType; item.CodeCombinationId = model.CodeCombinationId; item.CompanyId = AuthenticationHelper.CompanyId.Value; item.SOBId = SessionHelper.SOBId; item.TransactionDate = model.TransactionDate; } MiscellaneousTransactionHelper.Save(SessionHelper.MiscellaneousTransaction); SessionHelper.MiscellaneousTransaction = null; saved = true; } else message = "No Miscellaneous Transaction information available!"; return Json(new { success = saved, message = message }); } catch (Exception e) { message = e.Message; return Json(new { success = false, message = message }); } }
public static void Save(MiscellaneousTransactionModel miscellaneousTransactionModel) { var savedDetail = getMiscellaneousTransaction(miscellaneousTransactionModel.SOBId, miscellaneousTransactionModel.TransactionType, miscellaneousTransactionModel.CodeCombinationId, miscellaneousTransactionModel.TransactionDate); if (SessionHelper.MiscellaneousTransaction != null) { if (savedDetail.Count() > miscellaneousTransactionModel.MiscellaneousTransactionDetail.Count()) { var tobeDeleted = savedDetail.Take(savedDetail.Count() - miscellaneousTransactionModel.MiscellaneousTransactionDetail.Count()); foreach (var item in tobeDeleted) { service.Delete(item.Id.ToString(), AuthenticationHelper.CompanyId.Value); IEnumerable<LotNumber> lotNum = lotNumService.CheckLotNumAvailability(AuthenticationHelper.CompanyId.Value, item.LotNo, item.ItemId, SessionHelper.SOBId); if (lotNum.Any()) { LotNumberHelper.Delete(lotNum.FirstOrDefault().Id.ToString()); } //IEnumerable<SerialNumber> serialNum = lotNumService.CheckSerialNumAvailability(AuthenticationHelper.CompanyId.Value, item.LotNo, item.SerialNo); //if (serialNum.Any()) //{ // LotNumberHelper.DeleteSerialNumber(serialNum.FirstOrDefault().Id.ToString()); //} } savedDetail = getMiscellaneousTransaction(miscellaneousTransactionModel.SOBId, miscellaneousTransactionModel.TransactionType, miscellaneousTransactionModel.CodeCombinationId, miscellaneousTransactionModel.TransactionDate); } foreach (var detail in miscellaneousTransactionModel.MiscellaneousTransactionDetail) { MiscellaneousTransaction detailEntity = GetEntityByModel(detail, savedDetail.Count()); if (detailEntity.IsValid()) { if (savedDetail.Count() > 0) { detailEntity.Id = savedDetail.FirstOrDefault().Id; savedDetail.Remove(savedDetail.FirstOrDefault(rec => rec.Id == detailEntity.Id)); service.Update(detailEntity); IEnumerable<LotNumber> lotNum = lotNumService.CheckLotNumAvailability(AuthenticationHelper.CompanyId.Value, detailEntity.LotNo, detailEntity.ItemId, SessionHelper.SOBId); if (lotNum.Any()) { LotNumberHelper.Update(lotNum.FirstOrDefault()); } //IEnumerable<SerialNumber> serialNum = lotNumService.CheckSerialNumAvailability(AuthenticationHelper.CompanyId.Value, detailEntity.LotNo, detailEntity.SerialNo); //if (serialNum.Any()) //{ // LotNumberHelper.UpdateSerialNumber(serialNum.FirstOrDefault()); //} } else { service.Insert(detailEntity); IEnumerable<LotNumber> lotNum = lotNumService.CheckLotNumAvailability(AuthenticationHelper.CompanyId.Value, detailEntity.LotNo, detailEntity.ItemId, SessionHelper.SOBId); if (!lotNum.Any()) { LotNumberHelper.Insert(new MiscellaneousTransactionDetailModel(detailEntity)); } //IEnumerable<SerialNumber> serialNum = lotNumService.CheckSerialNumAvailability(AuthenticationHelper.CompanyId.Value, detailEntity.LotNo, detailEntity.SerialNo); //if (!serialNum.Any()) //{ // LotNumberHelper.InsertSerialNumber(new MiscellaneousTransactionDetailModel(detailEntity)); //} } } } } }