public static string SaveSalesReturn(BO_SalesReturn salesReturn, int empId) { string InvoiceNo; BO_LineItems lineItem = null; BO_SaleInvoice obj = null; var orderDetails = GetOrderDetailsByInvoiceNo(salesReturn.InvoiceNo).FirstOrDefault(x => x.ItemCode == salesReturn.ItemCode); int? itemId = orderDetails.ItemId; var quantity = salesReturn.Quantity; var unitPrice = orderDetails.UnitPrice * (-1); var amount = orderDetails.UnitPrice * (-1 * quantity); var tex = orderDetails.TAX; obj = new BO_SaleInvoice(); obj.items = new List <BO_LineItems>(); obj.comments = salesReturn.Comments; obj.empID = empId; obj.invoiceNo = orderDetails.InvoiceNo; lineItem = new BO_LineItems() { amount = amount, unitPrice = unitPrice, qty = quantity, itemID = itemId ?? 0, isServiceItem = false, glid = 0, coaID = 0, tax = tex, }; obj.items.Add(lineItem); obj.empID = empId; obj.saleDate = DateTime.Now; obj.netAmount = amount ?? 0m; obj.paid = amount ?? 0; using (AprosysAccountingEntities db = new AprosysAccountingEntities()) { Acc_GL GLPurchases = db.Acc_GL.FirstOrDefault(x => (x.IsActive ?? false) && x.CoaId == 6 && x.ItemId == itemId.Value && (x.TranTypeId == 1 || x.TranTypeId == 7)); GLPurchases.QuantityBalance = GLPurchases.QuantityBalance + quantity; var itmTransaction = db.Acc_GL.Where(x => (x.ItemId == itemId) && (x.InvoiceNo == salesReturn.InvoiceNo)); foreach (var item in itmTransaction) { //Comment for sales return goes here. if (item.InvoiceNo == salesReturn.InvoiceNo && item.ItemId == itemId) { } //item.Quantity = item.Quantity - quantity; } db.SaveChanges(); } InvoiceNo = SaveSalesReturn(obj); return(InvoiceNo); }
public JsonResult SaveSalesReturn(BO_SalesReturn salesReturn) { return(Json(BL_SalesReturn.SaveSalesReturn(salesReturn, UserAprosysAccounting.id), JsonRequestBehavior.AllowGet)); }