public ActionResult CreateWithRows([Bind(Include = "CompanyId,Date,CurrencyISOCode,Items")] HumDistributionPlan plan)
        {
            if (plan.Items == null)
            {
                ModelState.AddModelError("", "Добавьте строки");
            }
            else
            {
                foreach (var item in plan.Items)
                {
                    if (item.ConsumerId == 0)
                    {
                        ModelState.AddModelError("", "Потребитель не указан");
                    }
                    if (item.AreaId == 0)
                    {
                        ModelState.AddModelError("", "Область не указана");
                    }
                    if (item.ProductId == 0)
                    {
                        ModelState.AddModelError("", "Товар / Продукт / Изделие не указано");
                    }
                    if (item.UnitTypeId == 0)
                    {
                        ModelState.AddModelError("", "Ед. измерения не указана");
                    }
                    if (item.Amount <= 0)
                    {
                        ModelState.AddModelError("", "Кол-во не задано");
                    }
                    if (item.Sum <= 0)
                    {
                        ModelState.AddModelError("", "Сумма не задана");
                    }
                }
            }
            if (ModelState.IsValid)
            {
                var humPlan = new HumDistributionPlan
                {
                    CompanyId       = plan.CompanyId,
                    CurrencyISOCode = plan.CurrencyISOCode,
                    Date            = plan.Date
                };
                db.HumDistributionPlans.Add(humPlan);
                foreach (var planItem in plan.Items)
                {
                    planItem.HumDistributionPlanId = humPlan.Id;
                    db.HumDistributionPlanItems.Add(planItem);
                }
                db.SaveChanges();
                return(RedirectToAction("Details", new { id = humPlan.Id }));
            }
            plan.Company = db.Companies.Find(plan.CompanyId);
            plan.Items   = plan.Items == null ? new List <HumDistributionPlanItem>() : plan.Items;

            var    xmldoc    = new XmlDocument();
            string urlOrigin = "http://www.nbkr.kg/XML/CurrenciesReferenceList.xml";
            string urlFake   = Server.MapPath("~/Doc/CurrenciesReferenceList.xml");
            string url       = urlFake;

            if (ConfigurationManager.AppSettings.AllKeys.Contains("HasInternetConnection") && ConfigurationManager.AppSettings["HasInternetConnection"] == "yes")
            {
                url = urlOrigin;
            }

            xmldoc.Load(url);

            var xdoc = DocumentExtensions.ToXDocument(xmldoc);

            ViewBag.CurrencyISOCode = from c in xdoc.Root.Elements()
                                      select new SelectListItem {
                Text = " " + c.Attribute("ISOCode").Value + " ", Value = c.Attribute("ISOCode").Value, Selected = c.Attribute("ISOCode").Value == plan.CurrencyISOCode
            };

            var consumers = db.Consumers.ToList();

            consumers.Insert(0, new Consumer());
            ViewBag.ConsumerId = new SelectList(consumers, "Id", "Name");

            var products = db.Products.ToList();

            products.Insert(0, new Product());
            ViewBag.ProductId = new SelectList(products, "Id", "Name");

            var areas = db.Areas.ToList();

            areas.Insert(0, new Area());
            ViewBag.AreaId = new SelectList(areas, "Id", "Name");

            var unitTypes = db.UnitTypes.ToList();

            unitTypes.Insert(0, new UnitType());
            ViewBag.UnitTypeId = new SelectList(unitTypes, "Id", "Name");

            return(View(plan));
        }