public async Task <ActionResult> Enroll(int id, bool authenticated) { var offer = await OfferFacade.GetOfferAsync(id); string name = ""; if (offer.CreatorRole == UserRole.Corporation) { var corporation = await UserFacade.GetCorporationAsync(offer.CreatorId); name = corporation.Name; } if (offer.CreatorRole == UserRole.Freelancer) { var freelancer = await UserFacade.GetFreelancerAsync(offer.CreatorId); name = freelancer.Name; } if (!authenticated) { var model = new OfferEnrollUnregisteredViewModel { Offer = offer, CreatorId = offer.CreatorId, Creator = name, OfferId = offer.Id }; return(View("OfferEnrollUnregisteredView", model)); } UserDTO loggedInUser = await UserFacade.GetUserAccordingToUsernameAsync(User.Identity.Name); var offerEnrollModel = new OfferEnrollRegisteredViewModel { Offer = offer, CreatorId = offer.CreatorId, Creator = name, OfferId = offer.Id, User = loggedInUser }; return(View("OfferEnrollRegisteredView", offerEnrollModel)); }
// GET: OffersController/Details/5 public async Task <ActionResult> Details(int id) { var model = await OfferFacade.GetOfferAsync(id); var newModel = await InitializeOfferDetailViewModel(model); return(View("OfferDetailView", newModel)); }
public async Task <ActionResult> EnrollUnregistered(FormCollection collection, int id) { try { UnregisteredUserDTO newUnregistered = new UnregisteredUserDTO(); foreach (string key in collection.AllKeys) { switch (key) { case "Name": newUnregistered.Name = collection[key]; break; case "Email": newUnregistered.Email = collection[key]; break; case "PhoneNumber": newUnregistered.PhoneNumber = collection[key]; break; case "Info": newUnregistered.Info = collection[key]; break; case "Location": newUnregistered.Location = collection[key]; break; } } await UserFacade.CreateUnregisteredAsync(newUnregistered); // Tuto cast kodu prosim zignorujme. DB nam pri Create vzdy vracala Id 0, hoci objekt ho ma v DB ako napr. 47. // Inak neviem ako ziskat toho uzivatela var unregisteredUsersLikeThis = await UserFacade.GetUnregisteredsAsync(new UnregisteredUserFilterDTO { SearchedName = newUnregistered.Name, SearchedLocation = newUnregistered.Location }); var offer = await OfferFacade.GetOfferAsync(id); offer.ApplierId = unregisteredUsersLikeThis.Items.Last().Id; offer.ApplierRole = UserRole.Unregistered; offer.State = State.InProgress; await OfferFacade.EditOfferAsync(offer); return(View("EnrollmentCompleteView")); } catch { return(View("~/Views/Home/GeneralExceptionView.cshtml")); } }
public async Task <ActionResult> Create(FormCollection collection) { try { OfferDTO newOffer = new OfferDTO(); string name = "", details = ""; foreach (string key in collection.AllKeys) { switch (key) { case "Name": name = collection[key]; newOffer.Name = collection[key]; break; case "AdditionalInfo": newOffer.AdditionalInfo = collection[key]; break; case "Details": details = collection[key]; break; case "Price": if (Double.TryParse(collection[key], out double value)) { newOffer.Price = (long)Math.Truncate(value); } break; case "Category": if (Enum.TryParse(collection[key], out Category newSex)) { newOffer.Category = newSex; } break; } } newOffer.Description = name + ": " + details; var user = await UserFacade.GetUserAccordingToUsernameAsync(User.Identity.Name); newOffer.CreatorId = user.Id; newOffer.CreatorRole = (UserRole)Enum.Parse(typeof(UserRole), user.UserRole); int newId = await OfferFacade.CreateOfferAsync(newOffer); return(RedirectToAction("Index")); } catch { return(View("~/Views/Home/GeneralExceptionView.cshtml")); } }
public async Task <ActionResult> FinishOffer(int id) { var offer = await OfferFacade.GetOfferAsync(id); offer.State = State.Finished; await OfferFacade.EditOfferAsync(offer); return(RedirectToAction("Details", new { id = id })); }
// GET: OffersController public async Task <ActionResult> Index(int page = 1) { var allOffers = await OfferFacade.GetAllOffersAsync(); var model = await InitializeOfferListViewModel(new QueryResultDTO <OfferDTO, OfferFilterDTO> { Items = allOffers, Filter = new OfferFilterDTO(), RequestedPageNumber = page, PageSize = PageSize, TotalItemsCount = allOffers.Count() }); return(View("OfferListView", model)); }
public async Task <ActionResult> Index(OfferListViewModel model) { model.Filter.PageSize = PageSize; Session[FilterSessionKey] = model.Filter; var result = await OfferFacade.ListOffersAsync(model.Filter); var newModel = await InitializeOfferListViewModel(result); return(View("OfferListView", newModel)); }
// GET: OffersController/Delete/5 public async Task <ActionResult> Delete(int id) { bool success = await OfferFacade.DeleteOfferAsync(id); if (!success) { return(View("~/Views/Home/GeneralExceptionView.cshtml")); } return(RedirectToAction("Index")); }
public async Task <ActionResult> EnrollRegistered(int id, int userId, string userRole) { var offer = await OfferFacade.GetOfferAsync(id); offer.ApplierId = userId; if (Enum.TryParse <UserRole>(userRole, out UserRole role)) { offer.ApplierRole = role; } offer.State = State.InProgress; await OfferFacade.EditOfferAsync(offer); return(View("EnrollmentCompleteView")); }
public AccountsController(UserFacade userFacade, OfferFacade offerFacade, RatingFacade ratingFacade) { this.userFacade = userFacade; this.offerFacade = offerFacade; this.ratingFacade = ratingFacade; }
public async Task <ActionResult> Edit(int id, FormCollection collection) { try { UserRole userRole; OfferDTO newOffer = new OfferDTO(); newOffer.Id = id; var idRoleTuple = await GetUserIdRole(); if (!Enum.TryParse <UserRole>(idRoleTuple.Item2, out userRole)) { return(View("~/Views/Home/GeneralExceptionView.cshtml")); } newOffer.CreatorId = idRoleTuple.Item1; newOffer.CreatorRole = userRole; foreach (string key in collection.AllKeys) { switch (key) { case "Name": newOffer.Name = collection[key]; break; case "Description": newOffer.Description = collection[key]; break; case "AdditionalInfo": newOffer.AdditionalInfo = collection[key]; break; case "Price": if (Double.TryParse(collection[key], out double value)) { newOffer.Price = (long)Math.Truncate(value); } break; case "Category": if (Enum.TryParse(collection[key], out Category newSex)) { newOffer.Category = newSex; } break; } } bool success = await OfferFacade.EditOfferAsync(newOffer); if (!success) { throw new NotImplementedException(); } return(RedirectToAction("Details", new { id = newOffer.Id })); } catch { return(View("~/Views/Home/GeneralExceptionView.cshtml")); } }
// GET: OffersController/Edit/5 public async Task <ActionResult> Edit(int id) { var model = await OfferFacade.GetOfferAsync(id); return(View("OfferEditView", model)); }
public OffersController(OfferFacade offerFac) { this.OfferService = offerFac; }