public async Task <bool> UpdateSkill(MentorSkillAddDTO updateSkillDTO) { try { var user = await userManager.FindByEmailAsync(updateSkillDTO.Email); var tech = context.Technologies.Find(updateSkillDTO.TechID); var skill = context.MentorSkills.Where(skill => skill.TechId == updateSkillDTO.TechID).FirstOrDefault(); if (user == null || skill == null) { return(false); } skill.StartDate = updateSkillDTO.StartDate; skill.EndDate = updateSkillDTO.EndDate; skill.SkillSurcharge = updateSkillDTO.SkillSurcharge; skill.TotalFee = Convert.ToDecimal(tech.BasicFee * (1 + 0.01 * (tech.Commission + updateSkillDTO.SkillSurcharge))); int result = context.SaveChanges(); // returns number of changes if (result > 0) { return(true); } return(false); } catch (Exception e) { throw e; } }
public IActionResult Post([FromBody] MentorSkillAddDTO addSkillDTO) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = repository.AddSkill(addSkillDTO); if (result.Result == 1) { return(Created("AddSkill", new { Message = $"{addSkillDTO.Name} added to your skills successfully" })); } else if (result.Result == 3) { return(BadRequest(new { Message = $"Duplicate skill entry, {addSkillDTO.Name} is already added to your skills. Check My Skills." })); } return(BadRequest(result)); } catch (Exception e) { return(BadRequest(e)); } }
public async Task <int> AddSkill(MentorSkillAddDTO addSkillDTO) { try { var user = await userManager.FindByEmailAsync(addSkillDTO.Email); var tech = context.Technologies.Find(addSkillDTO.TechID); if (user == null || tech == null) { return(2); } var isDublicate = context.MentorSkills.Where(ms => ms.User == user && ms.TechId == tech.TechId).FirstOrDefault(); if (isDublicate == null) { MentorSkill skill = new MentorSkill { User = user, TechId = tech.TechId, StartDate = addSkillDTO.StartDate, EndDate = addSkillDTO.EndDate, SkillSurcharge = addSkillDTO.SkillSurcharge, TotalFee = Convert.ToDecimal(tech.BasicFee * (1 + 0.01 * (tech.Commission + addSkillDTO.SkillSurcharge))), Status = true }; context.MentorSkills.Add(skill); int result = context.SaveChanges(); // returns number of changes if (result > 0) { return(1); // success } return(2); // error } else { return(3); // duplicate request } } catch (Exception e) { throw e; } }
public IActionResult Put([FromBody] MentorSkillAddDTO mentorSkillUpdateDTO) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = repository.UpdateSkill(mentorSkillUpdateDTO); if (result.Result) { return(Created("UpdateSkill", new { Message = $"{mentorSkillUpdateDTO.Name} updated successfully" })); } return(BadRequest(new { Error = result, Message = $"Failed to update, {mentorSkillUpdateDTO.Name}. Please try again later!" })); } catch (Exception e) { return(BadRequest(new { Message = $"Failed to update, {mentorSkillUpdateDTO.Name}. Please try again later!" })); } }