/// <summary>
        /// Elimina logicamente un contacto
        /// </summary>
        /// <param name="contactoID"></param>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public object EliminarContacto(int contactoID, Sam3_Usuario usuario)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    Sam3_Contacto contactobd = ctx.Sam3_Contacto.Where(x => x.ContactoID == contactoID).AsParallel().SingleOrDefault();
                    contactobd.Activo              = false;
                    contactobd.FechaModificacion   = DateTime.Now;
                    contactobd.UsuarioModificacion = usuario.UsuarioID;
                    ctx.SaveChanges();

                    TransactionalInformation result = new TransactionalInformation();
                    result.ReturnMessage.Add("OK");
                    result.ReturnCode     = 200;
                    result.ReturnStatus   = true;
                    result.IsAuthenicated = true;

                    return(result);
                }
            }
            catch (Exception ex)
            {
                //-----------------Agregar mensaje al Log -----------------------------------------------
                LoggerBd.Instance.EscribirLog(ex);
                //-----------------Agregar mensaje al Log -----------------------------------------------
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(ex.Message);
                result.ReturnCode     = 500;
                result.ReturnStatus   = false;
                result.IsAuthenicated = true;

                return(result);
            }
        }
        /// <summary>
        /// Inserta un nuevo contacto
        /// </summary>
        /// <param name="cambios"></param>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public object InsertatContacto(Sam3_Contacto cambios, Sam3_Usuario usuario)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    Sam3_Contacto nuevoContacto = new Sam3_Contacto();
                    nuevoContacto.Activo              = true;
                    nuevoContacto.ApMaterno           = cambios.ApMaterno;
                    nuevoContacto.ApPaterno           = cambios.ApPaterno;
                    nuevoContacto.CorreoElectronico   = cambios.CorreoElectronico;
                    nuevoContacto.FechaModificacion   = DateTime.Now;
                    nuevoContacto.Nombre              = cambios.Nombre;
                    nuevoContacto.TelefonoCelular     = cambios.TelefonoCelular;
                    nuevoContacto.TelefonoOficina     = cambios.TelefonoOficina;
                    nuevoContacto.TelefonoParticular  = cambios.TelefonoParticular;
                    nuevoContacto.UsuarioModificacion = usuario.UsuarioID;

                    ctx.Sam3_Contacto.Add(nuevoContacto);
                    ctx.SaveChanges();

                    return(new Contacto {
                        ContactoID = nuevoContacto.ContactoID.ToString(), Nombre = nuevoContacto.Nombre
                    });
                }
            }
            catch (Exception ex)
            {
                //-----------------Agregar mensaje al Log -----------------------------------------------
                LoggerBd.Instance.EscribirLog(ex);
                //-----------------Agregar mensaje al Log -----------------------------------------------
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(ex.Message);
                result.ReturnCode     = 500;
                result.ReturnStatus   = false;
                result.IsAuthenicated = true;

                return(result);
            }
        }
        /// <summary>
        /// Actualiza la informacion de un contacto
        /// </summary>
        /// <param name="cambios"></param>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public object ActualizarContacto(Sam3_Contacto cambios, Sam3_Usuario usuario)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                //-----------------Agregar mensaje al Log -----------------------------------------------
                LoggerBd.Instance.EscribirLog(ex);
                //-----------------Agregar mensaje al Log -----------------------------------------------
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(ex.Message);
                result.ReturnCode     = 500;
                result.ReturnStatus   = false;
                result.IsAuthenicated = true;

                return(result);
            }
        }
        public object Put(Sam3_Contacto contacto, string token)
        {
            string payload     = "";
            string newToken    = "";
            bool   tokenValido = ManageTokens.Instance.ValidateToken(token, out payload, out newToken);

            if (tokenValido)
            {
                JavaScriptSerializer serializer = new JavaScriptSerializer();
                Sam3_Usuario         usuario    = serializer.Deserialize <Sam3_Usuario>(payload);

                return(null);
            }
            else
            {
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(payload);
                result.ReturnCode     = 401;
                result.ReturnStatus   = false;
                result.IsAuthenicated = false;
                return(result);
            }
        }