Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 public JsonResult SaveSalesReturn(BO_SalesReturn salesReturn)
 {
     return(Json(BL_SalesReturn.SaveSalesReturn(salesReturn, UserAprosysAccounting.id), JsonRequestBehavior.AllowGet));
 }