Пример #1
0
        private ActionResult _Modify(int id)
        {
            SaleEnquiryLine         temp     = _SaleEnquiryLineService.GetSaleEnquiryLine(id);
            SaleEnquiryLineExtended Extended = new SaleEnquiryLineExtendedService(_unitOfWork).Find(id);

            if (temp == null)
            {
                return(HttpNotFound());
            }

            #region DocTypeTimeLineValidation
            try
            {
                TimePlanValidation = DocumentValidation.ValidateDocumentLine(new DocumentUniqueId {
                    LockReason = temp.LockReason
                }, User.Identity.Name, out ExceptionMsg, out Continue);
            }
            catch (Exception ex)
            {
                string message = _exception.HandleException(ex);
                TempData["CSEXCL"] += message;
                TimePlanValidation  = false;
            }

            if (!TimePlanValidation)
            {
                TempData["CSEXCL"] += ExceptionMsg;
            }
            #endregion

            if ((TimePlanValidation || Continue))
            {
                ViewBag.LineMode = "Edit";
            }

            SaleEnquiryHeader H = new SaleEnquiryHeaderService(_unitOfWork).GetSaleEnquiryHeader(temp.SaleEnquiryHeaderId);
            ViewBag.DocNo = H.DocNo;
            SaleEnquiryLineViewModel s = Mapper.Map <SaleEnquiryLine, SaleEnquiryLineViewModel>(temp);

            s.BuyerSpecification  = Extended.BuyerSpecification;
            s.BuyerSpecification1 = Extended.BuyerSpecification1;
            s.BuyerSpecification2 = Extended.BuyerSpecification2;
            s.BuyerSpecification3 = Extended.BuyerSpecification3;
            s.BuyerSku            = Extended.BuyerSku;
            s.BuyerUpcCode        = Extended.BuyerUpcCode;


            var settings = new SaleEnquirySettingsService(_unitOfWork).GetSaleEnquirySettingsForDucument(H.DocTypeId, H.DivisionId, H.SiteId);
            s.SaleEnquirySettings = Mapper.Map <SaleEnquirySettings, SaleEnquirySettingsViewModel>(settings);

            ProductBuyerSettings ProductBuyerSettings = new ProductBuyerSettingsService(_unitOfWork).GetProductBuyerSettings(H.DivisionId, H.SiteId);
            s.ProductBuyerSettings = Mapper.Map <ProductBuyerSettings, ProductBuyerSettingsViewModel>(ProductBuyerSettings);

            PrepareViewBag(H);

            return(PartialView("_Create", s));
        }
        // GET: /ProductMaster/Edit/5

        public ActionResult Edit(int id)
        {
            SaleEnquiryLine         temp     = _SaleEnquiryLineService.GetSaleEnquiryLine(id);
            SaleEnquiryLineExtended Extended = new SaleEnquiryLineExtendedService(_unitOfWork).Find(id);


            if (temp == null)
            {
                return(HttpNotFound());
            }


            SaleEnquiryHeader H = new SaleEnquiryHeaderService(_unitOfWork).GetSaleEnquiryHeader(temp.SaleEnquiryHeaderId);

            ViewBag.DocNo = H.DocNo;
            SaleEnquiryLineViewModel s = Mapper.Map <SaleEnquiryLine, SaleEnquiryLineViewModel>(temp);

            s.BuyerSpecification  = Extended.BuyerSpecification;
            s.BuyerSpecification1 = Extended.BuyerSpecification1;
            s.BuyerSpecification2 = Extended.BuyerSpecification2;
            s.BuyerSpecification3 = Extended.BuyerSpecification3;
            s.BuyerSku            = Extended.BuyerSku;
            s.BuyerUpcCode        = Extended.BuyerUpcCode;
            s.SaleEnquiryDocNo    = H.DocNo;
            s.SaleToBuyerId       = H.SaleToBuyerId;
            s.SaleEnquiryHeaderId = H.SaleEnquiryHeaderId;



            var settings = new SaleEnquirySettingsService(_unitOfWork).GetSaleEnquirySettingsForDucument(H.DocTypeId, H.DivisionId, H.SiteId);

            s.SaleEnquirySettings = Mapper.Map <SaleEnquirySettings, SaleEnquirySettingsViewModel>(settings);

            ProductBuyerSettings ProductBuyerSettings = new ProductBuyerSettingsService(_unitOfWork).GetProductBuyerSettings(H.DivisionId, H.SiteId);

            s.ProductBuyerSettings = Mapper.Map <ProductBuyerSettings, ProductBuyerSettingsViewModel>(ProductBuyerSettings);

            if (temp.DealUnitId == "MT2")
            {
                string SizeinFeet = "";

                using (SqlConnection sqlConnection = new SqlConnection((string)System.Web.HttpContext.Current.Session["DefaultConnectionString"]))
                {
                    sqlConnection.Open();
                    SqlCommand Totalf = new SqlCommand("SELECT Web.FGetSizeinFeet('" + Extended.BuyerSpecification1 + "')", sqlConnection);

                    SizeinFeet = Convert.ToString(Totalf.ExecuteScalar() == DBNull.Value ? "" : Totalf.ExecuteScalar());
                }

                ViewBag.SizeinFeet = "Feet :" + SizeinFeet;
            }

            return(View("Create", s));
        }
