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
     });
 }
Esempio n. 5
0
        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}");
        }
Esempio n. 7
0
        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"));
            }
        }