public ActionResult CreateContract() { isAdminLogged(); ContractDistributorVM model = new ContractDistributorVM(); // Get List of old distributors IList <DistributorList> oldDisList = dis_Service.GetList(null, false); IList <DistributorViewModel> _oldDisList = new List <DistributorViewModel>(); DistributorViewModel _oldDis; if (oldDisList.Count != 0) { foreach (DistributorList dis in oldDisList) { _oldDis = new DistributorViewModel(); _oldDis.address = dis.Dis.address; _oldDis.Email = dis.Dis.Email; _oldDis.idDistributor = dis.Dis.idDistributor; _oldDis.name = dis.Dis.name; _oldDis.phone = dis.Dis.phone; _oldDisList.Add(_oldDis); } model.oldDis = _oldDisList; } // Get List of approved potential distributor IList <PotentialDistributor> pDisList = pDis_Service.SearchByStatus(3); IList <PdisRepViewModel> pDisRepList = new List <PdisRepViewModel>(); PdisRepViewModel pDisRep; if (pDisList.Count != 0) { foreach (PotentialDistributor item in pDisList) { pDisRep = new PdisRepViewModel(); pDisRep.pDis.address = item.address; pDisRep.pDis.Email = item.Email; pDisRep.pDis.idDistributor = item.idDistributor; pDisRep.pDis.name = item.name; pDisRep.pDis.phone = item.phone; foreach (Representative rep in item.Representatives) { if (rep.PotentialDistributor.idDistributor == item.idDistributor) { pDisRep.rep.email = rep.email; pDisRep.rep.idRepresentative = rep.idRepresentative; pDisRep.rep.name = rep.name; pDisRep.rep.phone = rep.phone; pDisRep.rep.title = rep.title; } } pDisRepList.Add(pDisRep); } model.pDis = pDisRepList; } return(View(model)); }
public ActionResult CreateContract(ContractDistributorVM model, [Bind(Prefix = "ContractViewModel")] ContractViewModel con, [Bind(Prefix = "DistributorViewModel")] DistributorViewModel dis, [Bind(Prefix = "RepresentativeViewModel")] RepresentativeViewModel rep) { isAdminLogged(); logger.Info("Start controller to create contract..."); var user = Session["admin"] as Account; bool result; var _con = new Contract(); _con.area = con.area; _con.beginDate = con.beginDate; _con.commission = con.commission; _con.disType = con.disType; _con.expiredDate = con.expiredDate; _con.maxDebt = con.maxDebt; _con.minOrderTotalValue = con.minOrderTotalValue; _con.note = con.note; _con.staff = staff_Service.GetByAccount(user.UserName).idStaff; if (rep.idRepresentative == 0) // Create contract for old distributor { Representative _rep = new Representative { idRepresentative = rep_Service.GenerateRepresentativeId(), name = rep.name, title = rep.title, phone = rep.phone, email = rep.email, Distributor = dis.idDistributor }; _con.Representative1 = _rep; _con.distributor = dis.idDistributor; result = con_Service.CreateContract(_con, false); } else // Create contract for potential distributor { Distributor _dis = new Distributor { idDistributor = dis_Service.GenerateDistributorId(), name = dis.name, address = dis.address, Email = dis.Email, phone = dis.phone, createdDate = DateTime.Now, updatedDate = DateTime.Now, debt = 0, status = true }; _con.Distributor1 = _dis; // _dis.idDistributor; _con.representative = rep.idRepresentative; result = con_Service.CreateContract(_con, true); //pDis_Service.UpdateStatus(dis.idDistributor, 5, "Đã tạo hợp đồng"); } if (result == true) { TempData["success"] = "Thành công"; model = new ContractDistributorVM(); logger.Info("End: Successful...."); } else { TempData["fail"] = "Thất bại"; logger.Info("End: Unsuccessful...."); } return(RedirectToAction("CreateContract")); }