Ejemplo n.º 1
0
        public ActionResult StatusUpdate(int Id)
        {
            FillCustomer();
            FillCurrency();
            FillCommissionAgent();
            FillWrkDesc();
            FillVehicle();
            FillUnit();
            FillQuerySheet();
            FillEmployee();
            FillSalesQuotationStatus();
            var repo = new SalesQuotationRepository();

            var sorepo = new SaleOrderRepository();


            SalesQuotation salesquotation = repo.GetSalesQuotation(Id);

            salesquotation.CustomerAddress = sorepo.GetCusomerAddressByKey(salesquotation.CustomerId);


            salesquotation.SalesQuotationItems = repo.GetSalesQuotationItems(Id);
            ViewBag.SubmitAction = "StatusUpdate";
            return(View("StatusUpdate", salesquotation));
        }
Ejemplo n.º 2
0
        public void FillCustomer()
        {
            var repo = new SaleOrderRepository();
            var list = repo.FillCustomer();

            ViewBag.customerlist = new SelectList(list, "Id", "Name");
        }
Ejemplo n.º 3
0
        public void FillCommissionAgent()
        {
            var repo = new SaleOrderRepository();
            var list = repo.FillCommissionAgent();

            ViewBag.commissionagentlist = new SelectList(list, "Id", "Name");
        }
Ejemplo n.º 4
0
 public ActionResult ServiceEnquiryProject(ServiceEnquiry model)
 {
     try
     {
         model.OrganizationId = OrganizationId;
         model.CreatedBy      = UserID.ToString();;
         model.CreatedDate    = System.DateTime.Now;
         model.IsConfirmed    = 0;
         model.isProjectBased = 1;
         string ref_no = new SaleOrderRepository().InsertServiceEnquiry(model);
         if (ref_no.Length > 0)
         {
             TempData["success"] = "Saved Successfully. Reference No. is " + ref_no;
             return(RedirectToAction("ServiceEnquiryProject"));
         }
         else
         {
             throw new Exception();
         }
     }
     catch (Exception)
     {
         FillDropDowns();
         TempData["error"] = "Some error occurred while saving. Please try again.";
         return(View(model));
     }
 }
        public void FillCustomer()
        {
            SaleOrderRepository repo = new SaleOrderRepository();
            List <Dropdown>     list = repo.FillCustomer();

            ViewBag.Customer = new SelectList(list, "Id", "Name");
        }
Ejemplo n.º 6
0
        public ActionResult ServiceOrder(int id = 0)//ServiceEnquiryId is received here
        {
            try
            {
                if (id == 0)
                {
                    TempData["error"] = "That was an invalid request. Please try again.";
                    RedirectToAction("Index", "Home");
                }

                FillDropDowns();

                ServiceEnquiry model = new SaleOrderRepository().GetServiceEnquiryDetails(id, OrganizationId);
                model.SaleOrderRefNo = DatabaseCommonRepository.GetNextDocNo(42, OrganizationId);
                model.SaleOrderDate  = DateTime.Today;
                model.isProjectBased = 1;
                model.isService      = 1;
                model.IsConfirmed    = 1;
                model.Items          = new List <SaleOrderItem>();
                model.Items.Add(new SaleOrderItem());
                return(View("ServiceEnquiryProject", model));
            }
            catch (InvalidOperationException)
            {
                TempData["error"] = "Requested data could not be found. Please try again.";
            }
            catch (Exception)
            {
                TempData["error"] = "Some error occurred. Please try again.";
            }
            return(RedirectToAction("PendingEnquiries", new { isProjectBased = 1 }));
        }
