public async Task <ActionResult> M_UpdateDates(string c) { Mobile oMobile = new Mobile(); clientes cl = db.clientes.Where(m => m.codigo == c).FirstOrDefault(); if (cl != null) { DateTime today = CurrentDate.getNow(); venta_usuarios clientSls = await db.venta_usuarios.Where(m => m.cliente_id == cl.id_alt && m.fecha_fin > today).OrderBy(m => m.fecha_fin).FirstOrDefaultAsync(); citas clientAppointments = await db.citas.Where(m => m.cliente_id == cl.id_alt && m.fecha > today).OrderBy(m => m.fecha).FirstOrDefaultAsync(); Dictionary <string, object> oDict = new Dictionary <string, object>(); oDict.Add(key: "upcoming_nut_appointment_date", value: clientAppointments != null ? clientAppointments.fecha.ToShortDateString() : null); oDict.Add(key: "upcoming_membership_renewal_date", value: clientSls != null ? clientSls.fecha_fin.ToShortDateString() : null); return(Json( oMobile.GetDictForJSON( message: "Usuario validado", data: oDict, code: MobileResponse.Success), JsonRequestBehavior.AllowGet)); } return(Json( oMobile.GetDictForJSON( message: "Error de validación de usuario.", data: null, code: MobileResponse.Error), JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> Create([Bind(Include = "id,local_id,cliente_id,vendedor_id,fecha_inicio,fecha_fin,cantidad_semanas,cantidad_dias_congelamiento,semanas_precio_id,solicitud_permiso_congelamiento,tipo_ingreso,campana_marketing_id,numero_boleta,tipo_pago,monto,atendido,created_at,updated_at,deleted_at")] venta_usuarios venta_usuarios, int clientId) { bool usrIsBoss = db.vendedores.Where(m => m.usuario_id == venta_usuarios.vendedor_id).Select(m => m.jefe).FirstOrDefault() ?? false; if (!usrIsBoss && venta_usuarios.solicitud_permiso_congelamiento == true) { solicitud_permisos sp = new solicitud_permisos(); sp.usuario_solicitante = venta_usuarios.vendedor_id; sp.usuario_jefe = db.vendedores.Where(m => m.jefe == true).Select(m => m.usuario_id).FirstOrDefault(); sp.valor_modificado = venta_usuarios.cantidad_dias_congelamiento; sp.valor_defecto = db.congelamiento_semanas.Where(m => venta_usuarios.cantidad_dias_congelamiento >= m.desde).Where(m => venta_usuarios.cantidad_dias_congelamiento <= m.hasta).Select(m => m.cantidad_dias).FirstOrDefault(); sp.created_at = DateTimeOffset.Now.Date; sp.updated_at = DateTimeOffset.Now.Date; await backJobs.AskForPermission(sp : sp); } venta_usuarios.cliente_id = clientId; venta_usuarios.created_at = DateTimeOffset.Now.DateTime; venta_usuarios.updated_at = DateTimeOffset.Now.DateTime; db.venta_usuarios.Add(venta_usuarios); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public async Task <ActionResult> M_GetAvailableFreezingDays(string c) { clientes cl = db.clientes.Where(m => m.codigo == c).FirstOrDefault(); DateTime today = CurrentDate.getNow(); Mobile oMobile = new Mobile(); if (cl != null) { //select * from [dbo].[venta_usuarios] where cliente_id = 11 and fecha_inicio >= '2016-09-29 00:00:00.000' order by fecha_inicio venta_usuarios user_sales = await db.venta_usuarios.Where(m => m.cliente_id == cl.id_alt && m.fecha_inicio <= today && m.fecha_fin >= today).FirstOrDefaultAsync(); Dictionary <string, object> oDict = new Dictionary <string, object>(); oDict.Add("days", user_sales.cantidad_dias_congelamiento); return(Json( oMobile.GetDictForJSON( message: "", data: oDict, code: MobileResponse.Success), JsonRequestBehavior.AllowGet)); } return(Json( oMobile.GetDictForJSON( message: "Error en la solicitud", data: null, code: MobileResponse.Error), JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> DeleteConfirmed(int id) { venta_usuarios venta_usuarios = await db.venta_usuarios.FindAsync(id); db.venta_usuarios.Remove(venta_usuarios); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public ActionResult M_LogInClient(string c, int k) { Mobile oMobile = new Mobile(); clientes cl = db.clientes.Where(m => m.codigo == c).Include(m => m.nutricionistas.usuarios).FirstOrDefault(); int daysInMonth = DateTime.DaysInMonth(CurrentDate.getNow().Year, CurrentDate.getNow().Month); DateTime firstDay = new DateTime(CurrentDate.getNow().Year, CurrentDate.getNow().Month, 1); DateTime lastDay = new DateTime(CurrentDate.getNow().Year, CurrentDate.getNow().Month, daysInMonth); if (cl != null && k == cl.password) { DateTime today = CurrentDate.getNow(); programa_clientes clientPrg = db.programa_clientes.Where(m => m.cliente_id == cl.id_alt && m.fecha_fin >= today).Include(m => m.programa).OrderBy(m => m.fecha_fin).FirstOrDefault(); venta_usuarios clientSls = db.venta_usuarios.Where(m => m.cliente_id == cl.id_alt && m.fecha_fin >= today).OrderBy(m => m.fecha_fin).FirstOrDefault(); if (clientPrg == null || clientSls == null) { return(Json( oMobile.GetDictForJSON( message: "Cliente no cuenta con programa asignado o boleta vigente en el sistema.", data: null, code: MobileResponse.Success), JsonRequestBehavior.AllowGet)); } citas clientAppointments = db.citas.Where(m => m.cliente_id == cl.id_alt && m.fecha > today).OrderBy(m => m.fecha).FirstOrDefault(); Dictionary <string, object> oDict = new Dictionary <string, object>(); oDict.Add(key: "name", value: cl.nombres); oDict.Add(key: "last_name", value: cl.apellidos); oDict.Add(key: "code", value: cl.id_alt); oDict.Add(key: "img", value: Convert.ToBase64String(cl.foto)); oDict.Add(key: "curr_program", value: clientPrg.programa.nombre); oDict.Add(key: "curr_nutritionist", value: cl.nutricionistas.usuarios.nombres ?? null); oDict.Add(key: "curr_ticket", value: clientSls.numero_boleta); oDict.Add(key: "upcoming_nut_appointment_date", value: clientAppointments != null ? clientAppointments.fecha.ToShortDateString() : null); oDict.Add(key: "upcoming_membership_renewal_date", value: clientSls != null ? clientSls.fecha_fin.ToShortDateString() : null); return(Json( oMobile.GetDictForJSON( message: "Inicio de sesión correcto.", data: oDict, code: MobileResponse.Success), JsonRequestBehavior.AllowGet)); } return(Json( oMobile.GetDictForJSON( message: "Error de inicio de sesión.", data: null, code: MobileResponse.Error), JsonRequestBehavior.AllowGet)); }
// GET: VentaUsuarios/Details/5 public async Task <ActionResult> Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } venta_usuarios venta_usuarios = await db.venta_usuarios.FindAsync(id); if (venta_usuarios == null) { return(HttpNotFound()); } return(View(venta_usuarios)); }
// GET: VentaUsuarios/Edit/5 public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } venta_usuarios venta_usuarios = await db.venta_usuarios.FindAsync(id); if (venta_usuarios == null) { return(HttpNotFound()); } ViewBag.cliente_id = new SelectList(db.clientes, "id_alt", "codigo", venta_usuarios.cliente_id); ViewBag.local_id = new SelectList(db.locales, "id", "nombre", venta_usuarios.local_id); return(View(venta_usuarios)); }
public async Task <int> GetUsedWeeks(int ClientId, int LastSaleId) { venta_usuarios usrSales = db.venta_usuarios.Where(v => v.id == LastSaleId).FirstOrDefault(); List <programa_clientes> prgClient = await db.programa_clientes .Where(p => p.cliente_id == ClientId && p.fecha_inicio >= usrSales.fecha_inicio && p.fecha_fin <= usrSales.fecha_fin) .Include(p => p.programa) .ToListAsync(); int usedWeeks = 0; if (prgClient != null) { foreach (programa_clientes p in prgClient) { usedWeeks += p.programa.semanas; } } return(usedWeeks); }
public async Task <ActionResult> Edit([Bind(Include = "id,local_id,cliente_id,vendedor_id,fecha_inicio,fecha_fin,cantidad_semanas,cantidad_dias_congelamiento,solicitud_permiso_congelamiento,tipo_ingreso,campana_marketing_id,numero_boleta,tipo_pago,monto,atendido,created_at,updated_at,deleted_at")] venta_usuarios venta_usuarios) { if (ModelState.IsValid) { venta_usuarios vu = db.venta_usuarios.Where(m => m.id == venta_usuarios.id).FirstOrDefault(); vu.numero_boleta = venta_usuarios.numero_boleta; vu.updated_at = DateTimeOffset.Now.DateTime; vu.atendido = true; clientes cl = db.clientes.Where(m => m.id_alt == venta_usuarios.cliente_id).FirstOrDefault(); cl.acceso_autorizado = true; cl.activo = true; db.Entry(cl).State = EntityState.Modified; db.Entry(vu).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewBag.cliente_id = new SelectList(db.clientes, "id_alt", "codigo", venta_usuarios.cliente_id); ViewBag.local_id = new SelectList(db.locales, "id", "nombre", venta_usuarios.local_id); return(View(venta_usuarios)); }
public async Task <ActionResult> Global(int id) { int daysInMonth = DateTime.DaysInMonth(CurrentDate.getNow().Year, CurrentDate.getNow().Month); DateTime today = CurrentDate.getNow(); DateTime firstDay = new DateTime(today.Year, today.Month, 1); DateTime lastDay = new DateTime(today.Year, today.Month, daysInMonth); // Info General clientes client = await db.clientes .Where(m => m.id_alt == id) .Include(m => m.nutricionistas.usuarios) .FirstOrDefaultAsync(); // Info Programa programa_clientes program = await db.programa_clientes .Where(m => m.cliente_id == client.id_alt && m.fecha_inicio <= today && m.fecha_fin >= today) .Include(m => m.programa) .Include(m => m.horario.sala.local) .OrderBy(m => m.fecha_fin) .FirstOrDefaultAsync(); ViewBag.ProgramId = program != null?program.id.ToString() : ""; ViewBag.ProgramName = program != null ? program.programa.nombre : ""; ViewBag.ProgramInitDate = program != null?program.fecha_inicio.ToShortDateString() : ""; ViewBag.ProgramEndDate = program != null?program.fecha_fin.ToShortDateString() : ""; ViewBag.ProgramSchedule = program != null?program.horario.hora.ToString() : ""; ViewBag.Gym = program != null ? program.horario.sala.local.nombre : ""; // Info Notas del cliente List <clientes_notas> notes = await db.clientes_notas.Where(n => n.idCliente == id).OrderByDescending(n => n.created_at).Take(15).ToListAsync(); ViewBag.ClientNotes = notes; //// Info Calendario. //List<pesos_medidas> clientPyM = await db.pesos_medidas.Where(m => m.clienteId == id && m.created_at >= firstDay && m.created_at <= lastDay).ToListAsync(); //List<clientes_asistencia> clientAssistance = await db.clientes_asistencia.Where(m => m.clienteId == id && m.fecha >= firstDay && m.fecha <= lastDay).ToListAsync(); //List<clientes_congelamientos> clientFreezing = await db.clientes_congelamientos.Where(m => m.clienteId == id && m.fecha_desde >= firstDay).ToListAsync(); //List<citas> clientConsults = await db.citas.Where(m => m.cliente_id == id && m.fecha >= firstDay && m.fecha <= lastDay).ToListAsync(); // Info Nutricion. ViewBag.AssignedNutritionist = client.nutricionistas.usuarios.nombres + " " + client.nutricionistas.usuarios.apellidos; if (program != null) { // Info Ficha Medica fichas_medicas medicalHistory = await db.fichas_medicas.Where(m => m.programa_id == program.id).Include(m => m.cardio).FirstOrDefaultAsync(); ViewBag.MedicalId = "No ha sido creada."; ViewBag.Cardio = "No se han ingresado datos."; if (medicalHistory != null) { int clientCurrMedicalHistoryIdCode = 10000000 + medicalHistory.id; ViewBag.MedicalId = clientCurrMedicalHistoryIdCode.ToString("FS#"); if (medicalHistory.cardio != null) { CardioInfo lastCardioResults = medicalHistory.cardio.OrderByDescending(m => m.fecha).FirstOrDefault(); if (lastCardioResults.cardiologia_aprobacion == CardioSuittable.Apto) { ViewBag.Cardio = CardioSuittable.Apto.ToString(); } else { ViewBag.Cardio = CardioSuittable.NoApto.ToString(); } } } // Info Dieta clientes_dietas clientDiet = await db.clientes_dietas.Where(m => m.programa_clientes_id == program.id).OrderByDescending(m => m.created_at).FirstOrDefaultAsync(); if (clientDiet != null) { int dietCode = 10000000 + clientDiet.id; ViewBag.DietCode = dietCode.ToString("D#"); } } // Info Ventas venta_usuarios usrSales = await db.venta_usuarios .Where(m => m.cliente_id == client.id_alt) .OrderByDescending(m => m.created_at) .FirstOrDefaultAsync(); if (usrSales != null) { usuarios usr = await db.vendedores.Where(v => v.usuario_id == usrSales.vendedor_id).Include(v => v.usuarios).Select(v => v.usuarios).FirstOrDefaultAsync(); ViewBag.Seller = usr.nombres + " " + usr.apellidos; ViewBag.LastTicket = usrSales.numero_boleta; ViewBag.LastRenewal = usrSales.fecha_inicio.ToShortDateString(); semanas_precios weeks = db.semanas_precios.Where(s => s.id == usrSales.semanas_precio_id).FirstOrDefault(); int boughtWeeks = weeks.cantidad_semanas; ViewBag.BoughtWeeks = boughtWeeks.ToString(); int usedWeeks = await GetUsedWeeks(ClientId : client.id_alt, LastSaleId : usrSales.id); ViewBag.UsedWeeks = usedWeeks; ViewBag.PendingWeeks = boughtWeeks - usedWeeks; } //ViewBag.venta_usuario = db.venta_usuarios.Where(vu => vu.cliente_id == id).FirstOrDefault(); //ViewBag.programa_cliente = db.programa_clientes.Where(pc => pc.cliente_id == id).FirstOrDefault(); //ViewBag.calPyM = clientPyM; //ViewBag.calAsist = clientAssistance; //ViewBag.calFrz = clientFreezing; //ViewBag.calCitas = clientConsults; // //ViewBag.cardioApt = cardioApt; //ViewBag.foto = Convert.ToBase64String(cliente.foto); return(View(client)); }