public HttpResponseMessage postSalesLine(Entities.TrnSalesLine objSalesLine)
 {
     try
     {
         Data.TrnSalesLine newSalesLine = new Data.TrnSalesLine();
         newSalesLine.SalesId            = objSalesLine.SalesId;
         newSalesLine.ItemId             = objSalesLine.ItemId;
         newSalesLine.UnitId             = objSalesLine.UnitId;
         newSalesLine.Price              = objSalesLine.Price;
         newSalesLine.DiscountId         = objSalesLine.DiscountId;
         newSalesLine.DiscountRate       = objSalesLine.DiscountRate;
         newSalesLine.DiscountAmount     = objSalesLine.DiscountAmount;
         newSalesLine.NetPrice           = objSalesLine.NetPrice;
         newSalesLine.Quantity           = objSalesLine.Quantity;
         newSalesLine.Amount             = objSalesLine.Amount;
         newSalesLine.TaxId              = objSalesLine.TaxId;
         newSalesLine.TaxRate            = TaxRate(TaxId());
         newSalesLine.TaxAmount          = objSalesLine.TaxAmount;
         newSalesLine.SalesAccountId     = objSalesLine.SalesAccountId;
         newSalesLine.AssetAccountId     = objSalesLine.AssetAccountId;
         newSalesLine.CostAccountId      = objSalesLine.CostAccountId;
         newSalesLine.TaxAccountId       = objSalesLine.TaxAccountId;
         newSalesLine.SalesLineTimeStamp = DateTime.Today;
         newSalesLine.UserId             = UserId();
         newSalesLine.Preparation        = "n/a";
         db.TrnSalesLines.InsertOnSubmit(newSalesLine);
         db.SubmitChanges();
         return(Request.CreateResponse(HttpStatusCode.OK, newSalesLine.Id));
     }
     catch (Exception e)
     {
         // Debug.WriteLine(e);
         return(Request.CreateResponse(HttpStatusCode.BadRequest, e));
     }
 }
Example #2
0
        private void AddTrnSalesLine(int salesId, string itemCode)
        {
            try
            {
                var item = from d in db.TrnSalesLines
                           where d.MstItem.ItemCode.Equals(itemCode) && d.SalesId.Equals(salesId)
                           select d;
                if (item.Any())
                {
                }
                else
                {
                    var resultItemSearch = from d in db.MstItems
                                           where d.Id.Equals(Convert.ToInt32(itemCode))
                                           select d;

                    if (resultItemSearch.Any())
                    {
                        var resultDiscount = from d in db.MstDiscounts
                                             select d;

                        if (resultDiscount.Any())
                        {
                            var resultTax = from d in db.MstTaxes
                                            where d.Id.Equals(resultItemSearch.FirstOrDefault().InTaxId)
                                            select d;

                            decimal percentage    = 100.00m;
                            decimal quantity      = 1m;
                            decimal discountRate  = resultDiscount.FirstOrDefault().DiscountRate / percentage;
                            decimal dicountAmount = resultItemSearch.FirstOrDefault().Price *discountRate;
                            decimal taxRate       = resultTax.FirstOrDefault().Rate / percentage;
                            decimal taxAmount     = resultItemSearch.FirstOrDefault().Price *taxRate;
                            decimal netPrice      = resultItemSearch.FirstOrDefault().Price;

                            Data.TrnSalesLine newSaleLine = new Data.TrnSalesLine
                            {
                                SalesId            = Convert.ToInt32(salesId),
                                ItemId             = resultItemSearch.FirstOrDefault().Id,
                                UnitId             = resultItemSearch.FirstOrDefault().UnitId,
                                Price              = resultItemSearch.FirstOrDefault().Price,
                                DiscountId         = resultDiscount.FirstOrDefault().Id,
                                DiscountRate       = discountRate,
                                DiscountAmount     = dicountAmount,
                                NetPrice           = resultItemSearch.FirstOrDefault().Price,
                                Quantity           = quantity,
                                Amount             = (resultItemSearch.FirstOrDefault().Price - dicountAmount) * quantity,
                                TaxId              = resultItemSearch.FirstOrDefault().InTaxId,
                                TaxRate            = taxRate,
                                TaxAmount          = taxAmount,
                                SalesAccountId     = 159,
                                AssetAccountId     = 255,
                                CostAccountId      = 238,
                                TaxAccountId       = 87,
                                SalesLineTimeStamp = DateTime.Now,
                                //UserId = db.MstUsers.Where(d => d.FullName.Equals("admin")).First().Id,
                                //Preparation
                                Price1               = resultItemSearch.FirstOrDefault().Price *quantity,
                                Price2               = (resultItemSearch.FirstOrDefault().Price *quantity) + taxAmount - (((resultItemSearch.FirstOrDefault().Price *quantity) + taxAmount) * discountRate),
                                Price2LessTax        = ((resultItemSearch.FirstOrDefault().Price - dicountAmount) * quantity) + taxAmount,
                                PriceSplitPercentage = (resultItemSearch.FirstOrDefault().Price *quantity) + taxAmount * discountRate,
                            };

                            db.TrnSalesLines.InsertOnSubmit(newSaleLine);
                            db.SubmitChanges();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
        }