public ActionResult Edit(SettlementReg model) { SettlementRegTambahanBiaya[] res = JsonConvert.DeserializeObject <SettlementRegTambahanBiaya[]>(model.StrBiayaTambahan); model.ListBiayaTambahan = res.ToList(); if (ModelState.IsValid) { Context.SettlementReguler dbitem = RepoSettlementReg.FindByPK(model.Id); model.SetDb(dbitem); RepoSettlementReg.save(dbitem, UserPrincipal.id); RepoAuditrail.saveDelAllSettlementRegulerBiayaTambahanQuery(dbitem, UserPrincipal.id); foreach (Context.SettlementRegulerTambahanBiaya srtb in dbitem.SettlementRegulerTambahanBiaya) { RepoAuditrail.saveSettlementRegulerBiayaTambahanQuery(srtb, UserPrincipal.id); } return(RedirectToAction("Index")); } return(View("Form", model)); }
public ActionResult Add(SettlementReg model) { SettlementRegTambahanBiaya[] res = JsonConvert.DeserializeObject <SettlementRegTambahanBiaya[]>(model.StrBiayaTambahan); model.ListBiayaTambahan = res.ToList(); Context.ERPConfig erpConfig = RepoERPConfig.FindByFrist(); Context.SalesOrder dbso = RepoSalesOrder.FindByPK(model.IdSalesOrder.Value); string sod_oid = Guid.NewGuid().ToString(); if (ModelState.IsValid) { if (model.listIdSoKontrak != "" && model.listIdSoKontrak != null) { List <int> ListIdDumy = model.listIdSoKontrak.Split(new string[] { "." }, StringSplitOptions.None).ToList().Select(int.Parse).ToList(); List <Context.SalesOrderKontrakListSo> dbsoDummy = dbso.SalesOrderKontrak.SalesOrderKontrakListSo.Where(d => ListIdDumy.Contains(d.Id)).ToList(); //dbso.SalesOrderKontrak.SalesOrderKontrakListSo = dbsoDummy; foreach (var item in dbsoDummy) { item.Status = "settlement"; } Context.SettlementReguler dbitem = new Context.SettlementReguler(); model.SetDb(dbitem); RepoSalesOrder.save(dbso); RepoSettlementReg.save(dbitem, UserPrincipal.id); foreach (Context.SettlementRegulerTambahanBiaya srtb in dbitem.SettlementRegulerTambahanBiaya) { RepoAuditrail.saveSettlementRegulerBiayaTambahanQuery(srtb, UserPrincipal.id); } } else { Context.SettlementReguler dbitem = new Context.SettlementReguler(); string code = (dbso.SalesOrderOncallId.HasValue ? dbso.SalesOrderOncall.SONumber : dbso.SalesOrderProsesKonsolidasiId.HasValue ? dbso.SalesOrderProsesKonsolidasi.SONumber : dbso.SalesOrderPickupId.HasValue ? dbso.SalesOrderPickup.SONumber : dbso.SalesOrderKontrak.SONumber); dbitem.Code = "SR-" + code; string unyu = dbitem.Code; model.SetDb(dbitem); Context.AdminUangJalan db = RepoAdminUangJalan.FindByPK(dbso.AdminUangJalanId.Value); dbso.Status = "settlement"; dbso.UpdatedBy = UserPrincipal.id; if (dbso.oidErp == null) { dbso.oidErp = sod_oid; } RepoSalesOrder.save(dbso); RepoSettlementReg.save(dbitem, UserPrincipal.id); RepoAuditrail.saveSettRegHistory(dbso); foreach (Context.SettlementRegulerTambahanBiaya srtb in dbitem.SettlementRegulerTambahanBiaya) { RepoAuditrail.saveSettlementRegulerBiayaTambahanQuery(srtb, UserPrincipal.id); } //lebah dieu sync ERPna //klo ada revisi rute //D Repoglt_det.saveFromAc(1, dbitem.Code, dbitem.KasSelisih + dbitem.TransferSelisih + dbitem.SolarSelisih + (dbitem.KapalSelisih == null ? 0 : dbitem.KapalSelisih), 0, Repoac_mstr.FindByPk(erpConfig.IdKasbonDriver)); //Kasbon Driver (Piutang) Repoglt_det.saveFromBk(2, dbitem.Code, dbitem.KasAktual + dbitem.TransferAktual + dbitem.SolarAktual + (dbitem.KapalAktual == null ? 0 : dbitem.KapalAktual), 0, Repobk_mstr.FindByPk(erpConfig.IdCashCredit)); //Cash Repoglt_det.saveFromAc(3, dbitem.Code, dbitem.KasDiakui + dbitem.TransferDiakui + dbitem.SolarDiakui + (dbitem.KapalDiakui == null ? 0 : dbitem.KapalDiakui), 0, Repoac_mstr.FindByPk(erpConfig.IdBiayaPerjalanan)); //Biaya //K decimal?tambahanRute = db.AdminUangJalanTambahanRute.Sum(s => s.values); decimal?boronganDasar = db.TotalBorongan - db.Kawalan - db.Timbangan - db.Karantina - db.SPSI - db.Multidrop - tambahanRute - db.AdminUangJalanTambahanLain.Sum(s => s.Values); Repoglt_det.saveFromAc(1, dbitem.Code, 0, boronganDasar, Repoac_mstr.FindByPk(erpConfig.IdBoronganDasar)); Repoglt_det.saveFromAc(2, dbitem.Code, 0, db.Kawalan, Repoac_mstr.FindByPk(erpConfig.IdKawalan)); Repoglt_det.saveFromAc(3, dbitem.Code, 0, db.Timbangan, Repoac_mstr.FindByPk(erpConfig.IdTimbangan)); Repoglt_det.saveFromAc(4, dbitem.Code, 0, db.Karantina, Repoac_mstr.FindByPk(erpConfig.IdKarantina)); Repoglt_det.saveFromAc(5, dbitem.Code, 0, db.SPSI, Repoac_mstr.FindByPk(erpConfig.IdSPSI)); Repoglt_det.saveFromAc(6, dbitem.Code, 0, db.Multidrop, Repoac_mstr.FindByPk(erpConfig.IdMultidrop)); Repoglt_det.saveFromAc(7, dbitem.Code, 0, tambahanRute, Repoac_mstr.FindByPk(erpConfig.IdTambahanRuteMuat)); Repoglt_det.saveFromAc(8, dbitem.Code, 0, db.AdminUangJalanTambahanLain.Sum(s => s.Values), Repoac_mstr.FindByPk(erpConfig.IdTambahanRuteLain)); Repoglt_det.saveFromAc(4, dbitem.Code, 0, db.TotalPotonganDriver, Repoac_mstr.FindByPk(erpConfig.IdKasbonAuj)); //Hutang ke Driver, jurnal balik dr auj //Cash&Transfer pada biaya tambahan Repoglt_det.saveFromAc(3, dbitem.Code, dbitem.SettlementRegulerTambahanBiaya.Sum(d => d.Value), 0, Repoac_mstr.FindByPk(erpConfig.IdBiayaPerjalanan)); //D, Biaya Tambahan Repoglt_det.saveFromAc(2, dbitem.Code, 0, dbitem.TotalCash, Repoac_mstr.FindByPk(erpConfig.IdCashCredit)); //K, Cash Repoglt_det.saveFromAc(2, dbitem.Code, 0, dbitem.TotalTf, Repoac_mstr.FindByPk(erpConfig.IdTfCredit)); //K, Transfer } return(RedirectToAction("Index")); } return(View("Form", model)); }