public DataBaseResultSet SaveBranchStock <T>(T objData) where T : class, IModel, new()
        {
            BranchStock        obj    = objData as BranchStock;
            string             sQuery = "sprocBranchStockInsertUpdateSingleItem";
            List <DbParameter> list   = new List <DbParameter>();

            list.Add(SqlConnManager.GetConnParameters("RecNo", "RecNo", 8, GenericDataType.Long, ParameterDirection.Input, obj.RecNo));
            list.Add(SqlConnManager.GetConnParameters("BranchName", "BranchName", 50, GenericDataType.String, ParameterDirection.Input, obj.BranchName));
            list.Add(SqlConnManager.GetConnParameters("ProductCode", "ProductCode", 8, GenericDataType.Long, ParameterDirection.Input, obj.ProductCode));
            list.Add(SqlConnManager.GetConnParameters("PartyPrdCode", "PartyPrdCode", 8, GenericDataType.Long, ParameterDirection.Input, obj.PartyPrdCode));
            list.Add(SqlConnManager.GetConnParameters("ProductName", "ProductName", 50, GenericDataType.String, ParameterDirection.Input, obj.ProductName));
            list.Add(SqlConnManager.GetConnParameters("Packing", "Packing", 50, GenericDataType.String, ParameterDirection.Input, obj.Packing));
            list.Add(SqlConnManager.GetConnParameters("CompanyTag", "CompanyTag", 50, GenericDataType.String, ParameterDirection.Input, obj.CompanyTag));
            list.Add(SqlConnManager.GetConnParameters("RackID", "RackID", 50, GenericDataType.String, ParameterDirection.Input, obj.RackID));
            list.Add(SqlConnManager.GetConnParameters("TStk", "TStk", 8, GenericDataType.Decimal, ParameterDirection.Input, obj.TStk));
            list.Add(SqlConnManager.GetConnParameters("Scheme", "Scheme", 8, GenericDataType.Decimal, ParameterDirection.Input, obj.Scheme));
            list.Add(SqlConnManager.GetConnParameters("SQty", "SQty", 8, GenericDataType.Decimal, ParameterDirection.Input, obj.SQty));
            list.Add(SqlConnManager.GetConnParameters("SFQty", "SFQty", 8, GenericDataType.Decimal, ParameterDirection.Input, obj.SFQty));
            list.Add(SqlConnManager.GetConnParameters("CUser", "CUser", 8, GenericDataType.Long, ParameterDirection.Input, obj.CUser));
            list.Add(SqlConnManager.GetConnParameters("CDateTime", "CDateTime", 8, GenericDataType.DateTime, ParameterDirection.Input, obj.CDateTime));
            list.Add(SqlConnManager.GetConnParameters("EUser", "EUser", 8, GenericDataType.Long, ParameterDirection.Input, obj.EUser));
            list.Add(SqlConnManager.GetConnParameters("EDateTime", "EDateTime", 8, GenericDataType.DateTime, ParameterDirection.Input, obj.EDateTime));
            list.Add(SqlConnManager.GetConnParameters("BranchCode", "BranchCode", 10, GenericDataType.String, ParameterDirection.Input, obj.BranchCode));
            list.Add(SqlConnManager.GetConnParameters("UDateTime", "UDateTime", 8, GenericDataType.DateTime, ParameterDirection.Input, obj.UDateTime));
            list.Add(SqlConnManager.GetConnParameters("CreatedBy", "CreatedBy", 50, GenericDataType.String, ParameterDirection.Input, obj.CreatedBy));
            list.Add(SqlConnManager.GetConnParameters("CreatedDate", "CreatedDate", 8, GenericDataType.DateTime, ParameterDirection.Input, obj.CreatedDate));
            list.Add(SqlConnManager.GetConnParameters("UpdateddBy", "UpdateddBy", 50, GenericDataType.String, ParameterDirection.Input, obj.UpdateddBy));
            list.Add(SqlConnManager.GetConnParameters("UpdatedDate", "UpdatedDate", 8, GenericDataType.DateTime, ParameterDirection.Input, obj.UpdatedDate));
            list.Add(SqlConnManager.GetConnParameters("UpdatedCount", "UpdatedCount", 4, GenericDataType.Int, ParameterDirection.Input, obj.UpdatedCount));
            list.Add(SqlConnManager.GetConnParameters("LUT", "LUT", 8, GenericDataType.DateTime, ParameterDirection.Input, obj.LUT));
            list.Add(SqlConnManager.GetConnParameters("OperationFlag", "OperationFlag", 4, GenericDataType.Int, ParameterDirection.Input, (short)obj.OperationFlag));
            list.Add(SqlConnManager.GetConnParameters("Message", "Message", 300, GenericDataType.String, ParameterDirection.Output, null));
            list.Add(SqlConnManager.GetConnParameters("ErrorCode", "ErrorCode", 4, GenericDataType.Int, ParameterDirection.Output, null));
            return(SqlConnManager.Save(sQuery, CommandType.StoredProcedure, list.ToArray()));
        }
 public ActionResult SaveStocks(BranchStock bs)
 {
     if (bs.Id > 0)
     {
         BranchStockHandler.Update(bs.Id, bs);
         db.SaveChanges();
         return(RedirectToAction("ListStocks"));
     }
     else
     {
         bs.BranchID = Convert.ToInt32(Session["Branchid"]);
         var bsdata = db.BranchStocks.Where(m => m.ItemID == bs.ItemID & m.BranchID == bs.BranchID).FirstOrDefault();
         if (bsdata != null)
         {
             bsdata.Quantity = bsdata.Quantity + bs.Quantity;
             db.SaveChanges();
         }
         else
         {
             var dta   = db.inventryItems.Where(m => m.id == bs.ItemID).FirstOrDefault();
             int count = Convert.ToInt32(dta.TotalQuantity);
             dta.TotalQuantity = count + bs.Quantity;
             bs.BranchID       = Convert.ToInt32(Session["Branchid"]);
             bs.CreatedBy      = (Session["BranchAdminname"]).ToString();
             db.BranchStocks.Add(bs);
             db.SaveChanges();
         }
         return(RedirectToAction("ListStocks"));
     }
 }
        public void GetListBranchStock <T>(T objFilter, ref List <T> listData) where T : class, IModel, new()
        {
            string             sQuery  = "GetListBranchStock";
            BranchStock        objData = objFilter as BranchStock;
            List <DbParameter> list    = new List <DbParameter>();

            list.Add(SqlConnManager.GetConnParameters("RecNo", "RecNo", 8, GenericDataType.Long, ParameterDirection.Input, objData.RecNo));
            SqlConnManager.GetList <T>(sQuery, CommandType.StoredProcedure, list.ToArray(), FillBranchStockDataFromReader, ref listData);
        }
        public static void Update(int id, BranchStock bs)
        {
            ServicesPortalApiEntities db = new ServicesPortalApiEntities();
            var data = db.BranchStocks.Where(m => m.Id == id).FirstOrDefault();

            data.Quantity = bs.Quantity;
            data.ItemID   = bs.ItemID;
            db.SaveChanges();
        }
        public ActionResult IssueItemSave(Issue iss)
        {
            if (iss.IssuedQuantity < 0)
            {
                return(Content("minus"));
            }
            else
            {
                iss.BranchID  = Convert.ToInt32(Session["Branchid"]);
                iss.ItemID    = Convert.ToInt32(Session["IssueItemId"]);
                iss.CreatedBy = (Session["BranchAdminname"]).ToString();
                iss.CreatedOn = DateTime.Now;
                iss.IssuedBy  = (Session["BranchAdminname"]).ToString();
                iss.IssuedOn  = DateTime.Now;
                var data = db.BranchStocks.Where(m => m.ItemID == iss.ItemID & m.BranchID == iss.BranchID).FirstOrDefault();

                if (data != null)
                {
                    if (data.Quantity >= iss.IssuedQuantity)
                    {
                        data.Quantity = data.Quantity - Convert.ToInt32(iss.IssuedQuantity);
                        db.Issues.Add(iss);
                        db.SaveChanges();
                        var dta = db.BranchStocks.Where(m => m.BranchID == iss.IssuedBranchID & m.ItemID == iss.ItemID).FirstOrDefault();
                        if (dta != null)
                        {
                            dta.Quantity = dta.Quantity + Convert.ToInt32(iss.IssuedQuantity);
                            db.SaveChanges();
                        }
                        else
                        {
                            BranchStock bs = new BranchStock()
                            {
                                Quantity  = Convert.ToInt32(iss.IssuedQuantity),
                                ItemID    = iss.ItemID,
                                BranchID  = iss.IssuedBranchID,
                                CreatedBy = iss.CreatedBy,
                            };
                            db.BranchStocks.Add(bs);
                            db.SaveChanges();

                            return(Content("NoItemInstock"));
                            //TempData["qunaty"] = "Branch Not have this item in stock";
                        }
                    }

                    else
                    {
                        return(Content("NoQuantityToIssue"));
                        //TempData["qunaty"] = "You have not enough quantity to issue";
                    }
                }

                return(RedirectToAction("IssueItems"));
            }
        }
 private void FillBranchStockDataFromReader <T>(DbDataReader DbReader, ref List <T> listData) where T : class, IModel, new()
 {
     while (DbReader.Read())
     {
         T           obj     = new T();
         BranchStock objData = obj as BranchStock;
         obj.FillDataFromDB(DbReader);
         listData.Add(obj);
     }
 }
        public ActionResult ReturnItemSave(ReturnItem rt)
        {
            if (rt.QuantityReturn < 0)
            {
                return(Content("minus"));
            }
            else
            {
                rt.BranchID   = Convert.ToInt32(Session["Branchid"]);
                rt.ItemID     = Convert.ToInt32(Session["returnItemID"]);
                rt.CreatedBy  = (Session["BranchAdminname"]).ToString();
                rt.CreatedOn  = DateTime.Now;
                rt.ReturnBy   = (Session["BranchAdminname"]).ToString();
                rt.ReturnedOn = DateTime.Now;
                var data = db.Issues.Where(m => m.ItemID == rt.ItemID & (m.BranchID == rt.BranchID || m.CustomerID == rt.CustomerID)).FirstOrDefault();

                if (data != null)
                {
                    var dta = db.BranchStocks.Where(m => m.ItemID == rt.ItemID & m.BranchID == rt.BranchID).FirstOrDefault();

                    if (dta != null)
                    {
                        dta.Quantity = dta.Quantity + Convert.ToInt32(rt.QuantityReturn); db.SaveChanges();

                        db.ReturnItems.Add(rt);
                        db.SaveChanges();
                        return(Content("returnitem"));
                    }
                    else
                    {
                        BranchStock bs = new BranchStock()
                        {
                            ItemID    = rt.ItemID,
                            BranchID  = rt.BranchID,
                            Quantity  = Convert.ToInt32(rt.QuantityReturn),
                            CreatedBy = rt.CreatedBy
                        };
                        db.BranchStocks.Add(bs);
                        db.ReturnItems.Add(rt);
                        db.SaveChanges();
                        return(Content("rtrn"));
                    }
                }

                else
                {
                    return(Content("noitem"));
                    //TempData["qunaty"] = "You have not enough quantity to issue";
                }
            }

            //return RedirectToAction("IssueItems");
        }
        public ActionResult PurchaseSave(Receipt rec)
        {
            //double AvgPurchasePrice;
            var    InventryItemDetail = db.inventryItems.Where(m => m.id == rec.ItemID).FirstOrDefault();
            double AvgCurrentPrice    = rec.ReceiptPrice / rec.ReceiptQuantity;

            if (InventryItemDetail != null)
            {
                if (InventryItemDetail.AvgPurchasePrice > 0)
                {
                    InventryItemDetail.AvgPurchasePrice  = (Convert.ToDouble(InventryItemDetail.AvgPurchasePrice) + AvgCurrentPrice) / 2;
                    InventryItemDetail.LastPurchasePrice = AvgCurrentPrice;
                    db.SaveChanges();
                }
                else
                {
                    InventryItemDetail.AvgPurchasePrice  = AvgCurrentPrice;
                    InventryItemDetail.LastPurchasePrice = AvgCurrentPrice;
                    db.SaveChanges();
                }
            }


            Session["check"] = 0;
            rec.BranchID     = Convert.ToInt32(Session["Branchid"]);
            BranchStock bs = new BranchStock()
            {
                Quantity  = Convert.ToInt32(rec.ReceiptQuantity),
                BranchID  = rec.BranchID,
                ItemID    = rec.ItemID,
                CreatedBy = Session["BranchAdminname"].ToString()
            };
            var data = db.BranchStocks.Where(m => m.BranchID == rec.BranchID & m.ItemID == rec.ItemID).FirstOrDefault();

            if (data != null)
            {
                Session["check"] = 1;
                data.Quantity    = data.Quantity + Convert.ToInt32(rec.ReceiptQuantity);
                db.SaveChanges();
            }


            string path = null;

            if (Request.Files != null && Request.Files.Count > 0)
            {
                foreach (string f in Request.Files)
                {
                    HttpPostedFileBase file = Request.Files[f];
                    if (file.FileName == "")
                    {
                        path = "/Files/user.jpg";
                    }
                    else
                    {
                        string webpath = "/Files/" + DateTime.Now.Ticks + file.FileName.Substring(file.FileName.LastIndexOf("."));
                        file.SaveAs(Request.MapPath(webpath)); //physical path is required to save a file
                        path = webpath;
                    }
                }
            }

            rec.ReceiptDocument = path;
            rec.ReceivedBy      = Session["BranchAdminname"].ToString();
            rec.ReceivedOn      = DateTime.Now;
            rec.CreatedBy       = Session["BranchAdminname"].ToString();
            rec.CreateOn        = DateTime.Now;
            int check = Convert.ToInt32(Session["check"]);

            if (check == 0)
            {
                db.BranchStocks.Add(bs);
            }
            db.Receipts.Add(rec);
            db.SaveChanges();

            return(RedirectToAction("PurchaseItems"));
        }