Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
        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);
            }
        }
Exemplo n.º 6
0
 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);
     }
 }
Exemplo n.º 7
0
        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);
            }
        }
Exemplo n.º 8
0
 public MenuApiController(BDHomeFoodContext context)
 {
     _context = context;
 }
Exemplo n.º 9
0
 public LoginApiController(BDHomeFoodContext context, IConfiguration config, IEmailSender emailSender)
 {
     _context     = context;
     _config      = config;
     _emailSender = emailSender;
 }
Exemplo n.º 10
0
 public ShopCarApiController(BDHomeFoodContext context)
 {
     _context = context;
 }
Exemplo n.º 11
0
        /**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);
            }
        }
Exemplo n.º 12
0
 public CustomerApiController(BDHomeFoodContext context)
 {
     _context = context;
 }