public static bool IsPermitOK(web_db._Weighing.TblPortage por, web_db.sardweb_Context db) { if (por.KindCode == (int)portage.kindPortage.kindPortageEnum.In) { long? countForIn; decimal?weightForIn; cl.GetMojavez(por.FkCustomer, por.FkContracttype, db, true, out countForIn, out weightForIn); countForIn -= por.PackingCount; weightForIn -= por.WeightNet; if (countForIn < 0 || weightForIn < 0) { return(false); } } if (por.KindCode == (int)portage.kindPortage.kindPortageEnum.Out) { long? countForOut; decimal?weightForOut; cl.GetMojavez(por.FkCustomer, por.FkContracttype, db, false, out countForOut, out weightForOut); countForOut += por.PackingCount; weightForOut += por.WeightNet; if (countForOut < 0 || weightForOut < 0) { return(false); } } return(true); }
string checkportage(web_db._Weighing.TblPortage row) { var x = db.TblPortageRows.Where(a => a.FkPortage == row.Id && a.FkContract != null).Include(a => a.FkContractNavigation).Select(a => a.FkContractNavigation).Distinct(); if (x.Any(a => a.FkCustomer != row.FkCustomer)) { return("اشکال در ساختار - طرف حساب با قرارداد همخوانی ندارد"); } return(""); }
public IActionResult CreateIN(Guid idtype, int kindPortage, Models.tbls.portage.portage model) { ModelState.Remove("Weight2"); ModelState.Remove("Date2date"); ModelState.Remove("Date2time"); ModelState.Remove("Customer.Mob"); ModelState.Remove("Customer.NationalCode"); ModelState.Remove("Customer.Code"); ModelState.Remove("Customer.Title"); ModelState.Remove("Customer.Id"); ModelState.Remove("FkCarTbl"); var typecontract = db.TblContractTypes.Find(idtype); if (typecontract.KindCotractType == web_db._Weighing.TblContractType.KindCotractTypeEnum.ASabad) { ModelState.Remove("Weight1"); var conf = typecontract.ConfigASabad(); if (ModelState.IsValid) { var x = db.TblPortages.Find(model.Id); if (x == null) { model.Code = (db.TblPortages.Where(a => a.FkSalmali == User._getuserSalMaliDef() && a.FkContracttype == idtype && a.KindCode == kindPortage).Max(a => (long?)a.Code) ?? 0) + 1; x = new web_db._Weighing.TblPortage { FkSalmali = User._getuserSalMaliDef(), Code = model.Code, Dateadd1 = DateTime.Now, FkContracttype = idtype, FkUsAdd1 = User._getuserid().Value, Id = model.Id, KindCode = kindPortage, KindTitle = Models.tbls.portage.kindPortage.listkindcontract.Find(a => a.code == kindPortage).txt, }; db.TblPortages.Add(x); } else { x.Dateedit1 = DateTime.Now; x.FkUsEdit1 = User._getuserid().Value; } x.CarMashin = model.CarMashin; x.CarRanande = model.CarRanande; x.CarShMashin = model.CarShMashin; x.CarTell = model.CarTell; x.FkCar = model.FkCar; x.CarMashin = cl._ListCar.Single(a => a.Id == model.FkCar).Title; x.FkCustomer = model.FkCustomer; var dbdoc = new web_dbDocument.db_Context(); if (x.Weight1 != model.Weight1) { var z = cl.captureDorbinBaskul(); if (z != null) { dbdoc.TblDocuments.Add(new web_dbDocument.TblDocument { Date = DateTime.Now, FkP = x.Id, Id = Guid.NewGuid(), Image = z, Kind = "InBaskul", Format = "" }); } } x.Weight1 = model.Weight1; x.Weight1IsBascul = model.Weight1IsBascul; x.Txt = model.Txt; x.Date1 = model.Date1date.ToDate().AddHours(model.Date1time.Hours).AddMinutes(model.Date1time.Minutes); x.IsDel = false; x.IsPermitOk = null; x.FkUsPermit = null; x.TxtPermit = ""; ViewBag.error = checkportage(x); if (((string)ViewBag.error).IsEmpty()) { db.SaveChanges(); dbdoc.SaveChanges(); Models.cl._refstoreTow(db, x.Id); return(RedirectToAction("index", new { idtype = x.FkContracttype })); } } ViewData["type"] = db.TblContractTypes.Find(idtype); ViewData["kindPortage"] = kindPortage; ViewData["listcustumer"] = cus(typecontract, model); return(View(model)); } return(null); }
public portage(web_db._Weighing.TblPortage row, web_db.sardweb_Context db, bool rowChilds = false, bool isprint = false, bool documents = false) { this.Code = row.Code; this.Date1 = row.Date1; this.Date1date = row.Date1.ToPersianDate(); this.Date1time = new TimeSpan(row.Date1.Hour, row.Date1.Minute, 0); this.Date2 = row.Date2; if (Date2.HasValue) { this.Date2date = row.Date2.ToPersianDate(); this.Date2time = new TimeSpan(row.Date2.Value.Hour, row.Date2.Value.Minute, 0); } this.FkSalmali = row.FkSalmali; this.Id = row.Id; this.KindCode = row.KindCode; this.KindTitle = row.KindTitle; this.PackingCount = row.PackingCount; this.PackingOfWeight = row.PackingOfWeight; this.Txt = row.Txt; this.Weight1 = row.Weight1; this.Weight2 = row.Weight2; this.WeightNet = row.WeightNet; this.CarRanande = row.CarRanande; this.CarShMashin = row.CarShMashin; this.CarTell = row.CarTell; this.CarMashin = row.CarMashin; this.Weight1IsBascul = row.Weight1IsBascul; this.Weight2IsBascul = row.Weight2IsBascul; this.IsDel = row.IsDel; this.IsEnd = row.IsEnd; { this.FkCustomer = row.FkCustomer; var cus = row.FkCustomerNavigation ?? db.TblCustomers.Find(FkCustomer); this.Customer = new customer.customer(); this.Customer.Title = cus.Title; this.Customerstr = cus.Title; this.Customer.Id = cus.Id; if (rowChilds) { this.Customer = Models.tbls.customer.customer.get(cus, db); } } this.Dateadd1 = row.Dateadd1.ToPersianDateTime(); this.Dateedit1 = row.Dateedit1.ToPersianDateTime(); this.UsAdd1 = (db.TblUsers.Find(row.FkUsAdd1) ?? new web_db.TblUser()).Title; this.UsEdit1 = (db.TblUsers.Find(row.FkUsEdit1) ?? new web_db.TblUser()).Title; this.Dateadd2 = row.Dateadd2.ToPersianDateTime(); this.Dateedit2 = row.Dateedit2.ToPersianDateTime(); this.UsAdd2 = (db.TblUsers.Find(row.FkUsAdd2) ?? new web_db.TblUser()).Title; this.UsEdit2 = (db.TblUsers.Find(row.FkUsEdit2) ?? new web_db.TblUser()).Title; this.FkContractType = row.FkContracttype; this.ContractType = new contract.ContractType(db.TblContractTypes.Single(a => a.Id == this.FkContractType)); this.FkCar = row.FkCar; this.SmsOk = row.SmsOk; this.OtcodeResid = row.OtcodeResid; this.SmsVaziat = row.SmsVaziat; this.UsPermit = (db.TblUsers.Find(row.FkUsPermit) ?? new web_db.TblUser()).Title; this.IsPermitOk = row.IsPermitOk; this.TxtPermit = row.TxtPermit ?? ""; ListRows = new List <PortageRow>() { new PortageRow() }; Sadamat = new List <alltbl>() { new alltbl() }; SadamatStr = ""; if (rowChilds) { ListRows = new List <PortageRow>(); var z = db.TblPortageRows.Where(a => a.FkPortage == this.Id).OrderBy(a => a.Date).Select(a => new PortageRow(a, db)); ListRows = z.ToList(); var zs = z.Select(a => a.ListInjurysTbl); if (zs.Any()) { Sadamat = new List <alltbl>(); } if (isprint) { var t = new List <alltbl>(); foreach (var item in zs) { t.AddRange(item); } Sadamat = t.GroupBy(a => a.key).Select(a => a.First()).ToList(); SadamatStr = string.Join(" , ", Sadamat.Select(a => a.title)); } } Documents = new List <PortageDocument>(); if (documents) { Documents = db.TblDocuments.Where(a => a.FkPortage == row.Id).OrderByDescending(a => a.Date).Select(a => new PortageDocument(a)).ToList(); DocumentSign = Documents.SingleOrDefault(a => a.Kind == "Sign"); } }
private porret[] ClonePortage(Guid id, int setYear, bool image) { var portage = db.TblPortages.Find(id); var customer = db.TblCustomers.Find(portage.FkCustomer); var Clone = db.TblPortages.SingleOrDefault(a => a.Code == portage.Code && a.KindCode == portage.KindCode && a.FkSalmali == setYear); var contype = db.TblContractTypes.Find(portage.FkContracttype); var contypeclone = db.TblContractTypes.Single(a => a.Code == contype.Code && a.FkSalmali == setYear); var customerClone = db.TblCustomers.SingleOrDefault(a => a.Code == customer.Code && a.FkSalmali == setYear);; if (contypeclone.KindCotractType == web_db._Weighing.TblContractType.KindCotractTypeEnum.ASardKhane) { #region Clone Portage { if (Clone == null) { Clone = new web_db._Weighing.TblPortage { FkSalmali = setYear, Id = Guid.NewGuid(), }; db.TblPortages.Add(Clone); } Clone.FkContracttype = contypeclone.Id; Clone.FkCustomer = customerClone.Id; Clone.CarMashin = portage.CarMashin; Clone.CarRanande = portage.CarRanande; Clone.CarShMashin = portage.CarShMashin; Clone.CarTell = portage.CarTell; Clone.Code = portage.Code; Clone.Date1 = portage.Date1; Clone.Date2 = portage.Date2; Clone.Dateadd1 = portage.Dateadd1; Clone.Dateadd2 = portage.Dateadd2; Clone.Dateedit1 = portage.Dateedit1; Clone.Dateedit2 = portage.Dateedit2; Clone.FkCar = portage.FkCar; Clone.FkUsAdd1 = portage.FkUsAdd1; Clone.FkUsAdd2 = portage.FkUsAdd2; Clone.FkUsEdit1 = portage.FkUsEdit1; Clone.FkUsEdit2 = portage.FkUsEdit2; Clone.FkUsPermit = portage.FkUsPermit; Clone.IsDel = portage.IsDel; Clone.IsEnd = portage.IsEnd; Clone.IsPermitOk = portage.IsPermitOk; Clone.KindCode = portage.KindCode; Clone.KindTitle = portage.KindTitle; Clone.OtcodeResid = portage.OtcodeResid; Clone.PackingCount = portage.PackingCount; Clone.PackingOfWeight = portage.PackingOfWeight; Clone.SmsOk = portage.SmsOk; // Clone.SaveFaktor = portage.SaveFaktor; Clone.SmsVaziat = portage.SmsVaziat; // Clone.SumMoney = portage.SumMoney; Clone.Txt = portage.Txt; Clone.Weight1 = portage.Weight1; Clone.Weight1IsBascul = portage.Weight1IsBascul; Clone.TxtPermit = portage.TxtPermit; Clone.Weight2 = portage.Weight2; Clone.Weight2IsBascul = portage.Weight2IsBascul; Clone.WeightNet = portage.WeightNet; } #endregion #region Clone PortageRows foreach (var item in db.TblPortageRows.Include(a => a.TblPortageRowInjuries).Where(a => a.FkPortage == Clone.Id)) { db.TblPortageRowInjuries.RemoveRange(item.TblPortageRowInjuries); db.TblPortageRows.Remove(item); } foreach (var item in db.TblPortageRows.Include(a => a.TblPortageRowInjuries).Where(a => a.FkPortage == portage.Id)) { var cont = db.TblContracts.Find(item.FkContract); var contClone = db.TblContracts.Single(a => a.Code == cont.Code && a.FkSalmali == setYear); var v = new web_db._Weighing.TblPortageRow { Id = Guid.NewGuid(), FkContractType = Clone.FkContracttype, FkContract = contClone.Id, FkPortage = Clone.Id, Code = item.Code, CodeLocation = item.CodeLocation, Count = item.Count, Date = item.Date, FkLocation1 = item.FkLocation1, FkLocation2 = item.FkLocation2, FkLocation3 = item.FkLocation3, FkPacking = item.FkPacking, FkProduct = item.FkProduct, FkUser = item.FkUser, IsNimPalet = item.IsNimPalet, Txt = item.Txt, WeightOne = item.WeightOne }; db.TblPortageRows.Add(v); foreach (var iteminj in item.TblPortageRowInjuries) { db.TblPortageRowInjuries.Add(new web_db._Weighing.TblPortageRowInjury { FkInjury = iteminj.FkInjury, FkPortageRow = v.Id }); } } #endregion #region Clone images var dbdoc = new web_dbDocument.db_Context(); dbdoc.TblDocuments.RemoveRange(dbdoc.TblDocuments.Where(a => a.FkPortage == Clone.Id || a.FkP == Clone.Id)); if (image) { foreach (var item in dbdoc.TblDocuments.Where(a => a.FkPortage == portage.Id)) { var c = new web_dbDocument.TblDocument { Id = Guid.NewGuid(), Date = item.Date, Image = item.Image, Kind = item.Kind, FkP = Clone.Id, Format = item.Format }; dbdoc.TblDocuments.Add(c); } } #endregion db.SaveChanges(); dbdoc.SaveChanges(); var x = db.TblPortageRows.Where(a => a.FkPortage == Clone.Id); return(x.Select(a => new porret { id = (Guid)a.FkContract, Product = true }).Distinct().ToArray()); } else if (contypeclone.KindCotractType == web_db._Weighing.TblContractType.KindCotractTypeEnum.ASabad) { #region Clone Portage { if (Clone == null) { Clone = new web_db._Weighing.TblPortage { FkSalmali = setYear, Id = Guid.NewGuid(), }; db.TblPortages.Add(Clone); } Clone.FkContracttype = contypeclone.Id; Clone.FkCustomer = customerClone.Id; Clone.CarMashin = portage.CarMashin; Clone.CarRanande = portage.CarRanande; Clone.CarShMashin = portage.CarShMashin; Clone.CarTell = portage.CarTell; Clone.Code = portage.Code; Clone.Date1 = portage.Date1; Clone.Date2 = portage.Date2; Clone.Dateadd1 = portage.Dateadd1; Clone.Dateadd2 = portage.Dateadd2; Clone.Dateedit1 = portage.Dateedit1; Clone.Dateedit2 = portage.Dateedit2; Clone.FkCar = portage.FkCar; Clone.FkUsAdd1 = portage.FkUsAdd1; Clone.FkUsAdd2 = portage.FkUsAdd2; Clone.FkUsEdit1 = portage.FkUsEdit1; Clone.FkUsEdit2 = portage.FkUsEdit2; Clone.FkUsPermit = portage.FkUsPermit; Clone.IsDel = portage.IsDel; Clone.IsEnd = portage.IsEnd; Clone.IsPermitOk = portage.IsPermitOk; Clone.KindCode = portage.KindCode; Clone.KindTitle = portage.KindTitle; Clone.OtcodeResid = portage.OtcodeResid; Clone.PackingCount = portage.PackingCount; Clone.PackingOfWeight = portage.PackingOfWeight; Clone.SmsOk = portage.SmsOk; // Clone.SaveFaktor = portage.SaveFaktor; Clone.SmsVaziat = portage.SmsVaziat; // Clone.SumMoney = portage.SumMoney; Clone.Txt = portage.Txt; Clone.Weight1 = portage.Weight1; Clone.Weight1IsBascul = portage.Weight1IsBascul; Clone.TxtPermit = portage.TxtPermit; Clone.Weight2 = portage.Weight2; Clone.Weight2IsBascul = portage.Weight2IsBascul; Clone.WeightNet = portage.WeightNet; } #endregion #region Clone PortageRows foreach (var item in db.TblPortageRows.Where(a => a.FkPortage == Clone.Id)) { db.TblPortageRowInjuries.RemoveRange(db.TblPortageRowInjuries.Where(a => a.FkPortageRow == item.Id)); db.TblPortageRows.Remove(item); } foreach (var item in db.TblPortageRows.Where(a => a.FkPortage == portage.Id)) { var cont = db.TblContracts.Find(item.FkContract); var contClone = db.TblContracts.Single(a => a.Code == cont.Code && a.FkSalmali == setYear); var v = new web_db._Weighing.TblPortageRow { Id = Guid.NewGuid(), FkContractType = Clone.FkContracttype, FkContract = contClone.Id, FkPortage = Clone.Id, Code = item.Code, CodeLocation = item.CodeLocation, Count = item.Count, Date = item.Date, FkLocation1 = item.FkLocation1, FkLocation2 = item.FkLocation2, FkLocation3 = item.FkLocation3, FkPacking = item.FkPacking, FkProduct = item.FkProduct, FkUser = item.FkUser, IsNimPalet = item.IsNimPalet, Txt = item.Txt, WeightOne = item.WeightOne }; db.TblPortageRows.Add(v); foreach (var iteminj in db.TblPortageRowInjuries.Where(a => a.FkPortageRow == item.Id)) { db.TblPortageRowInjuries.Add(new web_db._Weighing.TblPortageRowInjury { FkInjury = iteminj.FkInjury, FkPortageRow = v.Id }); } } #endregion #region Clone images var dbdoc = new web_dbDocument.db_Context(); dbdoc.TblDocuments.RemoveRange(dbdoc.TblDocuments.Where(a => a.FkPortage == Clone.Id)); foreach (var item in dbdoc.TblDocuments.Where(a => a.FkPortage == portage.Id)) { var c = new web_dbDocument.TblDocument { Id = Guid.NewGuid(), FkP = Clone.Id, Date = item.Date, Image = item.Image, Kind = item.Kind }; dbdoc.TblDocuments.Add(c); } #endregion dbdoc.SaveChanges(); db.SaveChanges(); return(new porret[] { new porret { id = contypeclone.Id, Product = false } }); } return(null); }
public IActionResult CreateIN(Guid idtype, int kindPortage, Models.tbls.portage.portage model) { ModelState.Remove("Weight2"); ModelState.Remove("Date2date"); ModelState.Remove("Date2time"); ModelState.Remove("Customer.Mob"); ModelState.Remove("Customer.NationalCode"); ModelState.Remove("Customer.Code"); ModelState.Remove("Customer.Title"); ModelState.Remove("Customer.Id"); ModelState.Remove("FkCarTbl"); var kindPortageenum = (web_sard.Areas.ASurting.Models.tbls.portage.kindPortage.kindPortageEnum)kindPortage; if (kindPortageenum == Models.tbls.portage.kindPortage.kindPortageEnum.InFromSardkhane || kindPortageenum == Models.tbls.portage.kindPortage.kindPortageEnum.OutToSardkhane || kindPortageenum == Models.tbls.portage.kindPortage.kindPortageEnum.InFromAnbar || kindPortageenum == Models.tbls.portage.kindPortage.kindPortageEnum.OutToAnbar) { ModelState.Remove("CarShMashin"); ModelState.Remove("FkCar"); ModelState.Remove("CarRanande"); ModelState.Remove("CarTell"); ModelState.Remove("Weight1IsBascul"); ModelState.Remove("Weight1"); } var typecontract = db.TblContractTypes.Find(idtype); if (typecontract.KindCotractType == web_db._Weighing.TblContractType.KindCotractTypeEnum.ASurting) { var conf = typecontract.ConfigASurting(); if (ModelState.IsValid) { var x = db.TblPortages.Find(model.Id); if (x == null) { model.Code = (db.TblPortages.Where(a => a.FkSalmali == User._getuserSalMaliDef() && a.FkContracttype == idtype && a.KindCode == kindPortage).Max(a => (long?)a.Code) ?? 0) + 1; x = new web_db._Weighing.TblPortage { FkSalmali = User._getuserSalMaliDef(), Code = model.Code, Dateadd1 = DateTime.Now, FkContracttype = idtype, FkUsAdd1 = User._getuserid().Value, Id = model.Id, KindCode = kindPortage, KindTitle = Models.tbls.portage.kindPortage.listkindcontract.Find(a => a.code == kindPortage).txt, }; db.TblPortages.Add(x); } else { x.Dateedit1 = DateTime.Now; x.FkUsEdit1 = User._getuserid().Value; } x.CarMashin = model.CarMashin ?? ""; x.CarRanande = model.CarRanande ?? ""; x.CarShMashin = model.CarShMashin ?? ""; x.CarTell = model.CarTell ?? ""; x.FkCar = model.FkCar; x.CarMashin = (web_sard.Models.cl._ListCar.SingleOrDefault(a => a.Id == model.FkCar) ?? new web_db._Weighing.TblCar()).Title; x._FkContractMain = model._FkContractMain; x.FkCustomer = db.TblContracts.Find(model._FkContractMain).FkCustomer; x.Weight1 = model.Weight1; x.Weight1IsBascul = model.Weight1IsBascul; x.Txt = model.Txt; x.Date1 = model.Date1date.ToDate().AddHours(model.Date1time.Hours).AddMinutes(model.Date1time.Minutes); x.IsDel = false; x.IsPermitOk = null; x.FkUsPermit = null; x.TxtPermit = ""; var dbdoc = new web_dbDocument.db_Context(); #region captureDorbinBaskul if (kindPortageenum == Models.tbls.portage.kindPortage.kindPortageEnum.In || kindPortageenum == Models.tbls.portage.kindPortage.kindPortageEnum.Out) { if (x.Weight1 != model.Weight1) { var z = web_sard.Models.cl.captureDorbinBaskul(); if (z != null) { dbdoc.TblDocuments.Add(new web_dbDocument.TblDocument { Date = DateTime.Now, FkP = x.Id, Id = Guid.NewGuid(), Image = z, Kind = "InBaskul", Format = "" }); } } } #endregion #region PeerSardKhane if (kindPortageenum == Models.tbls.portage.kindPortage.kindPortageEnum.InFromSardkhane || kindPortageenum == Models.tbls.portage.kindPortage.kindPortageEnum.OutToSardkhane) { var xpkind = (kindPortageenum == Models.tbls.portage.kindPortage.kindPortageEnum.InFromSardkhane ? web_sard.Areas.ASardKhane.Models.tbls.portage.kindPortage.kindPortageEnum.OutToSurt : web_sard.Areas.ASardKhane.Models.tbls.portage.kindPortage.kindPortageEnum.InFromSurt); foreach (var item in web_sard.Models.cl._ListContractType(x.FkSalmali).Where(a => a.KindCotractType == web_db._Weighing.TblContractType.KindCotractTypeEnum.ASardKhane)) { var xp = db.TblPortages.Find(x._FkPortagePeer); if (xp == null) { xp = new web_db._Weighing.TblPortage { FkSalmali = User._getuserSalMaliDef(), Code = model.Code, _FkPortagePeer = x.Id, Dateadd1 = DateTime.Now, FkContracttype = item.Id, FkUsAdd1 = User._getuserid().Value, Id = Guid.NewGuid(), KindCode = (int)xpkind, KindTitle = web_sard.Areas.ASardKhane.Models.tbls.portage.kindPortage.listkindcontract.Find(a => a.code == (int)xpkind).txt, }; xp.Code = (db.TblPortages.Where(a => a.FkSalmali == User._getuserSalMaliDef() && a.FkContracttype == item.Id && a.KindCode == (int)xpkind).Max(a => (long?)a.Code) ?? 0) + 1; db.TblPortages.Add(xp); x._FkPortagePeer = xp.Id; } else { xp.Dateedit1 = DateTime.Now; xp.FkUsEdit1 = User._getuserid().Value; } xp.CarMashin = x.CarMashin ?? ""; xp.CarRanande = x.CarRanande ?? ""; xp.CarShMashin = x.CarShMashin ?? ""; xp.CarTell = x.CarTell ?? ""; xp.FkCar = x.FkCar; xp.CarMashin = (web_sard.Models.cl._ListCar.SingleOrDefault(a => a.Id == model.FkCar) ?? new web_db._Weighing.TblCar()).Title; xp.FkCustomer = x.FkCustomer; xp.Weight1 = x.Weight1; xp.Weight1IsBascul = x.Weight1IsBascul; xp.Txt = x.Txt; xp.Date1 = x.Date1; xp.IsDel = false; xp.IsPermitOk = null; xp.FkUsPermit = null; xp.TxtPermit = ""; } } #endregion #region PeerAnbar if (kindPortageenum == Models.tbls.portage.kindPortage.kindPortageEnum.InFromAnbar || kindPortageenum == Models.tbls.portage.kindPortage.kindPortageEnum.OutToAnbar) { var xpkind = (kindPortageenum == Models.tbls.portage.kindPortage.kindPortageEnum.InFromAnbar ? web_sard.Areas.ASabad.Models.tbls.portage.kindPortage.kindPortageEnum.OutToSurt : web_sard.Areas.ASabad.Models.tbls.portage.kindPortage.kindPortageEnum.InFromSurt); foreach (var item in web_sard.Models.cl._ListContractType(x.FkSalmali).Where(a => a.KindCotractType == web_db._Weighing.TblContractType.KindCotractTypeEnum.ASabad)) { var xp = db.TblPortages.SingleOrDefault(a => a.FkContracttype == item.Id && a.Id == x._FkPortagePeer); if (xp == null) { xp = new web_db._Weighing.TblPortage { FkSalmali = User._getuserSalMaliDef(), Code = model.Code, Dateadd1 = DateTime.Now, FkContracttype = item.Id, FkUsAdd1 = User._getuserid().Value, _FkPortagePeer = x.Id, Id = Guid.NewGuid(), KindCode = (int)xpkind, KindTitle = web_sard.Areas.ASabad.Models.tbls.portage.kindPortage.listkindcontract.Find(a => a.code == (int)xpkind).txt, }; xp.Code = (db.TblPortages.Where(a => a.FkSalmali == User._getuserSalMaliDef() && a.FkContracttype == item.Id && a.KindCode == (int)xpkind).Max(a => (long?)a.Code) ?? 0) + 1; db.TblPortages.Add(xp); x._FkPortagePeer = xp.Id; } else { xp.Dateedit1 = DateTime.Now; xp.FkUsEdit1 = User._getuserid().Value; } xp.CarMashin = x.CarMashin ?? ""; xp.CarRanande = x.CarRanande ?? ""; xp.CarShMashin = x.CarShMashin ?? ""; xp.CarTell = x.CarTell ?? ""; xp.FkCar = x.FkCar; xp.CarMashin = (web_sard.Models.cl._ListCar.SingleOrDefault(a => a.Id == model.FkCar) ?? new web_db._Weighing.TblCar()).Title; xp.FkCustomer = x.FkCustomer; xp.Weight1 = x.Weight1; xp.Weight1IsBascul = x.Weight1IsBascul; xp.Txt = x.Txt; xp.Date1 = x.Date1; xp.IsDel = false; xp.IsPermitOk = null; xp.FkUsPermit = null; xp.TxtPermit = ""; } } #endregion ViewBag.error = checkportage(x); if (((string)ViewBag.error).IsEmpty()) { db.SaveChanges(); dbdoc.SaveChanges(); _refstoreTow(x.Id); if (kindPortageenum == Models.tbls.portage.kindPortage.kindPortageEnum.InFromSardkhane || kindPortageenum == Models.tbls.portage.kindPortage.kindPortageEnum.OutToSardkhane) { ASardKhane.Models.cl._refstoreTow(db, x.Id); } if (kindPortageenum == Models.tbls.portage.kindPortage.kindPortageEnum.InFromAnbar || kindPortageenum == Models.tbls.portage.kindPortage.kindPortageEnum.OutToAnbar) { ASabad.Models.cl._refstoreTow(db, x.Id); } return(RedirectToAction("index", new { idtype = x.FkContracttype })); } } ViewData["type"] = db.TblContractTypes.Find(idtype); ViewData["kindPortage"] = kindPortage; var intosard = false; if ((kindPortage == (int)Models.tbls.portage.kindPortage.kindPortageEnum.InFromSardkhane) || (kindPortage == (int)Models.tbls.portage.kindPortage.kindPortageEnum.OutToSardkhane)) { intosard = true; } ViewBag.contrs = (from n in db.TblContracts.Include(a => a.FkContractTypeNavigation).Include(a => a.FkCustomerNavigation) where n.FkSalmali == typecontract.FkSalmali && n.FkContractType == idtype //&& //(intosard == false ? true : (n._FkContractPeer.HasValue)) orderby n.Code ascending select n).ToList(); return(View(model)); } return(null); }