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); } }
/**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); } }