Ejemplo n.º 7
0
        public ActionResult Approve(int SalesQuotationId)
        {
            DropDowns();
            FillVehicle();
            FillQuerySheetInQuot();
            FillUnit();
            FillRateSettings();
            ItemDropdown();
            FillUnitDoorUnit();

            var repo = new SalesQuotationRepository();

            var sorepo = new SaleOrderRepository();

            SalesQuotation salesquotation = repo.GetSalesQuotation(SalesQuotationId);

            //salesquotation.SalesQuotationItems[0].UnitName = "Nos";
            if (!salesquotation.isProjectBased && !salesquotation.isAfterSales)
            {
                FillWrkDesc();
            }
            else if (salesquotation.isProjectBased && !salesquotation.isAfterSales)
            {
                FillWrkDescForProject();
            }

            else if (salesquotation.isAfterSales)
            {
                FillWrkDescAfterSales();
                if (salesquotation.isProjectBased)
                {
                    salesquotation.ProjectCompleionDetails = new ProjectCompletionRepository().GetProjectCompletion(salesquotation.ProjectCompletionId);
                }
                else
                {
                    salesquotation.DeliveryChallanDetails = new DeliveryChallanRepository().GetDeliveryChallan(salesquotation.DeliveryChallanId);
                }
            }
            salesquotation.CustomerAddress     = sorepo.GetCusomerAddressByKey(salesquotation.CustomerId);
            salesquotation.SalesQuotationItems = repo.GetSalesQuotationItems(SalesQuotationId);
            salesquotation.Materials           = repo.GetSalesQuotationMaterials(SalesQuotationId);
            //salesquotation.VehicleModelId = salesquotation.SalesQuotationItems[0].VehicleModelId;
            //FillUnitDoorUnit();
            //salesquotation.ProjectRooms = new SaleOrderRepository().GetRoomDetailsFromQuotation(SalesQuotationId);
            ViewBag.SubmitAction = "Approve";

            if (salesquotation.isProjectBased)
            {
                return(View("Create", salesquotation));
            }
            else
            {
                salesquotation.VehicleModelId = salesquotation.SalesQuotationItems[0].VehicleModelId;
            }
            return(View("CreateTransportation", salesquotation));
        }
        public ActionResult WorkShopRequestPending(int isProjectBased, string saleOrder = "", string customer = "")
        {
            var rep = new SaleOrderRepository();


            var slist = rep.GetSaleOrdersPendingWorkshopRequest(OrganizationId, isProjectBased, saleOrder.Trim(), customer.Trim());

            ViewBag.ProjectBased = isProjectBased;

            return(PartialView("_PendingGrid", slist));
        }
Ejemplo n.º 9
0
 public ActionResult Create(int?Id, int?isProjectBased)  //SaleOrderItemId is received here
 {
     try
     {
         FillEmployee();
         JobCardRepository   repo   = new JobCardRepository();
         SaleOrderRepository soRepo = new SaleOrderRepository();
         isProjectBased = soRepo.IsProjectOrVehicle(Id ?? 0);
         JobCard model = repo.GetJobCardDetails(Id ?? 0, isProjectBased ?? 0);
         model.JobCardNo = DatabaseCommonRepository.GetNextDocNo(
             model.isService == 1 ?
             (isProjectBased ?? 0) == 1 ? 40 : 34 :
             (isProjectBased ?? 0) == 1 ? 39 : 16,
             OrganizationId);
         model.isProjectBased = isProjectBased ?? 0;
         model.JobCardTasks   = new List <JobCardTask>();
         model.JobCardTasks.Add(new JobCardTask()
         {
             TaskDate = DateTime.Now
         });
         model.JobCardDate  = DateTime.Now;
         model.RequiredDate = DateTime.Now;
         FillBay(model.isService);
         //FillAllTasks();
         FillTasks(model.isProjectBased);
         //if (model.isService == 1)
         //    FillTaks(model.WorkDescriptionId);
         //else
         //    FillFreezerAndBoxTasks(Id);
         //FillTaks(model.WorkDescriptionId);
         //FillFreezerUnit();
         //FillBox();
         //FillVehicleRegNo();
         return(View(model));
     }
     catch (Exception ex)
     {
         string ErrorMessage = ex.Message.ToString();
         if (ex.InnerException != null)
         {
             if (ex.InnerException.Message != null)
             {
                 ErrorMessage = ErrorMessage + ex.InnerException.Message.ToString();
             }
         }
         ViewData["Error"] = ErrorMessage;
         return(View("ShowError"));
     }
 }
