Exemple #1
0
        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);
            }
        }
Exemple #4
0
        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());
        }