Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        public AdoptedLandLayer()
        {
            random = new Random();

            _donationsRequest = new DonationsRequest();
            _donationsRequest.DonationsReceived += _donationsRequest_DonationsReceived;
            _donationsRequest.GetDonations();
        }
Exemplo n.º 3
0
        public AdoptedLandLayer()
        {
            random = new Random();

            _donationsRequest = new DonationsRequest();
            _donationsRequest.DonationsReceived += _donationsRequest_DonationsReceived;
            _donationsRequest.GetDonations();
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }