public ActionResult Edit(int?id)
        {
            Company comp;

            if (TempData["Emptyname"] != null)
            {
                ModelState.AddModelError("", "Empty company Name");
            }
            else if (TempData["NameExist"] != null)
            {
                ModelState.AddModelError("", "Company already exist");
            }
            else if (TempData["MinMax"] != null)
            {
                ModelState.AddModelError("", "Min must be less than max");
            }
            if (id == null)
            {
                comp = new Company();
            }
            else
            {
                comp = dbNew.Companies.Include(t => t.Contacts).FirstOrDefault(t => t.Id == id);
                if (comp == null)
                {
                    return(HttpNotFound());
                }
            }

            CompanyEditView companyEditView = new CompanyEditView(comp, dbNew.Industries.ToList(), dbNew.Companies.ToList());

            return(View(companyEditView));
        }
Esempio n. 2
0
 public void LoadUserControl(CompanyEditView view)
 {
     ILandBaseService iLandBaseService = new LandBaseService();
     var landBases = iLandBaseService.GetPagerLandBase(string.Empty, 1, 10);
     //view.lbLand.ItemsSource = landBases;
     //view.lbLand.SelectedValuePath = "LandID";
     //view.lbLand.DisplayMemberPath = "LandName";
 }
        public ActionResult Edit(CompanyEditView editView, int[] selectedIndustries, string submitbutton)
        {
            if (editView.company.name == null)
            {
                TempData["EmptyName"] = ViewData;
                return(RedirectToAction("Edit", editView.company.Id));
            }
            if (!editView.company.isMinMaxGood())
            {
                TempData["MinMax"] = ViewData;
                return(RedirectToAction("Edit", editView.company.Id));
            }
            Company comp = new Company();

            if (submitbutton == "Save")
            {
                comp = dbNew.Companies.Find(editView.company.Id);
                if (comp == null)
                {
                    return(HttpNotFound());
                }
            }

            if (comp.name != editView.company.name && dbNew.Companies.FirstOrDefault(co => co.name == editView.company.name) != null)
            {
                TempData["NameExist"] = ViewData;
                return(RedirectToAction("Edit", comp.Id));
            }
            else
            {
                comp.Industries.Clear();
                comp.getCompanyChanges(editView.company);

                if (editView.company.PrimaryIndustryId == null && selectedIndustries != null)
                {
                    comp.PrimaryIndustryId = selectedIndustries[new Random().Next(0, selectedIndustries.Count())];
                }
                else if (editView.company.PrimaryIndustryId != null && selectedIndustries == null)
                {
                    comp.Industries.Add(dbNew.Industries.Find(editView.company.PrimaryIndustryId));
                }


                // comp.Industries.Clear();
                if (selectedIndustries != null)
                {
                    //получаем выбранные курсы
                    foreach (var c in dbNew.Industries.Where(ind => selectedIndustries.Contains(ind.Id)))
                    {
                        comp.Industries.Add(c);
                    }
                }


                if (submitbutton == "Save")
                {
                    dbNew.Entry(comp).State = EntityState.Modified;
                }
                else
                {
                    dbNew.Companies.Add(comp);
                }
                dbNew.SaveChanges();
                return(RedirectToAction("Index"));
            }
        }