Example #1
0
        public JsonResult SavePOSMReceive(POSMReceiveVM posmnew)
        {
            int grNumber;
            var wa = (from y in db.UserLogins
                      where y.UserID.ToString() == User.Identity.Name
                      select new { y.WorkStationID }).FirstOrDefault();
            var wn = db.Warehouses.Where(x => x.WarehouseID == wa.WorkStationID).FirstOrDefault();

            string s1      = wn.WarehouseID.ToString();
            string s2      = string.Concat(s1 + "000000");
            int    GRNo    = Convert.ToInt32(s2);
            var    maxGRNo = (from n in db.POSMReceives where n.WarehouseID == wn.WarehouseID select n.GRNO).DefaultIfEmpty(GRNo).Max();

            //var V = db.Payments.Where(p => p.WarehouseID == w.WarehouseID).Select(p => p.MoneyReceiptNo).DefaultIfEmpty(100000).Max();
            grNumber = Convert.ToInt32(maxGRNo + 1);


            bool   status = false;
            string mes    = "";

            if (ModelState.IsValid)
            {
                try
                {
                    foreach (var v in posmnew.PODetails)
                    {
                        POSMReceive pr = new POSMReceive();
                        {
                            pr.GRNO            = grNumber;
                            pr.WarehouseID     = wn.WarehouseID;
                            pr.ReceivingDate   = System.DateTime.Now;
                            pr.SchemeID        = v.SchemeID;
                            pr.SupplierID      = v.SupplierID;
                            pr.SuppRefNo       = v.SuppRefNo;
                            pr.SupplierRefDate = v.SupplierRefDate;
                            pr.POSItem         = v.POSItem;
                            pr.Description     = v.Description;
                            pr.ReceivedQty     = v.ReceivedQty;
                            pr.UnitPrice       = v.UnitPrice;
                            pr.WarrentyPeriod  = v.WarrentyPeriod;
                            pr.WarrentyType    = v.WarrentyType;
                            pr.RcvBy           = User.Identity.Name;
                            pr.EntryDate       = System.DateTime.Now;
                            db.POSMReceives.Add(pr);
                        }
                        POSMRecIss posmreceiveissueTable = new POSMRecIss();
                        {
                            posmreceiveissueTable.GRChNo                 = grNumber;
                            posmreceiveissueTable.SupplierID             = v.SupplierID;
                            posmreceiveissueTable.WarehouseID            = wn.WarehouseID;
                            posmreceiveissueTable.Date                   = System.DateTime.Now;
                            posmreceiveissueTable.ItemID                 = v.POSItem;
                            posmreceiveissueTable.SchemeID               = v.SchemeID;
                            posmreceiveissueTable.ReceivedQty            = v.ReceivedQty;
                            posmreceiveissueTable.RcvRate                = v.UnitPrice;
                            posmreceiveissueTable.IssuedQty              = 0;
                            posmreceiveissueTable.IssuRate               = 0;
                            posmreceiveissueTable.FreshProductReturn     = 0;
                            posmreceiveissueTable.DefectiveProductReturn = 0;
                            posmreceiveissueTable.DestroyedProduct       = 0;
                            posmreceiveissueTable.EnteredBy              = User.Identity.Name;
                            posmreceiveissueTable.EntryDate              = System.DateTime.Now;
                            db.POSMRecIsses.Add(posmreceiveissueTable);
                        }
                        POSMStock p = db.POSMStocks.SingleOrDefault(x => x.WarehouseId == wn.WarehouseID && x.POSMItemID == v.POSItem);
                        p.OnHandQty       = p.OnHandQty + v.ReceivedQty;
                        p.ReceivedQty     = p.ReceivedQty + v.ReceivedQty;
                        db.Entry(p).State = EntityState.Modified;
                    }

                    db.SaveChanges();
                    status = true;
                    return(new JsonResult {
                        Data = new { status = status, mes = mes }
                    });
                }
                catch (Exception ex)
                {
                    return(Json(new { status = false, message = ex.Message }));
                    //throw ex;
                }
            }
            else
            {
                status = false;
            }
            return(new JsonResult {
                Data = new { status = status, mes = mes }
            });                                                                 //, v = v } };
        }
