public ResultResponse <MenuResponse> GetById(BDHomeFoodContext _context, int id) { try { ResultResponse <MenuResponse> response = new ResultResponse <MenuResponse>(); var firstresult = _context.Menu.Any(c => c.MenuId == id); if (firstresult) { var result = _context.Menu.FirstOrDefault(c => c.MenuId == id); MenuResponse menuResponses = new MenuResponse { MenuId = result.MenuId, Name = result.Name, Description = result.Description, CollaboratorId = result.CollaboratorId, Price = result.Price, State = result.State, QuantityMenuCurrent = result.QuantityMenuCurrent, MenuTypeId = result.MenuTypeId, Photos = _context.Photo.Where(y => y.MenuId == result.MenuId).Select( y => new PhotoResponse { PhotoId = y.PhotoId, UrlPhoto = y.UrlPhoto, State = y.State, IsMain = y.IsMain } ).ToList() }; response.Data = menuResponses; response.Error = false; response.Message = "Datos encontrados"; } else { response.Data = null; response.Error = true; response.Message = "No se encontraron datos"; } return(response); } catch (Exception ex) { throw new Exception(ex.Message); } }
public ResultResponse <LoginCollaboratorResponse> LogInCollaborator(BDHomeFoodContext _context, IConfiguration _config, LoginEntity model) { try { var userCollaborator = false; ResultResponse <LoginCollaboratorResponse> response = new ResultResponse <LoginCollaboratorResponse>(); userCollaborator = _context.Collaborator.Any(x => x.Username == model.Username && x.Password == model.Password); if (userCollaborator) { var collaborator = _context.Collaborator.FirstOrDefault(x => x.Username == model.Username && x.Password == model.Password); LoginTokenCollaborator(_config, collaborator, response); } else { userCollaborator = _context.Collaborator.Any(x => x.Email == model.Username && x.Password == model.Password); if (userCollaborator) { var collaborator = _context.Collaborator.FirstOrDefault(x => x.Email == model.Username && x.Password == model.Password); LoginTokenCollaborator(_config, collaborator, response); } else { userCollaborator = _context.Collaborator.Any(x => x.Phone == model.Username && x.Password == model.Password); if (userCollaborator) { var collaborator = _context.Collaborator.FirstOrDefault(x => x.Phone == model.Username && x.Password == model.Password); LoginTokenCollaborator(_config, collaborator, response); } } if (!userCollaborator) { response.Data = null; response.Error = true; response.Message = "Usuario y/o password incorrecto"; } } return(response); } catch (Exception ex) { throw new Exception(ex.Message); } }
public ResultResponse <List <MenuResponse> > GetAllMenu(BDHomeFoodContext _context) { try{ ResultResponse <List <MenuResponse> > response = new ResultResponse <List <MenuResponse> >(); var result = _context.Menu.ToList().Select(x => new MenuResponse { MenuId = x.MenuId, Name = x.Name, Description = x.Description, CollaboratorId = x.CollaboratorId, Price = x.Price, State = x.State, QuantityMenuCurrent = x.QuantityMenuCurrent, MenuTypeId = x.MenuTypeId, Photos = _context.Photo.Where(y => y.MenuId == x.MenuId).Select( y => new PhotoResponse { PhotoId = y.PhotoId, UrlPhoto = y.UrlPhoto, State = y.State, IsMain = y.IsMain } ).ToList() }).ToList(); if (result.Count != 0) { response.Data = result; response.Error = false; response.Message = "datos encontrados"; } else { response.Data = result; response.Error = true; response.Message = "No se encontraron datos"; } return(response); } catch (Exception ex) { throw new Exception(ex.Message); } }
public ResultResponse <CustomerProfileResponse> getProfileCustomer(BDHomeFoodContext _context, int costumerid) { try { ResultResponse <CustomerProfileResponse> response = new ResultResponse <CustomerProfileResponse>(); var customer = _context.Customer.Any(c => c.CustomerId == costumerid); if (customer) { var result = _context.Customer.FirstOrDefault(c => c.CustomerId == costumerid); CustomerProfileResponse customerProfileResponse = new CustomerProfileResponse { CustomerId = result.CustomerId, Names = result.Names, LastNames = result.LastNames, DocumentoIdentity = result.DocumentoIdentity, Email = result.Email, Phone = result.Phone, Birthdate = result.Birthdate, Username = result.Username, State = result.State, CreateDate = result.CreateDate, UpdateDate = result.UpdateDate }; response.Data = customerProfileResponse; response.Error = false; response.Message = "Datos encontrados"; } else { response.Data = null; response.Error = true; response.Message = "No se encontraron datos"; } return(response); } catch (Exception ex) { throw new Exception(ex.Message); } }
public ResultResponse <string> RegisterCollaborator(BDHomeFoodContext _context, CollaboratorEntity model) { try{ ResultResponse <string> response = new ResultResponse <string>(); char[] s = { ' ' }; string[] slastname; if (model == null) { response.Data = null; response.Error = true; response.Message = "Complete los datos"; } else { if (_context.Collaborator.Any(x => x.Email == model.Email)) { response.Data = null; response.Error = true; response.Message = "El correo electronico ya existe"; return(response); } if (_context.Collaborator.Any(x => x.Phone == model.Phone)) { response.Data = null; response.Error = true; response.Message = "El número de celular ya existe"; return(response); } if (_context.Collaborator.Any(x => x.Username == model.Username)) { response.Data = null; response.Error = true; response.Message = "El nombre de usuario ya existe"; return(response); } using (var ts = new TransactionScope()){ Collaborator collaborator = new Collaborator(); _context.Collaborator.Add(collaborator); collaborator.Names = model.Names; collaborator.LastNames = model.LastNames; collaborator.DocumentIdentity = model.DocumentIdentity; collaborator.Email = model.Email; collaborator.Phone = model.Phone; collaborator.BirthDate = model.BirthDate; //collaborator.Username = model.Username; slastname = model.LastNames.Split(s, 2, StringSplitOptions.None); collaborator.Username = model.Names.Substring(0, 1) + slastname[0] + model.Phone.Substring(0, 4); collaborator.Password = model.Password; collaborator.CollaboratorTypeId = model.CollaboratorTypeId; collaborator.State = ConstantHelpers.Estado.Activo; collaborator.StateActivity = ConstantHelpers.Estado.Activo; _context.SaveChanges(); ts.Complete(); response.Data = null; response.Error = false; response.Message = "Registro satisfactorio"; } } return(response); }catch (Exception ex) { throw new Exception(ex.Message); } }
public ResultResponse <CustomerResponse> getOrderByCustomerId(BDHomeFoodContext _context, int costumerid) { try { ResultResponse <CustomerResponse> response = new ResultResponse <CustomerResponse>(); var firstresult = _context.Customer.Any(c => c.CustomerId == costumerid); if (firstresult) { var result = _context.Customer.FirstOrDefault(c => c.CustomerId == costumerid); CustomerResponse customerResponse = new CustomerResponse { CustomerId = result.CustomerId, Names = result.Names, LastNames = result.LastNames, DocumentoIdentity = result.DocumentoIdentity, Email = result.Email, Phone = result.Phone, Birthdate = result.Birthdate, Username = result.Username, State = result.State, CreateDate = result.CreateDate, UpdateDate = result.UpdateDate, Order = _context.Order.Where(x => x.CustomerId == result.CustomerId).Select( x => new OrderResponse { OrderId = x.OrderId, TotalCost = x.TotalCost, TotalCostOrder = x.TotalCostOrder, TotalCostDriver = x.TotalCostDriver, PaymentDate = x.PaymentDate, State = x.State, CollaboratorDriverId = x.CollaboratorDriverId, Collected = x.Collected, OnMyWay = x.OnMyWay, Deliverred = x.Deliverred, Received = x.Received, PayTypeId = x.PayTypeId, CustomerCodePromotionId = x.CustomerCodePromotionId, CustomerId = x.CustomerId, Collaborator = _context.Collaborator.Where(y => y.CollaboratorId == x.CollaboratorId).Select( y => new CollaboratorResponse { CollaboratorId = y.CollaboratorId, Names = y.Names, LastNames = y.LastNames, DocumentIdentity = y.DocumentIdentity, Email = y.Email, Phone = y.Phone, BirthDate = y.BirthDate, Username = y.Username, Latitude = y.Latitude, Longitude = y.Longitude, UrlPhoto = y.UrlPhoto, State = y.State, StateActivity = y.StateActivity, CollaboratorType = _context.CollaboratorType.Where(z => z.CollaboratorTypeId == y.CollaboratorTypeId).Select( z => new CollaboratorTypeResponse { CollaboratorTypeId = z.CollaboratorTypeId, Name = z.Name, Description = z.Description }).ToList() }).ToList() }).ToList() }; response.Data = customerResponse; response.Error = false; response.Message = "Datos encontrados"; } else { response.Data = null; response.Error = true; response.Message = "No se encontraron datos"; } return(response); } catch (Exception ex) { throw new Exception(ex.Message); } }
public ResultResponse <ShopCarResponse> GetByCustomerId(BDHomeFoodContext _context, int costumerid) { try { ResultResponse <ShopCarResponse> response = new ResultResponse <ShopCarResponse>(); var firstresult = _context.ShopCar.Any(c => c.CustomerId == costumerid); if (firstresult) { var result = _context.ShopCar.FirstOrDefault(x => x.CustomerId == costumerid); ShopCarResponse shopCarResponse = new ShopCarResponse { ShopCarId = result.ShopCarId, CustomerId = result.CustomerId, Quantity = result.Quantity, Price = result.Price, State = result.State, Menu = _context.Menu.Where(y => y.MenuId == result.MenuId).Select( y => new MenuResponse { MenuId = y.MenuId, Name = y.Name, Description = y.Description, CollaboratorId = y.CollaboratorId, Price = y.Price, State = y.State, Photos = _context.Photo.Where(z => z.MenuId == y.MenuId).Select( z => new PhotoResponse { PhotoId = z.PhotoId, UrlPhoto = z.UrlPhoto, State = z.State, IsMain = z.IsMain } ).ToList() } ).ToList(), Order = _context.Order.Where(w => w.OrderId == result.OrderId).Select( w => new OrderResponse { OrderId = w.OrderId, TotalCost = w.TotalCost, TotalCostOrder = w.TotalCostOrder, TotalCostDriver = w.TotalCostDriver, PaymentDate = w.PaymentDate, State = w.State, CollaboratorDriverId = w.CollaboratorDriverId, Collected = w.Collected, OnMyWay = w.OnMyWay, Deliverred = w.Deliverred, Received = w.Received, PayTypeId = w.PayTypeId, CustomerCodePromotionId = w.CustomerCodePromotionId, CustomerId = w.CustomerId } ).ToList() }; response.Data = shopCarResponse; response.Error = false; response.Message = "Datos encontrados"; } else { response.Data = null; response.Error = true; response.Message = "No se encontraron datos"; } return(response); } catch (Exception ex) { throw new Exception(ex.Message); } }
public MenuApiController(BDHomeFoodContext context) { _context = context; }
public LoginApiController(BDHomeFoodContext context, IConfiguration config, IEmailSender emailSender) { _context = context; _config = config; _emailSender = emailSender; }
public ShopCarApiController(BDHomeFoodContext context) { _context = context; }
/**CREATE ORDER AND SHOP CAR**/ public ResultResponse <string> AddOrderAndMenus(BDHomeFoodContext _context, OrderShopEntity model) { try { ResultResponse <string> response = new ResultResponse <string>(); if (model.LstMenu == null) { response.Data = null; response.Error = true; response.Message = "Agrega Menus Al Carrito"; return(response); } var menuId = model.LstMenu[0].MenuId; var collaboratorId = _context.Menu.FirstOrDefault(x => x.MenuId == menuId).CollaboratorId; using (var ts = new TransactionScope()){ //CREATE ORDER Order order = new Order(); _context.Order.Add(order); order.State = ConstantHelpers.EstadoCompra.Comprado; order.CustomerId = model.CustomerId; order.CollaboratorId = collaboratorId; order.TotalCost = 0; order.TotalCostOrder = 0; order.TotalCostDriver = 0; _context.SaveChanges(); //CREATE MENU foreach (var item in model.LstMenu) { Models.ShopCar shopCar = new Models.ShopCar(); _context.ShopCar.Add(shopCar); shopCar.CustomerId = model.CustomerId; shopCar.MenuId = item.MenuId; shopCar.Quantity = item.QuantityMenuCurrent; var menu = _context.Menu.FirstOrDefault(x => x.MenuId == item.MenuId); shopCar.Price = menu.Price * item.QuantityMenuCurrent; shopCar.OrderId = order.OrderId; shopCar.State = ConstantHelpers.Estado.Activo; _context.SaveChanges(); } var listShopCarOrder = _context.ShopCar.Where(x => x.OrderId == order.OrderId).ToList(); order.TotalCost = listShopCarOrder.Sum(x => x.Price); _context.SaveChanges(); response.Data = null; response.Error = false; response.Message = "Venta Realizada con Exito"; ts.Complete(); } return(response); } catch (Exception ex) { throw new Exception(ex.Message); } }
public CustomerApiController(BDHomeFoodContext context) { _context = context; }