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)); } }
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); } }