public IHttpActionResult CreatePriceList(Pricelist priceList) { _pricingService.SavePricelists(new[] { priceList }); return(Ok(priceList)); }
protected void BindData() { StringBuilder allowedTokensString = new StringBuilder(); string[] allowedTokens = Pricelist.GetListOfAllowedTokens(); for (int i = 0; i < allowedTokens.Length; i++) { string token = allowedTokens[i]; allowedTokensString.Append(token); if (i != allowedTokens.Length - 1) { allowedTokensString.Append(", "); } } this.lblAllowedTokens.Text = allowedTokensString.ToString(); Pricelist pricelist = ProductManager.GetPricelistById(this.PricelistId); if (pricelist != null) { this.txtAdminNotes.Text = pricelist.AdminNotes; this.txtBody.Text = pricelist.Body; this.txtCacheTime.Value = pricelist.CacheTime; this.txtDescription.Text = pricelist.Description; this.txtDisplayName.Text = pricelist.DisplayName; this.txtFooter.Text = pricelist.Footer; this.txtHeader.Text = pricelist.Header; this.txtPricelistGuid.Text = pricelist.PricelistGuid; this.txtShortName.Text = pricelist.ShortName; CommonHelper.SelectListItem(this.ddlExportMode, pricelist.ExportModeId); CommonHelper.SelectListItem(this.ddlExportType, pricelist.ExportTypeId); CommonHelper.SelectListItem(this.ddlPriceAdjustmentType, pricelist.PriceAdjustmentTypeId); CommonHelper.SelectListItem(this.ddlAffiliate, pricelist.AffiliateId); this.chkOverrideIndivAdjustment.Checked = pricelist.OverrideIndivAdjustment; this.txtPriceAdjustment.Value = pricelist.PriceAdjustment; this.ddlFormatLocalization.SelectedValue = pricelist.FormatLocalization; var productVariants = new List <ProductVariant>(); var products = ProductManager.GetAllProducts(); foreach (Product product in products) { productVariants.AddRange(product.ProductVariants); } if (productVariants.Count > 0) { gvProductVariants.DataSource = productVariants; gvProductVariants.DataBind(); } } else { ddlFormatLocalization.SelectedValue = System.Globalization.CultureInfo.CurrentCulture.IetfLanguageTag; var productVariants = new List <ProductVariant>(); var products = ProductManager.GetAllProducts(); foreach (Product product in products) { productVariants.AddRange(product.ProductVariants); } if (productVariants.Count > 0) { gvProductVariants.DataSource = productVariants; gvProductVariants.DataBind(); } } }
public async Task CreatePrice() { var pricelist = new Pricelist { Id = 1 }; var catalogItem = new CatalogItem { Id = 2, Kind = CatalogItemKind.Weight, Name = "1t", Value = 1000 }; var name = "some name"; byte commissionPercentage = 10; var perKm = 1m; var loading = 2m; var lockedSteering = 3m; var lockedWheel = 4m; var overturned = 5m; var ditch = 6m; Suite.PricelistServiceMock .Setup(m => m.Get(pricelist.Id)) .ReturnsAsync(pricelist); Suite.PricelistServiceMock .Setup(m => m.IsExist(pricelist.Id)) .ReturnsAsync(true); Suite.CatalogItemServiceMock .Setup(m => m.Get(catalogItem.Id)) .ReturnsAsync(catalogItem); Suite.CatalogItemServiceMock .Setup(m => m.IsExist(catalogItem.Id)) .ReturnsAsync(true); Suite.PriceRepositoryMock .Setup(m => m.Get(pricelist.Id, catalogItem.Id)) .Returns(Task.FromResult <Price>(null)); var result = await Suite.PriceService.Create( pricelist.Id, catalogItem.Id, name, commissionPercentage, perKm, loading, lockedSteering, lockedWheel, overturned, ditch); Suite.PriceRepositoryMock .Verify(m => m.Add(It.Is <Price>( p => p.PricelistId.Equals(pricelist.Id) && p.CatalogItemId.Equals(catalogItem.Id) && p.Name.Equals(name) && p.CommissionPercentage.Equals(commissionPercentage) && p.PerKm.Equals(perKm) && p.Loading.Equals(loading) && p.LockedSteering.Equals(lockedSteering) && p.LockedWheel.Equals(lockedWheel) && p.Overturned.Equals(overturned) && p.Ditch.Equals(ditch)))); Suite.PriceRepositoryMock .Verify(m => m.Save()); Assert.Equal(pricelist.Id, result.PricelistId); Assert.Equal(catalogItem.Id, result.CatalogItemId); Assert.Equal(name, result.Name); Assert.Equal(commissionPercentage, result.CommissionPercentage); Assert.Equal(perKm, result.PerKm); Assert.Equal(loading, result.Loading); Assert.Equal(lockedSteering, result.LockedSteering); Assert.Equal(lockedWheel, result.LockedWheel); Assert.Equal(overturned, result.Overturned); Assert.Equal(ditch, result.Ditch); }
public GetVehiclesPageResult GetVehiclesPage(int pageIndex) { string name = User.Identity.Name; RAIdentityUser user = db.Users.Get(name); IdentityRole managerRole = db.Roles.GetAll().FirstOrDefault(role => role.Name == "Manager"); bool isManager = false; if (user != null) { foreach (IdentityUserRole userRole in user.Roles) { if (userRole.RoleId == managerRole.Id) { isManager = true; break; } } } List <VehicleDTO> vehiclesDTO = new List <VehicleDTO>(); IEnumerable <Vehicle> vehicles; if (isManager) { vehicles = db.Vehicles.GetVehiclePageWithImages(pageIndex, 4); } else { vehicles = db.Vehicles.GetAvailableVehiclePageWithImages(pageIndex, 4); } foreach (Vehicle vehicle in vehicles) { Service service = db.Services.GetWithItemsAndPricelists(vehicle.VehicleServiceId); VehicleDTO vehicleDTO = new VehicleDTO(vehicle); if (service.Pricelists.Count > 0) { Pricelist actualPriceList = service.Pricelists[0]; foreach (Pricelist pricelist in service.Pricelists.Where(p => p.BeginTime <= DateTime.Now.Date)) { if (pricelist.EndTime > actualPriceList.EndTime) { actualPriceList = pricelist; } } try { Item item = actualPriceList.Items.First(i => i.ItemVehicleId == vehicle.Id); vehicleDTO.PricePerHour = item.Price; } catch (Exception e) { vehicleDTO.PricePerHour = 0; } } else { vehicleDTO.PricePerHour = 0; } vehiclesDTO.Add(vehicleDTO); } GetVehiclesPageResult result = new GetVehiclesPageResult(); result.Vehicles = vehiclesDTO; result.Count = db.Vehicles.Count(); return(result); }
public Pricelist SaveInfo() { int affiliateId = int.Parse(ddlAffiliate.SelectedValue); PriceListExportModeEnum exportMode = (PriceListExportModeEnum)Enum.ToObject(typeof(PriceListExportModeEnum), int.Parse(this.ddlExportMode.SelectedItem.Value)); PriceListExportTypeEnum exportType = (PriceListExportTypeEnum)Enum.ToObject(typeof(PriceListExportTypeEnum), int.Parse(this.ddlExportType.SelectedItem.Value)); PriceAdjustmentTypeEnum priceAdjustmentType = (PriceAdjustmentTypeEnum)Enum.ToObject(typeof(PriceAdjustmentTypeEnum), int.Parse(this.ddlPriceAdjustmentType.SelectedItem.Value)); decimal priceAdjustment = txtPriceAdjustment.Value; Pricelist pricelist = this.ProductService.GetPricelistById(this.PricelistId); if (pricelist != null) { pricelist.ExportModeId = (int)exportMode; pricelist.ExportTypeId = (int)exportType; pricelist.AffiliateId = affiliateId; pricelist.DisplayName = this.txtDisplayName.Text; pricelist.ShortName = this.txtShortName.Text; pricelist.PricelistGuid = this.txtPricelistGuid.Text; pricelist.CacheTime = this.txtCacheTime.Value; pricelist.FormatLocalization = this.ddlFormatLocalization.SelectedValue; pricelist.Description = this.txtDescription.Text; pricelist.AdminNotes = this.txtAdminNotes.Text; pricelist.Header = this.txtHeader.Text; pricelist.Body = this.txtBody.Text; pricelist.Footer = this.txtFooter.Text; pricelist.PriceAdjustmentTypeId = (int)priceAdjustmentType; pricelist.PriceAdjustment = priceAdjustment; pricelist.OverrideIndivAdjustment = chkOverrideIndivAdjustment.Checked; pricelist.UpdatedOn = DateTime.UtcNow; this.ProductService.UpdatePricelist(pricelist); SavePricelistChanges(pricelist.PricelistId); } else { pricelist = new Pricelist(); pricelist.ExportModeId = (int)exportMode; pricelist.ExportTypeId = (int)exportType; pricelist.AffiliateId = affiliateId; pricelist.DisplayName = this.txtDisplayName.Text; pricelist.ShortName = this.txtShortName.Text; pricelist.PricelistGuid = this.txtPricelistGuid.Text; pricelist.CacheTime = this.txtCacheTime.Value; pricelist.FormatLocalization = this.ddlFormatLocalization.SelectedValue; pricelist.Description = this.txtDescription.Text; pricelist.AdminNotes = this.txtAdminNotes.Text; pricelist.Header = this.txtHeader.Text; pricelist.Body = this.txtBody.Text; pricelist.Footer = this.txtFooter.Text; pricelist.PriceAdjustmentTypeId = (int)priceAdjustmentType; pricelist.PriceAdjustment = priceAdjustment; pricelist.OverrideIndivAdjustment = chkOverrideIndivAdjustment.Checked; pricelist.CreatedOn = DateTime.UtcNow; pricelist.UpdatedOn = DateTime.UtcNow; this.ProductService.InsertPricelist(pricelist); SavePricelistChanges(pricelist.PricelistId); } return(pricelist); }
public IHttpActionResult PostPricelist(TicketPricesHelpModel t) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //validacije if (t.Hourly <= 0 || t.Daily <= 0 || t.Monthly <= 0 || t.Yearly <= 0) { return(Content(HttpStatusCode.BadRequest, "Prices can't be less then 1!")); } if (t.PriceList.StartOfValidity.ToString() == "" || t.PriceList.EndOfValidity.ToString() == "" || t.PriceList.StartOfValidity == null || t.PriceList.EndOfValidity == null) { return(Content(HttpStatusCode.BadRequest, "Start or end of validity can't be empty!")); } if (t.PriceList.StartOfValidity.Value.Date < DateTime.Now.Date) { return(Content(HttpStatusCode.BadRequest, "You can't make pricelist for past!")); } if (t.PriceList.StartOfValidity > t.PriceList.EndOfValidity) { return(Content(HttpStatusCode.BadRequest, "Start of validity is bigger then end of validity!")); } try { Pricelist prl = new Pricelist(); prl = t.PriceList; prl.TicketPricess = new List <TicketPrices>(); TicketPrices tp = new TicketPrices(); tp.TicketTypeId = unitOfWork.TicketTypes.Find(k => k.Name == "Hourly").FirstOrDefault().Id; tp.Price = t.Hourly; prl.TicketPricess.Add(tp); tp = new TicketPrices(); tp.TicketTypeId = unitOfWork.TicketTypes.Find(k => k.Name == "Daily").FirstOrDefault().Id; //tp.PricelistId = unitOfWork.PriceLists.Get(hm.IdPriceList).Id; tp.Price = t.Daily; prl.TicketPricess.Add(tp); tp = new TicketPrices(); tp.TicketTypeId = unitOfWork.TicketTypes.Find(k => k.Name == "Monthly").FirstOrDefault().Id; //tp.PricelistId = unitOfWork.PriceLists.Get(hm.IdPriceList).Id; tp.Price = t.Monthly; prl.TicketPricess.Add(tp); tp = new TicketPrices(); tp.TicketTypeId = unitOfWork.TicketTypes.Find(k => k.Name == "Yearly").FirstOrDefault().Id; //tp.PricelistId = unitOfWork.PriceLists.Get(hm.IdPriceList).Id; tp.Price = t.Yearly; prl.TicketPricess.Add(tp); unitOfWork.PriceLists.Add(prl); unitOfWork.Complete(); return(Ok()); } catch (Exception ex) { return(NotFound()); } }
public IHttpActionResult UpdatePriceList(Pricelist priceList) { _pricingService.SavePricelists(new[] { priceList }); return(StatusCode(HttpStatusCode.NoContent)); }
public Pricelist GetPricelist() { Pricelist pricelist = unitOfWork.PriceLists.GetAllPricelists().ToList().FindLast(x => x.EndOfValidity.Value.Date >= DateTime.Now.Date && x.StartOfValidity.Value.Date <= DateTime.Now.Date); return(pricelist); }
public Pricelist GetPricelistLast() { Pricelist pricelist = unitOfWork.PriceLists.GetAllPricelists().ToList().Last(); return(pricelist); }
public CreatePriceListViewModel(IViewModelsFactory <IPriceListOverviewStepViewModel> vmFactory, Pricelist item) { RegisterStep(vmFactory.GetViewModelInstance(new KeyValuePair <string, object>("item", item))); }
public PriceListOverviewStepViewModel(IRepositoryFactory <IPricelistRepository> repositoryFactory, IRepositoryFactory <IAppConfigRepository> appConfigRepositoryFactory, ICatalogEntityFactory entityFactory, IAuthenticationContext authContext, Pricelist item) : base(repositoryFactory, appConfigRepositoryFactory, entityFactory, authContext, item) { }
public int Add(Pricelist p) { throw new NotImplementedException(); }
public async Task <ActionResult> UpdatePriceList([FromBody] Pricelist priceList) { await _pricingService.SavePricelistsAsync(new[] { priceList }); return(NoContent()); }
public async Task <ActionResult <Pricelist> > CreatePriceList([FromBody] Pricelist priceList) { await _pricingService.SavePricelistsAsync(new[] { priceList }); return(Ok(priceList)); }
public IHttpActionResult Buy(string karta, PayPalPaymentDetails paymentDetails) { var userId = User.Identity.GetUserId(); ApplicationUser user = new ApplicationUser(); UserType userType; if (userId == null) { user = this.unitOfWork.User.Get("appu"); userType = this.unitOfWork.UserType.Get(1); } else { user = this.unitOfWork.User.Get(userId); userType = this.unitOfWork.UserType.Get((int)user.UserTypeID); } Pricelist pricelist = unitOfWork.Pricelist.Find(x => x.To == null).FirstOrDefault(); if (pricelist == null) { return(BadRequest("trenutno ne postoji cenovnik")); } PriceFinal priceFinal = unitOfWork.PriceFinal.GetAll().Where(z => z.PricelistID == pricelist.ID).FirstOrDefault(); if (priceFinal == null) { return(BadRequest("trenutno ne postoji cena trenutni cenovnik")); } DateTime dateTimeNow = DateTime.UtcNow; var expires = ExpiresAt(karta); Ticket ticket; if (userId == null) { ticket = new Ticket() { BoughtAt = dateTimeNow, PayPalPaymentDetails = paymentDetails, TicketType = karta, UserID = "appu", User = user, PriceRSD = priceFinal.Price * 1, Expires = expires, //PriceFinal = priceFinal }; } else { ticket = new Ticket() { BoughtAt = dateTimeNow, PayPalPaymentDetails = paymentDetails, PriceRSD = priceFinal.Price * userType.Coefficient, TicketType = karta, UserID = userId, User = user, Expires = expires, //PriceFinal = priceFinal }; if (user.Status == null) { ticket.PriceRSD = priceFinal.Price * 1; } //var str = $"Bought at:{ticket.BoughtAt}\t Price in RSD:{ticket.PriceRSD}\t Ticket type:{ticket.TicketType}\t UserID:{ticket.UserID}\n\n Thank You for using our service."; //SendEMailHelper.Send(user.Email, "Ticket details from transport service", // str); } unitOfWork.Ticket.Add(ticket); //unitOfWork.Ticket.att unitOfWork.Complete(); PriceFinal p = new PriceFinal() { Price = userType.Coefficient * priceFinal.Price, PricelistID = pricelist.ID, Pricelist = pricelist, Ticket = ticket }; unitOfWork.PriceFinal.Add(p); unitOfWork.Complete(); ticket.PriceFinal = p; unitOfWork.Ticket.Update(ticket); unitOfWork.Complete(); return(Ok(ticket)); }
public void Init(int id, Pricelist pricelist) { _pricelist = pricelist; base.Init(id); }