public decimal getGanancia() { decimal gananciaTotal = 0; SMART_PAYMENT_DBEntities db = new SMART_PAYMENT_DBEntities(); chofer = db.CHOFERs.FirstOrDefault(x => x.CHO_CORREO_ELECTRONICO == System.Web.HttpContext.Current.User.Identity.Name); List <PaymentsTableViewModel> lstPayment; lstPayment = (from d in db.PAGOes select new PaymentsTableViewModel { Id = d.PAG_ID, Id_Client = d.PAG_IDENTIFICACION_CLIENTE, Id_Driver = d.PAG_IDENTIFICACION_CHOFER, Id_Route = d.PAG_CODIGO_CTP_RUTA, DateOfPayment = d.PAG_FECHA, State = d.RECHAZADO }).ToList(); List <RoutesTableViewModel> lstRoutes; lstRoutes = (from d in db.RUTAs select new RoutesTableViewModel { Code = d.RUT_CODIGO_CTP, Provincia = d.RUT_PROVINCIA, Canton = d.RUT_CANTON, Nombre = d.RUT_NOMBRE, Costo = d.RUT_COSTO, State = d.RUT_ESTADO }).ToList(); System.DateTime today = new System.DateTime(System.DateTime.Today.Ticks); string td = today.ToShortDateString(); foreach (var payment in lstPayment) { System.DateTime recordDate = payment.DateOfPayment; string rd = recordDate.ToShortDateString(); if (chofer.CHO_IDENTIFICACION.Equals(payment.Id_Driver) && !payment.State && td.Equals(rd)) { foreach (var route in lstRoutes) { if (payment.Id_Route == route.Code) { gananciaTotal += route.Costo; break; } } } } return(gananciaTotal); }
public ActionResult MakePayment(string cedula, string ruta) { if (string.IsNullOrEmpty(cedula) || string.IsNullOrEmpty(ruta)) { return(RedirectToAction("Index", new { message = "Campos en blanco", email = currentEmail, cedula = cedula, ruta = ruta })); } int rutaId = Int32.Parse(ruta); SMART_PAYMENT_DBEntities db = new SMART_PAYMENT_DBEntities(); var client = db.CLIENTEs.FirstOrDefault(x => x.CLI_IDENTIFICACION == cedula); var route = db.RUTAs.FirstOrDefault(x => x.RUT_CODIGO_CTP == rutaId); chofer = db.CHOFERs.FirstOrDefault(x => x.CHO_CORREO_ELECTRONICO == System.Web.HttpContext.Current.User.Identity.Name); decimal total = client.CLI_MONEDERO - route.RUT_COSTO; DateTime today = System.DateTime.Now; var pago = new PAGO(); pago.PAG_IDENTIFICACION_CLIENTE = client.CLI_IDENTIFICACION; pago.PAG_IDENTIFICACION_CHOFER = chofer.CHO_IDENTIFICACION; pago.PAG_CODIGO_CTP_RUTA = route.RUT_CODIGO_CTP; pago.PAG_FECHA = today; pago.RECHAZADO = false; if (total < 0) { pago.RECHAZADO = true; db.Entry(pago).State = System.Data.Entity.EntityState.Added; db.SaveChanges(); return(RedirectToAction("Index", new { message = "Saldo Insuficiente", email = currentEmail, cedula = cedula, ruta = ruta })); } else { client.CLI_MONEDERO = total; db.Entry(client).State = System.Data.Entity.EntityState.Modified; db.Entry(pago).State = System.Data.Entity.EntityState.Added; db.SaveChanges(); return(RedirectToAction("Index", new { message = "Pago Exitoso", email = currentEmail, cedula = cedula, ruta = ruta })); } }
public List <PaymentsTableViewModel> GetReports() { SMART_PAYMENT_DBEntities db = new SMART_PAYMENT_DBEntities(); chofer = db.CHOFERs.FirstOrDefault(x => x.CHO_CORREO_ELECTRONICO == System.Web.HttpContext.Current.User.Identity.Name); List <PaymentsTableViewModel> lstPayment; lstPayment = (from d in db.PAGOes select new PaymentsTableViewModel { Id = d.PAG_ID, Id_Client = d.PAG_IDENTIFICACION_CLIENTE, Id_Driver = d.PAG_IDENTIFICACION_CHOFER, Id_Route = d.PAG_CODIGO_CTP_RUTA, DateOfPayment = d.PAG_FECHA, State = d.RECHAZADO }).ToList(); List <PaymentsTableViewModel> filteredListPayment = new List <PaymentsTableViewModel>(); foreach (var payment in lstPayment) { if (chofer.CHO_IDENTIFICACION.Equals(payment.Id_Driver)) { if (payment.State) { filteredListPayment.Add(payment); } } } return(filteredListPayment); }
public ActionResult AddNewDriver(string id, DateTime dateOfBirth, string name, string lastName, string secondLastName, string email, string password, string password2) { if (string.IsNullOrEmpty(id) || dateOfBirth == null || string.IsNullOrEmpty(name) || string.IsNullOrEmpty(lastName) || string.IsNullOrEmpty(secondLastName) || string.IsNullOrEmpty(email) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(password2)) { return(RedirectToAction("Drivers", "Admin", new { message = "Campos vacíos", id = id, name = name, lastName = lastName, secondLastName = secondLastName, email = email, password = password, password2 = password2 })); } if (dateOfBirth > DateTime.Today) { return(RedirectToAction("Drivers", "Admin", new { message = "La fecha de nacimiento no puede ser mayor a la fecha actual", id = id, name = name, lastName = lastName, secondLastName = secondLastName, email = email, password = password, password2 = password2 })); } if (Int32.Parse(id) <= 0) { return(RedirectToAction("Drivers", "Admin", new { message = "El número de identificación debe ser mayor a 0", id = id, name = name, lastName = lastName, secondLastName = secondLastName, email = email, password = password, password2 = password2 })); } if (!IsValidEmailAddress(email.Trim())) { return(RedirectToAction("Drivers", "Admin", new { message = "Correo electrónico inválido", id = id, name = name, lastName = lastName, secondLastName = secondLastName, email = email, password = password, password2 = password2 })); } if (string.Equals(password.Trim(), password2.Trim())) { if (password.Trim().Length < 8) { return(RedirectToAction("Drivers", "Admin", new { message = "La longitud de la contraseña debe ser mayor o igual 8", id = id, name = name, lastName = lastName, secondLastName = secondLastName, email = email, password = password, password2 = password2 })); } else if (!IsValidPassword(password.Trim())) { return(RedirectToAction("Drivers", "Admin", new { message = "La contraseña debe contener números y letras", id = id, name = name, lastName = lastName, secondLastName = secondLastName, email = email, password = password, password2 = password2 })); } } else { return(RedirectToAction("Drivers", "Admin", new { message = "Contraseñas no coinciden", id = id, name = name, lastName = lastName, secondLastName = secondLastName, email = email, password = password, password2 = password2 })); } if (IsRegisteredID(id.Trim())) { return(RedirectToAction("Drivers", "Admin", new { message = "Identificación ya se encuentra registrada", id = id, name = name, lastName = lastName, secondLastName = secondLastName, email = email, password = password, password2 = password2 })); } if (IsRegisteredEmail(email.Trim())) { return(RedirectToAction("Drivers", "Admin", new { message = "Correo electrónico ya está registrado", id = id, name = name, lastName = lastName, secondLastName = secondLastName, email = email, password = password, password2 = password2 })); } var chofer = new CHOFER(); chofer.CHO_IDENTIFICACION = id.Trim(); chofer.CHO_FECHA_NACIMIENTO = dateOfBirth; chofer.CHO_NOMBRE = name.Trim(); chofer.CHO_PRIMER_APELLIDO = lastName.Trim(); chofer.CHO_SEGUNDO_APELLIDO = secondLastName.Trim(); chofer.CHO_CORREO_ELECTRONICO = email.Trim(); chofer.CHO_CONTRASENNA = password.Trim(); chofer.CHO_ESTADO = true; SMART_PAYMENT_DBEntities db = new SMART_PAYMENT_DBEntities(); db.Entry(chofer).State = System.Data.Entity.EntityState.Added; db.SaveChanges(); return(RedirectToAction("Drivers", "Admin", new { message = "Chofer agregado correctamente" })); }