Beispiel #1
0
        private async Task <PoiDto> AddPoiAsync(AddOrEditPoiDto dto)
        {
            Poi poi = Mapper.Map <Poi>(dto);

            DbContext.Pois.Add(poi);

            await DbContext.SaveChangesAsync();

            return(Mapper.Map <PoiDto>(poi));
        }
Beispiel #2
0
        private async Task <PoiDto> EditPoiAsync(AddOrEditPoiDto dto)
        {
            Poi poi = await DbContext.Pois.FirstOrDefaultAsync(p => p.Id == dto.Id);

            if (poi == null)
            {
                throw new Exception(ExceptionMessages.NotFound);
            }

            Poi editedPoi = Mapper.Map <Poi>(dto);

            //TODO: propertynkent vizsgani aztan elmenteni

            if (poi.Name != editedPoi.Name)
            {
                poi.Name = editedPoi.Name;
            }

            if (poi.Url != editedPoi.Url)
            {
                poi.Url = editedPoi.Url;
            }

            if (poi.PhoneNumber != editedPoi.PhoneNumber)
            {
                poi.PhoneNumber = editedPoi.PhoneNumber;
            }

            if (poi.OpeningTime != editedPoi.OpeningTime)
            {
                poi.OpeningTime = editedPoi.OpeningTime;
            }

            if (poi.CloseTime != editedPoi.CloseTime)
            {
                poi.CloseTime = editedPoi.CloseTime;
            }

            if (!poi.Location.EqualsTopologically(editedPoi.Location))
            {
                poi.Location = editedPoi.Location;
            }

            await DbContext.SaveChangesAsync();

            return(Mapper.Map <PoiDto>(poi));
        }
Beispiel #3
0
        public async Task <PoiDto> AddOrEditPoiAsync(AddOrEditPoiDto dto)
        {
            if (dto == null)
            {
                throw new ArgumentNullException();
            }

            if (string.IsNullOrEmpty(dto.Name))
            {
                throw new Exception(ExceptionMessages.Required);
            }

            //TODO: visszaadni poit
            if (dto.Id == null)
            {
                return(await AddPoiAsync(dto));
            }
            else
            {
                return(await EditPoiAsync(dto));
            }
        }
Beispiel #4
0
 public async Task <ActionResult <PoiDto> > AddOrEditPoi(AddOrEditPoiDto dto) =>
 Result(await PoiManager.AddOrEditPoiAsync(dto));