public HttpResponseMessage DisconfirmDonatorInRequest(RequestDisconfirmDonatorModel model) { bool isCanceled = false; DonationsRequest request = this.requestsManager.GetItem(model.RequestId) as DonationsRequest; if (request != null) { Donator donator = request.Donators.FirstOrDefault(i => i.UserId == model.UserId) as Donator; if (donator != null) { donator.IsApproved = false; this.donatorsManager.UpdateItem(donator); this.donatorsManager.SaveChanges(); isCanceled = true; } } HttpResponseMessage resp = new HttpResponseMessage(); resp.Content = new StringContent(JsonConvert.SerializeObject(new ChangeGeneralResponseViewModel() { IsSuccessful = isCanceled })); resp.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); return(resp); }
public AdoptedLandLayer() { random = new Random(); _donationsRequest = new DonationsRequest(); _donationsRequest.DonationsReceived += _donationsRequest_DonationsReceived; _donationsRequest.GetDonations(); }
public HttpResponseMessage RemoveDonatorFromRequest(RequestRemoveDonatorModel model) { bool isDeleted = false; IEnumerable <User> users = this.usersManager.GetItems() as IEnumerable <User>; IEnumerable <Claim> claims = (HttpContext.Current.User as ClaimsPrincipal).Claims; string userEmail = claims.Where(c => c.Type == ClaimTypes.Email).Select(c => c.Value).FirstOrDefault(); if (!string.IsNullOrEmpty(userEmail)) { User user = users.Where(u => u.Email == userEmail).FirstOrDefault(); if (user != null) { DonationsRequest request = this.requestsManager.GetItem(model.Id) as DonationsRequest; Donator donator = (this.donatorsManager.GetItems() as IEnumerable <Donator>).FirstOrDefault(i => i.UserId == user.Id) as Donator; if (donator != null) { request.Donators.Remove(donator); this.requestsManager.UpdateItem(request); this.requestsManager.SaveChanges(); this.donatorsManager.DeleteItem(donator); this.donatorsManager.SaveChanges(); isDeleted = true; } } } HttpResponseMessage resp = new HttpResponseMessage(); resp.Content = new StringContent(JsonConvert.SerializeObject(new ChangeGeneralResponseViewModel() { IsSuccessful = isDeleted })); resp.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); return(resp); }
public HttpResponseMessage Edit(RequestsEditModel model) { bool isEdited = false; IEnumerable <User> users = this.usersManager.GetItems() as IEnumerable <User>; IEnumerable <Claim> claims = (HttpContext.Current.User as ClaimsPrincipal).Claims; string userEmail = claims.Where(c => c.Type == ClaimTypes.Email).Select(c => c.Value).FirstOrDefault(); if (!string.IsNullOrEmpty(userEmail)) { User user = users.Where(u => u.Email == userEmail).FirstOrDefault(); if (user != null) { DonationsRequest request = this.requestsManager.GetItem(model.Id) as DonationsRequest; request.Address = model.Address; request.City = model.City; request.Country = model.Country; request.Latitude = model.Latitude; request.Longitude = model.Longitude; request.Date = DateTime.Now; request.RequestedBloodQuantityInMl = model.BloodQuantity; request.RequestedBloodType = (BloodType)model.RequestedBloodType; this.requestsManager.UpdateItem(request); this.requestsManager.SaveChanges(); isEdited = true; } } HttpResponseMessage resp = new HttpResponseMessage(); resp.Content = new StringContent(JsonConvert.SerializeObject(new ChangeGeneralResponseViewModel() { IsSuccessful = isEdited })); resp.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); return(resp); }
public HttpResponseMessage Create(RequestsCreateModel model) { bool isCreated = false; IEnumerable <User> users = this.usersManager.GetItems() as IEnumerable <User>; IEnumerable <Claim> claims = (HttpContext.Current.User as ClaimsPrincipal).Claims; string userEmail = claims.Where(c => c.Type == ClaimTypes.Email).Select(c => c.Value).FirstOrDefault(); if (!string.IsNullOrEmpty(userEmail)) { User user = users.Where(u => u.Email == userEmail).FirstOrDefault(); if (user != null) { DonationsRequest request = this.requestsFactory.Create(Guid.NewGuid(), user.Id, model.Address, model.City, model.Country, model.Latitude, model.Longitude, (BloodType)model.RequestedBloodType, model.BloodQuantity); this.requestsManager.CreateItem(request); this.requestsManager.SaveChanges(); user.DonationsRequests.Add(request); this.usersManager.UpdateItem(user); this.usersManager.SaveChanges(); isCreated = true; } } HttpResponseMessage resp = new HttpResponseMessage(); resp.Content = new StringContent(JsonConvert.SerializeObject(new ChangeGeneralResponseViewModel() { IsSuccessful = isCreated })); resp.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); return(resp); }
public HttpResponseMessage GetRequest(Guid id) { RequestViewModel requestViewModel = new RequestViewModel(); IEnumerable <User> users = this.usersManager.GetItems() as IEnumerable <User>; IEnumerable <Claim> claims = (HttpContext.Current.User as ClaimsPrincipal).Claims; string userEmail = claims.Where(c => c.Type == ClaimTypes.Email).Select(c => c.Value).FirstOrDefault(); if (!string.IsNullOrEmpty(userEmail)) { User user = users.Where(u => u.Email == userEmail).FirstOrDefault(); if (user != null) { DonationsRequest request = this.requestsManager.GetItem(id) as DonationsRequest; if (request.Donators.Any(i => i.UserId == user.Id)) { requestViewModel.IsSigned = true; } User owner = this.usersManager.GetItem(request.OwnerId ?? Guid.Empty) as User; if (owner != null) { requestViewModel.Owner = new RequestOwnerViewModel() { Email = owner.Email, Name = string.Format("{0} {1}", owner.FirstName, owner.LastName), PhoneNumber = owner.PhoneNumber, Image = owner.Image }; } requestViewModel.Address = request.Address; requestViewModel.City = request.City; requestViewModel.Country = request.Country; requestViewModel.Date = request.Date; requestViewModel.Latitude = request.Latitude; requestViewModel.Longitude = request.Longitude; requestViewModel.RequestedBloodQuantityInMl = request.RequestedBloodQuantityInMl; requestViewModel.RequestedBloodType = request.RequestedBloodType; IList <RequestDonatorViewModel> donatorsList = new List <RequestDonatorViewModel>(); foreach (Donator donator in request.Donators) { donatorsList.Add(new RequestDonatorViewModel() { Id = donator.User.Id, Name = string.Format("{0} {1}", donator.User.FirstName, donator.User.LastName), BloodType = donator.User.BloodType, IsApproved = donator.IsApproved }); } requestViewModel.Donators = donatorsList; } } HttpResponseMessage resp = new HttpResponseMessage(); resp.Content = new StringContent(JsonConvert.SerializeObject(requestViewModel)); resp.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); return(resp); }