private Task <String> GetPrice(PriceRequestModel request, Func <IStore, Func <String, Task <String> > > create) { IStore store = _storeFactory(request.Store); var priceFunc = create(store); return(priceFunc(request.Url)); }
public ActionResult Create() { var errorViewModel = new ErrorViewModel(); try { var customerList = SelectListItemExtension.PopulateDropdownList(_PriceRequestService.BMSUnit.CustomerRepository.GetAll().ToList <tblCustomer>(), "Id", "CustomerName").ToList(); var supplierList = SelectListItemExtension.PopulateDropdownList(_PriceRequestService.BMSUnit.SupplierRepository.GetAll().ToList <tblSupplier>(), "Id", "SupplierName").ToList(); var SalesCallId = 34; var model = new PriceRequestModel() { SalesCallId = Convert.ToInt64(SalesCallId), PriceRequestDate = DateTime.Now, ddlSupplier = supplierList, ddlCustomer = customerList }; return(PartialView("_Create", model)); } catch (Exception ex) { errorViewModel.ErrorMessage = CommonExceptionMessage.GetExceptionMessage(ex); return(PartialView("_ErrorPopUp", errorViewModel)); } }
public async Task <Price> GetPriceByProductId(PriceRequestModel priceRequestModel) { return(await _price.Find <Price>(x => x.ProductId == priceRequestModel.ProductId && x.ReleaseDate <= priceRequestModel.RequestDate && x.ExpireDate > priceRequestModel.RequestDate).FirstOrDefaultAsync()); }
public Task <String> GetPrice([Required] PriceRequestModel request) { if (request is null) { throw new ArgumentNullException(nameof(request)); } return(GetPrice(request, store => store.GetProductPrice)); }
public async Task <IActionResult> GetProductPrice([FromQuery] PriceRequestModel priceRequestModel) { var price = await _priceRepository.GetPriceByProductId(priceRequestModel); if (price == null) { return(NotFound($"The Price whose Product ID is equal to {priceRequestModel.ProductId} cannot be found.")); } return(Ok(price)); }
// GET: Sales Budget/Edit/By ID public ActionResult Edit(long id) { var errorViewModel = new ErrorViewModel(); try { var model = _PriceRequestService.BMSUnit.PriceRequestRepository.GetByID(id); Session["PriceRequestMasterEditId"] = model.Id; var customerList = SelectListItemExtension.PopulateDropdownList(_PriceRequestService.BMSUnit.CustomerRepository.GetAll().ToList <tblCustomer>(), "Id", "CustomerName").ToList(); var supplierList = SelectListItemExtension.PopulateDropdownList(_PriceRequestService.BMSUnit.SupplierRepository.GetAll().ToList <tblSupplier>(), "Id", "SupplierName").ToList(); if (model != null) { PriceRequestModel viewModel = new PriceRequestModel { Id = Convert.ToInt64(model.Id), SalesCallId = Convert.ToInt64(model.SalesCallId), PriceRequestDate = model.PriceRequestDate, CustomerId = model.CustomerId, SupplierId = model.SupplierId, ddlSupplier = supplierList, ddlCustomer = customerList }; return(PartialView("_Edit", viewModel)); } else { errorViewModel.ErrorMessage = CommonMessage.ErrorOccurred; return(PartialView("_ErrorPopUp", errorViewModel)); } } catch (Exception ex) { errorViewModel.ErrorMessage = CommonExceptionMessage.GetExceptionMessage(ex); return(PartialView("_ErrorPopUp", errorViewModel)); } }
public PriceResponseModel GetProductPrice(PriceRequestModel priceRequestModel) { try { var client = new RestClient { BaseUrl = new Uri(_projectBaseUrlSettings.Price) }; var request = new RestRequest("api/v1/prices", Method.GET); request.AddParameter("productId", priceRequestModel.ProductId, ParameterType.QueryString); request.AddParameter("requestDate", priceRequestModel.RequestDate, ParameterType.QueryString); var response = client.Execute <PriceResponseModel>(request); return(response.Data); } catch (Exception ex) { throw; } }
public async Task When_Price_Is_Given_Null_It_Should_Be_Return_NotFound() { Price nullPrice = null; var priceRepositoryMock = new Mock <IPriceRepository>(); priceRepositoryMock.Setup(p => p.GetPriceByProductId(new PriceRequestModel() { ProductId = 5, RequestDate = DateTime.UtcNow })).Returns(Task.FromResult(nullPrice)); var priceController = new PriceController(priceRepositoryMock.Object); var priceRequestModel = new PriceRequestModel() { ProductId = 5, RequestDate = new DateTime(2020, 5, 5) }; var actionResult = await priceController.GetProductPrice(priceRequestModel); actionResult.Should().BeOfType <NotFoundObjectResult>(); }
public async Task When_Price_Is_Given_It_Should_Be_Return_Ok() { Price price = new Price() { Id = "10101", ProductId = 5, Value = 10, CampaignId = 10, IsActive = true }; var priceRequestModel = new PriceRequestModel() { ProductId = 5, RequestDate = DateTime.UtcNow }; var priceRepositoryMock = new Mock <IPriceRepository>(); priceRepositoryMock.Setup(p => p.GetPriceByProductId(priceRequestModel)).Returns(Task.FromResult(price)); var priceController = new PriceController(priceRepositoryMock.Object); var actionResult = await priceController.GetProductPrice(priceRequestModel); actionResult.Should().BeOfType <OkObjectResult>(); }
public JsonResult SavePriceRequestData(List <PriceRequestModel> lstSampleSubmissionMaster, List <PriceRequestDetailViewModel> lstSampleSubmissionDetails) { var strMessage = string.Empty; try { foreach (var item in lstSampleSubmissionMaster) { PriceRequestModel masterEntityModel = new PriceRequestModel(); #region Current User var userName = HttpContext.User.Identity.Name; masterEntityModel.IUser = userName; masterEntityModel.IDate = DateTime.Now; masterEntityModel.EDate = DateTime.Now; #endregion masterEntityModel.SalesCallId = item.SalesCallId; masterEntityModel.PriceRequestDate = item.PriceRequestDate; masterEntityModel.SupplierId = item.SupplierId; masterEntityModel.CustomerId = item.CustomerId; //masterList.Add(masterEntityModel); var entity = masterEntityModel.ToEntity(); _PriceRequestService.BMSUnit.PriceRequestRepository.Add(entity); _PriceRequestService.BMSUnit.PriceRequestRepository.SaveChanges(); Session["PriceRequestMasterId"] = entity.Id; } // Add new detail information foreach (var item in lstSampleSubmissionDetails) { PriceRequestDetailViewModel entityDetailModel = new PriceRequestDetailViewModel(); entityDetailModel.PriceRequestId = Convert.ToInt64(Convert.ToInt64(Session["PriceRequestMasterId"])); entityDetailModel.ProductId = item.ArticleId; entityDetailModel.PriceTermId = item.PriceTermId; entityDetailModel.ExpectedPrice = item.ExpectedPrice; entityDetailModel.ReceivedPrice = item.ReceivedPrice; entityDetailModel.AsOnDate = item.AsOnDate; entityDetailModel.ValidityDate = item.ValidityDate; entityDetailModel.MOQ = item.MOQ; entityDetailModel.ShipmentCountryId = item.ShipmentCountryId; entityDetailModel.ShipmentLeadTime = item.ShipmentLeadTime; entityDetailModel.PriceRequestStatus = item.PriceRequestStatus; var detailEntity = entityDetailModel.ToEntity(); _PriceRequestService.BMSUnit.PriceRequestDetailRepository.Add(detailEntity); _PriceRequestService.BMSUnit.PriceRequestDetailRepository.SaveChanges(); } strMessage = "Information has been saved successfully"; } catch (Exception ex) { strMessage = CommonExceptionMessage.GetExceptionMessage(ex, CommonAction.Save); } return(Json(new { strMessage = strMessage })); }
public static tblPriceRequest ToEntity(this PriceRequestModel model) { return(Mapper.Map <PriceRequestModel, tblPriceRequest>(model)); }