public HttpResponseMessage UpdateFeedSettings(FeedSettingsDTO feedSettingsDTO, int userId) { VolunteerMatchDbContext db = new VolunteerMatchDbContext(); FeedSetting feedSetting = db.FeedSettings.Where(x => x.memberId == userId).FirstOrDefault(); try { feedSetting.memberType = feedSettingsDTO.memberType; feedSetting.participantAgeRange = feedSettingsDTO.participantAgeRange; feedSetting.participantGender = feedSettingsDTO.participantGender; feedSetting.postLocation = feedSettingsDTO.postLocation; db.SaveChanges(); } catch (DbEntityValidationException ex) { string errors = ""; foreach (DbEntityValidationResult vr in ex.EntityValidationErrors) { foreach (DbValidationError er in vr.ValidationErrors) { errors += $"PropertyName - {er.PropertyName }, Error {er.ErrorMessage} <br/>"; } } return(Request.CreateResponse(HttpStatusCode.BadRequest, errors)); } catch (DbUpdateException ex) { DbUpdateException e = (DbUpdateException)ex; string errors = ""; foreach (DbEntityEntry entry in e.Entries) { errors += $"Error in entity - {entry.Entity.GetType().Name}, entity state - {entry.State} <br/>"; foreach (string prop in entry.CurrentValues.PropertyNames) { errors += $"for column - {prop}, value - {entry.CurrentValues[prop]} <br/>"; } errors += "---------------"; } return(Request.CreateResponse(HttpStatusCode.BadRequest, errors)); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message)); } return(Request.CreateResponse(HttpStatusCode.OK, "Feed settings updated successfully!")); }
public HttpResponseMessage Register(MemberSignupDTO memberSignupDTO) { VolunteerMatchDbContext db = new VolunteerMatchDbContext(); try { Member member = new Member(); member.email = memberSignupDTO.email; member.city = memberSignupDTO.city; member.password = memberSignupDTO.password; member.fullName = memberSignupDTO.fullName; member.pictureUrl = memberSignupDTO.pictureUrl; member.occupation = memberSignupDTO.occupation; member.gender = memberSignupDTO.gender; member.biography = memberSignupDTO.bio; member.dateOfBirth = memberSignupDTO.dateOfBirth; member.lastLocationLat = 0; member.lastLocationLong = 0; db.Members.Add(member); db.SaveChanges(); FeedSetting feedSetting = new FeedSetting { memberId = member.id, memberType = memberSignupDTO.feedSettings.memberType, participantAgeRange = memberSignupDTO.feedSettings.participantAgeRange, participantGender = memberSignupDTO.feedSettings.participantGender, postLocation = memberSignupDTO.feedSettings.postLocation }; db.FeedSettings.Add(feedSetting); foreach (HobbiesDTO hobby in memberSignupDTO.hobbies) { MembersHobby hobbies = new MembersHobby(); hobbies.hobbyId = hobby.id; hobbies.memberId = member.id; db.MembersHobbies.Add(hobbies); } db.SaveChanges(); AuthorizedMemberDetailsDTO authorizedMemberDetailsDTO = new AuthorizedMemberDetailsDTO() { id = member.id, name = member.fullName, participantAge = memberSignupDTO.feedSettings.participantAgeRange, participantGender = memberSignupDTO.feedSettings.participantGender, helpType = memberSignupDTO.feedSettings.memberType, meetingLocation = memberSignupDTO.feedSettings.postLocation, pictureUrl = member.pictureUrl }; return(Request.CreateResponse(HttpStatusCode.OK, authorizedMemberDetailsDTO)); } catch (DbEntityValidationException ex) { string errors = ""; foreach (DbEntityValidationResult vr in ex.EntityValidationErrors) { foreach (DbValidationError er in vr.ValidationErrors) { errors += $"PropertyName - {er.PropertyName }, Error {er.ErrorMessage} <br/>"; } } return(Request.CreateResponse(HttpStatusCode.BadRequest, errors)); } catch (DbUpdateException ex) { DbUpdateException e = (DbUpdateException)ex; string errors = ""; foreach (DbEntityEntry entry in e.Entries) { errors += $"Error in entity - {entry.Entity.GetType().Name}, entity state - {entry.State} <br/>"; foreach (string prop in entry.CurrentValues.PropertyNames) { errors += $"for column - {prop}, value - {entry.CurrentValues[prop]} <br/>"; } errors += "---------------"; } return(Request.CreateResponse(HttpStatusCode.BadRequest, errors)); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message)); } }