public ActionResult Index() { Usuarios usuario = db.Usuarios.Where(x => x.Usuario == User.Identity.Name).FirstOrDefault(); Clientes clientes = db.GetClientes(null, true, 0).Where(x => x.IdUsuario == usuario.Id).FirstOrDefault(); if (clientes == null) { Empleados empleado = db.GetEmpleados(0, null).Where(x => x.IdUsuario == usuario.Id).FirstOrDefault(); ViewBag.Nombre = empleado.Nombre; ViewBag.ApellidoPaterno = empleado.ApellidoPaterno; ViewBag.ApellidoMaterno = empleado.ApellidoMaterno; ViewBag.Pais = "Mexico"; ViewBag.Telefono = empleado.Telefono; } else { ViewBag.Nombre = clientes.Nombres; ViewBag.ApellidoPaterno = clientes.ApellidoPaterno; ViewBag.ApellidoMaterno = clientes.ApellidoMaterno; ViewBag.Pais = clientes.Pais; ViewBag.Telefono = clientes.Telefono; ViewBag.Sexo = clientes.Sexo; } return(View()); }
public ActionResult Editar(Guid IdTemp) { EmpleadoView Empleado = new EmpleadoView(); Empleado.Bancos = db.Bancos.ToList(); Empleado.Contratos = db.Contratos.ToList(); Empleado.Deducciones = db.Deducciones.ToList(); Empleado.Estados = db.Estados.OrderBy(x => x.NombreEstado).ToList(); Empleado.Empleado = db.GetEmpleados(1, IdTemp).FirstOrDefault(); Empleado.Horas = db.Horas.ToList(); Empleado.Incapacidad = db.Incapacidades.ToList(); Empleado.Jornadas = db.Jornadas.ToList(); Empleado.Nomina = db.Nominas.ToList(); Empleado.NominaHistorial = db.NominaHistorial.Where(x => x.Id == Empleado.Empleado.IdPlantilla).FirstOrDefault(); if (Empleado.NominaHistorial != null) { Empleado.NominaPercepciones = db.NominaPercepciones.Where(x => x.Id == Empleado.NominaHistorial.IdPercepciones).FirstOrDefault(); Empleado.NominaPercepcion = db.NominaPercepcion.Where(x => x.IdPercepciones == Empleado.NominaPercepciones.Id).ToList(); Empleado.JubilacionPensionRetiro = db.NominaJubilacionPensionRetiro.Where(x => x.Id == Empleado.NominaPercepciones.IdJubilacionPensionRetiro).FirstOrDefault(); Empleado.SeparacionIndemnizacion = db.NominaSeparacionIndemnizacion.Where(x => x.Id == Empleado.NominaPercepciones.IdSeparacionIndemnizacion).FirstOrDefault(); List <NominaHorasExtras> NominaHorasExtras = db.NominaHorasExtras.ToList(); Empleado.NominaHorasExtras = new List <Model.NominaHorasExtras>(); foreach (var percepcion in Empleado.NominaPercepcion) { foreach (var HorasExtras in NominaHorasExtras.Where(x => x.IdPercepcion == percepcion.Id)) { Empleado.NominaHorasExtras.Add(HorasExtras); } } Empleado.NominaDeducion = db.NominaDeduccion.Where(x => x.IdNominaHistorial == Empleado.NominaHistorial.Id).ToList(); Empleado.NominaIncapacidad = db.NominaIncapacidad.Where(x => x.IdNominaHistorial == Empleado.NominaHistorial.Id).ToList(); Empleado.NominaOtroPago = db.NominaOtrosPago.Where(x => x.IdNominaHistorial == Empleado.NominaHistorial.Id).ToList(); } Empleado.OtrosPagos = db.OtrosPagos.ToList(); Empleado.PAC = db.GetPAC(null, 0).ToList(); Empleado.Percepciones = db.Percepciones.ToList(); Empleado.PeriodicidadPago = db.PeriodicidadPago.ToList(); Empleado.Regimen = db.Regimen.ToList(); Empleado.RiesgoPuesto = db.RiesgoPuesto.ToList(); return(PartialView(Empleado)); }
public ActionResult Nuevo(string Tipo, string Permiso, Guid Id, string Usuario, int Timbres, string Contrasena) { try { Guid IdUsuario = Guid.NewGuid(); if (Tipo == "Cliente") { Clientes cliente = db.GetClientes(Id, true, 1).First(); /* db.UpdateClientes(Id, cliente.IdProveedor, cliente.NumeroDeCuenta, cliente.NumeroTelefonoAlarma, * cliente.PalabraClave, cliente.PalabraClaveSilenciosa, cliente.Nombres, cliente.ApellidoPaterno, cliente.ApellidoMaterno, * cliente.Calle, cliente.NoInterior, cliente.NoExterior, cliente.Colonia, cliente.CodigoPostal, cliente.Telefono, * cliente.TelefonoTrabajo, cliente.TelefonoCelular, Usuario, cliente.Foto, cliente.Estado, cliente.Pais, cliente.Ciudad, * cliente.TipoAfilacion, cliente.NumeroPatrocinador, cliente.FechaNacimiento, cliente.LugarNacimiento, cliente.Sexo, * cliente.EstadoCivil, cliente.Profesion, cliente.CURP, cliente.RFC, cliente.NumCtaPago, cliente.ClaveBancaria, cliente.Banco, * cliente.NumeroCLABE, cliente.Beneficiario, cliente.FechaCreacion, cliente.UsuarioCreacion, true, IdUsuario);*/ } else { Empleados empleado = db.GetEmpleados(0, null).Where(x => x.Id == Id).First(); db.UpdateEmpleado(empleado.Id, empleado.NoEmpleado, empleado.IdProveedor, empleado.Nombre, empleado.ApellidoMaterno, empleado.ApellidoPaterno, IdUsuario, Usuario, empleado.FechaNacimiento, empleado.FechaInicioRelLaboral, empleado.RFC, empleado.CURP, empleado.HuellaDactilar, empleado.Foto, empleado.INE, empleado.NumeroSeguridadSocial, empleado.Departamento, empleado.Direccion, empleado.Puesto, empleado.RiesgoPuesto, empleado.TipoContrato, empleado.TipoJornada, empleado.SalarioDiario, empleado.Banco, empleado.CuentaBancaria, empleado.ClaveEntFed, empleado.GradoEstudios, empleado.Telefono, empleado.TelefonoEmergencia, empleado.Firma, empleado.TipoSangre, empleado.CUIP, empleado.NumeroDeLicencia, empleado.NumeroDeAutorizacion, empleado.IdPlantilla, true); } db.InsertUsuario(IdUsuario, Usuario, Helpers.SHA1.Encode(Contrasena), Tipo, Permiso, true, Timbres, 0, 0, true); } catch (Exception ex) { return(Json(new { error = true, Message = ex.Message }, JsonRequestBehavior.AllowGet)); } return(Json(new { error = false }, JsonRequestBehavior.AllowGet)); }
public ActionResult Index() { List <Clientes> Clientes; if (User.IsInRole("Admin")) { Clientes = db.GetClientes(null, true, 0).ToList(); } else { Usuarios usuario = db.Usuarios.Where(x => x.Usuario == User.Identity.Name).FirstOrDefault(); List <Empleados> empleado = db.GetEmpleados(0, null).Where(x => x.IdUsuario == usuario.Id).ToList(); if (empleado.Count > 0) { Clientes = db.GetClientes(null, true, 0).Where(x => x.IdProveedor == empleado.First().IdProveedor).ToList(); } else { Clientes cliente = db.GetClientes(null, true, 0).Where(x => x.IdUsuario == usuario.Id).First(); Clientes = db.GetClientes(null, true, 0).Where(x => x.IdProveedor == cliente.IdProveedor).ToList(); } } return(View(Clientes)); }
public ActionResult Index() { List <Empleados> Empleado = db.GetEmpleados(0, null).ToList(); return(View(Empleado)); }
public ActionResult Generar(Guid IdNominaHistorial) { NominaHistorial nominaHistorial = db.GetNominaHistorial(1, IdNominaHistorial).First(); Empleados Empleado = db.GetEmpleados(1, nominaHistorial.IdEmpleado).First(); GetPAC_Result PAC = db.GetPAC(nominaHistorial.IdProveedor, 1).First(); List <NominaDeduccion> NominaDeducciones = db.NominaDeduccion.Where(x => x.IdNominaHistorial == IdNominaHistorial).ToList(); List <NominaPercepciones> NominaPercepciones = db.NominaPercepciones.Where(x => x.IdNominaHistorial == IdNominaHistorial).ToList(); List <Model.CFDI> CFDIs = db.GetCFDI(null, 0).Where(x => x.IdProveedor == PAC.Id).ToList(); int FolioFactura = 1; if (CFDIs.Count > 0) { FolioFactura = CFDIs.Max(x => x.Folio).Value + 1; } GeneraCFDI obj = new GeneraCFDI(); string PATH = "~/Certificados/" + PAC.RFC; string CER = Server.MapPath(PATH + "/" + PAC.RFC + ".cer"); string KEY = Server.MapPath(PATH + "/" + PAC.RFC + ".key"); obj.agregarCertificado(CER); double SubTotal = NominaPercepciones.Sum(x => x.ImporteGravado + x.ImporteExcento).Value; double Descuento = NominaDeducciones.Sum(x => x.Importe); double OtrosPagos = 0; double TotalImpuestosRetenidos = NominaDeducciones.Where(x => x.Tipo.Contains("002")).Sum(x => x.Importe); double TotalOtrasDeducciones = NominaDeducciones.Where(x => !x.Tipo.Contains("002")).Sum(x => x.Importe); obj.agregarComprobante33("A", "" + FolioFactura, System.DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss"), "99", "", SubTotal, Descuento, "MXN", "", SubTotal - Descuento, "N", "PUE", "22210", ""); obj.agregarEmisor(PAC.RFC, PAC.Nombre, PAC.RegimenFiscal); TimeSpan Time = (nominaHistorial.FechaFinalPago - Empleado.FechaInicioRelLaboral.Value); DateTime A = new DateTime(); A = A + Time; int Semanas = Time.Days / 7; string Antiguedad = "P" + Semanas + "W"; int DiasDeVacaciones = CalcularDiasDeVacaciones(A); string SalarioDiarioIntegrado = ((double)(((365 + 15 + (DiasDeVacaciones * 0.25)) / 365) * Empleado.SalarioDiario)).ToString("f2"); obj.agregarReceptor(Empleado.RFC, Empleado.Nombre + " " + Empleado.ApellidoPaterno + " " + Empleado.ApellidoMaterno, "", "", "P01"); obj.agregarConcepto("84111505", "", 1, "ACT", "", "Pago de nómina", NominaPercepciones.Sum(x => x.ImporteGravado).Value, NominaPercepciones.Sum(x => x.ImporteGravado).Value, NominaDeducciones.Sum(x => x.Importe)); //Nomina obj.agregarNomina12("1.2", "O", nominaHistorial.FechaPago.ToString("yyyy-MM-dd"), nominaHistorial.FechaInicialPago.ToString("yyyy-MM-dd"), nominaHistorial.FechaFinalPago.ToString("yyyy-MM-dd"), nominaHistorial.NumeroDiasPagados.ToString(), SubTotal.ToString("f2"), Descuento.ToString("f2"), "0"); obj.agregarNominaEmisor12(PAC.CURP, PAC.RegistroPatronal, PAC.RfcPatronOrigen); obj.agregarNominaReceptor12(Empleado.CURP, Empleado.NumeroSeguridadSocial, Empleado.FechaInicioRelLaboral.Value.ToString("yyyy-MM-dd"), Antiguedad, Empleado.TipoContrato, "No", Empleado.TipoJornada, "02", Empleado.NoEmpleado.ToString(), Empleado.Departamento, Empleado.Puesto, Empleado.RiesgoPuesto, nominaHistorial.PeriodicidadPago, Empleado.Banco, Empleado.CuentaBancaria, "0", SalarioDiarioIntegrado, Empleado.ClaveEntFed); double TotalPercepciones = NominaPercepciones.Sum(x => x.ImporteGravado + x.ImporteExcento).Value, TotalPercepcionesTemp = 0; obj.agregarNominaPercepciones12(NominaPercepciones.Sum(x => x.ImporteGravado + x.ImporteExcento).Value.ToString("f2"), "0", "0", NominaPercepciones.Sum(x => x.ImporteGravado).Value.ToString("f2"), NominaPercepciones.Sum(x => x.ImporteExcento).Value.ToString("f2")); foreach (var item in NominaPercepciones) { obj.agregarNominaPercepcionesPercepcion12(item.Tipo, item.Clave, item.Concepto, item.ImporteGravado.Value.ToString("f2"), item.ImporteExcento.Value.ToString("f2")); TotalPercepcionesTemp += item.ImporteGravado.Value + item.ImporteExcento.Value; } obj.agregarNominaDeducciones12(TotalOtrasDeducciones.ToString("f2"), TotalImpuestosRetenidos.ToString("f2")); foreach (var item in NominaDeducciones) { obj.agregarNominaDeduccionesDeduccion12(item.Tipo, item.Clave, item.Concepto, item.Importe.ToString("f2")); } obj.GeneraXML(KEY, PAC.ContrasenaLlave); string XML = obj.Xml.Replace("Sello=\"\"", "Sello=\"" + obj.SelloEmisor + "\""); //obj.UUID; //obj.Serie; string NombreArchivo = Empleado.RFC + "_" + FolioFactura + "_" + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day + "_SinTimbrar"; string File = Server.MapPath("~/Facturas/" + PAC.RFC + "/Nominas/" + NombreArchivo + ".xml"); Tools.NumLetra NL = new Tools.NumLetra(); System.IO.File.WriteAllText(File, XML); byte[] CFDI; obj.TimbrarCfdiArchivo(File, PAC.Usuario, PAC.Contrasena, "http://generacfdi.com.mx/rvltimbrado/service1.asmx", File.Replace(NombreArchivo + ".xml", ""), NombreArchivo.Replace("_SinTimbrar", ""), true); if (obj.MensajeError == "") { System.IO.File.WriteAllText(File.Replace("_SinTimbrar", ""), obj.XmlTimbrado); CFDI = System.IO.File.ReadAllBytes(File.Replace("_SinTimbrar", "")); db.InsertCFDI(Guid.Parse(obj.UUID), "Nomina", FolioFactura, CFDI, "~\\Facturas\\" + PAC.RFC + "\\Nominas\\" + NombreArchivo.Replace("_SinTimbrar.xml", ""), null, Empleado.Id, PAC.Id, false, DateTime.Now, User.Identity.Name); var base64 = ""; if (PAC.Logo != null) { base64 = Convert.ToBase64String(PAC.Logo); } else { base64 = Convert.ToBase64String(System.IO.File.ReadAllBytes(Server.MapPath("~/Images/Avenzo_Logo_Header.png"))); } var imgSrc = String.Format("data:image/gif;base64,{0}", base64); db.InsertCFDIPorOperacion(Guid.NewGuid(), IdNominaHistorial, null, Guid.Parse(obj.UUID)); CultureInfo CI = CultureInfo.CreateSpecificCulture("es-MX"); PDF.CrearNomina(Server.MapPath("/"), NombreArchivo, nominaHistorial.LugarExpedicion, PAC.RFC, PAC.Nombre, "", "", obj.UUID, obj.NoCertificadoPac, obj.Folio, obj.Serie, obj.FechaEmision, Empleado.Nombre + " " + Empleado.ApellidoPaterno + " " + Empleado.ApellidoMaterno, Empleado.Departamento, Empleado.RFC, Empleado.Puesto, imgSrc, Empleado.CURP, Empleado.NumeroSeguridadSocial, nominaHistorial.NumeroDiasPagados.ToString(), nominaHistorial.FechaPago.ToString("yyyy-MM-dd"), nominaHistorial.FechaInicialPago.ToString("yyyy-MM-dd"), nominaHistorial.FechaFinalPago.ToString("yyyy-MM-dd"), NL.Convertir((SubTotal - Descuento).ToString("f2"), true, "MXN"), "NA", Empleado.CuentaBancaria, PAC.RegimenFiscal, TotalImpuestosRetenidos.ToString("C2", CI), (SubTotal - Descuento).ToString("C2", CI), obj.SelloEmisor, obj.SelloSat, obj.CadenaOriginal, NominaPercepciones, NominaDeducciones); return(Json(new { error = "none", Id = obj.UUID }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { error = "Error a Timbrar", Message = obj.MensajeError }, JsonRequestBehavior.AllowGet)); } }
public ActionResult _Nuevo() { List <Empleados> empleados = db.GetEmpleados(0, null).ToList(); return(PartialView(empleados)); }