Пример #3
0
        private ActionResult _PersonProductUid(int id)
        {
            SaleEnquiryLine         SIL  = new SaleEnquiryLineService(_unitOfWork).Find(id);
            SaleEnquiryHeader       SIH  = new SaleEnquiryHeaderService(_unitOfWork).Find(SIL.SaleEnquiryHeaderId);
            SaleEnquiryLineExtended SILE = new SaleEnquiryLineExtendedService(_unitOfWork).Find(id);

            IQueryable <PersonProductUidViewModel> p = new PersonProductUidService(_unitOfWork).GetPersonProductUidList(SIH.DocTypeId, SIH.SaleEnquiryHeaderId, SIL.SaleEnquiryLineId);

            PersonProductUidSummaryViewModel vm = new PersonProductUidSummaryViewModel();

            vm.JobInvoiceSummaryViewModel = p.ToList();
            vm.GenDocLineId = SIL.SaleEnquiryLineId;

            ViewBag.DocNo = (SIH.BuyerEnquiryNo ?? SIH.DocNo).ToString() + "-" + SILE.BuyerSpecification + "-" + SILE.BuyerSpecification1 + "-" + SILE.BuyerSpecification2 + "-" + SILE.BuyerSpecification3;
            return(PartialView("_PersonProductUid", vm));
        }
        public void Post(int SaleEnquiryLineId, string ProductName)
        {
            SaleEnquiryLine         Line         = new SaleEnquiryLineService(_unitOfWork).Find(SaleEnquiryLineId);
            SaleEnquiryLineExtended LineExtended = new SaleEnquiryLineExtendedService(_unitOfWork).Find(SaleEnquiryLineId);

            Product Product = new ProductService(_unitOfWork).Find(ProductName);

            if (Product != null)
            {
                Line.ProductId    = Product.ProductId;
                Line.ModifiedDate = DateTime.Now;
                Line.ModifiedBy   = User.Identity.Name;
                Line.ObjectState  = Model.ObjectState.Modified;
                new SaleEnquiryLineService(_unitOfWork).Update(Line);

                SaleEnquiryHeader Header = new SaleEnquiryHeaderService(_unitOfWork).Find(Line.SaleEnquiryHeaderId);

                ProductBuyer PB = new ProductBuyerService(_unitOfWork).Find((int)Header.SaleToBuyerId, Product.ProductId);
                if (PB == null)
                {
                    string BuyerSku = LineExtended.BuyerSpecification.Replace("-", "") + "-" + LineExtended.BuyerSpecification1 + "-" + LineExtended.BuyerSpecification2;

                    ProductBuyer ProdBuyer = new ProductBuyer();
                    ProdBuyer.BuyerId             = (int)Header.SaleToBuyerId;
                    ProdBuyer.ProductId           = Product.ProductId;
                    ProdBuyer.BuyerSku            = LineExtended.BuyerSku == null ? BuyerSku : LineExtended.BuyerSku;
                    ProdBuyer.BuyerUpcCode        = LineExtended.BuyerUpcCode;
                    ProdBuyer.BuyerSpecification  = LineExtended.BuyerSpecification;
                    ProdBuyer.BuyerSpecification1 = LineExtended.BuyerSpecification1;
                    ProdBuyer.BuyerSpecification2 = LineExtended.BuyerSpecification2;
                    ProdBuyer.BuyerSpecification3 = LineExtended.BuyerSpecification3;
                    ProdBuyer.CreatedDate         = DateTime.Now;
                    ProdBuyer.CreatedBy           = User.Identity.Name;
                    ProdBuyer.ModifiedDate        = DateTime.Now;
                    ProdBuyer.ModifiedBy          = User.Identity.Name;
                    ProdBuyer.ObjectState         = Model.ObjectState.Added;
                    new ProductBuyerService(_unitOfWork).Create(ProdBuyer);
                }

                SaleOrderHeader SaleOrderHeader = new SaleOrderHeaderService(_unitOfWork).Find_ByReferenceDocId(Header.DocTypeId, Header.SaleEnquiryHeaderId);
                if (SaleOrderHeader == null)
                {
                    CreateSaleOrder(Header.SaleEnquiryHeaderId);
                }
                else
                {
                    CreateSaleOrderLine(Line.SaleEnquiryLineId, SaleOrderHeader.SaleOrderHeaderId);
                }


                try
                {
                    _unitOfWork.Save();
                }

                catch (Exception ex)
                {
                    string message = _exception.HandleException(ex);
                }
            }
        }
