public IHttpActionResult InsertNewItem([FromBody] InsertItemModel item) { var container = ContainerConfig.Configure(); using (var scope = container.BeginLifetimeScope()) { var app = scope.Resolve <IItemBusinessLayer>(); var result = app.InsertNewItem(item); return(Json(new { Result = result })); } }
public Task Create(Invoice invoice) { using (var trans = new TransactionScope()) { using (IDbConnection conn = Connection) { string sQuery = @"Insert Into Invoice( Code , Note , Status , TotalPrice , WeightTotal , CustomerId , DeliveryTime , Served) Values(@Code , @Note , @Status , @TotalPrice , @WeightTotal , @CustomerId , @DeliveryTime , @Served); SELECT Id from Invoice where Id = CAST(SCOPE_IDENTITY() as int)"; var resultInvoice = conn.QueryFirst <int>(sQuery, new { Code = invoice.Code.Value, Note = invoice.Note.Value, Status = invoice.Status.Value, TotalPrice = invoice.TotalPrice.Value, WeightTotal = invoice.WeightTotal.Value, CustomerId = invoice.CustomerId.Value, DeliveryTime = invoice.DeliveryTime, Served = invoice.Served.Value }); string queryItem = @"Insert Into Item( Deliveried , Price , ProductName , TotalPrice , UnitName , Quantity , Weight , InvoiceId) Values(@Deliveried , @Price , @ProductName , @TotalPrice , @UnitName , @Quantity , @Weight ,@InvoiceId); "; List <InsertItemModel> insertItems = new List <InsertItemModel>(); invoice.Items.ForEach(x => { InsertItemModel insertItem = new InsertItemModel { Deliveried = x.Deliveried.Value, Price = x.Price.Value, ProductName = x.ProductName.Full, Quantity = x.Quantity.Value, TotalPrice = x.TotalPrice.Value, UnitName = x.UnitName.Value, Weight = x.Weight.Value, InvoiceId = resultInvoice }; insertItems.Add(insertItem); }); conn.Execute(queryItem, insertItems); trans.Complete(); } return(Task.CompletedTask); } }
public Task Update(Invoice invoice) { using (var trans = new TransactionScope()) { using (IDbConnection conn = Connection) { string sQuery = @"Update Invoice SET TotalPrice = @TotalPrice, WeightTotal = @WeightTotal WHERE Lower(Code) = Lower(@Code); SELECT Id FROM Invoice WHERE Lower(Code) = Lower(@Code)"; var invoiceId = conn.QueryFirstOrDefault <int>(sQuery, new { Code = invoice.Code.Value, TotalPrice = invoice.TotalPrice.Value, WeightTotal = invoice.WeightTotal.Value, }); string queryDeleteItem = @"DELETE FROM Item WHERE InvoiceId = @InvoiceId"; var result = conn.Execute(queryDeleteItem, new { InvoiceId = invoiceId }); string queryItem = @"Insert Into Item( Deliveried , Price , ProductName , TotalPrice , UnitName , Quantity , Weight , InvoiceId) Values( @Deliveried , @Price , @ProductName , @TotalPrice , @UnitName , @Quantity , @Weight ,@InvoiceId); "; List <InsertItemModel> insertItems = new List <InsertItemModel>(); invoice.Items.ForEach(x => { InsertItemModel insertItem = new InsertItemModel { Price = x.Price.Value, ProductName = x.ProductName.Full, Quantity = x.Quantity.Value, TotalPrice = x.TotalPrice.Value, UnitName = x.UnitName.Value, Weight = x.Weight.Value, InvoiceId = invoiceId }; insertItems.Add(insertItem); }); conn.Execute(queryItem, insertItems); trans.Complete(); } return(Task.CompletedTask); } }
public ItemSingleModel InsertNewItem(InsertItemModel item) { Item newItem = new Item(); List <ItemDetailMapping> detail = new List <ItemDetailMapping>(); ItemDetailMapping singleDetail = new ItemDetailMapping(); ItemSingleModel result = new ItemSingleModel(); var brandName = _itemDataAccess.GetBrandByName(item.BrandName); var codeDetail = _itemDataAccess.GetAllItemStatus(); newItem.ItemName = item.ItemName; newItem.CategoryID = item.CategoryId; newItem.SubCategoryID = item.SubCategoryId; newItem.StatusCd = codeDetail.Where(x => x.CodeValue.Equals("Active")).Select(x => x.Id).FirstOrDefault(); newItem.LocationID = item.LocationId; newItem.BrandID = brandName.Id; newItem.Quantity = item.Quantity; newItem.MeasuredBy = item.MeasuredBy; newItem.ThresholdQty = item.ThresholdQty; newItem.WarningThresholdQty = item.WarningThresholdQty; newItem.Notes = item.Notes; newItem.Sku = item.Sku; newItem.CreateUserName = "******"; newItem.CreateDttm = DateTime.UtcNow; newItem.UpdateUserName = "******"; newItem.UpdateDttm = DateTime.UtcNow; var insertedItem = _itemDataAccess.InsertNewItem(newItem); if (insertedItem != null) { for (int i = 0; i < item.ItemDetail.Count; i++) { singleDetail.ItemDetailID = item.ItemDetail[i].ItemDetailId; singleDetail.ItemDetailValue = item.ItemDetail[i].ItemDetailValue; singleDetail.ItemID = insertedItem.Id; singleDetail.IsActive = true; singleDetail.CreateUserName = "******"; singleDetail.CreateDttm = DateTime.UtcNow; singleDetail.UpdateUserName = "******"; singleDetail.UpdateDttm = DateTime.Now; detail.Add(singleDetail); singleDetail = new ItemDetailMapping(); } var insertedDetail = _itemDataAccess.InsertNewItemDetailMapping(detail); result.Id = insertedItem.Id; result.ItemName = insertedItem.ItemName; result.CategoryId = insertedItem.CategoryID; result.SubCategoryId = insertedItem.SubCategoryID; result.BrandName = item.BrandName; result.LocationId = insertedItem.LocationID; result.Quantity = insertedItem.Quantity.HasValue ? insertedItem.Quantity.Value : 0; result.ThresholdQty = insertedItem.ThresholdQty.HasValue ? insertedItem.ThresholdQty.Value : 0; result.WarningThresholdQty = insertedItem.WarningThresholdQty.HasValue ? insertedItem.WarningThresholdQty.Value : 0; result.MeasuredBy = insertedItem.MeasuredBy; result.Sku = insertedItem.Sku; result.Notes = insertedItem.Notes; result.StatusCd = codeDetail.Where(x => x.Id == insertedItem.StatusCd).Select(x => x.CodeValue).FirstOrDefault(); result.CreateUserName = insertedItem.CreateUserName; result.CreateDttm = insertedItem.CreateDttm; result.UpdateUserName = insertedItem.UpdateUserName; result.UpdateDttm = insertedItem.UpdateDttm; if (insertedDetail) { return(result); } } return(new ItemSingleModel()); }