/// <summary> /// Guardar Empleado /// </summary> /// <returns>Lista de tipo asignacion</returns> public MethodResponseDTO <int> GuardarEmpleado(EmpleadosDTO empleado) { using (var context = new DB_9F97CF_CatarsysSGCEntities()) { try { var response = new MethodResponseDTO <int>() { Code = 0, Result = 1 }; if (empleado.Id_Empleado == 0) { var objDB = Mapper.Map <Empleados>(empleado); context.Empleados.Add(objDB); } else { var objDB = context.Empleados.SingleOrDefault(x => x.Id_Empleado == empleado.Id_Empleado); objDB.Id_Empleado = empleado.Id_Empleado; objDB.Id_Empresa = empleado.Id_Empresa; objDB.Nombre_Empleado = empleado.Nombre_Empleado; objDB.Email_Empleado = empleado.Email_Empleado; objDB.Puesto_Empleado = empleado.Puesto_Empleado; objDB.Fecha_Nacimiento_Empleado = empleado.Fecha_Nacimiento_Empleado; objDB.Antiguedad_Empleado = empleado.Antiguedad_Empleado; objDB.Skype_Empleado = empleado.Skype_Empleado; objDB.Domicilio_Empleado = empleado.Domicilio_Empleado; objDB.Telefono_L_Empleado = empleado.Telefono_L_Empleado; objDB.Telefono_M_Empleado = empleado.Telefono_M_Empleado; objDB.Id_JefeInmediato_Empleado = empleado.Id_JefeInmediato_Empleado; objDB.IsLogIn = empleado.IsLogIn; objDB.Usuario_Empleado = empleado.Usuario_Empleado; if (empleado.Password_Empleado != string.Empty) { objDB.Password_Empleado = empleado.Password_Empleado; objDB.Salt = empleado.Salt; } objDB.Estado = empleado.Estado; //objDB.Id_Perfil = empleado.Id_Perfil; } context.SaveChanges(); var permisos = GuardarPermisos(empleado.EmpleadoPermiso); if (permisos.Code != 0) { return(new MethodResponseDTO <int> { Code = -100, Result = 0, Message = permisos.Message }); } return(response); } catch (DbEntityValidationException e) { string Result = string.Empty; foreach (var eve in e.EntityValidationErrors) { Result += string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Result += string.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } Result += ("Code: -100, Mensaje: " + e.Message + ", InnerException: " + (e.InnerException != null ? e.InnerException.Message : "")); return(new MethodResponseDTO <int> { Code = -100, Result = 0, Message = Result }); } catch (Exception ex) { return(new MethodResponseDTO <int> { Code = -100, Result = 0, Message = "GuardarAsignacion: " + ex.Message }); } } }
public JsonResult GuardarEmpleado(int idEmpleado, int frIdEmpresa, string Nombre, string Puesto, int?JefeInmediato, string fecha_nacimiento, string fecha_ingreso, string Email, string Skype, string Movil, string Casa, string Domicilio, int IsLogin, string Usuario, string Password, string Password2, int estado, string hdPermisos) { if (!Password.Equals(Password2)) { return(Json(new { success = false, message = "Contraseña y repetir contraseña deben ser iguales." }, JsonRequestBehavior.AllowGet)); } EncriptPasswordSha3 encript = new EncriptPasswordSha3(); var empleados = new EmpleadosDTO(); empleados.Id_Empleado = idEmpleado; empleados.Id_Empresa = frIdEmpresa; empleados.Nombre_Empleado = Nombre; empleados.Email_Empleado = Email; empleados.Puesto_Empleado = Puesto; if (fecha_nacimiento != string.Empty) { empleados.Fecha_Nacimiento_Empleado = Convert.ToDateTime(fecha_nacimiento); } if (fecha_ingreso != string.Empty) { empleados.Antiguedad_Empleado = Convert.ToDateTime(fecha_ingreso); } empleados.Skype_Empleado = Skype; empleados.Domicilio_Empleado = Domicilio; empleados.Telefono_L_Empleado = Casa; empleados.Telefono_M_Empleado = Movil; if (JefeInmediato != 0) { empleados.Id_JefeInmediato_Empleado = JefeInmediato; } else { empleados.Id_JefeInmediato_Empleado = null; } empleados.IsLogIn = IsLogin; empleados.Usuario_Empleado = Usuario; empleados.Estado = estado == 1; if (Password != String.Empty) { //string salt = "E524F5DDD49564AB7C10A42C2A187A1340ECB854877DB019A370809E1C6840E3C35299A7CBEF656E0C656B5F0C1DD46E1051BC61F165266993908633FEFAE5FF"; var salt = encript.CreateSalt512(); var passHashed = encript.GenerateHMAC(Password, salt.Result); empleados.Password_Empleado = passHashed.Result; empleados.Salt = salt.Result; } var jArray = JArray.Parse(hdPermisos); JObject a = JObject.Parse(jArray.First().ToString()); #region productos var permisos = new List <EmpleadoPermisoDTO>(); foreach (var prod in ((JArray)a.SelectToken("ltsPermisos"))) { EmpleadoPermisoDTO permiso = new EmpleadoPermisoDTO(); permiso.Id_Empleado = empleados.Id_Empleado; permiso.Id_Permiso = Convert.ToInt16(((JValue)prod.SelectToken("Id_Permiso")).Value); permiso.Tipo_Permiso = Convert.ToInt16(((JValue)prod.SelectToken("Tipo_Permiso")).Value); permisos.Add(permiso); } #endregion empleados.EmpleadoPermiso = permisos; var gdAsignacion = new EmpreadosData().GuardarEmpleado(empleados); if (gdAsignacion.Code != 0) { return(Json(new { success = false, message = gdAsignacion.Message }, JsonRequestBehavior.AllowGet)); } return(Json(new { success = true }, JsonRequestBehavior.AllowGet)); }