Ejemplo n.º 10
0
        //else if (model.isProjectBased == 1)
        //{
        //    TempData["Success"] = "Approved Successfully!";
        //    TempData["QuotationRefNo"] = model.QuotationRefNo;
        //    return RedirectToAction("ListSalesQuotations", new { ProjectBased = 1 });
        //}
        //else if (model.isProjectBased == 2)
        //{
        //    TempData["Success"] = "Approved Successfully!";
        //    TempData["QuotationRefNo"] = model.QuotationRefNo;
        //    return RedirectToAction("ListSalesQuotations", new { ProjectBased = 2 });
        //}
        //else
        //{
        //    return View();
        //}

        //}

        #region Revise Quotation
        public ActionResult Revise(int Id)
        {
            DropDowns();
            var repo = new SalesQuotationRepository();

            var sorepo = new SaleOrderRepository();


            SalesQuotation salesquotation = repo.GetSalesQuotation(Id);

            if (salesquotation.isAfterSales)
            {
                FillWrkDescAfterSales();
                ItemDropdown();
            }
            else if (salesquotation.isProjectBased)
            {
                FillWrkDescForProject();
                ItemDropdown();
            }
            else
            {
                FillWrkDesc();
            }
            salesquotation.CustomerAddress     = sorepo.GetCusomerAddressByKey(salesquotation.CustomerId);
            salesquotation.ParentId            = salesquotation.SalesQuotationId;
            salesquotation.IsQuotationApproved = false;
            if (salesquotation.GrantParentId == null || salesquotation.GrantParentId == 0)
            {
                salesquotation.GrantParentId = salesquotation.ParentId;
            }

            salesquotation.SalesQuotationItems = repo.GetSalesQuotationItems(Id);
            try
            {
                //each workdescription will have the same vehicle model id
                salesquotation.VehicleModelId = salesquotation.SalesQuotationItems[0].VehicleModelId;
            }
            catch { }
            salesquotation.Materials = repo.GetSalesQuotationMaterials(Id);
            if (salesquotation.Materials == null || salesquotation.Materials.Count == 0)
            {
                salesquotation.Materials.Add(new SalesQuotationMaterial());
            }
            ViewBag.SubmitAction = "Revise";
            return(View(salesquotation));
        }
Ejemplo n.º 11
0
 public ActionResult ServiceOrder(ServiceEnquiry model)
 {
     try
     {
         model.OrganizationId = OrganizationId;
         model.CreatedBy      = UserID.ToString();
         string ref_no = new SaleOrderRepository().InsertServiceOrder(model);
         TempData["success"] = "Saved Successfully. Reference No. is " + ref_no;
         return(RedirectToAction("PendingEnquiries", new { isProjectBased = 1 }));
     }
     catch (Exception)
     {
         FillDropDowns();
         TempData["error"] = "Some error occurred while saving. Please try again.";
         return(View("ServiceEnquiryProject", model));
     }
 }
Ejemplo n.º 12
0
        public ActionResult DeleteEnquiry(int id = 0)
        {
            try
            {
                if (id == 0)
                {
                    return(RedirectToAction("Index", "Home"));
                }
                string ref_no = new SaleOrderRepository().DeleteServiceEnquiry(id);

                TempData["Success"]             = "Deleted Successfully!";
                TempData["ServiceEnquiryRefNo"] = ref_no;
                return(RedirectToAction("EnquiryList", new { isProjectBased = 0 }));
            }
            catch (Exception)
            {
                TempData["error"] = "Some error occured while deleting. Please try again.";
                return(RedirectToAction("Edit", new { id = id }));
            }
        }
Ejemplo n.º 13
0
        /// <summary>
        /// 取消销售单
        /// </summary>
        /// <param name="idList"></param>
        public void CancelOrder(IList <Guid> idList)
        {
            if (idList == null || !idList.Any())
            {
                return;
            }

            foreach (var Id in idList)
            {
                var model = GetModel(Id);
                if (model == null)
                {
                    continue;
                }

                var order = new FinanceOrder();
                order.Code = this.FinanceOrderRepository.GetSequenceNextCode();

                SaleOrderRepository.Cancel(model, order);
            }
        }
