Example #1
0
        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));
        }
Example #2
0
        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));
            }
        }
Example #3
0
 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());
 }
Example #4
0
        public Task <String> GetPrice([Required] PriceRequestModel request)
        {
            if (request is null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            return(GetPrice(request, store => store.GetProductPrice));
        }
Example #5
0
        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));
        }
Example #6
0
        // 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));
            }
        }
Example #7
0
        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;
            }
        }
Example #8
0
        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>();
        }
Example #9
0
        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>();
        }
Example #10
0
        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));
 }