protected void init()
    {
        string action = Request.Form["action"].ToString();

        if (action.Equals("addDetail"))//明细添加
        {
            string str0 = Request.Form["SalesReturnID"].ToString();
            string str1 = Request.Form["ProductsID"].ToString();
            string str2 = Request.Form["Price"].ToString();
            string str3 = Request.Form["Quantity"].ToString();
            string str4 = Request.Form["Descriptions"].ToString();

            SalesReturnDetail d = new SalesReturnDetail();
            d.SalesReturnID = str0;
            d.ProductsID    = int.Parse(str1);
            d.Price         = float.Parse(str2);
            d.Quantity      = int.Parse(str3);
            d.Description   = str4;
            Leyp.SQLServerDAL.Sales.Factory.getSalesReturnDetailDAL().insertNewEitity(d);
            Response.Write("00");
            Response.End();
        }
        else if (action.Equals("LoadDetail"))//加载明细BY  SalesOrderID
        {
            string str0 = Request.Form["SalesReturnID"].ToString();
            loadinit(str0);
        }
        else if (action.Equals("delDetail"))//delete
        {
            string str0 = Request.Form["DetailID"].ToString();
            Leyp.SQLServerDAL.Sales.Factory.getSalesReturnDetailDAL().deleteEitity(int.Parse(str0));
            Response.Write("00");
            Response.End();
        }
        else if (action.Equals("getNode"))//得到编辑节点
        {
            getNode();
        }
        else if (action.Equals("editDetail"))//编辑节点
        {
            string str0 = Request.Form["SalesReturnID"].ToString();
            string str1 = Request.Form["ProductsID"].ToString();
            string str2 = Request.Form["Price"].ToString();
            string str3 = Request.Form["Quantity"].ToString();
            string str4 = Request.Form["Descriptions"].ToString();
            string str5 = Request.Form["DetailID"].ToString();

            SalesReturnDetail d = new SalesReturnDetail();
            d.SalesReturnID = str0;
            d.ProductsID    = int.Parse(str1);
            d.Price         = float.Parse(str2);
            d.Quantity      = int.Parse(str3);

            d.Description = str4;
            d.DetailID    = int.Parse(str5);
            Leyp.SQLServerDAL.Sales.Factory.getSalesReturnDetailDAL().updateEitity(d);
            Response.Write("00");
            Response.End();
        }
    }
