Esempio n. 1
0
        public async Task <ActionResult <MaskRequestModel> > Post(MaskRequestModel maskRequestModel)
        {
            var toReturn = await MaskRequest.Create(_dataContext, maskRequestModel);

            _ = EmailUtils.SendEmailAsync(_emailSettings, EmailMessageType.MaskRequestSubmitted, "Your mask request is in review", "Request in review", maskRequestModel.Recipient.Email);
            return(toReturn);
        }
Esempio n. 2
0
 public async Task <ActionResult <AggregateTotalModel> > GetAggregate()
 {
     return(new AggregateTotalModel
     {
         Requested = await MaskRequest.GetRequestAggregateCount(this._dataContext),
         Donated = await MaskRequest.GetDonatedAggregateCount(this._dataContext)
     });
 }
Esempio n. 3
0
        public MaskRequestModel(MaskRequest maskRequest)
        {
            var m = maskRequest.ToMaskRequestModel();

            this.Id           = m.Id;
            this.CreatedOn    = m.CreatedOn;
            this.PartitionKey = m.PartitionKey;
            this.Recipient    = m.Recipient;
            this.MaskDetails  = m.MaskDetails;
            this.Delivery     = m.Delivery;
        }
        public async Task SaveRequest(MaskRequest request)
        {
            if (string.IsNullOrEmpty(request.Id))
            {
                request.Id          = Guid.NewGuid().ToString();
                request.RequestDate = DateTime.Now;
            }

            await _geocodingProvider.Locate(request);

            await _requestContainer.UpsertItemAsync(request);
        }
Esempio n. 5
0
        public async static Task <bool> DenyMaskRequest(EmailSettings emailSettings, DataContext dataContext, Guid id, string reason = "")
        {
            var maskRequest = await MaskRequest.GetApproved(dataContext, id, false);

            if (maskRequest != null)
            {
                dataContext.Remove(maskRequest);
                await dataContext.SaveChangesAsync();
            }

            await SendMaskRequestDeniedEmail(emailSettings, maskRequest.ToMaskRequestModel(), reason);

            return(true);
        }
Esempio n. 6
0
        public int MakeOrder(MaskRequest request)
        {
            //LINQ Action, similar to above GetOrder
            Mask found = MasksInStock.Find(m => m.MaskId == request.MaskId);

            if (found == null)
            {
                return(0);
            }

            Order newOrder = new Order(found, request.Qty);

            Orders.Add(newOrder);

            return(newOrder.OrderNo);
        }
        public async Task Locate(MaskRequest request)
        {
            var searchAddressRequest = new SearchAddressRequest
            {
                Query      = $"{request.Organization.AddressLine1} {request.Organization.City} {request.Organization.State} {request.Organization.ZipCode}",
                Limit      = 1,
                CountrySet = "US"
            };

            var resp = await _mapService.GetSearchAddress(searchAddressRequest);

            var lat = resp.Result.Results[0].Position.Lat;
            var lon = resp.Result.Results[0].Position.Lon;

            request.Organization.Geolocation = new Point(lon, lat);
        }
Esempio n. 8
0
        // we need to create an another object for here
        public int MakeOrder(MaskRequest request)
        {
            // check if in stock before making order
            // the way you check if an element in an array
            // called LINQ action another way of expersion for that foreeach above
            Mask found = MaskInStock.Find(m => m.MaskId == request.MaskId);

            //return 0;

            if (found == null)
            {
                return(0);
            }

            Order newOrder = new Order(found, request.Qty);

            Orders.Add(newOrder);

            return(newOrder.OrderNo);
        }
Esempio n. 9
0
        public async static Task <MaskRequestModel> ApproveMaskRequest(EmailSettings emailSettings, DataContext dataContext, Guid id)
        {
            var newMaskRequest = await MaskRequest.GetApproved(dataContext, id, false);

            if (newMaskRequest == null)
            {
                throw new ErrorModelException(ErrorCode.NotFound, "Request");
            }

            await MaskRequest.UpdateOriginalId(dataContext, newMaskRequest.OriginalId, newMaskRequest.Id);

            newMaskRequest.Approved = true;

            await AddRequestedMasksToAggregate(dataContext, newMaskRequest);

            await dataContext.SaveChangesAsync();

            var maskRequestModel = newMaskRequest.ToMaskRequestModel();

            await EmailUtils.SendEmailAsync(emailSettings, EmailMessageType.MaskRequestApproved, "Your mask request is approved!", "Mask request approved", maskRequestModel.Recipient.Email);

            return(maskRequestModel);
        }
Esempio n. 10
0
 public async Task SaveRequest([FromBody] MaskRequest request)
 {
     await _dataProvider.SaveRequest(request);
 }
Esempio n. 11
0
 private static async Task AddRequestedMasksToAggregate(DataContext dataContext, MaskRequest maskRequest)
 {
     foreach (var mask in maskRequest.MaskDetails.Masks)
     {
         await Aggregate.AddToAggregate(dataContext, "Requested " + mask.Type.ToString(), mask.Quantity);
     }
 }
Esempio n. 12
0
 public async Task <ICollection <MaskRequestModel> > GetApprovals()
 {
     return(await MaskRequest.GetAllApprovedModel(_dataContext, false));
 }
Esempio n. 13
0
        public async Task <ActionResult> Delete(Guid id)
        {
            await MaskRequest.Delete(_dataContext, id);

            return(Ok());
        }
Esempio n. 14
0
 public async Task <ActionResult <MaskRequestModel> > Put(Guid id, [FromBody] MaskRequestModel maskRequestModel)
 {
     return(await MaskRequest.Update(_dataContext, id, maskRequestModel));
 }
Esempio n. 15
0
 public async Task <ActionResult <IEnumerable <MaskRequestModel> > > List()
 {
     return(await MaskRequest.GetAllApprovedModel(_dataContext, true));
 }
Esempio n. 16
0
 public async Task <ICollection <MaskRequestModel> > Get(int page, [FromQuery] int maskType = -1)
 {
     return(await MaskRequest.GetPagedMaskType(_dataContext, maskType, page));
 }
Esempio n. 17
0
 public async Task <ActionResult <MaskRequestModel> > Get(Guid id)
 {
     return(await MaskRequest.GetModel(_dataContext, id));
 }