public ActionResult AuthKey(int id) { var ctx = new DataAccess.SirCoNominaDataContext(); var emp = ctx.Empleados.Where(i => i.idempleado == id).Single(); byte[] secretKey = KeyGeneration.GenerateRandomKey(20); var issuer = "ZapateriaTorreon"; string barcodeUrl = KeyUrl.GetTotpUrl(secretKey, $"{emp.idempleado}") + $"&issuer={issuer}"; //barcodeUrl = HttpUtility.UrlDecode(barcodeUrl); ViewBag.id = id; ViewBag.SecretKey = Base32Encoder.Encode(secretKey); ViewBag.BarcodeUrl = barcodeUrl; //ViewBag.issuer = issuer; return(View()); }
private string GetEmpleado(int?id) { var ctxn = new DataAccess.SirCoNominaDataContext(); if (!id.HasValue) { return(null); } var emp = ctxn.Empleados.Where(i => i.idempleado == id).SingleOrDefault(); if (emp == null) { return(null); } return($"{emp.nombre} {emp.appaterno} {emp.apmaterno}"); }
public ActionResult AuthKey(int id, string key, string code) { var ctx = new DataAccess.SirCoNominaDataContext(); var emp = ctx.Empleados.Where(i => i.idempleado == id).Single(); byte[] secretKey = Base32Encoder.Decode(key); long timeStepMatched = 0; var otp = new Totp(secretKey); if (otp.VerifyTotp(code, out timeStepMatched, new VerificationWindow(2, 2))) { emp.authkey = key; ctx.SaveChanges(); return(Content("SUCCESS")); } return(Content("FAILED")); }
public Empleado FindCajero(string user) { var ctx = new DataAccess.SirCoNominaDataContext(); var item = ctx.Empleados.Where(i => i.usuariosistema == user && i.iddepto == (int)Common.Constants.Departamento.TDA && i.idpuesto == (int)Common.Constants.Puesto.CJA && i.estatus == "A").SingleOrDefault(); if (item != null) { return(new Empleado { Id = item.idempleado, ApellidoMaterno = item.apmaterno, ApellidoPaterno = item.appaterno, Nombre = item.nombre, Usuario = item.usuariosistema, Clave = item.clave }); } return(null); }
public Empleado Login(string user, string pass) { var puestos = new int[] { (int)Common.Constants.Puesto.CJA, (int)Common.Constants.Puesto.ENC, (int)Common.Constants.Puesto.SUP }; var ctx = new DataAccess.SirCoNominaDataContext(); var item = ctx.Empleados.Where(i => i.usuariosistema.Trim() == user && i.password.Trim() == pass && i.iddepto == (int)Common.Constants.Departamento.TDA && puestos.Contains(i.idpuesto) && i.estatus == "A").SingleOrDefault(); //if (!int.TryParse(user, out id)) // return null; //if (pass != "123") // return null; //var item = ctx.Empleados.Where(i => i.idempleado == id // && i.iddepto == (int)Common.Constants.Departamento.TDA // && puestos.Contains(i.idpuesto) // && i.estatus == "A" // && i.clave.Substring(0, 2) == sucursal).SingleOrDefault(); if (item != null) { return(new Empleado { Id = item.idempleado, ApellidoMaterno = item.apmaterno, ApellidoPaterno = item.appaterno, Nombre = item.nombre, Usuario = item.usuariosistema, Clave = item.clave, Puesto = item.idpuesto, Depto = item.iddepto }); } return(null); }
public Empleado FindAuditorEntrega(int id, int idcajero) { var ctx = new DataAccess.SirCoNominaDataContext(); var ctxpos = new DataAccess.SirCoPOSDataContext(); var cajero = ctx.Empleados.Where(i => i.idempleado == idcajero && i.estatus == "A").Single(); var auditor = ctx.Empleados.Where(i => i.idempleado == id && i.estatus == "A").SingleOrDefault(); if (auditor != null) { var asuc = auditor.clave.Substring(0, 2); var suc = cajero.clave.Substring(0, 2); if (Common.Constants.Puestos.Gerentes.Contains(cajero.idpuesto) || cajero.idpuesto == (int)Common.Constants.Puesto.CJA) { if (Common.Constants.Puestos.Gerentes.Contains(auditor.idpuesto)) { var fondo = ctxpos.Fondos.Where(i => i.ResponsableId == auditor.idempleado && !i.FechaCierre.HasValue).SingleOrDefault(); if (fondo == null) { return(null); } } else if (auditor.idpuesto == (int)Common.Constants.Puesto.MEN) { var fondo = ctxpos.Fondos.Where(i => i.ResponsableId == auditor.idempleado && !i.FechaCierre.HasValue).SingleOrDefault(); if (fondo == null) { return(null); } } else if (!Common.Constants.Puestos.Admin.Contains(auditor.idpuesto)) { return(null); } } //else if (cajero.idpuesto == (int)Common.Constants.Puesto.CJA) //{ //} else { return(null); } return(new Empleado { Id = auditor.idempleado, ApellidoMaterno = auditor.apmaterno, ApellidoPaterno = auditor.appaterno, Nombre = auditor.nombre, Usuario = auditor.usuariosistema, Clave = auditor.clave, Puesto = auditor.idpuesto }); } return(null); }
public ReciboCompraReport GetReciboCompra(string sucursal, string folio) { var ctxpv = new DataAccess.SirCoPVDataContext(); var ctxc = new DataAccess.SirCoControlDataContext(); var ctxn = new DataAccess.SirCoNominaDataContext(); var ctx = new DataAccess.SirCoDataContext(); var ctxa = new DataAccess.SirCoAPPDataContext(); var venta = ctxpv.Ventas.Where(i => i.sucursal == sucursal && i.venta == folio).Single(); var dinero = ctxa.DinerosDetalle.Where(i => i.sucnota == sucursal && i.nota == folio).SingleOrDefault(); var vendedor = this.GetEmpleado(venta.idvendedor); var cajero = this.GetEmpleado(venta.idcajero); var suc = ctxc.Sucursales.Where(i => i.sucursal == venta.sucursal).Single(); var item = new ReciboCompraReport { Recibo = new Common.Entities.Reports.ReciboCompra { SucursalId = venta.sucursal, SucursalNombre = suc.descrip, RFC = "CTO-911211JL9", Direccion = suc.calle, Colonia = suc.colonia, Fecha = venta.fum.Value, VendedorId = $"{venta.idvendedor}", VendedorNombre = vendedor, CajeroId = $"{venta.idcajero}", CajeroNombre = cajero, Folio = venta.venta, Efectivo = 3975, Descuento = 500, Cambio = DateTime.Parse("2019-07-13"), Dinero = dinero?.importe } }; var plist = new List <Common.Entities.Reports.Producto>(); foreach (var det in venta.Detalles) { var serie = ctx.Series.Where(i => i.serie == det.serie).Single(); plist.Add( new Common.Entities.Reports.Producto { Serie = det.serie, Precio = det.precio.Value, Importe = det.precdesc.Value, Marca = det.marca, Descripcion = serie.Articulo.Descripcion }); } item.Productos = plist; var pdlist = new List <Common.Entities.Reports.Pago>(); //if(!ctxpv.Entry(venta).Reference(i => i.Pago).IsLoaded) // ctxpv.Entry(venta).Reference(i => i.Pago).Load(); //if (!ctxpv.Entry(venta.Pago).Collection(i => i.Detalle).IsLoaded) // ctxpv.Entry(venta.Pago).Collection(i => i.Detalle).Load(); var pagos = venta.Pago.Detalle; foreach (var det in pagos) { var pa = new Pago { FormaPago = ((Common.Constants.FormaPago)det.idformapago).ToString(), Importe = det.importe.Value, Referencia = null, Folio = null }; pdlist.Add(pa); } item.Pagos = pdlist; var pplist = new List <Common.Entities.Reports.PlanPago>(); var ctxcr = new DataAccess.SirCoCreditoDataContext(); //============================================================================================== var ppagos = ctxcr.PlanPagosDetalle.Where(i => i.sucursal == "447279"); foreach (var det in ppagos) { pplist.Add(new PlanPago { Pago = (int)det.pago, Date = det.fechaaplicar, Importe = det.importe }); } item.PlanPagos = pplist; return(item); }