예제 #1
0
        public async Task <ActionResult <BaseDeliveryItem> > PostBase(BaseDeliveryItem baseItem)
        {
            double doubleval1, doubleval2;

            if (!double.TryParse(baseItem.Latitude, out doubleval1) ||
                !double.TryParse(baseItem.Longitude, out doubleval2))
            {
                return(BadRequest());
            }

            if (double.IsNaN(doubleval1) || double.IsNaN(doubleval2))
            {
                return(BadRequest());
            }

            foreach (var id in _context.BaseItems.Select(elem => elem.Id))
            {
                var entity = new BaseDeliveryItem {
                    Id = id
                };
                _context.BaseItems.Attach(entity);
                _context.BaseItems.Remove(entity);
            }
            await _context.SaveChangesAsync();

            _context.BaseItems.Add(baseItem);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetBaseItem), new { id = baseItem.Id }, baseItem));
        }
예제 #2
0
        public async Task <ActionResult <BaseDeliveryItem> > PostBaseForUser(string User, BaseDeliveryItem baseItem)
        {
            double doubleval1, doubleval2;

            if (!double.TryParse(baseItem.Latitude, out doubleval1) ||
                !double.TryParse(baseItem.Longitude, out doubleval2))
            {
                return(BadRequest());
            }

            if (double.IsNaN(doubleval1) || double.IsNaN(doubleval2))
            {
                return(BadRequest());
            }

            var item = _context.BaseItems.FirstOrDefault(elem => elem.Username == User);

            if (item != null)
            {
                _context.BaseItems.Remove(_context.BaseItems.Single(a => a.Username == User));
                _context.SaveChanges();
            }

            _context.BaseItems.Add(baseItem);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetBaseItem), new { id = baseItem.Id }, baseItem));
        }