public void TestOrderController_OrderInQuote_ShouldReturnQuoteItemsModel() { QuoteItemsModel model = new QuoteItemsModel(); Response = quoteService.GetQuoteItemsModel(user, model); Assert.That(Response.Model, Is.Not.EqualTo(null)); }
public ActionResult QuoteItems(QuoteItemsModel model) { model.LoadQuoteItems = true; this.ServiceResponse = quoteService.GetQuoteItemsModel(this.CurrentUser, model); model = this.ServiceResponse.Model as QuoteItemsModel; bool showCommissionConvertPopup = false; if (ProcessServiceResponse(this.ServiceResponse)) { this.Session["ImportProjectId"] = model.ProjectId; this.Session["ImportQuoteId"] = model.QuoteId; //if(model.ActiveQuoteSummary.TotalList > Convert.ToDecimal(WebConfigurationManager.AppSettings["dpo.sales.commission.default.totalList"])) //{ // if(!model.IsCommission && model.CommissionConvertNo == false) // { // showCommissionConvertPopup = true; // } //} } this.RouteData.Values["action"] = "QuoteItems"; model.ShowCommissionConvertPopup = showCommissionConvertPopup; return((this.IsPostRequest) ? (ViewResultBase)PartialView("QuoteItems", model) : View("QuoteItems", model)); }
public ActionResult QuotePackageDeleteAttachFile(QuoteItemsModel model) { this.ServiceResponse = new ServiceResponse(); if (model.QuoteId.HasValue) { var quotePackageDirectory = Utilities.GetQuotePackageDirectory(model.QuoteId.Value); if (Request.Form["chkDeleteAllAttached"] != null) { foreach (FileInfo file in new DirectoryInfo(quotePackageDirectory).GetFiles()) { file.Delete(); } } else { foreach (var key in Request.Form.Keys) { var filename = key.ToString(); if (filename.StartsWith("chkAttached-")) { var file = quotePackageDirectory + filename.Replace("chkAttached-", ""); if (System.IO.File.Exists(file)) { System.IO.File.Delete(file); } } } } } return(base.RedirectToAction("QuotePackage", new { ProjectId = model.ProjectId, QuoteId = model.QuoteId })); }
public void TestQuoteServices_GetQuoteQuotePackage() { QuoteItemsModel model = new QuoteItemsModel(); model.QuoteId = _quoteId; this.Response = quoteService.GetQuoteQuotePackage(user, model); Assert.That(this.Response.HasError, Is.EqualTo(false)); model = this.Response.Model as QuoteItemsModel; QuoteItemListModel quoteItemListModel = model.Items.FirstOrDefault(); Assert.That(quoteItemListModel, Is.Not.EqualTo(null)); //make sure it has the QuotePackage Assert.That(model.QuotePackage, Is.Not.EqualTo(null)); if (model.QuotePackage.Count > 0) { Assert.That(model.QuotePackage.First().DocumentTypeId, Is.Not.EqualTo(null)); } if (model.QuotePackageAttachedFiles.Count > 0) { Assert.That(model.QuotePackageAttachedFiles, Is.Not.EqualTo(null)); Assert.That(model.QuotePackageAttachedFiles.First().FileName, Is.EqualTo(model.QuotePackage.First().FileName)); Assert.That(model.QuotePackageAttachedFiles.First().Type.ToLower(), Is.EqualTo("quotepackageattachedfile")); Assert.That(model.QuotePackageAttachedFiles.First().Description, Is.Not.EqualTo(string.Empty)); } }
public ServiceResponse GetQuoteItemsModel(long?quoteId) { QuoteItemsLoadOptions loadOptions = quoteService.getQuoteItemsLoadOptions(quoteId.Value); QuoteItemsModel model = new QuoteItemsModel() { QuoteId = quoteId, LoadQuoteItems = loadOptions.LoadQuoteItems, LoadDiscountRequests = loadOptions.LoadDiscountRequests, LoadCommissionRequests = loadOptions.LoadCommissionRequests, LoadQuoteOrders = loadOptions.LoadQuoteOrders }; return(quoteService.GetQuoteItemsModel(this.CurrentUser, model)); }
public ActionResult OrderInQuote(QuoteItemsModel model) { model.LoadQuoteItems = true; this.ServiceResponse = quoteService.GetQuoteItemsModel(this.CurrentUser, model); model = this.ServiceResponse.Model as QuoteItemsModel; if (ProcessServiceResponse(this.ServiceResponse)) { this.Session["ImportProjectId"] = model.ProjectId; this.Session["ImportQuoteId"] = model.QuoteId; } this.RouteData.Values["action"] = "OrderInQuote"; return((this.IsPostRequest) ? (ViewResultBase)PartialView("OrderInQuote", model) : View("OrderInQuote", model)); }
public void TestOrderController_OrderInQuote_ShouldRenderPartialViewOrderInQuote(string httpMethod) { QuoteItemsModel model = new QuoteItemsModel(); var httpContextMock = FakeHttpContext(httpMethod); var controllerMock = new Mock <ControllerBase>(MockBehavior.Loose); var routeData = new RouteData(); routeData.Values.Add("key1", "/ProjectDashboard/Orders"); var controllerContext = new ControllerContext(httpContextMock, routeData, controllerMock.Object); orderController.ControllerContext = controllerContext; var result = orderController.OrderInQuote(model) as ViewResult; Assert.That(result.ViewName, Is.EqualTo("OrderInQuote")); }
public ActionResult QuotePackageAttachFile(FormCollection formCollection, QuoteItemsModel model) { this.ServiceResponse = new ServiceResponse(); if (Request != null && Request.Files.Count == 1 && model.QuoteId.HasValue) { var filebase = Request.Files[0]; var message = Utilities.SavePostedFile(filebase, Utilities.GetQuotePackageDirectory(model.QuoteId.Value), 25000); if (message != null) { this.ServiceResponse.AddError(message); } else { this.ServiceResponse.AddSuccess(string.Format("File {0} attached", filebase)); } } return(base.RedirectToAction("QuotePackage", new { ProjectId = model.ProjectId, QuoteId = model.QuoteId })); }
public ActionResult QuoteItemsWithProductsHasNoClassCode(QuoteItemsModel model) { model.LoadQuoteItems = true; this.ServiceResponse = quoteService.GetQuoteItemsModel(this.CurrentUser, model); model = this.ServiceResponse.Model as QuoteItemsModel; var listOfProductsWithNoClassCode = new List <string>(); foreach (var item in model.Items) { if (item.ProductClassCode == string.Empty) { listOfProductsWithNoClassCode.Add(item.ProductNumber); } } foreach (string productNumber in listOfProductsWithNoClassCode) { this.ServiceResponse.AddError(productNumber, string.Format(Resources.ResourceModelProject.MP142, productNumber)); } QuoteModel quoteModel = quoteService.GetQuoteModel(this.CurrentUser, model.ProjectId, model.QuoteId).Model as QuoteModel; ViewData["PageMessages"] = this.ServiceResponse.Messages as Messages; if (this.IsPostRequest) { return((ViewResultBase)PartialView("QuoteItems", model)); } if (this.ServiceResponse.IsOK == false) { return(View("QuoteItems", model)); } return(RedirectToAction("OrderForm", new { quoteModel.ProjectId, quoteModel.QuoteId })); }
public void TestQuoteServices_GetQuoteItemsModel() { QuoteItemsModel model = new QuoteItemsModel(); model.QuoteId = _quoteId; this.Response = quoteService.GetQuoteItemsModel(user, model); Assert.That(this.Response.HasError, Is.EqualTo(false)); model = this.Response.Model as QuoteItemsModel; Assert.That(model.QuoteId, Is.EqualTo(_quoteId)); Assert.That(model.ProjectId, Is.EqualTo(_projectId)); QuoteListModel activeQuote = model.ActiveQuoteSummary; Assert.That(activeQuote, Is.Not.EqualTo(null)); Assert.That(activeQuote.ProjectId, Is.EqualTo(_projectId)); Assert.That(activeQuote.QuoteId, Is.EqualTo(_quoteId)); //make sure has the <QuoteItemListModel Assert.That(model.Items, Is.Not.EqualTo(null)); //make sure it load discount request Model Assert.That(model.DiscountRequests, Is.Not.EqualTo(null)); //maker sure it load commission reuqets Assert.That(model.CommissionRequests, Is.Not.EqualTo(null)); }
public ActionResult QuoteImport(FormCollection formCollection, QuoteModel model) { log.InfoFormat("Enter QuoteImport Action: {0}", System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); this.ServiceResponse = new ServiceResponse(); if (Request != null && Request.Files.Count == 1) { log.Debug("File import count is greater than 1.get the First file from file list"); var file = Request.Files[0]; if (file != null && file.ContentLength > 0) { log.Debug("File length is greater than 0"); log.Debug("get file path extension"); if (Path.GetExtension(file.FileName).ToLower() == ".xls" || Path.GetExtension(file.FileName).ToLower() == ".xlsx" || Path.GetExtension(file.FileName).ToLower() == ".csv") { log.Debug("excel file"); var csvReader = new StreamReader(file.InputStream); var csv = new CsvHelper.CsvReader(csvReader); log.Info("ImportsProductsFromCSV() executing.."); this.ServiceResponse = quoteService.ImportProductsFromCSV(this.CurrentUser, csv, model); log.Info("ImportsProductsFromCSV() finished"); } //uncommment these line when go to VRV-Express branch else if (Path.GetExtension(file.FileName).ToLower() == ".xml") { log.Debug("xml file"); log.Debug("ImportProductsFromXml() executing..."); this.ServiceResponse = quoteService.ImportProductsFromXml(this.CurrentUser, file, model); log.Debug("ImportProductsFromXml finished"); } else { this.ServiceResponse.Messages.AddError(Resources.ResourceUI.InvalidFile); log.Error(this.ServiceResponse.Messages.Items.Last()); // get the latest error message } } } var qim = new QuoteItemsModel { ProjectId = model.ProjectId.Value, QuoteId = model.QuoteId.Value, LoadQuoteItems = true }; log.Debug("execute GetQuoteItemsModel"); this.ServiceResponse.Model = quoteService.GetQuoteItemsModel(this.CurrentUser, qim).Model as QuoteItemsModel; log.Debug("GetQuoteItemsModel finished"); this.ShowKeyMessagesOnPage = true; ProcessServiceResponse(this.ServiceResponse); if (this.ServiceResponse.HasError) { foreach (var message in this.ServiceResponse.Messages.Items) { log.Error(message.Text); } } else { foreach (var message in this.ServiceResponse.Messages.Items) { log.Debug(message.Text); } } this.RouteData.Values["action"] = "QuoteItems"; this.RouteData.Values["id"] = model.ProjectId + "/" + model.QuoteId; // this line use to fixed the paging issues after imports //return View("QuoteItems", this.ServiceResponse.Model); log.Info("Finished QuoteImport Action"); log.Info("Return to QuoteItems View"); return(base.RedirectToAction("QuoteItems", new { ProjectId = model.ProjectId, QuoteId = model.QuoteId })); }
public ServiceResponse AdjustQuoteItems(QuoteItemsModel quoteItemsModel) { return(new QuoteServices().AdjustQuoteItems(this.CurrentUser, quoteItemsModel)); }