// POST api/<controller> public async Task Post(PrLinesViewModel value) { var nh = new NHibernateUserStore(); var nhps = new NHibernatePRStore(); var nhcs = new NHibernateNonCatalogStore(); var user = nh.FindByStampAsync(value.SecurityStamp); if (user != null) { var nhis = new NHibernateItemStore(); ItemModel item = null; NonCatalogItemHeadModel nonCatalog = null; if (value.itemType == "Catalog") { item = await nhis.FindItemByIdAsync(value.Id); } else { nonCatalog = await nhcs.GetNonCatalogAsync(value.Id); } var PrLines = new PRLinesModel { Item = item, NonCatalog = nonCatalog, Quantity = value.Quantity, CreatedBy = user.Result }; try { await nhps.CreatePRLinesAsync(PrLines); } catch (Exception e) { var a = e.Message; } } }
public async Task <long> Post(NonCatalogViewModel value) { const long PurchaserHead = 6; var nhnch = new NHibernateNonCatalogStore(); var user = new NHibernateUserStore(); var nnc = new NHibernateNonCatalogStore(); var supplierStore = new NHibernateISupplierStore(); var subcategoryStore = new NHibernateCategoryStore(); var company = new NHibernateCompanyStore(); var createdby = await user.FindByStampAsync(value.SecurityStamp); var nonCatalog = await nnc.GetNonCatalogAsync(value.Id); if (nonCatalog == null) { nonCatalog = new NonCatalogItemHeadModel(); } nonCatalog.Name = value.Name; nonCatalog.Analysis = value.Analysis; nonCatalog.SubCategory = await subcategoryStore.FindSubCategoryByIdAsync(value.SubCategoryId); nonCatalog.Requestor = await company.GetEmployeeAsync(value.RequestorId); nonCatalog.CreatedBy = createdby; nonCatalog.Approver = await company.GetPositionByIdAsync(PurchaserHead); for (var line = 0; line < nonCatalog.Lines.Count; line++) { if (!value.Lines.Any(x => x.Id == nonCatalog.Lines.ElementAt(line).Id)) { nonCatalog.Lines.ElementAt(line).DeleteTime = DateTime.UtcNow; } } foreach (var line in value.Lines) { if (nonCatalog.Lines.Any(x => x.Id == line.Id) && line.Id != 0) { continue; } var supplier = await supplierStore.FindSupplierByIdAsync(line.SupplierId); string tempSupplier = null; if (supplier == null) { tempSupplier = line.TempSupplier; } var nonCatalogLine = new NonCatalogItemLinesModel { Selected = line.Selected, Supplier = supplier, Price = line.Price, Description = line.Description, Quantity = line.Quantity, UOM = line.UOM, Discount = line.Discount, TotalAnount = line.TotalAnount, Availability = line.Availability, Terms = line.Terms, Brand = await supplierStore.FindBrandByIdAsync(line.BrandId), CreatedBy = createdby, TempSupplier = tempSupplier }; nonCatalog.Lines.Add(nonCatalogLine); } if (value.Approved) { nonCatalog.ApprovedBy = createdby; nonCatalog.DateApproved = DateTime.UtcNow; } return(await nnc.CreateNonCatalogHeadAsync(nonCatalog)); }