public ActionResult Guardar() { Guid IdNominaHistorial = Guid.Parse(Request.Params["IdNominaHistorial"]); Guid IdProveedor = Guid.Parse(Request.Params["PAC"]); string idEmpleado = Request.Params["IdEmpleado"]; if (idEmpleado == string.Empty || idEmpleado == null) { idEmpleado = Guid.NewGuid().ToString(); } Guid IdEmpleado = Guid.Parse(idEmpleado); db.InsertNominaHistorial(IdNominaHistorial, IdProveedor, IdEmpleado, "", "", DateTime.Now, DateTime.Now, DateTime.Now, 1, "", "MXN", "", "", DateTime.Now, User.Identity.Name); return(Json(new{ error = "none" }, JsonRequestBehavior.AllowGet)); }
public ActionResult Nuevo(EmpleadoView empleado, HttpPostedFileBase Foto) { try { Guid IdUsuario = db.Usuarios.Where(x => x.Usuario == User.Identity.Name).FirstOrDefault().Id; Guid IdPlantilla = Guid.NewGuid(), PercepcionesId = Guid.NewGuid(); byte[] Photo = null; if (Foto != null) { Photo = Helpers.StreamHelper.HttpPostedFileBaseToByte(Foto); } var filename = Path.GetFileName(Foto.FileName); var ext = Path.GetExtension(Foto.FileName); int NoEmpleado = 1; if (db.Empleados.Where(x => x.IdProveedor == empleado.Empleado.IdProveedor).Count() > 0) { NoEmpleado = db.Empleados.Where(x => x.IdProveedor == empleado.Empleado.IdProveedor).Max(x => x.NoEmpleado) + 1; } db.InsertEmpleados(empleado.Empleado.Id, NoEmpleado, empleado.Empleado.IdProveedor, empleado.Empleado.Nombre, empleado.Empleado.ApellidoMaterno, empleado.Empleado.ApellidoPaterno, null, empleado.Empleado.Email, empleado.Empleado.FechaNacimiento, empleado.Empleado.FechaInicioRelLaboral, empleado.Empleado.RFC, empleado.Empleado.CURP, empleado.Empleado.HuellaDactilar, null, empleado.Empleado.INE, empleado.Empleado.NumeroSeguridadSocial, empleado.Empleado.Departamento, empleado.Empleado.Direccion, empleado.Empleado.Puesto, empleado.Empleado.RiesgoPuesto, empleado.Empleado.TipoContrato, empleado.Empleado.TipoJornada, empleado.Empleado.SalarioDiario, empleado.Empleado.Banco, empleado.Empleado.CuentaBancaria, empleado.Empleado.ClaveEntFed, empleado.Empleado.GradoEstudios, empleado.Empleado.Telefono, empleado.Empleado.TelefonoEmergencia, empleado.Empleado.Firma, empleado.Empleado.TipoSangre, empleado.Empleado.CUIP, empleado.Empleado.NumeroDeLicencia, empleado.Empleado.NumeroDeAutorizacion, IdPlantilla, true, IdUsuario, DateTime.Now); db.InsertNominaHistorial(IdPlantilla, empleado.Empleado.IdProveedor, empleado.Empleado.Id, empleado.NominaHistorial.TipoNomina, DateTime.Now, DateTime.Now, DateTime.Now, 0, empleado.NominaHistorial.TipoRegimen, "MXN", empleado.NominaHistorial.PeriodicidadPago, empleado.NominaHistorial.LugarExpedicion, PercepcionesId, DateTime.Now, User.Identity.Name); if (empleado.NominaPercepciones == null) { db.InsertNominaPercepciones(PercepcionesId, null, null, DateTime.Now, IdUsuario); } else { if (empleado.JubilacionPensionRetiro != null) { db.InsertNominaJubilacionPensionRetiro(empleado.JubilacionPensionRetiro.Id, empleado.JubilacionPensionRetiro.TotalUnaExhibicion, empleado.JubilacionPensionRetiro.TotalParcialidad, empleado.JubilacionPensionRetiro.MontoDiario, empleado.JubilacionPensionRetiro.IngresoAcumulable, empleado.JubilacionPensionRetiro.IngresoNoAcumulable, DateTime.Now, IdUsuario); } if (empleado.SeparacionIndemnizacion != null) { db.InsertNominaSeparacionIndemnizacion(empleado.SeparacionIndemnizacion.Id, empleado.SeparacionIndemnizacion.TotalPagado, empleado.SeparacionIndemnizacion.NumAñosServicio, empleado.SeparacionIndemnizacion.UltimoSueldoMensOrd, empleado.SeparacionIndemnizacion.IngresoAcumulable, empleado.SeparacionIndemnizacion.IngresoNoAcumulable, DateTime.Now, IdUsuario); } db.InsertNominaPercepciones(PercepcionesId, empleado.NominaPercepciones.IdSeparacionIndemnizacion, empleado.NominaPercepciones.IdJubilacionPensionRetiro, DateTime.Now, IdUsuario); } foreach (var percepcion in empleado.NominaPercepcion) { db.InsertNominaPercepcion(percepcion.Id, PercepcionesId, percepcion.Tipo, percepcion.Clave, percepcion.Concepto, percepcion.ImporteExcento, percepcion.ImporteGravado, percepcion.ValorMercado, percepcion.PrecioOrtorgarse, DateTime.Now, IdUsuario); if (empleado.NominaHorasExtras != null) { foreach (var horasExtras in empleado.NominaHorasExtras.Where(x => x.IdPercepcion == percepcion.Id)) { db.InsertNominaHorasExtras(horasExtras.Id, percepcion.Id, horasExtras.Dias, horasExtras.Tipos, horasExtras.HorasExtras, horasExtras.ImportePagado, DateTime.Now, IdUsuario); } } } if (empleado.NominaDeducion != null) { foreach (var deduccion in empleado.NominaDeducion) { db.InsertNominaDeduccion(deduccion.Id, IdPlantilla, deduccion.Tipo, deduccion.Concepto, deduccion.Importe, IdUsuario, DateTime.Now); } } if (empleado.NominaIncapacidad != null) { foreach (var incapacidad in empleado.NominaIncapacidad) { db.InsertNominaIncapacidad(Guid.NewGuid(), IdPlantilla, incapacidad.Tipo, incapacidad.DiasIncapacidad, incapacidad.Importe, IdUsuario, DateTime.Now); } } if (empleado.NominaOtroPago != null) { foreach (var otroPago in empleado.NominaOtroPago) { db.InsertNominaOtrosPagos(Guid.NewGuid(), IdPlantilla, otroPago.Tipo, otroPago.Importe, otroPago.Concepto, otroPago.SubsidioCausado, otroPago.SaldoAFavor, otroPago.Año, otroPago.RemanenteSalFav); } } return(Json(new { error = false }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { error = true, Description = ex.InnerException, Message = ex.Message }, JsonRequestBehavior.AllowGet)); } }