Exemplo n.º 1
0
        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!"));
        }
Exemplo n.º 2
0
        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));
            }
        }