Пример #1
0
        public IHttpActionResult Edit(EstablishmentUpdateDTO model)
        {
            var result = _establishmentManager.UpdateEstablishment(model, 0);

            if (result == null)
            {
                return(BadRequest("Error editing establishment."));
            }
            return(Ok(result));
        }
        public async Task <IActionResult> Put([FromBody] EstablishmentUpdateDTO dto)
        {
            EstablishmentFindDTO updatedEstablishment = await this.EstablishmentService.Update
                                                            (this.User.GetEstablishmentId(), dto);

            if (updatedEstablishment == null)
            {
                return(NotFound());
            }

            return(Ok(updatedEstablishment));
        }
Пример #3
0
        public Establishment UpdateEstablishment(EstablishmentUpdateDTO dto, int user)
        {
            try
            {
                var item = _establishment.GetById(dto.EstablishmentID);

                if (item == null)
                {
                    return(null);
                }

                item.Name             = dto.Name;
                item.ModifiedBy       = user;
                item.ModifiedDateTime = _establishment.GetCurrentDate();

                _establishment.Edit(item);
                _establishment.SaveChanges();
                return(item);
            }
            catch (Exception e)
            {
                return(null);
            }
        }
Пример #4
0
        /// <summary>
        /// Update existing establishment.
        /// </summary>
        /// <param name="id"></param>
        /// <param name="dto"></param>
        /// <returns></returns>
        public async Task <EstablishmentFindDTO> Update(ObjectId id, EstablishmentUpdateDTO dto)
        {
            Establishment establishment = this.MongoRepository.FindById <Establishment>(id);

            if (establishment == null)
            {
                return(null);
            }

            establishment.Name        = dto.Name;
            establishment.Description = dto.Description;

            if (dto.Location != null)
            {
                establishment.Location = new Location(
                    dto.Location.Street,
                    dto.Location.Number,
                    dto.Location.State,
                    dto.Location.Country,
                    dto.Location.City,
                    new GeoJson2DGeographicCoordinates(
                        dto.Location.Longitude,
                        dto.Location.Latitude
                        )
                    );

                IEnumerable <Event> establishmentEvents = this.MongoRepository
                                                          .Find <Event>(x => x.EstablishmentLocation);

                foreach (Event establishmentEvent in establishmentEvents)
                {
                    establishmentEvent.Location = establishment.Location;
                    this.MongoRepository.Update(establishmentEvent);
                }
            }

            if (!string.IsNullOrEmpty(dto.Image))
            {
                await this.ImageService.DeleteImage(establishment.Image);

                await this.ImageService.DeleteImage(establishment.ImageThumbnail);

                UploadImageModel uploadedImage = await this.ImageService.UploadImage(
                    EstablishmentService.EstablishmentContainer, dto.Image);

                establishment.Image          = uploadedImage.Image;
                establishment.ImageThumbnail = uploadedImage.Thumbnail;
            }

            establishment.EstablishmentTypes.Clear();
            foreach (EstablishmentTypeEnum establishmentType in dto.EstablishmentTypes)
            {
                establishment.AddEstablishmentType(establishmentType);
            }

            if (dto.Availabilities != null)
            {
                establishment.Availabilities.Clear();
                foreach (AvailabilityUpdateDTO availability in dto.Availabilities)
                {
                    establishment.AddAvailability(
                        new Availability(
                            availability.DayOfWeek,
                            availability.OpenTime,
                            availability.CloseTime
                            )
                        );
                }
            }

            this.MongoRepository.Update(establishment);
            return(this.Find(id));
        }