Пример #5
0
        public ActionResult _CreatePost(SaleEnquiryLineViewModel svm)
        {
            SaleEnquiryLine   s    = Mapper.Map <SaleEnquiryLineViewModel, SaleEnquiryLine>(svm);
            SaleEnquiryHeader temp = new SaleEnquiryHeaderService(_unitOfWork).Find(s.SaleEnquiryHeaderId);

            //if (Command == "Submit" && (s.ProductId == 0))
            //    return RedirectToAction("Submit", "SaleEnquiryHeader", new { id = s.SaleEnquiryHeaderId }).Success("Data saved successfully");

            if (svm.BuyerSpecification != null || svm.BuyerSpecification1 != null || svm.BuyerSpecification2 != null || svm.BuyerSpecification3 != null)
            {
                SaleEnquiryLine es = new SaleEnquiryLineService(_unitOfWork).Find_WithLineDetail(svm.SaleEnquiryHeaderId, svm.BuyerSpecification, svm.BuyerSpecification1, svm.BuyerSpecification2, svm.BuyerSpecification3);

                if (es != null)
                {
                    if (es != null && es.SaleEnquiryLineId != svm.SaleEnquiryLineId)
                    {
                        ModelState.AddModelError("ProductId", "This Detail is already Added !");
                    }
                }
            }



            if (svm.Qty <= 0)
            {
                //ModelState.AddModelError("Qty", "Please Check Qty");
                ViewBag.LineMode = "Create";
                string message = "Please Check Qty";
                TempData["CSEXCL"] += message;
                PrepareViewBag(temp);
                return(PartialView("_Create", svm));
            }

            if (svm.DueDate < temp.DocDate)
            {
                ModelState.AddModelError("DueDate", "DueDate greater than DocDate");
            }

            if (svm.SaleEnquiryLineId <= 0)
            {
                ViewBag.LineMode = "Create";
            }
            else
            {
                ViewBag.LineMode = "Edit";
            }

            if (ModelState.IsValid)
            {
                if (svm.SaleEnquiryLineId <= 0)
                {
                    if (svm.BuyerSpecification != null || svm.BuyerSpecification1 != null || svm.BuyerSpecification2 != null || svm.BuyerSpecification3 != null)
                    {
                        ProductBuyer BP = new ProductBuyerService(_unitOfWork).Find(temp.SaleToBuyerId, svm.BuyerSpecification, svm.BuyerSpecification1, svm.BuyerSpecification2, svm.BuyerSpecification3);

                        if (BP != null)
                        {
                            s.ProductId = BP.ProductId;
                        }
                    }

                    s.CreatedDate  = DateTime.Now;
                    s.ModifiedDate = DateTime.Now;
                    s.CreatedBy    = User.Identity.Name;
                    s.ModifiedBy   = User.Identity.Name;
                    s.ObjectState  = Model.ObjectState.Added;
                    _SaleEnquiryLineService.Create(s);

                    SaleEnquiryLineExtended Extended = new SaleEnquiryLineExtended();
                    Extended.SaleEnquiryLineId   = s.SaleEnquiryLineId;
                    Extended.BuyerSpecification  = svm.BuyerSpecification;
                    Extended.BuyerSpecification1 = svm.BuyerSpecification1;
                    Extended.BuyerSpecification2 = svm.BuyerSpecification2;
                    Extended.BuyerSpecification3 = svm.BuyerSpecification3;
                    Extended.BuyerSku            = svm.BuyerSku;
                    Extended.BuyerUpcCode        = svm.BuyerUpcCode;
                    new SaleEnquiryLineExtendedService(_unitOfWork).Create(Extended);

                    //new SaleEnquiryLineStatusService(_unitOfWork).CreateLineStatus(s.SaleEnquiryLineId);

                    SaleEnquiryHeader header = new SaleEnquiryHeaderService(_unitOfWork).Find(s.SaleEnquiryHeaderId);
                    if (header.Status != (int)StatusConstants.Drafted && header.Status != (int)StatusConstants.Import)
                    {
                        header.Status       = (int)StatusConstants.Modified;
                        header.ModifiedDate = DateTime.Now;
                        header.ModifiedBy   = User.Identity.Name;
                        new SaleEnquiryHeaderService(_unitOfWork).Update(header);
                    }


                    try
                    {
                        _unitOfWork.Save();
                    }

                    catch (Exception ex)
                    {
                        string message = _exception.HandleException(ex);
                        TempData["CSEXCL"] += message;
                        PrepareViewBag(temp);
                        return(PartialView("_Create", svm));
                    }

                    LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
                    {
                        DocTypeId    = header.DocTypeId,
                        DocId        = header.SaleEnquiryHeaderId,
                        DocLineId    = s.SaleEnquiryLineId,
                        ActivityType = (int)ActivityTypeContants.Added,
                        DocNo        = header.DocNo,
                        DocDate      = header.DocDate,
                        DocStatus    = header.Status,
                    }));


                    return(RedirectToAction("_Create", new { id = s.SaleEnquiryHeaderId }));
                }
                else
                {
                    List <LogTypeViewModel> LogList = new List <LogTypeViewModel>();


                    SaleEnquiryHeader header    = new SaleEnquiryHeaderService(_unitOfWork).Find(svm.SaleEnquiryHeaderId);
                    StringBuilder     logstring = new StringBuilder();
                    int             status      = header.Status;
                    SaleEnquiryLine temp1       = _SaleEnquiryLineService.Find(svm.SaleEnquiryLineId);

                    SaleEnquiryLine ExRec = new SaleEnquiryLine();
                    ExRec = Mapper.Map <SaleEnquiryLine>(temp1);

                    //End of Tracking the Modifications::

                    temp1.DueDate                  = svm.DueDate;
                    temp1.ProductId                = svm.ProductId;
                    temp1.Specification            = svm.Specification;
                    temp1.Dimension1Id             = svm.Dimension1Id;
                    temp1.Dimension2Id             = svm.Dimension2Id;
                    temp1.Dimension3Id             = svm.Dimension3Id;
                    temp1.Dimension4Id             = svm.Dimension4Id;
                    temp1.Qty                      = svm.Qty;
                    temp1.UnitId                   = svm.UnitId;
                    temp1.DealQty                  = svm.DealQty ?? 0;
                    temp1.DealUnitId               = svm.DealUnitId;
                    temp1.UnitConversionMultiplier = svm.UnitConversionMultiplier;
                    temp1.Rate                     = svm.Rate ?? 0;
                    temp1.Amount                   = svm.Amount ?? 0;
                    temp1.Remark                   = svm.Remark;
                    temp1.ModifiedDate             = DateTime.Now;
                    temp1.ModifiedBy               = User.Identity.Name;
                    _SaleEnquiryLineService.Update(temp1);

                    SaleEnquiryLineExtended Extended = new SaleEnquiryLineExtendedService(_unitOfWork).Find(svm.SaleEnquiryLineId);
                    Extended.BuyerSpecification  = svm.BuyerSpecification;
                    Extended.BuyerSpecification1 = svm.BuyerSpecification1;
                    Extended.BuyerSpecification2 = svm.BuyerSpecification2;
                    Extended.BuyerSpecification3 = svm.BuyerSpecification3;
                    new SaleEnquiryLineExtendedService(_unitOfWork).Update(Extended);


                    LogList.Add(new LogTypeViewModel
                    {
                        ExObj = ExRec,
                        Obj   = temp1,
                    });

                    if (header.Status != (int)StatusConstants.Drafted && header.Status != (int)StatusConstants.Import)
                    {
                        header.Status       = (int)StatusConstants.Modified;
                        header.ModifiedBy   = User.Identity.Name;
                        header.ModifiedDate = DateTime.Now;
                        new SaleEnquiryHeaderService(_unitOfWork).Update(header);
                    }
                    XElement Modifications = new ModificationsCheckService().CheckChanges(LogList);
                    try
                    {
                        _unitOfWork.Save();
                    }

                    catch (Exception ex)
                    {
                        string message = _exception.HandleException(ex);
                        TempData["CSEXCL"] += message;
                        PrepareViewBag(temp);
                        return(PartialView("_Create", svm));
                    }

                    //Saving the Activity Log

                    LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
                    {
                        DocTypeId       = temp.DocTypeId,
                        DocId           = temp1.SaleEnquiryHeaderId,
                        DocLineId       = temp1.SaleEnquiryLineId,
                        ActivityType    = (int)ActivityTypeContants.Modified,
                        DocNo           = temp.DocNo,
                        xEModifications = Modifications,
                        DocDate         = temp.DocDate,
                        DocStatus       = temp.Status,
                    }));

                    //End of Saving the Activity Log

                    return(Json(new { success = true }));
                }
            }

            //string messages = string.Join("; ", ModelState.Values
            //                            .SelectMany(x => x.Errors)
            //                            .Select(x => x.ErrorMessage));
            //TempData["CSEXCL"] += messages;
            ViewBag.Status = temp.Status;
            PrepareViewBag(temp);
            return(PartialView("_Create", svm));
        }