public ActionResult PartialViewCreate() { CreateNewCompanyModel company = new CreateNewCompanyModel(); var items = (from m in db.Branchs select new SelectListItem { Value = m.Id.ToString(), Text = m.BranchName });; foreach (var item in items) { company.branchItem.Add(item); } // YourViewModel.Model1Items = new SelectList(items.ToList(), "Value", "Text"); return(PartialView("PartialViewCreate", company)); }
public ActionResult PartialViewCreate(CreateNewCompanyModel newCompany) { try { //Math.Round((double)(attributeScore), 4, MidpointRounding.AwayFromZero); Random randNum = new Random(); if (String.IsNullOrEmpty(newCompany.Name)) { return(RedirectToAction("Index")); } var companyId = 0; if (db.Companies.Any()) { companyId = db.Companies.Max(x => x.Id) + 1; } var branchId = newCompany.BranchId; Companies company = new Companies() { BranchId = branchId, Name = newCompany.Name, CompanyId = companyId }; db.Companies.Add(company); var factors = db.Factors.Where(x => x.BranchId == branchId); foreach (var factor in factors) { FactorsOfCompany factorOfCompany = new FactorsOfCompany { CompanyId = companyId, FactorId = factor.FactorId, FactorName = factor.FactorName, Score = factor.Score, Weight = Math.Round((double)(factor.Weight), 4, MidpointRounding.AwayFromZero) }; db.FactorsOfCompany.Add(factorOfCompany); } var criterias = db.Criterias.Where(x => x.BranchId == branchId); foreach (var criteria in criterias) { CriteriasOfCompany criteriaOfCompany = new CriteriasOfCompany { CompanyId = companyId, FactorId = criteria.FactorId, CriteriaId = criteria.CriteriaId, CriteriaName = criteria.CriteriaName, Score = criteria.Score, Weight = Math.Round((double)(criteria.Weight), 4, MidpointRounding.AwayFromZero) }; db.CriteriasOfCompany.Add(criteriaOfCompany); } var attributes = db.Attributes.Where(x => x.BranchId == branchId); foreach (var attribute in attributes) { AttributesOfCompany attributesOfCompany = new AttributesOfCompany { CompanyId = companyId, FactorId = attribute.FactorId, CriteriaId = attribute.CriteriaId, AttributeId = attribute.AttributeId, AttributeName = attribute.AttributeName, Score = attribute.Score, Weight = Math.Round((double)(attribute.Weight * (0.5 + randNum.NextDouble() * 0.8)), 4, MidpointRounding.AwayFromZero) }; db.AttributesOfCompany.Add(attributesOfCompany); } db.SaveChanges(); return(RedirectToAction("Index")); } catch (Exception ex) { return(View("PartialViewCreate", newCompany)); } }