Ejemplo n.º 14
0
        /// <summary>
        /// 结算销售单
        /// </summary>
        /// <param name="model"></param>
        public void Settlement(SaleSettlementModel model)
        {
            if (model == null)
            {
                return;
            }

            var order = SaleOrderRepository.GetModel(model.SaleOrderId);

            if (order == null)
            {
                throw new Exception("销售单不存在。");
            }

            if (order.Status != EnumSaleOrderStatus.Outbound)
            {
                throw new Exception("只能结算已出库的销售单。");
            }

            if (order.SettlementStatus == EnumSettlementStatus.Completed)
            {
                throw new Exception("只能结算未结算的销售单。");
            }

            order.SettlementStatus = model.SettlementStatus;
            order.SettlementAmount = order.SettlementAmount + model.SettlementAmount;

            if (order.SettlementAmount >= order.Amount && order.SettlementStatus == EnumSettlementStatus.PartCompleted)
            {
                throw new Exception("结算金额已超过销售单总金额,不允许部分结算。");
            }

            var financeOrder = new FinanceOrder();

            financeOrder.Code   = this.FinanceOrderRepository.GetSequenceNextCode();
            financeOrder.Amount = model.SettlementAmount;
            financeOrder.Remark = model.SettlementRemark;

            SaleOrderRepository.Settlement(order, financeOrder);
        }
Ejemplo n.º 15
0
        public ActionResult EditEnquiry(int id)//ServiceEnquiryId is received here
        {
            try
            {
                if (id != 0)
                {
                    FillCustomer();

                    ServiceEnquiry model = new SaleOrderRepository().GetServiceEnquiryDetails(id, OrganizationId);
                    model.IsConfirmed = 0;
                    return(View(model));
                }
                else
                {
                    TempData["error"]   = "That was an invalid/unknown request. Please try again.";
                    TempData["success"] = "";
                }
            }

            catch (InvalidOperationException iox)
            {
                TempData["error"] = "Sorry, we could not find the requested item. Please try again.|" + iox.Message;
            }
            catch (SqlException sx)
            {
                TempData["error"] = "Some error occured while connecting to database. Please try again after sometime.|" + sx.Message;
            }
            catch (NullReferenceException nx)
            {
                TempData["error"] = "Some required data was missing. Please try again.|" + nx.Message;
            }
            catch (Exception ex)
            {
                TempData["error"] = "Some error occured. Please try again.|" + ex.Message;
            }

            TempData["success"] = "";
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 16
0
        /// <summary>
        /// 设置已出库
        /// </summary>
        /// <param name="IdList"></param>
        public void Outbound(IList <Guid> IdList)
        {
            if (IdList == null || !IdList.Any())
            {
                return;
            }

            foreach (var item in IdList)
            {
                var order = SaleOrderRepository.GetModel(item);
                if (order == null)
                {
                    continue;
                }

                if (order.Status != EnumSaleOrderStatus.Initial)
                {
                    throw new Exception("只有对待出库的销售单做出库操作。");
                }

                SaleOrderRepository.Outbound(order);
            }
        }
Ejemplo n.º 17
0
        /// <summary>
        /// 分页查找销售单列表
        /// </summary>
        /// <param name="filter"></param>
        /// <returns></returns>
        public PagedQueryResult <SaleOrderModel> FindList(PagedQueryFilter filter)
        {
            var result    = SaleOrderRepository.FindPaged <SaleOrder>(filter);
            var modelList = new List <SaleOrderModel>();
            var response  = new PagedQueryResult <SaleOrderModel>();

            foreach (var item in result.Data)
            {
                item.Customer = CustomerService.Get(item.CustomerId);
                item.SaleBy   = EmployeeService.Get(item.SaleById);

                var model = new SaleOrderModel
                {
                    Id               = item.Id,
                    Code             = item.Code,
                    Amount           = item.Amount,
                    CustomerName     = item.Customer == null ? string.Empty : item.Customer.Name,
                    OutboundOn       = item.OutboundOn,
                    Remark           = item.Remark,
                    SaleByName       = item.SaleBy == null ? string.Empty : item.SaleBy.Name,
                    SaleOn           = item.SaleOn,
                    SettlementAmount = item.SettlementAmount,
                    SettlementOn     = item.SettlementOn,
                    SettlementStatus = item.SettlementStatus,
                    Status           = item.Status,
                };
                modelList.Add(model);
            }
            response.Data       = modelList;
            response.PageIndex  = result.PageIndex;
            response.PageSize   = result.PageSize;
            response.TotalCount = result.TotalCount;
            response.TotalPage  = result.TotalPage;

            return(response);
        }
Ejemplo n.º 18
0
 public SaleOrderController()
 {
     repository = new SaleOrderRepository();
 }
Ejemplo n.º 19
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));
        }
Ejemplo n.º 20
0
        public ActionResult PrintJob(int id)//ServiceEnquiryId is received here
        {
            ReportDocument rd = new ReportDocument();

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

            DataSet ds = new DataSet();

            ds.Tables.Add("Head");

            ds.Tables.Add("Items");

            //-------HEAD
            ds.Tables["Head"].Columns.Add("ServiceEnquiryRefNo");
            ds.Tables["Head"].Columns.Add("ServiceEnquiryDate");
            ds.Tables["Head"].Columns.Add("CustomerName");
            ds.Tables["Head"].Columns.Add("CDoorNo");
            ds.Tables["Head"].Columns.Add("CStreet");
            ds.Tables["Head"].Columns.Add("CPhone");
            ds.Tables["Head"].Columns.Add("CZip");
            ds.Tables["Head"].Columns.Add("CState");
            ds.Tables["Head"].Columns.Add("CContactPerson");
            //ds.Tables["Head"].Columns.Add("VehicleMake");
            //ds.Tables["Head"].Columns.Add("VehicleRegNo");
            //ds.Tables["Head"].Columns.Add("VehicleChassisNo");
            //ds.Tables["Head"].Columns.Add("VehicleKm");
            //ds.Tables["Head"].Columns.Add("BoxMake");
            //ds.Tables["Head"].Columns.Add("BoxNo");
            //ds.Tables["Head"].Columns.Add("BoxSize");
            //ds.Tables["Head"].Columns.Add("FreezerMake");
            //ds.Tables["Head"].Columns.Add("FreezerModel");
            //ds.Tables["Head"].Columns.Add("FreezerSerialNo");
            //ds.Tables["Head"].Columns.Add("FreezerHours");
            //ds.Tables["Head"].Columns.Add("TailLiftMake");
            //ds.Tables["Head"].Columns.Add("TailLiftModel");
            //ds.Tables["Head"].Columns.Add("TailLiftSerialNo");
            ds.Tables["Head"].Columns.Add("UnitDetails");
            ds.Tables["Head"].Columns.Add("Complaints");
            ds.Tables["Head"].Columns.Add("DoorNo");
            ds.Tables["Head"].Columns.Add("Street");
            ds.Tables["Head"].Columns.Add("State");
            ds.Tables["Head"].Columns.Add("CountryName");
            ds.Tables["Head"].Columns.Add("Zip");
            ds.Tables["Head"].Columns.Add("Fax");
            ds.Tables["Head"].Columns.Add("Email");
            ds.Tables["Head"].Columns.Add("Phone");
            ds.Tables["Head"].Columns.Add("ContactPerson");
            ds.Tables["Head"].Columns.Add("OrganizationName");
            ds.Tables["Head"].Columns.Add("Image1");
            ds.Tables["Head"].Columns.Add("CreatedUser");
            ds.Tables["Head"].Columns.Add("CreatedUsersig");
            ds.Tables["Head"].Columns.Add("CreatedDes");

            //-------DT
            ds.Tables["Items"].Columns.Add("Date");
            ds.Tables["Items"].Columns.Add("Description");
            ds.Tables["Items"].Columns.Add("TotalHours");


            SaleOrderRepository repo = new SaleOrderRepository();
            ServiceEnquiry      se   = new ServiceEnquiry();
            var Head = repo.GetJobPrintHD(id, OrganizationId);

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

            dr["ServiceEnquiryRefNo"] = Head.ServiceEnquiryRefNo;
            dr["ServiceEnquiryDate"]  = Head.ServiceEnquiryDate.ToString("dd-MMM-yyyy");
            dr["CustomerName"]        = Head.CustomerName;
            dr["CDoorNo"]             = Head.CDoorNo;
            dr["CStreet"]             = Head.CStreet;
            dr["CPhone"]         = Head.CPhone;
            dr["CZip"]           = Head.CZip;
            dr["CState"]         = Head.CState;
            dr["CContactPerson"] = Head.CContactPerson;
            //dr["VehicleMake"] = Head.VehicleMake;
            //dr["VehicleRegNo"] = Head.VehicleRegNo;
            //dr["VehicleChassisNo"] = Head.VehicleChassisNo;
            //dr["VehicleKm"] = Head.VehicleKm;
            //dr["BoxMake"] = Head.BoxMake;
            //dr["BoxNo"] = Head.BoxNo;

            //dr["BoxSize"] = Head.BoxSize;
            //dr["FreezerMake"] = Head.FreezerMake;
            //dr["FreezerModel"] = Head.FreezerModel;
            //dr["FreezerSerialNo"] = Head.FreezerSerialNo;
            //dr["FreezerHours"] = Head.FreezerHours;
            //dr["TailLiftMake"] = Head.TailLiftMake;
            //dr["TailLiftModel"] = Head.TailLiftModel;
            //dr["TailLiftSerialNo"] = Head.TailLiftSerialNo;
            dr["UnitDetails"]      = Head.UnitDetails;
            dr["Complaints"]       = Head.Complaints;
            dr["DoorNo"]           = Head.DoorNo;
            dr["Street"]           = Head.Street;
            dr["State"]            = Head.State;
            dr["CountryName"]      = Head.CountryName;
            dr["Zip"]              = Head.Zip;
            dr["Fax"]              = Head.Fax;
            dr["Email"]            = Head.Email;
            dr["Phone"]            = Head.Phone;
            dr["ContactPerson"]    = Head.ContactPerson;
            dr["OrganizationName"] = Head.OrganizationName;
            dr["Image1"]           = Server.MapPath("~/App_images/") + Head.Image1;
            dr["CreatedUser"]      = Head.CreatedUser;
            dr["CreatedUsersig"]   = Server.MapPath("~/App_images/") + Head.CreatedUsersig;
            dr["CreatedDes"]       = Head.CreatedDes;
            ds.Tables["Head"].Rows.Add(dr);



            ds.WriteXml(Path.Combine(Server.MapPath("~/XML"), "JobRepairOrderProject.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"));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Ejemplo n.º 21
0
        public void CreateAndUpdatePurchaseOrder(SaleOrderContract saleOrderContract)
        {
            var saleOrder = SaleOrderRepository.Get(saleOrderContract.Id);

            if (saleOrder != null)
            {
                // Update Order
                saleOrder.Title = saleOrderContract.Title;
                for (int i = 0; i < saleOrderContract.SaleOrderItemContracts.Count; i++)
                {
                    var temp = saleOrderContract.SaleOrderItemContracts[i];
                    if (saleOrder.SaleOrderItems.Any(x => x.Id == temp.Id))
                    {
                        // Update OrdetItem ..
                        var InDatabaseOrderItem = saleOrder.SaleOrderItems.FirstOrDefault(x => x.Id == temp.Id);
                        InDatabaseOrderItem.NetPrice   = temp.NetPrice;
                        InDatabaseOrderItem.Quantity   = temp.Quantity;
                        InDatabaseOrderItem.UnitPrice  = temp.UnitPrice;
                        InDatabaseOrderItem.TotalPrice = temp.TotalPrice;
                        InDatabaseOrderItem.Item       = IitemRepository.Get(temp.ItemId);
                        InDatabaseOrderItem.Rack       = IRackRepository.Get(temp.RackId);
                    }
                    else
                    {
                        // Create OrderItem
                        var InDatabaseOrderItem = new SaleOrderItem();

                        InDatabaseOrderItem.NetPrice   = temp.NetPrice;
                        InDatabaseOrderItem.Quantity   = temp.Quantity;
                        InDatabaseOrderItem.UnitPrice  = temp.UnitPrice;
                        InDatabaseOrderItem.TotalPrice = temp.TotalPrice;
                        InDatabaseOrderItem.Item       = IitemRepository.Get(temp.ItemId);
                        InDatabaseOrderItem.Rack       = IRackRepository.Get(temp.RackId);

                        saleOrder.SaleOrderItems.Add(InDatabaseOrderItem);
                    }
                }

                //Delete extra orderItems in order(DB)
                for (int i = 0; i < saleOrder.SaleOrderItems.Count; i++)
                {
                    var temp = saleOrder.SaleOrderItems[i];
                    if (!saleOrderContract.SaleOrderItemContracts.Any(x => x.Id == temp.Id))
                    {
                        saleOrder.SaleOrderItems.Remove(temp);
                    }
                }

                SaleOrderRepository.Update(saleOrder);
            }
            else
            {
                // Create Order
                saleOrder              = new SaleOrder();
                saleOrder.Code         = saleOrderContract.Code;
                saleOrder.CreationDate = saleOrderContract.CreationDate;
                saleOrder.Title        = saleOrderContract.Title;

                for (int i = 0; i < saleOrderContract.SaleOrderItemContracts.Count; i++)
                {
                    var temp = saleOrderContract.SaleOrderItemContracts[i];

                    var InDatabaseOrderItem = new SaleOrderItem();

                    InDatabaseOrderItem.NetPrice   = temp.NetPrice;
                    InDatabaseOrderItem.Quantity   = temp.Quantity;
                    InDatabaseOrderItem.UnitPrice  = temp.UnitPrice;
                    InDatabaseOrderItem.TotalPrice = temp.TotalPrice;
                    InDatabaseOrderItem.Item       = IitemRepository.Get(temp.ItemId);
                    InDatabaseOrderItem.Rack       = IRackRepository.Get(temp.RackId);

                    saleOrder.SaleOrderItems.Add(InDatabaseOrderItem);
                }

                SaleOrderRepository.Insert(saleOrder);
            }
        }
Ejemplo n.º 22
0
        public void CreateOrUpdate(SaleOrderContract saleOrderContract)
        {
            var saleorder = SaleOrderRepository.Get(saleOrderContract.Id);

            if (saleorder != null)
            {
                saleorder.Code = saleOrderContract.Code;
                //saleorder.CreationDate = saleOrderContract.CreationDate;
                saleorder.Title = saleOrderContract.Title;
                for (int i = 0; i < saleOrderContract.SaleOrderItems.Count; i++)
                {
                    var temp = saleOrderContract.SaleOrderItems[i];
                    if (saleorder.SaleOrderItems.Any(s => s.Id == temp.Id))
                    {
                        var indatabaesaleorder = saleorder.SaleOrderItems.FirstOrDefault(s => s.Id == temp.Id);
                        indatabaesaleorder.NetPrice   = temp.NetPrice;
                        indatabaesaleorder.Quantity   = temp.Quantity;
                        indatabaesaleorder.TotalPrice = temp.TotalPrice;
                        indatabaesaleorder.UnitPrice  = temp.UnitPrice;
                        indatabaesaleorder.Item       = ItemRepository.Get(temp.ItemId);
                        indatabaesaleorder.Rack       = RackRepository.Get(temp.RackId);
                    }
                    else
                    {
                        var saleorderitem = new SaleOrderItem();
                        saleorderitem.NetPrice   = temp.NetPrice;
                        saleorderitem.Quantity   = temp.Quantity;
                        saleorderitem.TotalPrice = temp.TotalPrice;
                        saleorderitem.UnitPrice  = temp.UnitPrice;
                        saleorderitem.Item       = ItemRepository.Get(temp.ItemId);
                        saleorderitem.Rack       = RackRepository.Get(temp.RackId);

                        saleorder.SaleOrderItems.Add(saleorderitem);
                    }
                }
                for (int i = 0; i < saleorder.SaleOrderItems.Count; i++)
                {
                    var temp = saleorder.SaleOrderItems.ToArray()[i];
                    if (!saleOrderContract.SaleOrderItems.Any(s => s.Id == temp.Id))
                    {
                        saleorder.SaleOrderItems.Remove(temp);
                    }
                }

                SaleOrderRepository.Update(saleorder);
            }
            else
            {
                saleorder              = new SaleOrder();
                saleorder.Code         = saleOrderContract.Code;
                saleorder.CreationDate = saleOrderContract.CreationDate;
                saleorder.Title        = saleOrderContract.Title;
                for (int i = 0; i < saleOrderContract.SaleOrderItems.Count; i++)
                {
                    var temp = saleOrderContract.SaleOrderItems[i];

                    var indatabaesaleorder = saleorder.SaleOrderItems.FirstOrDefault(s => s.Id == temp.Id);
                    indatabaesaleorder.NetPrice   = temp.NetPrice;
                    indatabaesaleorder.Quantity   = temp.Quantity;
                    indatabaesaleorder.TotalPrice = temp.TotalPrice;
                    indatabaesaleorder.UnitPrice  = temp.UnitPrice;
                    indatabaesaleorder.Item       = ItemRepository.Get(temp.ItemId);
                    indatabaesaleorder.Rack       = RackRepository.Get(temp.RackId);
                }

                SaleOrderRepository.Insert(saleorder);
            }
        }
Ejemplo n.º 23
0
        public void Delete(SaleOrderContract saleOrderContract)
        {
            var saleorder = SaleOrderRepository.Get(saleOrderContract.Id);

            SaleOrderRepository.Delete(saleorder);
        }
Ejemplo n.º 24
0
        public ActionResult Edit(int id = 0)
        {
            if (id == 0)
            {
                return(RedirectToAction("Index", "Home"));
            }

            DropDowns();
            ItemDropdown();
            FillVehicle();
            //FillQuerySheetInQuot();
            FillUnit();
            FillRateSettings();
            FillUnitDoorUnit();
            var repo = new SalesQuotationRepository();

            var sorepo = new SaleOrderRepository();


            SalesQuotation salesquotation = repo.GetSalesQuotation(id);


            if (!salesquotation.isProjectBased && !salesquotation.isAfterSales)
            {
                FillWrkDesc();
            }
            else if (salesquotation.isProjectBased && !salesquotation.isAfterSales)
            {
                FillWrkDescForProject();
            }

            else if (salesquotation.isAfterSales)
            {
                FillWrkDescAfterSales();
                if (salesquotation.isProjectBased)
                {
                    salesquotation.ProjectCompleionDetails = new ProjectCompletionRepository().GetProjectCompletion(salesquotation.ProjectCompletionId);
                }
                else
                {
                    salesquotation.DeliveryChallanDetails = new DeliveryChallanRepository().GetDeliveryChallan(salesquotation.DeliveryChallanId);
                }
            }

            salesquotation.CustomerAddress     = sorepo.GetCusomerAddressByKey(salesquotation.CustomerId);
            salesquotation.SalesQuotationItems = repo.GetSalesQuotationItems(id);
            try
            {
                //each workdescription will have the same vehicle model id
                salesquotation.VehicleModelId = salesquotation.SalesQuotationItems[0].VehicleModelId;
            }
            catch { }
            salesquotation.Materials = repo.GetSalesQuotationMaterials(id);

            #region getting quotation room, unit and door details
            if (salesquotation.isProjectBased)
            {
                salesquotation.ProjectRooms = new SaleOrderRepository().GetRoomDetailsFromQuotation(id);
            }
            #endregion

            if (salesquotation.Materials == null || salesquotation.Materials.Count == 0)
            {
                salesquotation.Materials.Add(new SalesQuotationMaterial());
            }
            if (!salesquotation.isProjectBased)
            {
                return(View("EditTransportation", salesquotation));
            }
            FillQuerySheetIncludingCurrent(salesquotation.QuerySheetId, OrganizationId);
            return(View("Edit", salesquotation));
        }