Exemple #1
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);
            }
        }
Exemple #2
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);
            }
        }