private int AddDispensary(DispensaryModel dispensary, Dispensary entity)
        {
            foreach (string zip in dispensary.ApprovalZipCodes.Split(','))
            {
                string trimmedZip = zip.Trim();
                if (!String.IsNullOrEmpty(trimmedZip))
                {
                    entity.ApprovalZipCodes.Add(HGContext.ZipCodes.Add(new ZipCode()
                    {
                        Code = trimmedZip
                    }));
                }
            }
            foreach (string zip in dispensary.DeliveryZipCodes.Split(','))
            {
                string trimmedZip = zip.Trim();
                if (!String.IsNullOrEmpty(trimmedZip))
                {
                    entity.DeliveryZipCodes.Add(HGContext.ZipCodes.Add(new ZipCode()
                    {
                        Code = trimmedZip
                    }));
                }
            }
            HGContext.Dispensaries.Add(entity);
            var id = HGContext.SaveChanges();

            return(id);
        }
 // POST: api/Dispensaries
 public HttpResponseMessage Post([FromBody] DispensaryModel dispensary)
 {
     try
     {
         var entity = Mapper.Map <Dispensary>(dispensary);
         var id     = AddDispensary(dispensary, entity);
         return(Request.CreateResponse(HGContext.Dispensaries.FirstOrDefault(x => x.Id == id)));
     }
     catch (Exception e)
     {
         _logger.Error("Dispensaries.Post", e);
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e));
     }
 }
 public HttpResponseMessage InsertDispensaryFromPending([FromBody] DispensaryModel dispensary)
 {
     try
     {
         var entity = Mapper.Map <Dispensary>(dispensary);
         entity.Slug = entity.LeaflySlug;
         var user = UserManager.FindByEmail(User.Identity.Name);
         entity.UserId = user.Id;
         var id = AddDispensary(dispensary, entity);
         return(Request.CreateResponse(HGContext.Dispensaries.FirstOrDefault(x => x.Id == id)));
     }
     catch (Exception e)
     {
         _logger.Error("Dispensaries.Post", e);
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e));
     }
 }
Esempio n. 4
0
        public ViewResult Details([FromUri][Required] int id)
        {
            //DispensaryModel model;
            using (var context = new HGContext())
            {
                DispensaryModel disp = context.Dispensaries
                                       .AsNoTracking().Where(d => !d.IsDeleted && d.Id == id).Select(d => new DispensaryModel()
                {
                    Address = new AddressModel()
                    {
                        FormattedAddress = d.Address.FormattedAddress
                    },
                    Description  = d.Description,
                    EmailAddress = d.EmailAddress,
                    Name         = d.Name,
                    PhoneNumber  = d.PhoneNumber,
                    Type         = d.Type
                })
                                       .FirstOrDefault();


                return(View(disp));
            }
        }
        public async Task <HttpResponseMessage> Update([FromBody] DispensaryModel dispensary)
        {
            try
            {
                var entity = await HGContext.Dispensaries.FirstOrDefaultAsync(x => x.Id == dispensary.Id);

                entity.Name             = dispensary.Name;
                entity.Slug             = dispensary.Name;
                entity.Type             = dispensary.Type;
                entity.PhoneNumber      = dispensary.PhoneNumber;
                entity.LeaflySlug       = dispensary.LeaflySlug ?? dispensary.Name;
                entity.Description      = dispensary.Description;
                entity.HoursOfOperation = Mapper.Map <string>(dispensary.HoursOfOperation);
                entity.HoursAndInfo     = dispensary.HoursAndInfo;
                entity.EmailAddress     = dispensary.EmailAddress;
                entity.HasDelivery      = dispensary.HasDelivery;
                entity.HasPickup        = dispensary.HasPickup;
                entity.HasStorefront    = dispensary.HasStorefront;
                entity.IsCaregiver      = dispensary.IsCaregiver;
                entity.IsPrivate        = dispensary.IsPrivate;

                if (dispensary.Address != null && (!string.IsNullOrEmpty(dispensary.Address.Zip) || !string.IsNullOrEmpty(dispensary.Address.City) ||
                                                   !string.IsNullOrEmpty(dispensary.Address.State)))
                {
                    if (entity.Address == null)
                    {
                        entity.Address = new Address();
                    }

                    entity.Address.Address1         = dispensary.Address.Address1;
                    entity.Address.Address2         = dispensary.Address.Address2;
                    entity.Address.City             = dispensary.Address.City;
                    entity.Address.State            = dispensary.Address.State;
                    entity.Address.Zip              = dispensary.Address.Zip;
                    entity.Address.Name             = dispensary.Name;
                    entity.Address.Latitude         = dispensary.Address.Latitude;
                    entity.Address.Longitude        = dispensary.Address.Longitude;
                    entity.Address.FormattedAddress = dispensary.Address.FormattedAddress;
                }

                HGContext.ZipCodes.RemoveRange(entity.ApprovalZipCodes);

                if (dispensary.ApprovalZipCodes != null)
                {
                    foreach (string zip in dispensary.ApprovalZipCodes.Split(','))
                    {
                        string trimmedZip = zip.Trim();
                        if (!String.IsNullOrEmpty(trimmedZip))
                        {
                            entity.ApprovalZipCodes.Add(HGContext.ZipCodes.Add(new ZipCode()
                            {
                                Code = trimmedZip
                            }));
                        }
                    }
                }

                HGContext.ZipCodes.RemoveRange(entity.DeliveryZipCodes);

                if (dispensary.DeliveryZipCodes != null)
                {
                    foreach (string zip in dispensary.DeliveryZipCodes.Split(','))
                    {
                        string trimmedZip = zip.Trim();
                        if (!String.IsNullOrEmpty(trimmedZip))
                        {
                            entity.DeliveryZipCodes.Add(HGContext.ZipCodes.Add(new ZipCode()
                            {
                                Code = trimmedZip
                            }));
                        }
                    }
                }

                var id = await HGContext.SaveChangesAsync();

                if (id > 0)
                {
                    return(Request.CreateResponse(HttpStatusCode.OK));
                }
                else
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Unable to save dispensary"));
                }
            }
            catch (Exception e)
            {
                _logger.Error("Dispensaries.Post", e);
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e));
            }
        }
        private int AddDispensary(DispensaryModel dispensary, Dispensary entity)
        {
            if (dispensary.ApprovalZipCodes != null && dispensary.ApprovalZipCodes.Any())
            {
                foreach (string zip in dispensary.ApprovalZipCodes.Split(','))
                {
                    string trimmedZip = zip.Trim();
                    if (!String.IsNullOrEmpty(trimmedZip))
                        entity.ApprovalZipCodes.Add(HGContext.ZipCodes.Add(new ZipCode() { Code = trimmedZip }));
                }
            }
            if (dispensary.DeliveryZipCodes != null && dispensary.DeliveryZipCodes.Any())
            {
                foreach (string zip in dispensary.DeliveryZipCodes.Split(','))
                {
                    string trimmedZip = zip.Trim();
                    if (!String.IsNullOrEmpty(trimmedZip))
                        entity.DeliveryZipCodes.Add(HGContext.ZipCodes.Add(new ZipCode() { Code = trimmedZip }));
                }
            }

            HGContext.Dispensaries.Add(entity);
            var id = HGContext.SaveChanges();
            return id;
        }