public ActionResult Create() { var uManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); var userInfo = uManager.FindByNameAsync(User.Identity.Name).GetAwaiter().GetResult(); var model = new HumDistributionPlan(); if (userInfo.Companies.Count > 0) { model.CompanyId = userInfo.Companies.First().Id; model.Company = userInfo.Companies.First(); 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.Currencies = from c in xdoc.Root.Elements() select c.Attribute("ISOCode").Value; } else { return(RedirectToAction("Create", "Companies", new { userId = userInfo.Id, returnUrl = Request.Path })); } return(View(model)); }
public ActionResult DeleteConfirmed(int id) { HumDistributionPlan humDistributionPlan = db.HumDistributionPlans.Find(id); db.HumDistributionPlans.Remove(humDistributionPlan); db.SaveChanges(); return(RedirectToAction("Index")); }
/*[HttpPost] * [ValidateAntiForgeryToken] * public ActionResult Create(HttpPostedFileBase FileUpload, [Bind(Include = "Id,CompanyId,Date,CurrencyISOCode")] HumDistributionPlan humDistributionPlan) * { * List<string> messages = new List<string>(); * var planItems = new List<HumDistributionPlanItem>(); * if (ModelState.IsValid) * { * if (FileUpload != null) * { * if (FileUpload.ContentType == "application/vnd.ms-excel" || FileUpload.ContentType == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") * { * string filename = FileUpload.FileName; * string targetpath = Server.MapPath("~/TempDoc/"); * FileUpload.SaveAs(targetpath + filename); * string pathToExcelFile = targetpath + filename; * var connectionString = ""; * if (filename.EndsWith(".xls")) * { * connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=Excel 8.0;", pathToExcelFile); * } * else if (filename.EndsWith(".xlsx")) * { * connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";", pathToExcelFile); * } * string sheetName = "План распределения"; * var adapter = new OleDbDataAdapter("SELECT * FROM [" + sheetName + "$]", connectionString); * var ds = new DataSet(); * * adapter.Fill(ds, "ExcelTable"); * * DataTable dtable = ds.Tables["ExcelTable"]; * * * * var excelFile = new ExcelQueryFactory(pathToExcelFile); * var humDistributionPlanItems = from a in excelFile.Worksheet<HumDistributionPlanItemModel>(sheetName) select a; * var units = db.UnitTypes.ToList(); * * foreach (var item in humDistributionPlanItems) * { * try * { * var unitStr = item.Unit; * * var unitType = units.FirstOrDefault(x => x.Name.ToLower() == unitStr.ToLower()); * if (item.Consumer != "" && * item.Address != "" && * item.Region != "" && * item.ProductName != "" && * item.Unit != "" && * item.Amount != null && * item.Sum != null && * unitType != null) * { * HumDistributionPlanItem objItem = new HumDistributionPlanItem(); * objItem.Consumer = item.Consumer; * objItem.Address = item.Address; * objItem.Region = item.Region; * objItem.ProductName = item.ProductName; * objItem.Amount = item.Amount; * objItem.Sum = item.Sum; * objItem.UnitTypeId = unitType.Id; * * planItems.Add(objItem); * } * else * { * if (item.Consumer == "" || item.Consumer == null) messages.Add("Поле Consumer не может быть пустым"); * if (item.Region == "" || item.Region == null) messages.Add("Поле Region не может быть пустым"); * if (item.ProductName == "" || item.ProductName == null) messages.Add("Поле ProductName не может быть пустым"); * if (item.Amount == null) messages.Add("Поле Amount не может быть пустым"); * if (item.Sum == null) messages.Add("Поле Sum не может быть пустым"); * if (unitType == null) messages.Add("Поле Unit не может быть пустым, или оно не найдено в справочнике"); * } * } * * catch (DbEntityValidationException ex) * { * foreach (var entityValidationErrors in ex.EntityValidationErrors) * { * * foreach (var validationError in entityValidationErrors.ValidationErrors) * { * * Response.Write("Свойство: " + validationError.PropertyName + " Текст ошибки: " + validationError.ErrorMessage); * * } * * } * } * } * //deleting excel file from folder * if ((System.IO.File.Exists(pathToExcelFile))) * { * System.IO.File.Delete(pathToExcelFile); * } * } * else * { * messages.Add("Только Excel-формат доступен."); * } * } * * if (messages.Count == 0) * { * db.Database.BeginTransaction(); * try * { * db.HumDistributionPlans.Add(humDistributionPlan); * db.SaveChanges(); * foreach (var item in planItems) * { * item.HumDistributionPlanId = humDistributionPlan.Id; * db.HumDistributionPlanItems.Add(item); * db.SaveChanges(); * } * db.Database.CurrentTransaction.Commit(); * return RedirectToAction("Details", new { id = humDistributionPlan.Id }); * } * catch (Exception e) * { * messages.Add("Error on saving items: " + e.Message); * db.Database.CurrentTransaction.Rollback(); * } * finally * { * db.Database.Connection.Close(); * } * } * } * ViewBag.Messages = messages.ToArray(); * humDistributionPlan.Company = db.Companies.Find(humDistributionPlan.CompanyId); * * * 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.Currencies = from c in xdoc.Root.Elements() * select c.Attribute("ISOCode").Value; * * return View(humDistributionPlan); * } */ public ActionResult CreateWithRows() { var uManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); var userInfo = uManager.FindByNameAsync(User.Identity.Name).GetAwaiter().GetResult(); var model = new HumDistributionPlan { Items = new List <HumDistributionPlanItem> { new HumDistributionPlanItem() } }; if (userInfo.Companies.Count > 0) { model.CompanyId = userInfo.Companies.First().Id; model.Company = userInfo.Companies.First(); 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 }; 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"); } else { return(RedirectToAction("Create", "Companies", new { userId = userInfo.Id, returnUrl = Request.Path })); } return(View(model)); }
void SendToCissa(HumDistributionPlan obj) { var HumDistributionPlanDefId = new Guid("{8C9BC637-06E2-4AE7-ACD8-F498C1CA1620}"); var HumDistributionPlanItemDefId = new Guid("{EAA7299C-E4AF-4203-8D18-1733F639F902}"); var portalStateTypeId = new Guid("{D6D8589D-46EF-4323-B25F-BE312260F1BB}"); var positionId = new Guid("{DF1C36BB-85B0-4C53-8729-F18A5D6615F4}"); if (obj.Company != null) { var company = obj.Company; var cissameta = new CissaMeta.MetaProxy(); var cissa_portal_users = cissameta.GetUsersByPositionId(positionId, company.OrgId ?? Guid.Empty); if (cissa_portal_users != null && cissa_portal_users.Count() > 0) { var user = cissa_portal_users.First(); var context = CreateContext(user.User_Name, user.Id); var docRepo = context.Documents; var reportDoc = docRepo.New(HumDistributionPlanDefId); reportDoc["RegDate"] = obj.Date; reportDoc["LegalPerson"] = GetLegalPerson(context, obj); reportDoc["PortalEntryId"] = obj.Id; reportDoc["CurrencyISOCode"] = obj.CurrencyISOCode; reportDoc["TotalSum"] = obj.Items.Sum(x => x.Sum); docRepo.Save(reportDoc); docRepo.SetDocState(reportDoc, portalStateTypeId); foreach (var objItem in obj.Items) { var item = docRepo.New(HumDistributionPlanItemDefId); item["HumDistributionPlan"] = reportDoc.Id; item["Consumer"] = objItem.Consumer.Name; item["Region"] = objItem.Area.Name; item["Address"] = objItem.Address; item["ProductName"] = objItem.Product.Name; item["Unit"] = objItem.UnitType.EnumId; item["Amount"] = objItem.Amount; //item["Weight"] = objItem.Weight; item["Sum"] = objItem.Sum; docRepo.Save(item); } } else { throw new ArgumentNullException(paramName: "cissa_portal_users", message: "Пользователь не найден!"); } } else { throw new ArgumentNullException(paramName: "Report.Company", message: "Компания не найдена!"); } }
public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } HumDistributionPlan humDistributionPlan = db.HumDistributionPlans.Find(id); if (humDistributionPlan == null) { return(HttpNotFound()); } return(View(humDistributionPlan)); }
public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } HumDistributionPlan humDistributionPlan = db.HumDistributionPlans .Include(x => x.PlanStates.Select(x1 => x1.DocumentState)) .Include(x => x.Items.Select(x1 => x1.Product)) .Include(x => x.Attachments.Select(x1 => x1.AttachmentType)) .Include(x => x.Items.Select(x1 => x1.HumDistributionPlanItemChanges)) .FirstOrDefault(x => x.Id == id); if (humDistributionPlan == null) { return(HttpNotFound()); } return(View(humDistributionPlan)); }
Guid GetLegalPerson(WorkflowContext context, HumDistributionPlan obj) { var LegalPersonDefId = new Guid("{61AF4CEA-D77A-4305-8F0A-81A001BE5CFD}"); var qb = new QueryBuilder(LegalPersonDefId, context.UserId); var query = context.CreateSqlQuery(qb.Def); query.AndCondition("PIN", ConditionOperation.Equal, obj.Company.INN); query.AndCondition("LegalName", ConditionOperation.Equal, obj.Company.Name); query.AddAttribute("&Id"); using (var reader = context.CreateSqlReader(query)) { if (reader.Read()) { return(reader.GetGuid(0)); } } var docRepo = context.Documents; var newLegalPerson = docRepo.New(LegalPersonDefId); newLegalPerson["PIN"] = obj.Company.INN; newLegalPerson["LegalName"] = obj.Company.Name; newLegalPerson["CodeOrg"] = obj.Company.OKPO; newLegalPerson["LegalAddress"] = obj.Company.Address; newLegalPerson["LegalPhone"] = obj.Company.Telephone; newLegalPerson["Email"] = obj.Company.Email; newLegalPerson["TypeOfActivity"] = obj.Company.ActivityType; newLegalPerson["BankName"] = obj.Company.BankName; newLegalPerson["BankIdCode"] = obj.Company.BIK; newLegalPerson["CheckAccount"] = obj.Company.BankAccountNo; docRepo.Save(newLegalPerson); return(newLegalPerson.Id); }
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)); }