Example #2
0
        public JsonResult SavePOSMIssue(POSMIssueVM posmnew)
        {
            //int chNumber;
            //var wa = (from y in db.UserLogins
            //          where y.UserID.ToString() == User.Identity.Name
            //          select new { y.WorkStationID }).FirstOrDefault();
            //var wn = db.Warehouses.Where(x => x.WarehouseID == wa.WorkStationID).FirstOrDefault();

            //string s1 = wn.WarehouseID.ToString();
            //string s2 = string.Concat(s1 + "300000");
            //int CHNo = Convert.ToInt32(s2);
            //var maxCHNo = (from n in db.POSMIssues where n.FromWarehouse == wn.WarehouseID select n.GRNO).DefaultIfEmpty(CHNo).Max();

            ////var V = db.Payments.Where(p => p.WarehouseID == w.WarehouseID).Select(p => p.MoneyReceiptNo).DefaultIfEmpty(100000).Max();
            //chNumber = Convert.ToInt32(maxCHNo + 1);

            bool   status = false;
            string mes    = "";

            //if (ModelState.IsValid)
            //{
            try
            {
                foreach (var v in posmnew.PODetails)
                {
                    POSMIssue pi = new POSMIssue();
                    {
                        pi.POSMChallanNo = v.POSMChallanNo;
                        pi.FromWarehouse = v.FromWarehouse;
                        pi.IssuingDate   = v.IssuingDate;//System.DateTime.Now;
                        pi.IssueTypeID   = v.IssueTypeID;
                        if (v.DistributorID == null)
                        {
                            pi.DistributorID = 0;
                        }
                        else
                        {
                            pi.DistributorID = v.DistributorID;
                        }
                        pi.RefDChallan = v.RefDChallan;

                        if (v.WareHousID == null)
                        {
                            pi.WareHousID = 0;
                        }
                        else
                        {
                            pi.WareHousID = v.WareHousID;
                        }
                        pi.TransferNote = v.TransferNote;

                        if (v.VehicleID == null)
                        {
                            pi.VehicleID = 0;
                        }
                        else
                        {
                            pi.VehicleID = v.VehicleID;
                        }

                        if (v.DriverID == null)
                        {
                            pi.DriverID = 0;
                        }
                        else
                        {
                            pi.DriverID = v.DriverID;
                        }

                        pi.POSItemID = v.POSItemID;
                        if (v.SchemeID == null)
                        {
                            pi.SchemeID = 0;
                        }
                        else
                        {
                            pi.SchemeID = v.SchemeID;
                        }

                        pi.SchemeID         = v.SchemeID;
                        pi.IssuedQty        = v.IssuedQty;
                        pi.IssuingUnitPrice = 0; //v.IssuingUnitPrice;
                                                 //Status
                        if (v.IssueTypeID != 3)
                        {
                            pi.Status = "DrIssued";
                        }
                        else
                        {
                            pi.Status = "Pending";
                        }

                        pi.IssuedBy  = User.Identity.Name;
                        pi.EntryDate = System.DateTime.Now;
                        //pi.IssueReceivedDate =;
                        db.POSMIssues.Add(pi);
                    }
                    POSMRecIss posmreceiveissueTable = new POSMRecIss();
                    {
                        posmreceiveissueTable.GRChNo                 = v.POSMChallanNo;
                        posmreceiveissueTable.SupplierID             = 0;
                        posmreceiveissueTable.WarehouseID            = v.FromWarehouse;
                        posmreceiveissueTable.Date                   = v.IssuingDate;
                        posmreceiveissueTable.ItemID                 = v.POSItemID;
                        posmreceiveissueTable.SchemeID               = v.SchemeID;
                        posmreceiveissueTable.ReceivedQty            = 0;
                        posmreceiveissueTable.RcvRate                = 0;
                        posmreceiveissueTable.IssuedQty              = v.IssuedQty;
                        posmreceiveissueTable.IssuRate               = 0;
                        posmreceiveissueTable.FreshProductReturn     = 0;
                        posmreceiveissueTable.DefectiveProductReturn = 0;
                        posmreceiveissueTable.DestroyedProduct       = 0;
                        posmreceiveissueTable.EnteredBy              = User.Identity.Name;
                        posmreceiveissueTable.EntryDate              = System.DateTime.Now;
                        db.POSMRecIsses.Add(posmreceiveissueTable);
                    }
                    POSMStock p = db.POSMStocks.SingleOrDefault(x => x.POSMItemID == v.POSItemID && x.WarehouseId == v.FromWarehouse);
                    p.OnHandQty       = p.OnHandQty - v.IssuedQty;
                    p.IssuedQty       = p.IssuedQty + v.IssuedQty;
                    db.Entry(p).State = EntityState.Modified;
                }
                //Deduct from stock

                //DeliveryControl v = db.DeliveryControls.SingleOrDefault(x => x.CustomerID == DCM.CustomerID && x.IsActive == true);
                //v.RcvlAmnt = DCM.RcvlAmnt;
                //v.IsRcvlEDate = DCM.IsRcvlEDate.Date;
                //v.Remarks = DCM.Remarks;
                //v.IsBGurated = DCM.IsBGurated;

                //db.Entry(v).State = EntityState.Modified;



                db.SaveChanges();
                status = true;
                return(new JsonResult {
                    Data = new { status = status, mes = mes }
                });
            }
            catch (Exception ex)
            {
                return(Json(new { status = "error", message = "Product ID Not Found" }));
                //throw ex;
            }
            // }
            //else
            //{
            //    status = false;
            //}
            // return new JsonResult { Data = new { status = status, mes = mes } };//, v = v } };
        }