示例#1
0
        /// <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
                    });
                }
            }
        }
示例#2
0
        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));
        }