Beispiel #1
0
        public ActionResult <LocationDTO> CreateLocaation(LocationDTO model)
        {
            try
            {
                IMapper mapper = EDeliveryProfile.CreateLocation();
                var     result = mapper.Map <Location>(model);

                var userIdClaim = User.FindFirst("MemberId")?.Value;
                var memberId    = int.TryParse(userIdClaim, out var id) ? id : 0;

                EDeliveryDBContext dBContext = new EDeliveryDBContext();
                var memberType = dBContext.Member.First(o => o.MemberId == memberId).MemberType;

                if (memberType.Equals(9))
                {
                    var restaurantId = dBContext.Restaurant.First(o => o.MemberId == memberId).RestaurantId;
                    result.RestaurantId = restaurantId;
                }
                else if (memberType.Equals(8))

                {
                    var customerId = dBContext.Customer.First(o => o.MemberId == memberId).CustomerId;
                    result.CustomerId = customerId;
                }
                else
                {
                    return(BadRequest());
                }

                _repository.CreateLocation(result);

                return(new ObjectResult(new { message = "success", statusCode = HttpStatusCode.OK, response = "Created new location" }));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to create new location:{ex}");
                return(BadRequest("Failed to create new location"));
            }
        }