public async Task <ActionResult> Edit(int id, FormCollection collection) { try { FreelancerDTO editedFreelancer = new FreelancerDTO(); editedFreelancer.Id = id; editedFreelancer = ParseCollection(collection, editedFreelancer); if (editedFreelancer == null) { return(View("~/Views/Home/GeneralExceptionView.cshtml")); } bool success = await UserFacade.EditFreelancerAsync(editedFreelancer); if (!success) { return(View("~/Views/Home/GeneralExceptionView.cshtml")); } return(RedirectToAction("Details", id)); } catch { return(View("~/Views/Home/GeneralExceptionView.cshtml")); } }
private FreelancerDTO ParseCollection(FormCollection collection, FreelancerDTO freelancer) { string name = "", lastName = ""; foreach (string key in collection.AllKeys) { switch (key) { case "Name": name = collection[key]; break; case "LastName": lastName = collection[key]; break; case "Email": freelancer.Email = collection[key]; break; case "PhoneNumber": freelancer.PhoneNumber = collection[key]; break; case "Info": freelancer.Info = collection[key]; break; case "Location": freelancer.Location = collection[key]; break; case "Sex": if (!Enum.TryParse(collection[key], out Sex newSex)) { return(null); } else { freelancer.Sex = newSex; } break; case "DoB": if (!DateTime.TryParse(collection[key], out DateTime newDate)) { return(null); } else { freelancer.DoB = newDate; } break; } } freelancer.Name = string.IsNullOrEmpty(lastName) ? name : name + " " + lastName; return(freelancer); }
private FreelancerDetailViewModel ToProfileModel(FreelancerDTO freelancer, string user) { return(new FreelancerDetailViewModel { Freelancer = freelancer, UserName = user }); }
private FreelancerDetailViewModel InitializeFreelancerDetailViewModel(FreelancerDTO freelancer, string freelancerUserName) { return(new FreelancerDetailViewModel { Freelancer = freelancer, UserName = freelancerUserName }); }
public async Task <int> CreateFreelancerAsync(FreelancerDTO freelancer) { using (var uow = UnitOfWorkProvider.Create()) { int freelancerId = freelancerService.Create(freelancer); await uow.Commit(); return(freelancerId); } }
// PUT: api/Freelancer/5 public async Task <string> Put(int id, [FromBody] FreelancerDTO freelancer) { if (!ModelState.IsValid) { throw new HttpResponseException(HttpStatusCode.BadRequest); } var success = await UserFacade.EditFreelancerAsync(freelancer); if (!success) { throw new HttpResponseException(HttpStatusCode.NotFound); } return($"Updated freelancer with id: {id}"); }
public async Task <bool> EditFreelancerAsync(FreelancerDTO freelancer) { using (var uow = UnitOfWorkProvider.Create()) { if ((await freelancerService.GetAsync(freelancer.Id, false)) == null) { return(false); } await freelancerService.Update(freelancer); await uow.Commit(); return(true); } }
public async Task <ActionResult> Create(FormCollection collection) { try { FreelancerDTO newFreelancer = ParseCollection(collection, new FreelancerDTO()); if (newFreelancer == null) { return(View("~/Views/Home/GeneralExceptionView.cshtml")); } int newId = await UserFacade.CreateFreelancerAsync(newFreelancer); return(RedirectToAction("Index")); } catch { return(View("~/Views/Home/GeneralExceptionView.cshtml")); } }
private async Task <ActionResult> EditFreelancerProfile(UserDTO user, FormCollection collection) { try { FreelancerDTO newFreelancer = new FreelancerDTO(); newFreelancer.Id = user.Id; foreach (string key in collection.AllKeys) { switch (key) { case "Name": newFreelancer.Name = collection[key]; break; case "Email": newFreelancer.Email = collection[key]; break; case "Info": newFreelancer.Info = collection[key]; break; case "PhoneNumber": newFreelancer.PhoneNumber = collection[key]; break; case "Location": newFreelancer.Location = collection[key]; break; case "Sex": if (Enum.TryParse(collection[key], out Sex newSex)) { newFreelancer.Sex = newSex; } break; case "DoB": if (DateTime.TryParse(collection[key], out DateTime newDate)) { newFreelancer.DoB = newDate; } break; } } bool success = await userFacade.EditFreelancerAsync(newFreelancer); if (!success) { return(View("~/Views/Home/GeneralExceptionView.cshtml")); } return(RedirectToAction("Profile")); } catch { return(View("~/Views/Home/GeneralExceptionView.cshtml")); } }