public ActionResult View(int id) { var item = pricelistLogic.GetPricelist(id); var model = new PricelistViewModel { ID = item.ID, ContractId = item.ContractId, Data = item.Data, FinRepCenterId = item.FinRepCenterId, From = item.From, Name = item.Name, ProductId = item.ProductId, To = item.To, Comment = item.Comment, IsDataExists = item.Data != null, Prices = pricelistLogic.GetPrices(id).ToList() }; model.Dictionaries.Add("FinRepCenter", dataLogic.GetFinRepCenters()); model.Dictionaries.Add("Currency", dataLogic.GetCurrencies()); model.Dictionaries.Add("Contract", dataLogic.GetContracts()); model.Dictionaries.Add("Product", dataLogic.GetProducts()); model.Dictionaries.Add("Service", dataLogic.GetServiceTypes()); model.Dictionaries.Add("Vat", dataLogic.GetVats()); return(View(model)); }
public IHttpActionResult GetPricelist() { PricelistViewModel model = new PricelistViewModel(); model.TicketPrice = new Dictionary <string, int>(); foreach (var item in UnitOfWork.TicketPrice.GetAll()) { model.TicketPrice.Add(item.Type.ToString(), (int)item.Price); } return(Ok(model)); }
private PricelistViewModel AdaptPricelistViewModel() { PricelistViewModel model = new PricelistViewModel(); model.TicketPrice = new Dictionary <string, int>(); foreach (var item in UnitOfWork.TicketPrice.GetAll()) { model.TicketPrice.Add(item.Type.ToString(), (int)item.Price); } return(model); }
public IHttpActionResult UpdatePricelist(PricelistViewModel model) { try { Pricelist OldPricelist = UnitOfWork.Pricelist.Find(x => x.Active == true).First(); Pricelist newPricelist = new Pricelist(); newPricelist.ActivePrices = OldPricelist.ActivePrices; OldPricelist.Active = false; OldPricelist.EndTime = DateTime.Today; newPricelist.StartTime = DateTime.Today; newPricelist.Active = true; int cnt = newPricelist.ActivePrices.Count; for (int i = 0; i < cnt; i++) { if (newPricelist.ActivePrices.ToList()[i].Type == TicketType.Vremenska) { newPricelist.ActivePrices.ToList()[i].Price = model.TicketPrice["Vremenska"]; } else if (newPricelist.ActivePrices.ToList()[i].Type == TicketType.Dnevna) { newPricelist.ActivePrices.ToList()[i].Price = model.TicketPrice["Dnevna"]; } else if (newPricelist.ActivePrices.ToList()[i].Type == TicketType.Mesecna) { newPricelist.ActivePrices.ToList()[i].Price = model.TicketPrice["Mesecna"]; } else { newPricelist.ActivePrices.ToList()[i].Price = model.TicketPrice["Godisnja"]; } newPricelist.ActivePrices.ToList()[i].Pricelist = newPricelist; } UnitOfWork.Pricelist.Update(OldPricelist); UnitOfWork.Pricelist.Add(newPricelist); UnitOfWork.Complete(); var tickets = UnitOfWork.TicketPrice.GetAll(); for (int i = 0; i < 4; i++) { tickets.ToList()[i].Pricelist = UnitOfWork.Pricelist.Find(x => x.Active == true).First(); UnitOfWork.TicketPrice.Update(tickets.ToList()[i]); } UnitOfWork.Complete(); return(Ok($"Pricelist successfully updated.")); } catch (Exception ex) { return(InternalServerError(ex)); } }
public ActionResult Edit(int id) { // TODO: roles var pricelist = pricelistLogic.GetPricelist(id); // TEMP: if (pricelist.ProductId.HasValue) { pricelistLogic.FixPricelistKinds(id, pricelist.ProductId.Value); } var model = new PricelistViewModel { ID = pricelist.ID, Name = pricelist.Name, Comment = pricelist.Comment, ProductId = pricelist.ProductId, ContractId = pricelist.ContractId, FinRepCenterId = pricelist.FinRepCenterId, From = pricelist.From, To = pricelist.To, Prices = pricelistLogic.GetPrices(id).ToList(), PriceKinds = pricelistLogic.GetPriceKinds(id).ToList() }; model.Dictionaries.Add("ContractorByContract", dataLogic.GetContractorsByContract()); model.Dictionaries.Add("FinRepCenter", dataLogic.GetFinRepCenters()); model.Dictionaries.Add("Contractor", dataLogic.GetContractors()); model.Dictionaries.Add("Contract", dataLogic.GetContracts()); model.Dictionaries.Add("Currency", dataLogic.GetCurrencies()); model.Dictionaries.Add("Product", dataLogic.GetProducts()); model.Dictionaries.Add("Service", dataLogic.GetServiceTypes()); model.Dictionaries.Add("Measure", dataLogic.GetMeasures()); model.Dictionaries.Add("Vat", dataLogic.GetVats()); return(View(model)); }