public IHttpActionResult DeleteInteractionMember(int id) { try { UnitOfWork unitOfWork = new UnitOfWork(factory); InteractionMemberDTO dto = unitOfWork.InteractionMembersRepository.Get(d => d.Id == id, includeProperties: "Employee,Employee.EmployeePassports") .FirstOrDefault().ToDTO(); unitOfWork.InteractionMembersRepository.Delete(id); unitOfWork.Save(); return(Ok(dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IHttpActionResult GetInteractionMembersByInteractionId(InteractionMemberDTO member) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { InteractionMember oMember = member.FromDTO(); UnitOfWork unitOfWork = new UnitOfWork(factory); int count = unitOfWork.InteractionMembersRepository.Get(d => d.InteractionId == member.InteractionId && d.EmployeeId == member.EmployeeId).Count(); if (count > 0) { return(BadRequest("This employee already takes part in this interaction")); } unitOfWork.InteractionMembersRepository.Insert(oMember); unitOfWork.Save(); InteractionMemberDTO dto = unitOfWork.InteractionMembersRepository.Get(d => d.Id == oMember.Id, includeProperties: "Employee,Employee.EmployeePassports") .FirstOrDefault().ToDTO(); return(CreatedAtRoute("GetInteractionMemberById", new { id = dto.Id }, dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public HttpResponseMessage AddInteractionMember(InteractionMemberDTO interactionMemberDTO) { VolunteerMatchDbContext db = new VolunteerMatchDbContext(); int strength = 0; switch (interactionMemberDTO.type) { case "Profile": strength = 10; break; case "Review 1": strength = -50; break; case "Review 2": strength = -10; break; case "Review 3": strength = 0; break; case "Review 4": strength = 10; break; case "Review 5": strength = 50; break; default: break; } try { InteractionsMember interactionsMember = db.InteractionsMembers.Where (x => x.memberId == interactionMemberDTO.memberId && x.otherMemberId == interactionMemberDTO.otherMemberId).FirstOrDefault(); if (interactionsMember == null) { InteractionsMember interaction = new InteractionsMember() { memberId = interactionMemberDTO.memberId, otherMemberId = interactionMemberDTO.otherMemberId, strength = strength }; db.InteractionsMembers.Add(interaction); } else { interactionsMember.strength += strength; }; db.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, "Member strength updated")); } catch (Exception) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Unknown error occured")); } }