Beispiel #2
0
        public bool insertNewEntity(SalesReturn s)
        {
            int rowsAffected = 0;

            SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@SalesReturnID", SqlDbType.NVarChar), new SqlParameter("@SalesOutID", SqlDbType.NVarChar), new SqlParameter("@CreateDate", SqlDbType.NVarChar), new SqlParameter("@ReturnType", SqlDbType.NVarChar), new SqlParameter("@StoreHouseID", SqlDbType.Int), new SqlParameter("@HouseDetailID", SqlDbType.Int), new SqlParameter("@TradeDate", SqlDbType.NVarChar), new SqlParameter("@TotalPrice", SqlDbType.Float), new SqlParameter("@Deposits", SqlDbType.Float), new SqlParameter("@UserName", SqlDbType.NVarChar), new SqlParameter("@Description", SqlDbType.NVarChar), new SqlParameter("@State", SqlDbType.Int) };
            parameters[0].Value  = s.SalesReturnID;
            parameters[1].Value  = s.SalesOutID;
            parameters[2].Value  = s.CreateDate;
            parameters[3].Value  = s.ReturnType;
            parameters[4].Value  = s.StoreHouseID;
            parameters[5].Value  = s.HouseDetailID;
            parameters[6].Value  = s.TradeDate;
            parameters[7].Value  = s.TotalPrice;
            parameters[8].Value  = s.Deposits;
            parameters[9].Value  = s.UserName;
            parameters[10].Value = s.Description;
            parameters[11].Value = s.State;
            SQLHelper.RunProcedure("p_SalesReturn_insertNewEntity", parameters, out rowsAffected);
            List <VSalesOutDetail> list = new List <VSalesOutDetail>();
            SalesReturnDetailDAL   ldal = new SalesReturnDetailDAL();

            list = new SalesOutDetailDAL().getBySalesOutID(s.SalesOutID);
            for (int i = 0; i < list.Count; i++)
            {
                VSalesOutDetail   detail = list[i];
                SalesReturnDetail b      = new SalesReturnDetail();
                b.Price         = detail.Price;
                b.ProductsID    = detail.ProductsID;
                b.Quantity      = detail.Quantity;
                b.Description   = "";
                b.SalesReturnID = s.SalesReturnID;
                ldal.insertNewEitity(b);
            }
            return(1 == rowsAffected);
        }
        public void InsertSalesReturn(SalesReturnColumnModel model)
        {
            try
            {
                using (this.unitOfWork)
                {
                    SalesReturn item = new SalesReturn()
                    {
                        MemoNumber        = model.MemoNumber,
                        CustomerId        = model.CustomerId,
                        ReturnDate        = model.ReturnDate,
                        AmountReturn      = model.AmountReturn,
                        Adjustment        = model.Adjustment,
                        TotalCreditAmount = model.TotalCreditAmount,
                        Remarks           = model.Remarks,
                        IsDeleted         = model.IsDeleted,
                        RecordedBy        = model.RecordedByUser,
                        ApprovedBy        = model.ApprovedByUser,
                        AmountUsed        = 0
                    };

                    if (model.Details.Count > 0)
                    {
                        foreach (SalesReturnDetailModel d in model.Details)
                        {
                            SalesReturnDetail detail = new SalesReturnDetail()
                            {
                                PartDetailId  = d.PartDetailId,
                                InvoiceNumber = d.InvoiceNumber,
                                Quantity      = d.Quantity,
                                UnitPrice     = d.UnitPrice,
                                TotalAmount   = d.TotalAmount,
                                Balance       = d.TotalAmount
                            };

                            item.SalesReturnDetail.Add(detail);

                            AutoPartDetail autoDetail = db.AutoPartDetail.FirstOrDefault(a => a.Id == d.PartDetailId);
                            if (autoDetail != null)
                            {
                                autoDetail.Quantity += d.Quantity;
                            }
                        }
                    }

                    this.unitOfWork.Context.AddToSalesReturn(item);

                    string action = string.Format("Added new Sales Return - {0}", item.MemoNumber);
                    this.actionLogController.AddToLog(action, UserInfo.UserId);

                    this.unitOfWork.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #4
0
        public bool insertNewEitity(SalesReturnDetail b)
        {
            int rowsAffected = 0;

            SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@SalesReturnID", SqlDbType.NVarChar), new SqlParameter("@ProductsID", SqlDbType.Int), new SqlParameter("@Quantity", SqlDbType.Int), new SqlParameter("@Price", SqlDbType.Money), new SqlParameter("@Description", SqlDbType.NVarChar) };
            parameters[0].Value = b.SalesReturnID;
            parameters[1].Value = b.ProductsID;
            parameters[2].Value = b.Quantity;
            parameters[3].Value = b.Price;
            parameters[4].Value = b.Description;
            SQLHelper.RunProcedure("p_SalesReturnDetail_insertNewEntity", parameters, out rowsAffected);
            return(1 == rowsAffected);
        }
        public void SaveUpdateSalesReturnDetail(SalesReturnDetail obS_R_Detail, SqlConnection con, SqlTransaction trans)
        {
            SqlCommand com = null;

            try
            {
                com             = new SqlCommand("spSaveUpdateSalesReturnDetail", con, trans);
                com.CommandType = CommandType.StoredProcedure;
                com.Parameters.Add("@ReturnDID", SqlDbType.Int).Value         = obS_R_Detail.ReturnDID;
                com.Parameters.Add("@ReturnMID", SqlDbType.Int).Value         = obS_R_Detail.ReturnMID;
                com.Parameters.Add("@ItemID", SqlDbType.Int).Value            = obS_R_Detail.ItemID;
                com.Parameters.Add("@ReturnQty", SqlDbType.Money).Value       = obS_R_Detail.ReturnQty;
                com.Parameters.Add("@UnitID", SqlDbType.Int).Value            = obS_R_Detail.UnitID;
                com.Parameters.Add("@UnitPrice", SqlDbType.Money).Value       = obS_R_Detail.UnitPrice;
                com.Parameters.Add("@ReturnAmount", SqlDbType.Money).Value    = obS_R_Detail.ReturnAmount;
                com.Parameters.Add("@Remarks", SqlDbType.VarChar, 500).Value  = obS_R_Detail.Remarks;
                com.Parameters.Add("@ColorCode", SqlDbType.VarChar, 50).Value = obS_R_Detail.ColorCode;
                com.Parameters.Add("@Labdip", SqlDbType.VarChar, 50).Value    = obS_R_Detail.Labdip;
                if (obS_R_Detail.CountID <= 0)
                {
                    com.Parameters.Add("@CountID", SqlDbType.Int).Value = DBNull.Value;
                }
                else
                {
                    com.Parameters.Add("@CountID", SqlDbType.Int).Value = obS_R_Detail.CountID;
                }

                if (obS_R_Detail.SizeID <= 0)
                {
                    com.Parameters.Add("@SizeID", SqlDbType.Int).Value = DBNull.Value;
                }
                else
                {
                    com.Parameters.Add("@SizeID", SqlDbType.Int).Value = obS_R_Detail.SizeID;
                }

                if (obS_R_Detail.ColorID <= 0)
                {
                    com.Parameters.Add("@ColorID", SqlDbType.Int).Value = DBNull.Value;
                }
                else
                {
                    com.Parameters.Add("@ColorID", SqlDbType.Int).Value = obS_R_Detail.ColorID;
                }
                com.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Beispiel #6
0
        public ActionResult ReturnItems(FormCollection coll)
        {
            List <SalesReturnDetail> details = new List <SalesReturnDetail>();

            var counter = Convert.ToInt32(coll["counter"]);

            //attributes required for SalesReturn
            decimal total    = Convert.ToDecimal(coll["SubTotal"]);
            decimal discount = Convert.ToDecimal(coll["Discount"]);
            decimal netTotal = Convert.ToDecimal(coll["NetTotal"]);
            int     salesID  = Convert.ToInt32(coll["SalesID"]);

            //populating through each of the occurance of the ReturnedItems
            for (int i = 1; i <= counter; i++)
            {
                var value = coll["Qty_" + i];
                if (!string.IsNullOrEmpty(value) && value != "0")
                {
                    SalesReturnDetail srd = new SalesReturnDetail
                    {
                        StockID = Convert.ToInt32(coll["StockID_" + i]),
                        BatchNo = coll["BatchNo_" + i],
                        Qty     = Convert.ToInt32(coll["Qty_" + i]),
                        Rate    = Convert.ToDecimal(coll["Rate_" + i]),
                        Amount  = Convert.ToDecimal(coll["Amount_" + i])
                    };
                    details.Add(srd);
                }
            }

            //populating Sales Return
            SalesReturn _SalesReturn = new SalesReturn
            {
                SalesID            = salesID,
                Subtotal           = total,
                Discount           = discount,
                NetTotal           = netTotal,
                SalesReturnDetails = details,
                Description        = "n/a",
                ReturnedDate       = DateTime.Today
            };

            //Add in Sales And save changes
            salRetRepo.Add(_SalesReturn);
            // db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #7
0
        public bool AuditingSalesOutOrder(string SalesReturnID)
        {
            bool flag = false;

            try
            {
                VSalesReturn return2           = new VSalesReturn();
                List <VSalesReturnDetail> list = new List <VSalesReturnDetail>();
                ProductsStockDAL          kdal = new ProductsStockDAL();
                return2 = new SalesReturnDAL().getByID(SalesReturnID);
                list    = new SalesReturnDetailDAL().getBySalesReturnID(SalesReturnID);
                for (int i = 0; i < list.Count; i++)
                {
                    ProductsStock     stock;
                    SalesReturnDetail detail = list[i];
                    if (kdal.isHaveEitity(return2.HouseDetailID, detail.ProductsID))
                    {
                        stock = new ProductsStock();
                        stock.HouseDetailID = return2.HouseDetailID;
                        stock.ProductsID    = detail.ProductsID;
                        stock.Num           = detail.Quantity;
                        kdal.updateAddNum(stock);
                    }
                    else
                    {
                        stock = new ProductsStock();
                        stock.HouseDetailID = return2.HouseDetailID;
                        stock.ProductsID    = detail.ProductsID;
                        stock.Num           = detail.Quantity;
                        kdal.insertNewEitity(stock);
                    }
                }
                flag = true;
            }
            catch
            {
            }
            return(flag);
        }
Beispiel #8
0
    public static string SelectSingleSalesReturn(long sales_return_id)
    {
        try
        {
            if (sales_return_id == 0)
            {
                return("'Null'");
            }

            List <SalesReturn> _salesReturn = new List <SalesReturn>();

            var data = Database._SalesReturnSelect(sales_return_id);

            foreach (var d in data)
            {
                SalesReturn _sr = new SalesReturn();
                _sr.ID           = d.ID;
                _sr.CustomerID   = d.CustomerID.Value;
                _sr.CustomerName = d.CustomerName;
                _sr.Address      = d.Address;
                _sr.ForwarderID  = d.DeliverToID.Value;
                _sr.SalesmanID   = d.SalesmanID.Value;
                _sr.PoNO         = d.PONo;
                _sr.TermID       = d.TermID.Value;
                _sr.RefNo        = d.RefNo;
                _sr.RefSerial    = d.RefNoSerial;
                _sr.Date         = d.CreatedDate.Value;
                _sr.Notes        = d.Notes;
                _sr.TotalAmount  = d.TotalAmount.Value;

                var salesReturnDetails = Database._SalesReturnDetailsSelect(d.ID);
                List <SalesReturnDetail> salesReturnDetail = new List <SalesReturnDetail>();
                foreach (var srd in salesReturnDetails)
                {
                    SalesReturnDetail _srd = new SalesReturnDetail();
                    _srd.ID           = srd.ID;
                    _srd.ProductID    = srd.ProductID.Value;
                    _srd.ProductName  = srd.ProductName;
                    _srd.LocationID   = srd.LocationID.Value;
                    _srd.LocationName = srd.LocationName;
                    _srd.Quantity     = srd.Quantity.Value;
                    _srd.Unit         = srd.UnitName;
                    _srd.UnitPrice    = srd.UnitPrice.Value;
                    _srd.Discount     = srd.Discount;
                    _srd.Amount       = srd.Amount.Value;
                    salesReturnDetail.Add(_srd);
                }

                _sr.SalesReturnDetails = salesReturnDetail;

                //--------------------------
                var salesReturnPayment      = Database._invoicePaymentSalesReturns.Where(x => x.SalesReturnID == d.ID);
                List <ApplyList> ApplyLists = new List <ApplyList>();
                foreach (var srp in salesReturnPayment)
                {
                    ApplyList _al = new ApplyList();
                    _al.InvoiceID   = srp.InvoiceID.Value;
                    _al.RefNo       = Database._Invoices.SingleOrDefault(x => x.ID == srp.InvoiceID).RefNo + Database._Invoices.SingleOrDefault(x => x.ID == srp.InvoiceID).RefNoSerial;
                    _al.Date        = Database._Invoices.SingleOrDefault(x => x.ID == srp.InvoiceID).CreatedDate.Value;
                    _al.Description = "Invoices";
                    var salesman_id = Database._Invoices.SingleOrDefault(x => x.ID == srp.InvoiceID.Value).SalesmanID;
                    _al.Salesman      = Database._Employees.SingleOrDefault(x => x.ID == salesman_id).EmployeeName;
                    _al.Balance       = (Database._Invoices.SingleOrDefault(x => x.ID == srp.InvoiceID).TotalAmount.Value - srp.Amount.Value);
                    _al.AppliedAmount = srp.Amount.Value;

                    ApplyLists.Add(_al);
                }

                _sr.ApplyLists = ApplyLists;



                _salesReturn.Add(_sr);
            }


            if (_salesReturn.Count <= 0)
            {
                return("'Null'");
            }
            else
            {
                return(JsonConvert.SerializeObject(_salesReturn, Newtonsoft.Json.Formatting.None));
            }
        }
        catch (Exception)
        {
            return(string.Empty);
        }
    }
        public void UpdateSalesReturn(SalesReturnColumnModel model)
        {
            try
            {
                using (this.unitOfWork)
                {
                    var item = FetchSalesReturnById(model.Id);

                    if (item != null)
                    {
                        //Delete old details
                        if (item.SalesReturnDetail.Any())
                        {
                            foreach (var d in item.SalesReturnDetail.ToList())
                            {
                                AutoPartDetail detail = db.AutoPartDetail.FirstOrDefault(a => a.Id == d.PartDetailId);
                                detail.Quantity -= d.Quantity;

                                foreach (var payment in d.SalesPayments.ToList())
                                {
                                    item.AmountUsed -= payment.Amount;
                                    db.DeleteObject(payment);
                                }

                                db.DeleteObject(d);
                            }
                        }

                        //Update details
                        item.MemoNumber        = model.MemoNumber;
                        item.CustomerId        = model.CustomerId;
                        item.ReturnDate        = model.ReturnDate;
                        item.AmountReturn      = model.AmountReturn;
                        item.Adjustment        = model.Adjustment;
                        item.TotalCreditAmount = model.TotalCreditAmount;
                        item.Remarks           = model.Remarks;
                        item.IsDeleted         = model.IsDeleted;
                        item.RecordedBy        = model.RecordedByUser;
                        item.ApprovedBy        = model.ApprovedByUser;

                        //Add the new items
                        if (model.Details.Count > 0)
                        {
                            foreach (SalesReturnDetailModel d in model.Details)
                            {
                                var autoPart = db.AutoPartDetail.FirstOrDefault(a => a.Id == d.PartDetailId);
                                autoPart.Quantity += d.Quantity;

                                SalesReturnDetail detail = new SalesReturnDetail()
                                {
                                    SalesReturn    = item,
                                    AutoPartDetail = autoPart,
                                    InvoiceNumber  = d.InvoiceNumber,
                                    Quantity       = d.Quantity,
                                    UnitPrice      = d.UnitPrice,
                                    TotalAmount    = d.TotalAmount,
                                    Balance        = d.TotalAmount
                                };
                            }
                        }
                    }

                    string action = string.Format("Updated Sales Return - {0}", item.MemoNumber);
                    this.actionLogController.AddToLog(action, UserInfo.UserId);

                    this.unitOfWork.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }