Exemplo n.º 1
0
        public ActionResult Delete(int Id)
        {
            ViewBag.Title = "Delete";

            var result1 = new GRNRepository().CHECK(Id);

            if (result1 > 0)
            {
                TempData["error"] = "Sorry! Already Used.";
                TempData["GRNNo"] = null;
                return(RedirectToAction("Edit", new { id = Id }));
            }
            else
            {
                //var result5 = new GRNItemRepository().DeleteGRNADDDED(Id);
                //var result2 = new GRNItemRepository().DeleteGRNItem(Id);
                //var result4 = new StockUpdateRepository().DeleteGRNStockUpdate(Id);
                //var result3 = new GRNRepository().DeleteGRNHD(Id);
                var result3 = new GRNRepository().DeleteGRN(Id);

                if (result3 > 0)
                {
                    TempData["success"] = "Deleted succesfully";
                    return(RedirectToAction("PreviousList"));
                }
                else
                {
                    TempData["error"] = "Some error occured. Please try again.";
                    TempData["GRNNo"] = null;
                    return(RedirectToAction("Edit", new { id = Id }));
                }
            }
        }
Exemplo n.º 2
0
        public ActionResult PreviousListGRN(string Grn = "", string Supplier = "", string LPO = "")
        {
            var repo = new GRNRepository();
            IEnumerable <GRN> GRNList = repo.GetGRNPreviousList(Grn, Supplier, LPO, OrganizationId);

            return(PartialView("_PreviousListGRN", GRNList));
        }
Exemplo n.º 3
0
        public void FillCurrency()
        {
            var repo = new GRNRepository();
            var list = repo.FillCurrency();

            ViewBag.currlist = new SelectList(list, "Id", "Name");
        }
Exemplo n.º 4
0
        public void FillWarehouse()
        {
            GRNRepository repo   = new GRNRepository();
            var           result = repo.GetWarehouseList();

            ViewBag.WarehouseList = new SelectList(result, "StockPointId", "StockPointName");
        }
Exemplo n.º 5
0
        public ActionResult Edit(GRN model)
        {
            ViewBag.Title        = "Edit";
            model.OrganizationId = OrganizationId;
            model.CreatedDate    = System.DateTime.Now;
            model.CreatedBy      = UserID.ToString();

            FillWarehouse();
            FillCurrency();
            SupplierDropdown();
            FillAdditionDeduction();
            FillEmployee();

            var repo    = new GRNRepository();
            var result1 = new GRNRepository().CHECK(model.GRNId);

            if (result1 > 0)
            {
                TempData["error"] = "Sorry! Already Used.";
                TempData["GRNNo"] = null;
                return(View("Edit", model));
            }

            else
            {
                try
                {
                    var result = new GRNRepository().UpdateGRN(model);
                    //var result3 = new GRNItemRepository().DeleteGRNADDDED(model.GRNId);
                    //var result2 = new GRNItemRepository().DeleteGRNItem(model.GRNId);
                    //var result4 = new StockUpdateRepository().DeleteGRNStockUpdate(model.GRNId);
                    //var result5 = new GRNRepository().InsertGRNDT(model);
                    if (result.GRNId > 0)
                    {
                        TempData["success"] = "Updated successfully. (" + result.GRNNo + ")";
                        TempData["GRNNo"]   = result.GRNNo;
                        return(RedirectToAction("PreviousList"));
                        //return View("Edit", model);
                    }
                    else
                    {
                        throw new Exception();
                    }
                }
                catch (SqlException)
                {
                    TempData["error"] = "Some error occured while connecting to database. Please check your network connection and try again.";
                }
                catch (NullReferenceException)
                {
                    TempData["error"] = "Some required data was missing. Please try again.";
                }
                catch (Exception)
                {
                    TempData["error"] = "Some error occured. Please try again.";
                }
                return(RedirectToAction("PreviousList"));
            }
        }
Exemplo n.º 6
0
        public ActionResult Edit(int id = 0)
        {
            if (id == 0)
            {
                TempData["error"] = "That was an invalid/unknown request.";
                return(RedirectToAction("Index", "Home"));
            }
            GRNRepository repo = new GRNRepository();

            FillWarehouse();
            FillCurrency();
            FillEmployee();
            FillAdditionDeduction();

            GRN model = repo.GetGRNDetails(id);

            if (model == null)
            {
                TempData["error"] = "Could not find the requested GRN. Please try again.";
                return(RedirectToAction("PreviousList"));
            }
            model.Items     = repo.GetGRNItems(id);
            model.Additions = repo.GetGRNAdditions(id);

            if (model.Additions.Count == 0)
            {
                model.Additions.Add(new GRNAddition());
            }

            model.Deductions = repo.GetGRNDeductions(id);

            if (model.Deductions.Count == 0)
            {
                model.Deductions.Add(new GRNDeduction());
            }

            return(View(model));
        }
Exemplo n.º 7
0
        public ActionResult LoadQuickView()
        {
            if (Session["user"] == null)
            {
                return(RedirectToAction("LogOff", "Account"));
            }
            QuickView view = new QuickView();

            view.PendingDirectPurchaseRequests      = true;
            view.PendingTransQuotations             = true;
            view.PendingProjectQuotations           = true;
            view.PendingSupplyOrders                = true;
            view.PendingWorkshopRequests            = true;
            view.PendingProjectSaleOrdersForJobCard = true;
            view.PendingTransSaleOrdersForJobCard   = true;
            view.MaterialStockBelowMinLevel         = true;
            view.PendingVechicleInpass              = true;
            view.PendingWRForStoreIssue             = true;
            view.PendingJobcardQC      = true;
            view.PendingMaterialReqPRS = true;
            if (view.PendingProjectQuotations)
            {
                SalesQuotationRepository repo = new SalesQuotationRepository();
                var res = repo.GetSalesQuotationApproveList(1, 0, OrganizationId);
                view.NoOfProjectQuotations = res.Count;
            }
            if (view.PendingTransQuotations)
            {
                SalesQuotationRepository repo = new SalesQuotationRepository();
                var res = repo.GetSalesQuotationApproveList(0, 0, OrganizationId);
                view.NoOfTransQuotations = res.Count;
            }
            if (view.PendingSupplyOrders)
            {
                var repo = new GRNRepository();
                var res  = repo.GetGRNPendingList(0);
                view.NoOfSupplyOrders = res.Count();
            }
            if (view.PendingDirectPurchaseRequests)
            {
                var res = new DirectPurchaseRepository().GetUnApprovedRequests(UserID);
                view.NoOfPurchaseRequests = res.Count;
            }
            if (view.PendingWorkshopRequests)
            {
                var rep   = new SaleOrderRepository();
                var slist = rep.GetSaleOrdersPendingWorkshopRequest(OrganizationId, 0);
                view.NoOfWorkShopRequests = slist.Count;
            }
            if (view.PendingProjectSaleOrdersForJobCard)
            {
                var list = new JobCardRepository().GetPendingSO(1, OrganizationId, 0);
                view.NoOfProjectSaleOrdersForJobCard = list.Count();
            }
            if (view.PendingTransSaleOrdersForJobCard)
            {
                var list = new JobCardRepository().GetPendingSO(0, OrganizationId, 0);
                view.NoOfTransSaleOrdersForJobCard = list.Count();
            }
            if (view.MaterialStockBelowMinLevel)
            {
                var list = new ItemRepository().GetCriticalMaterialsBelowMinStock(OrganizationId);
                view.NoOfMaterialStockBelowMinLevel = list.Count();
                //view.NoOfMaterialStockBelowMinLevel = new ItemRepository().GetCriticalMaterialsBelowMinStock(OrganizationId);
            }
            if (view.PendingVechicleInpass)
            {
                var list = new VehicleInPassRepository().PendingVehicleInpassforAlert(OrganizationId);
                view.NoOfVechicleInpass = list.Count();
            }
            if (view.PendingWRForStoreIssue)
            {
                var list = new WorkShopRequestRepository().PendingWorkshopRequests("", "", "", "");
                view.NoOfWRForStoreIssue = list.Count();
            }
            if (view.PendingJobcardQC)
            {
                var list = new DeliveryChallanRepository().PendingDelivery(OrganizationId);
                view.NoOfJobcardQC = list.Count();
            }

            if (view.PendingMaterialReqPRS)
            {
                var list = new PurchaseRequestRepository().GetWorkShopRequestPending(OrganizationId, 0, "", "all");
                view.NoOfPendingMaterialReqPRS = list.Count();
            }

            IEnumerable <ERPAlerts> Alerts;

            if (Session["alertpermissions"] == null)
            {
                UserRepository repo = new UserRepository();
                Alerts = repo.GetAlerts(UserID);
                Session["alertpermissions"] = Alerts;
            }
            else
            {
                Alerts = (IEnumerable <ERPAlerts>)Session["alertpermissions"];
                Session["alertpermissions"] = Alerts;
            }

            AlertPermission alertpermission = new AlertPermission();

            foreach (var item in Alerts)
            {
                if (item.HasPermission == 1)
                {
                    switch (item.AlertId)
                    {
                    case 1:
                        alertpermission.ProjectQuotApproval = true;
                        break;

                    case 2:
                        alertpermission.TransportQuotApproval = true;
                        break;

                    case 3:
                        alertpermission.PendingSupplyOrdForGrn = true;
                        break;

                    case 4:
                        alertpermission.DirectPurchaseReqDorApproval = true;
                        break;

                    case 5:
                        alertpermission.PendingSOForWorkshopReq = true;
                        break;

                    //case 6:
                    //    alertpermission.PendingProjectSaleOrdersForJobCard = true;
                    //    break;
                    //case 7:
                    //    alertpermission.PendingTransSaleOrdersForJobCard = true;
                    //    break;
                    case 6:
                        alertpermission.MaterialStockBelowMinLevel = true;
                        break;

                    case 7:
                        alertpermission.PendingVechicleInpass = true;
                        break;

                    case 8:
                        alertpermission.PendingWRForStoreIssue = true;
                        break;

                    case 9:
                        alertpermission.PendingJobcardQC = true;
                        break;

                    case 10:
                        alertpermission.PendingMaterialReqPRS = true;
                        break;

                    default:
                        break;
                    }
                }
            }
            ViewBag.AlertPermissions = alertpermission;
            return(PartialView("_QuickView", view));
        }
Exemplo n.º 8
0
        public ActionResult Create(IList <PendingForGRN> list)
        {
            try
            {
                GRN model = new GRN();
                if (list.Count > 0)
                {
                    List <int?> id;

                    if (list[0].isDirectPurchase) //if direct purchase
                    {
                        id = (from PendingForGRN p in list
                              where p.isChecked
                              select p.DirectPurchaseRequestId).ToList();
                        if (id.Count > 0)
                        {
                            List <GRNAddition> Additions = new List <GRNAddition>();
                            Additions.Add(new GRNAddition());

                            List <GRNDeduction> Deductions = new List <GRNDeduction>();
                            Deductions.Add(new GRNDeduction());

                            model.isDirectPurchaseGRN = true;
                            model.Items      = new GRNRepository().GetDirectGRNItems(id);
                            model.GRNDate    = DateTime.Today;
                            model.Additions  = Additions;
                            model.Deductions = Deductions;
                            SupplierDropdown();
                        }
                        else
                        {
                            throw new NullReferenceException("1No purchase requests were selected. Please select atleast one purchase request and try again.");
                        }
                    }
                    else //if not direct purchase
                    {
                        var selectedlist = (from PendingForGRN p in list
                                            where p.isChecked
                                            select p).ToList();
                        //if (selectedlist.)
                        if (selectedlist.Count > 0)


                        {
                            List <GRNAddition> Additions = new List <GRNAddition>();
                            Additions.Add(new GRNAddition());

                            List <GRNDeduction> Deductions = new List <GRNDeduction>();
                            Deductions.Add(new GRNDeduction());

                            model            = new GRNRepository().GetGRNDetails(selectedlist[0].SupplierId);
                            model.GRNDate    = DateTime.Today;
                            model.Items      = new GRNRepository().GetGRNItem(selectedlist.Select(m => m.SupplyOrderId).ToList());
                            model.Additions  = Additions;
                            model.Deductions = Deductions;
                        }
                        else
                        {
                            throw new NullReferenceException("1No supply orders were selected. Please select atleast one supply order and try again.");
                        }
                    }
                }
                FillWarehouse();
                FillCurrency();
                FillAdditionDeduction();
                FillEmployee();

                model.GRNNo = DatabaseCommonRepository.GetNextDocNo(11, OrganizationId);

                return(View(model));
            }
            catch (NullReferenceException nx)
            {
                if (nx.Message.StartsWith("1"))
                {
                    TempData["error"] = nx.Message.Substring(1);
                }
                else
                {
                    TempData["error"] = "Some required data was missing. Please try again.|" + nx.Message;
                }
            }
            catch (SqlException sx)
            {
                TempData["error"] = "Some error occured while connecting to database. Please check your network connection and try again.|" + sx.Message;
            }
            catch (Exception ex)
            {
                TempData["error"] = "Some error occured. Please try again.|" + ex.Message;
            }
            TempData["success"] = "";

            try
            {
                if (list[0].isDirectPurchase)
                {
                    return(RedirectToAction("PendingDirectPurchase"));
                }
                return(RedirectToAction("PendingGrnWareHouse"));
            }
            catch (Exception)
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
Exemplo n.º 9
0
        public ActionResult Print(int Id)
        {
            ReportDocument rd = new ReportDocument();

            rd.Load(Path.Combine(Server.MapPath("~/Reports"), "Grn.rpt"));

            DataSet ds = new DataSet();

            ds.Tables.Add("Head");

            ds.Tables.Add("Items");

            //-------HEAD
            ds.Tables["Head"].Columns.Add("GRNNo");
            ds.Tables["Head"].Columns.Add("GRNDate");
            ds.Tables["Head"].Columns.Add("SupplierName");
            ds.Tables["Head"].Columns.Add("WareHouseName");
            ds.Tables["Head"].Columns.Add("SupplierDCNoAndDate");
            ds.Tables["Head"].Columns.Add("VehicleNo");
            ds.Tables["Head"].Columns.Add("GatePassNo");
            ds.Tables["Head"].Columns.Add("SpecialRemarks");
            ds.Tables["Head"].Columns.Add("GRNCurrencyName");
            ds.Tables["Head"].Columns.Add("ReceivedBy");
            //Organization
            ds.Tables["Head"].Columns.Add("DoorNo");
            ds.Tables["Head"].Columns.Add("Street");
            ds.Tables["Head"].Columns.Add("State");
            ds.Tables["Head"].Columns.Add("Country");
            ds.Tables["Head"].Columns.Add("Phone");
            ds.Tables["Head"].Columns.Add("Fax");
            ds.Tables["Head"].Columns.Add("Email");
            ds.Tables["Head"].Columns.Add("ContactPerson");
            ds.Tables["Head"].Columns.Add("CurrencyName");
            ds.Tables["Head"].Columns.Add("Zip");
            ds.Tables["Head"].Columns.Add("OrganizationName");
            ds.Tables["Head"].Columns.Add("Image1");



            //-------DT
            ds.Tables["Items"].Columns.Add("ItemName");
            ds.Tables["Items"].Columns.Add("PartNo");
            ds.Tables["Items"].Columns.Add("Remarks");
            ds.Tables["Items"].Columns.Add("Qty");
            ds.Tables["Items"].Columns.Add("UoM");
            ds.Tables["Items"].Columns.Add("Rate");
            ds.Tables["Items"].Columns.Add("Discount");
            ds.Tables["Items"].Columns.Add("Amount");


            GRNRepository repo = new GRNRepository();
            var           Head = repo.GetGRNDetailsHDPrint(Id, OrganizationId);

            DataRow dr = ds.Tables["Head"].NewRow();

            dr["GRNNo"]               = Head.GRNNo;
            dr["GRNDate"]             = Head.GRNDate.ToString("dd-MMM-yyyy");
            dr["SupplierName"]        = Head.Supplier;
            dr["WareHouseName"]       = Head.StockPointName;
            dr["SupplierDCNoAndDate"] = Head.SupplierDCNoAndDate;
            dr["VehicleNo"]           = Head.VehicleNo;
            dr["GatePassNo"]          = Head.GatePassNo;
            dr["SpecialRemarks"]      = Head.SpecialRemarks;
            dr["CurrencyName"]        = Head.CurrencyName;
            dr["ReceivedBy"]          = Head.ReceivedBy;
            dr["ReceivedBy"]          = Head.EmpReceivedBy;
            dr["GRNCurrencyName"]     = Head.CurrencyName;
            //Organization
            dr["DoorNo"]           = Head.DoorNo;
            dr["Street"]           = Head.Street;
            dr["State"]            = Head.State;
            dr["Country"]          = Head.OrgCountryName;
            dr["Phone"]            = Head.Phone;
            dr["Fax"]              = Head.Fax;
            dr["Email"]            = Head.Email;
            dr["ContactPerson"]    = Head.ContactPerson;
            dr["Zip"]              = Head.Zip;
            dr["CurrencyName"]     = Head.OrgCurrency;
            dr["OrganizationName"] = Head.OrganizationName;
            dr["Image1"]           = Server.MapPath("~/App_images/") + Head.Image1;
            ds.Tables["Head"].Rows.Add(dr);

            GRNRepository repo1 = new GRNRepository();
            var           Items = repo1.GetGRNItemsPrintDT(Id);

            foreach (var item in Items)
            {
                var pritem = new GRNItem
                {
                    ItemName         = item.ItemName,
                    PartNo           = item.PartNo,
                    Remarks          = item.Remarks,
                    AcceptedQuantity = item.AcceptedQuantity,
                    Unit             = item.Unit,
                    Rate             = item.Rate,
                    Discount         = item.Discount,
                    Amount           = item.Amount,
                };


                DataRow dri = ds.Tables["Items"].NewRow();
                dri["ItemName"] = pritem.ItemName;
                dri["PartNo"]   = pritem.PartNo;
                dri["Remarks"]  = pritem.Remarks;
                dri["Qty"]      = pritem.AcceptedQuantity;
                dri["UoM"]      = pritem.Unit;
                dri["Rate"]     = pritem.Rate;
                dri["Discount"] = pritem.Discount;
                dri["Amount"]   = pritem.Amount;
                ds.Tables["Items"].Rows.Add(dri);
            }

            ds.WriteXml(Path.Combine(Server.MapPath("~/XML"), "Grn.xml"), XmlWriteMode.WriteSchema);

            rd.SetDataSource(ds);

            Response.Buffer = false;
            Response.ClearContent();
            Response.ClearHeaders();


            try
            {
                Stream stream = rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
                stream.Seek(0, SeekOrigin.Begin);
                return(File(stream, "application/pdf", String.Format("Grn{0}.pdf", Id.ToString())));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Exemplo n.º 10
0
        public ActionResult Save(GRN model)
        {
            try
            {
                //if (!ModelState.IsValid)
                //{
                //    return View(model);
                //}

                if (model == null || model.Items == null || model.Items.Count == 0)
                {
                    throw new NullReferenceException();
                }
                model.OrganizationId = OrganizationId;
                model.CreatedDate    = System.DateTime.Now;
                model.CreatedBy      = UserID.ToString();
                string result = new GRNRepository().InsertGRN(model);
                if (result != "")
                {
                    TempData["success"] = "Saved succesfully. The GRN Reference No. is " + result;
                    TempData["error"]   = "";
                    if (model.isDirectPurchaseGRN)
                    {
                        return(RedirectToAction("PendingDirectPurchase"));
                    }
                    return(RedirectToAction("PendingGrnWareHouse"));
                }
                else
                {
                    throw new Exception();
                }
            }
            catch (NullReferenceException nx)
            {
                TempData["success"] = "";
                if (nx.Message.StartsWith("1"))
                {
                    TempData["error"] = nx.Message.Substring(1);
                }
                else
                {
                    TempData["error"] = "Some required value was missing. Please try again.|" + nx.Message;
                }
            }
            catch (Exception ex)
            {
                TempData["success"] = "";
                TempData["error"]   = "Some error occured. Please try again.|" + ex.Message;
            }
            FillWarehouse();
            FillCurrency();
            SupplierDropdown();
            FillAdditionDeduction();
            FillEmployee();

            PendingForGRN pending = new PendingForGRN();

            if (model.isDirectPurchaseGRN)
            {
                foreach (var item in model.Items)
                {
                    pending.DirectPurchaseRequestId = item.DirectPurchaseRequestId;
                }
            }
            else
            {
                foreach (var item in model.Items)
                {
                    pending.SupplyOrderId = item.SupplyOrderId;
                }
            }

            return(View("Create", model));
        }