コード例 #1
0
        public object Get(string numeroUnico, string token)
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            string payload     = "";
            string newToken    = "";
            bool   tokenValido = ManageTokens.Instance.ValidateToken(token, out payload, out newToken);

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

                string[] elementos = numeroUnico.Split('-').ToArray();

                string prefijo     = elementos[0];
                int    consecutivo = 0;
                int.TryParse(elementos[1], out consecutivo);
                string segmento = elementos[2];

                return(CorteBd.Instance.ListadoNumerosDeControl(prefijo, consecutivo, usuario));
            }
            else
            {
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(payload);
                result.ReturnCode     = 401;
                result.ReturnStatus   = false;
                result.IsAuthenicated = false;
                return(result);
            }
        }
        public object Get(int Folio, string token)
        {
            try
            {
                string newToken    = "";
                string payload     = "";
                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(AvisoLlegadaBd.Instance.VerificarDocumentoAduana(Folio, usuario));
                }
                else
                {
                    TransactionalInformation result = new TransactionalInformation();
                    result.ReturnCode   = 401;
                    result.ReturnStatus = false;
                    result.ReturnMessage.Add(payload);
                    result.IsAuthenicated = false;
                    return(result);
                }
            }
            catch (Exception ex)
            {
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnCode   = 500;
                result.ReturnStatus = false;
                result.ReturnMessage.Add(ex.Message);
                result.IsAuthenicated = false;
                return(result);
            }
        }
コード例 #3
0
        public object listadoUsuarios(Sam3_Usuario usuario)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    List <ListaCombos> listado = (from us in ctx.Sam3_Usuario
                                                  where us.Activo
                                                  select new ListaCombos
                    {
                        id = us.UsuarioID.ToString(),
                        value = us.Nombre + " " + us.ApellidoPaterno
                    }).AsParallel().Distinct().ToList();

                    return(listado);
                }
            }
            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);
            }
        }
コード例 #4
0
        public object get(string data)
        {
            string payload  = "";
            string newToken = "";
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            MaterialPendiente    filtros    = serializer.Deserialize <MaterialPendiente>(data);

            bool tokenValido = ManageTokens.Instance.ValidateToken(filtros.token, out payload, out newToken);

            if (tokenValido)
            {
                Sam3_Usuario usuario = serializer.Deserialize <Sam3_Usuario>(payload);
                // return CorteBd.Instance.GenerarCorte(cortes, usuario);
                return("");
            }
            else
            {
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(payload);
                result.ReturnCode     = 401;
                result.ReturnStatus   = false;
                result.IsAuthenicated = false;
                return(result);
            }
        }
コード例 #5
0
        // PUT api/<controller>/5
        public object Put(int ordenTrabajoID, string datosDeficit, string datosSpools, string token)
        {
            string payload     = "";
            string newToken    = "";
            bool   tokenValido = ManageTokens.Instance.ValidateToken(token, out payload, out newToken);

            if (tokenValido)
            {
                JavaScriptSerializer       ser      = new JavaScriptSerializer();
                Sam3_Usuario               usuario  = ser.Deserialize <Sam3_Usuario>(payload);
                List <SolucionarRevision>  datos    = ser.Deserialize <List <SolucionarRevision> >(datosDeficit);
                List <SpoolsSeleccionados> spoolsID = ser.Deserialize <List <SpoolsSeleccionados> >(datosSpools);

                return(DeficitBd.Instance.SolucionarDeficit(ordenTrabajoID, datos, spoolsID, usuario));
            }
            else
            {
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(payload);
                result.ReturnCode     = 401;
                result.ReturnStatus   = false;
                result.IsAuthenicated = false;
                return(result);
            }
        }
コード例 #6
0
        public object Get(int folioAvisoEntrada, 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);
                bool tieneOrdenDescarga         = (bool)FolioAvisoEntradaBd.Instance.TieneOrdenDescarga(folioAvisoEntrada, usuario);

                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(tieneOrdenDescarga.ToString());
                result.ReturnCode     = 200;
                result.ReturnStatus   = true;
                result.IsAuthenicated = true;
                return(result);
            }
            else
            {
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(payload);
                result.ReturnCode     = 401;
                result.ReturnStatus   = false;
                result.IsAuthenicated = false;
                return(result);
            }
        }
        public object Post(int folioLlegada, string token)
        {
            try
            {
                string newToken    = "";
                string payload     = "";
                bool   tokenValido = ManageTokens.Instance.ValidateToken(token, out payload, out newToken);
                if (tokenValido)
                {
                    JavaScriptSerializer serializer = new JavaScriptSerializer();
                    Sam3_Usuario         usuario    = serializer.Deserialize <Sam3_Usuario>(payload);

                    var httpRequest = HttpContext.Current.Request;
                    return(Ok());
                }
                else
                {
                    TransactionalInformation result = new TransactionalInformation();
                    result.ReturnCode   = 401;
                    result.ReturnStatus = false;
                    result.ReturnMessage.Add(payload);
                    result.IsAuthenicated = false;
                    return(result);
                }
            }
            catch (Exception ex)
            {
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnCode   = 500;
                result.ReturnStatus = false;
                result.ReturnMessage.Add(ex.Message);
                result.IsAuthenicated = false;
                return(result);
            }
        }
        //GET api/<controller>/5
        public object Get(int ordenAlmacenajeID, string token)
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            string payload     = "";
            string newToken    = "";
            bool   tokenValido = ManageTokens.Instance.ValidateToken(token, out payload, out newToken);

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

                return(OrdenAlmacenajeBd.Instance.ObtenerDetalleOrdenAlmacenaje(ordenAlmacenajeID, usuario));
            }
            else
            {
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(payload);
                result.ReturnCode     = 401;
                result.ReturnStatus   = false;
                result.IsAuthenicated = false;
                return(result);
            }
        }
コード例 #9
0
        public object ObtenerProyectosPorFolio(int folio, Sam3_Usuario usuario)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    List <int> Proyectos = ctx.Sam3_Rel_FolioAvisoLlegada_Proyecto.Where(x => x.FolioAvisoLlegadaID == folio)
                                           .Select(x => x.ProyectoID).AsParallel().ToList();
                    Proyectos = Proyectos.GroupBy(x => x).Select(x => x.First()).ToList();

                    return(Proyectos);
                }
            }
            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);
            }
        }
コード例 #10
0
        public object InsertarTipoArchivo(Sam3_TipoArchivo nuevo, Sam3_Usuario usuario)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    Sam3_TipoArchivo tipoArchivo = new Sam3_TipoArchivo();
                    tipoArchivo.Activo              = true;
                    tipoArchivo.FechaModificacion   = DateTime.Now;
                    tipoArchivo.Nombre              = nuevo.Nombre;
                    tipoArchivo.UsuarioModificacion = usuario.UsuarioID;

                    ctx.Sam3_TipoArchivo.Add(tipoArchivo);
                    ctx.SaveChanges();

                    return(new TipoArchivo {
                        Nombre = tipoArchivo.Nombre, TipoArchivoID = tipoArchivo.TipoArchivoID.ToString()
                    });
                }
            }
            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);
            }
        }
コード例 #11
0
        /// <summary>
        /// Crea el mensaje en la cola de mensajes
        /// </summary>
        /// <param name="objectEncrypted">Mensaje encriptado</param>
        /// <param name="typeMessage">Tipo de Mensaje (1: Bitácora, 2: Notificación)</param>
        public object Post(string token, string objectEncrypted, string typeMessage)
        {
            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);

                string message = dataSecurity.Decode(objectEncrypted);
                int    typeMsg = Convert.ToInt32(typeMessage);

                return(MessageLibrary.Instance.SendMessageToQueue(message, typeMsg, usuario));
            }
            else
            {
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(payload);
                result.ReturnCode     = 401;
                result.ReturnStatus   = false;
                result.IsAuthenicated = false;
                return(result);
            }
        }
コード例 #12
0
        public object ObtnerEtiquetasMaterialPorODTS(string odtsm, Sam3_Usuario usuario)
        {
            try
            {
                int odtsID = string.IsNullOrEmpty(odtsm) ? 0 : Convert.ToInt32(odtsm);
                List <ListaCombos> listado = new List <ListaCombos>();
                using (Sam2Context ctx2 = new Sam2Context())
                {
                    listado = (from ms in ctx2.MaterialSpool
                               where ms.SpoolID == (from odts in ctx2.OrdenTrabajoSpool
                                                    where odts.OrdenTrabajoSpoolID == odtsID
                                                    select odts.SpoolID).FirstOrDefault()
                               select new ListaCombos
                    {
                        id = ms.MaterialSpoolID.ToString(),
                        value = ms.Etiqueta
                    }).AsParallel().Distinct().OrderBy(x => x.value).ToList();
                }
                return(listado);
            }
            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);
            }
        }
コード例 #13
0
        /// <summary>
        /// Funcion para obtener los proyectos del usuario
        /// Combo Proyectos Listado de Materiales
        /// </summary>
        /// <param name="patioID"></param>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public object obtenerProyectoListadoMateriales(string patioID, Sam3_Usuario usuario)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    List <Proyecto> proyectos = (from rup in ctx.Sam3_Rel_Usuario_Proyecto
                                                 join pr in ctx.Sam3_Proyecto on rup.ProyectoID equals pr.ProyectoID
                                                 where rup.Activo && pr.Activo &&
                                                 rup.UsuarioID == usuario.UsuarioID &&
                                                 pr.PatioID.ToString() == patioID
                                                 select new Proyecto
                    {
                        ProyectoID = pr.ProyectoID.ToString(),
                        Nombre = pr.Nombre
                    }).AsParallel().ToList();

                    return(proyectos);
                }
            }
            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);
            }
        }
コード例 #14
0
        public object ObtenerListadoTipoArchivos(Sam3_Usuario usuario)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    List <TipoArchivo> lstTipoArchivo = (from r in ctx.Sam3_TipoArchivo
                                                         where r.Activo
                                                         select new TipoArchivo
                    {
                        Nombre = r.Nombre,
                        TipoArchivoID = r.TipoArchivoID.ToString()
                    }).AsParallel().ToList();
                    return(lstTipoArchivo);
                }
            }
            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);
            }
        }
コード例 #15
0
        /// <summary>
        /// Funcion para obtener los patios del usuario
        /// Combo para el Listado de Materiales
        /// </summary>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public object obtenerPatioListadoMateriales(Sam3_Usuario usuario)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    //Patios y proyectos del usuario
                    List <int> proyectos = ctx.Sam3_Rel_Usuario_Proyecto.Where(x => x.UsuarioID == usuario.UsuarioID).Select(x => x.ProyectoID).AsParallel().ToList();

                    List <Patio> patios = (from r in ctx.Sam3_Proyecto
                                           join p in ctx.Sam3_Patio on r.PatioID equals p.PatioID
                                           where r.Activo && p.Activo && proyectos.Contains(r.ProyectoID)
                                           select new Patio
                    {
                        PatioID = p.PatioID.ToString(),
                        Nombre = p.Nombre
                    }).AsParallel().GroupBy(x => x.PatioID).Select(x => x.First()).ToList();

                    return(patios);
                }
            }
            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);
            }
        }
コード例 #16
0
        // GET api/<controller>/5
        public TransactionalInformation Get(int folio, 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);
                TransactionalInformation resultObtener = PermisoAduanaBd.Instance.ObtenerDatosAvisoLlegada(folio);
                if (resultObtener.ReturnCode == 200)
                {
                    return(PermisoAduanaBd.Instance.InsertarPermisoADuana(folio, usuario));
                }
                else
                {
                    resultObtener.ReturnCode     = 500;
                    resultObtener.ReturnStatus   = false;
                    resultObtener.IsAuthenicated = false;
                    return(resultObtener);
                }
            }
            else
            {
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(payload);
                result.ReturnCode     = 401;
                result.ReturnStatus   = false;
                result.IsAuthenicated = false;
                return(result);
            }
        }
        // POST api/<controller>
        public object Post(ListadosFolios OrdenAlmacenaje, string token)
        {
            string payload     = "";
            string newToken    = "";
            bool   tokenValido = ManageTokens.Instance.ValidateToken(token, out payload, out newToken);

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

                if (OrdenAlmacenaje.listaFoliosCuantificacion.Count > 0 || OrdenAlmacenaje.listaItemCodes.Count > 0 || OrdenAlmacenaje.listaNumerosUnicos.Count > 0)
                {
                    return(OrdenAlmacenajeBd.Instance.GenerarOrdenAlmacenaje(OrdenAlmacenaje, usuario));
                }
                else
                {
                    TransactionalInformation result = new TransactionalInformation();
                    result.ReturnMessage.Add("No se encontro ningun ID en los datos enviados");
                    result.ReturnCode     = 500;
                    result.ReturnStatus   = false;
                    result.IsAuthenicated = true;
                    return(result);
                }
            }
            else
            {
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(payload);
                result.ReturnCode     = 401;
                result.ReturnStatus   = false;
                result.IsAuthenicated = false;
                return(result);
            }
        }
コード例 #18
0
        /// <summary>
        /// Genera un listado de los documentos relacionados a un permiso de aduana
        /// </summary>
        /// <param name="folioAvisoLlegadaId"></param>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public object ObtenerDocumentosPermisoAduana(int folioAvisoLlegadaId, Sam3_Usuario usuario)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    List <ListaDocumentos> documentos = (from r in ctx.Sam3_FolioAvisoLlegada
                                                         join p in ctx.Sam3_PermisoAduana on r.FolioAvisoLlegadaID equals p.FolioAvisoLlegadaID
                                                         join d in ctx.Sam3_Rel_PermisoAduana_Documento on p.PermisoAduanaID equals d.PermisoAduanaID
                                                         where r.Activo == true && r.FolioAvisoLlegadaID == folioAvisoLlegadaId && d.Activo
                                                         select new ListaDocumentos
                    {
                        DocumentoID = d.Rel_Permiso_Documento_ID.ToString(),
                        Nombre = d.Nombre,
                        Extencion = d.Extencion,
                        Url = d.Url
                    }).AsParallel().ToList();
                    return(documentos);
                }
            }
            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);
            }
        }
コード例 #19
0
        public object Get(string token, int paginaID)
        {
            PerfilJson           perfil     = new PerfilJson();
            string               payload    = "";
            string               newToken   = "";
            bool                 validToken = ManageTokens.Instance.ValidateToken(token, out payload, out newToken);
            JavaScriptSerializer serializer = new JavaScriptSerializer();


            if (validToken)
            {
                dynamic      obj      = serializer.DeserializeObject(payload);
                int          perfilId = Convert.ToInt32(obj["PerfilID"].ToString());
                Sam3_Usuario usuario  = serializer.Deserialize <Sam3_Usuario>(payload);
                perfil       = PerfilBd.Instance.ObtenerPerfilJsonPorID(perfilId, paginaID, usuario);
                perfil.token = newToken;
                return(perfil);
            }
            else
            {
                TransactionalInformation infoError = new TransactionalInformation();
                infoError.ReturnCode     = 401;
                infoError.ReturnStatus   = false;
                infoError.IsAuthenicated = false;
                infoError.ReturnMessage.Add(payload);
                return(infoError);
            }
        }
コード例 #20
0
        // POST api/TipoArchivo
        public object Post(Sam3_TipoArchivo tipoArchivo, string token)
        {
            try
            {
                string newToken    = "";
                string payload     = "";
                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(TipoArchivoBd.Instance.InsertarTipoArchivo(tipoArchivo, usuario));
                }
                else
                {
                    TransactionalInformation result = new TransactionalInformation();
                    result.ReturnCode   = 401;
                    result.ReturnStatus = false;
                    result.ReturnMessage.Add(payload);
                    result.IsAuthenicated = false;
                    return(result);
                }
            }
            catch (Exception ex)
            {
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnCode   = 500;
                result.ReturnStatus = false;
                result.ReturnMessage.Add(ex.Message);
                result.IsAuthenicated = false;
                return(result);
            }
        }
コード例 #21
0
        public object Get(int transportistaID, int paginaID, string idioma, string token)
        {
            try
            {
                string newToken    = "";
                string payload     = "";
                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(PlanaBd.Instance.ObtenerListadoPlanas(usuario, transportistaID, paginaID, idioma));
                }
                else
                {
                    TransactionalInformation result = new TransactionalInformation();
                    result.ReturnCode   = 401;
                    result.ReturnStatus = false;
                    result.ReturnMessage.Add(payload);
                    result.IsAuthenicated = false;
                    return(result);
                }
            }
            catch (Exception ex)
            {
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnCode   = 500;
                result.ReturnStatus = false;
                result.ReturnMessage.Add(ex.Message);
                result.IsAuthenicated = false;
                return(result);
            }
        }
コード例 #22
0
        public object EliminarEntrega(int entregaID, Sam3_Usuario usuario)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    Sam3_Entrega entrega = ctx.Sam3_Entrega.Where(x => x.EntregaID == entregaID).AsParallel().SingleOrDefault();
                    entrega.Activo              = false;
                    entrega.FechaModificacion   = DateTime.Now;
                    entrega.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);
            }
        }
コード例 #23
0
        public bool ValidateToken(string token, out string result, out string newToken)
        {
            try
            {
                result = JsonWebToken.Decode(token, ConfigurationManager.AppSettings["scrKey"]);
                JavaScriptSerializer serializer = new JavaScriptSerializer();
                Sam3_Usuario         usuario    = serializer.Deserialize <Sam3_Usuario>(result);
                //Logger.Instance.EscribirLog("Resultado de validar el token: " + result);
                newToken = CreateJwtToken(usuario);
                return(true);
            }
            catch (JWT.SignatureVerificationException ex)
            {
                //-----------------Agregar mensaje al Log -----------------------------------------------
                Logger.Instance.EscribirLog(ex.InnerException + "Source: " + ex.Source + "stack :" + ex.StackTrace);

                result   = ex.InnerException + "Source: " + ex.Source + "stack :" + ex.StackTrace;
                newToken = "";
                return(false);
            }
            catch (Exception ex)
            {
                Logger.Instance.EscribirLog(ex.InnerException + "Source: " + ex.Source + "stack :" + ex.StackTrace);
                result   = ex.InnerException + "Source: " + ex.Source + "stack :" + ex.StackTrace;
                newToken = "";
                return(false);
            }
        }
コード例 #24
0
        public string CreateJwtToken(Sam3_Usuario usuario)
        {
            try
            {
                DateTime unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
                double   now       = Math.Round((DateTime.UtcNow.AddMinutes(30) - unixEpoch).TotalSeconds);

                Dictionary <string, object> payload = new Dictionary <string, object>()
                {
                    { "UsuarioID", usuario.UsuarioID },
                    { "NombreUsuario", usuario.NombreUsuario },
                    { "ContrasenaHash", usuario.ContrasenaHash },
                    { "PerfilID", usuario.PerfilID },
                    { "BloqueadoPorAdministracion", usuario.BloqueadoPorAdministracion },
                    { "Activo", usuario.Activo },
                    { "exp", now }
                };

                string token = JWT.JsonWebToken.Encode(payload, ConfigurationManager.AppSettings["scrKey"], JWT.JwtHashAlgorithm.HS256);
                return(token);
            }
            catch (Exception ex)
            {
                //-----------------Agregar mensaje al Log -----------------------------------------------
                Logger.Instance.EscribirLog(ex.Message + "Stack: " + ex.StackTrace + "----" + ex.InnerException);
                return(ex.Message + "Stack: " + ex.StackTrace + "----" + ex.InnerException);
            }
        }
コード例 #25
0
        // POST api/<controller>
        public object Post(int ordenTrabajoID, string spoolID, string deficit, string token)
        {
            string payload     = "";
            string newToken    = "";
            bool   tokenValido = ManageTokens.Instance.ValidateToken(token, out payload, out newToken);

            if (tokenValido)
            {
                JavaScriptSerializer         ser          = new JavaScriptSerializer();
                Sam3_Usuario                 usuario      = ser.Deserialize <Sam3_Usuario>(payload);
                List <string>                listaSpool   = ser.Deserialize <List <string> >(spoolID);
                List <DatosDeficitItemCodes> listaDeficit = ser.Deserialize <List <DatosDeficitItemCodes> >(deficit);

                return(DeficitBd.Instance.GuardarDeficit(ordenTrabajoID, listaSpool, listaDeficit, usuario));
            }
            else
            {
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(payload);
                result.ReturnCode     = 401;
                result.ReturnStatus   = false;
                result.IsAuthenicated = false;
                return(result);
            }
        }
コード例 #26
0
        public object CambiarEstatusFolio(int FolioAviso, string NumeroPermiso, Sam3_Usuario usuario)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    int permisoID = (from per in ctx.Sam3_PermisoAduana
                                     where per.FolioAvisoLlegadaID == FolioAviso && per.Activo && per.Estatus == "Autorizado"
                                     select per.PermisoAduanaID).AsParallel().SingleOrDefault();

                    if (ctx.Sam3_PermisoAduana.Where(x => x.FolioAvisoLlegadaID == FolioAviso && x.Activo).Any())
                    {
                        Sam3_PermisoAduana permisoBd = ctx.Sam3_PermisoAduana.Where(x => x.FolioAvisoLlegadaID == FolioAviso && x.Activo)
                                                       .AsParallel().SingleOrDefault();

                        permisoBd.PermisoAutorizado   = true;
                        permisoBd.PermisoTramite      = false;
                        permisoBd.NumeroPermiso       = NumeroPermiso;
                        permisoBd.Estatus             = "Autorizado";
                        permisoBd.FechaAutorización   = DateTime.Now;
                        permisoBd.FechaModificacion   = DateTime.Now;
                        permisoBd.UsuarioModificacion = usuario.UsuarioID;
                        ctx.SaveChanges();
                    }

                    if (ctx.Sam3_Rel_PermisoAduana_Documento.Where(x => x.PermisoAduanaID == permisoID && x.Activo).Any())
                    {
                        //Actualizar estatus de FolioAvisoLlegada
                        Sam3_FolioAvisoLlegada aviso = ctx.Sam3_FolioAvisoLlegada.Where(x => x.FolioAvisoLlegadaID == FolioAviso)
                                                       .AsParallel().SingleOrDefault();
                        aviso.Estatus             = "Autorizado";
                        aviso.FechaModificacion   = DateTime.Now;
                        aviso.UsuarioModificacion = usuario.UsuarioID;

                        ctx.SaveChanges();

                        return(true);
                    }
                    else
                    {
                        throw new Exception("El folio no cuenta con un permiso Autorizado");
                    }
                }
            }
            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);
            }
        }
コード例 #27
0
        public object ActualizarTransportista(Sam3_Transportista cambios, Sam3_Usuario usuario)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    if (!ctx.Sam3_Transportista.Where(x => x.Nombre == cambios.Nombre && x.Activo).AsParallel().Any())
                    {
                        Sam3_Transportista registroEnBd = ctx.Sam3_Transportista.Where(x => x.TransportistaID == cambios.TransportistaID)
                                                          .AsParallel().SingleOrDefault();

                        registroEnBd.Activo = registroEnBd.Activo != null && cambios.Activo != registroEnBd.Activo ?
                                              cambios.Activo : registroEnBd.Activo;
                        registroEnBd.ContactoID = cambios.ContactoID != null && cambios.ContactoID != registroEnBd.ContactoID ?
                                                  cambios.ContactoID : registroEnBd.ContactoID;
                        registroEnBd.Descripcion = cambios.Descripcion != null && cambios.Descripcion != registroEnBd.Descripcion ?
                                                   cambios.Descripcion : registroEnBd.Descripcion;
                        registroEnBd.Direccion = cambios.Direccion != null && cambios.Direccion != registroEnBd.Direccion ?
                                                 cambios.Direccion : registroEnBd.Direccion;
                        registroEnBd.Nombre = cambios.Nombre != null && cambios.Nombre != registroEnBd.Nombre ?
                                              cambios.Nombre : registroEnBd.Nombre;
                        registroEnBd.Telefono = cambios.Telefono != null && cambios.Telefono != registroEnBd.Telefono ?
                                                cambios.Telefono : registroEnBd.Telefono;
                        registroEnBd.TransportistaID = cambios.TransportistaID != null && cambios.TransportistaID != registroEnBd.TransportistaID ?
                                                       cambios.TransportistaID : registroEnBd.TransportistaID;
                        registroEnBd.UsuarioModificacion = usuario.UsuarioID;
                        registroEnBd.FechaModificacion   = DateTime.Now;

                        ctx.SaveChanges();

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

                        return(result);
                    }
                    else
                    {
                        throw new Exception("Transportista existente");
                    }
                }
            }
            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);
            }
        }
コード例 #28
0
        public object GenerarAlmacenaje(Items listados, Sam3_Usuario usuario)
        {
            try
            {
                List <ListaNumerosUnicos> ids = listados.NumerosUnicos.GroupBy(x => x.NumeroUnicoID).Select(x => x.First()).OrderBy(x => x.NumeroUnicoID).AsParallel().ToList();
                List <int> nuids = new List <int>();

                foreach (var i in ids)
                {
                    nuids.Add(Convert.ToInt32(i.NumeroUnicoID));
                }

                string rack = ids.Select(x => x.Rack).FirstOrDefault();
                using (SamContext ctx = new SamContext())
                {
                    using (var ctx_tran = ctx.Database.BeginTransaction())
                    {
                        List <Sam3_NumeroUnico> list = (from nu in ctx.Sam3_NumeroUnico
                                                        where nu.Activo &&
                                                        nuids.Contains(nu.NumeroUnicoID)
                                                        select nu).AsParallel().ToList();

                        list.ForEach(x => x.Rack = getRack(ids, x.NumeroUnicoID));

                        ctx.SaveChanges();
                        ctx_tran.Commit();
                    }
                }

                //if (!(bool)EnviarAvisosBd.Instance.EnviarNotificación(1,
                //                                    string.Format("Se guardaron los almacenajes del  orden de almacenaje Folio: {0}",
                //                                    listados.OrdenAlmacenajeID), usuario))
                //{
                //    //Agregar error a la bitacora  PENDIENTE
                //}

                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);
            }
        }
コード例 #29
0
        public object ListadoCortadores(Sam3_Usuario usuario)
        {
            try
            {
                List <int>      proyectos = new List <int>();
                List <int>      patios    = new List <int>();
                List <Operador> listado   = new List <Operador>();

                using (SamContext ctx = new SamContext())
                {
                    using (Sam2Context ctx2 = new Sam2Context())
                    {
                        proyectos = (from p in ctx.Sam3_Rel_Usuario_Proyecto
                                     join eqp in ctx.Sam3_EquivalenciaProyecto on p.ProyectoID equals eqp.Sam3_ProyectoID
                                     where p.Activo && eqp.Activo &&
                                     p.UsuarioID == usuario.UsuarioID
                                     select eqp.Sam2_ProyectoID).Distinct().AsParallel().ToList();

                        proyectos = proyectos.Where(x => x > 0).ToList();


                        patios = (from p in ctx.Sam3_Proyecto
                                  join pa in ctx.Sam3_Patio on p.PatioID equals pa.PatioID
                                  join eq in ctx.Sam3_EquivalenciaPatio on pa.PatioID equals eq.Sam3_PatioID
                                  join up in ctx.Sam3_Rel_Usuario_Proyecto on p.ProyectoID equals up.ProyectoID
                                  where p.Activo && pa.Activo && eq.Activo &&
                                  up.UsuarioID == usuario.UsuarioID
                                  select eq.Sam2_PatioID).Distinct().AsParallel().ToList();

                        patios = patios.Where(x => x > 0).ToList();

                        listado = (from co in ctx2.Cortador
                                   where patios.Contains(co.PatioID)
                                   select new Operador
                        {
                            OperadorID = co.CortadorID.ToString(),
                            Nombre = co.Nombre
                        }).AsParallel().Distinct().ToList();
                    }
                }
                return(listado);
            }
            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);
            }
        }
コード例 #30
0
        /// <summary>
        /// Metodo comun para listados simples, para combos, o grids
        /// </summary>
        /// <param name="tipoListado">Tipo de listado a devolver</param>
        /// <param name="token">credenciales del usuario</param>
        /// <param name="parametroBusqueda">cadena de busqueda</param>
        /// <returns>Devuelve el listado aporpiado de acuerdo al tipo solicitado</returns>
        public object Get(int tipoListado, string token, string idioma = "", int paginaID = 0, string parametroBusqueda = "")
        {
            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);

                switch (tipoListado)
                {
                //case 1: //Folios aviso llegada
                //    return AvisoLlegadaBd.Instance.ObtenerListadoFoliosParaFiltro(new Sam3_Usuario());
                case 2:     // Folios de aviso de llegada con permiso de aduana autorizados
                    return(AvisoLlegadaBd.Instance.ObtenerListadoFoliosRequierePermiso(new Sam3_Usuario()));

                case 3:     // listado de choferes por transportista
                    return(ChoferBd.Instance.ObtenerChoferesProTransportista(Convert.ToInt32(parametroBusqueda), paginaID, idioma, usuario));

                case 4:     //Obtener cantidades para dashboard
                    TransactionalInformation rest = new TransactionalInformation();
                    rest.ReturnMessage.Add("El listado de cantidades de Dashboard requiere de parametros de filtrado");
                    rest.ReturnCode     = 500;
                    rest.ReturnStatus   = false;
                    rest.IsAuthenicated = false;
                    return(rest);

                //case 5:
                //    return AvisoLlegadaBd.Instance.ObtenerFoliosAvisoLlegadaSinEntrada();
                //case 6: //Obtener listado de folios que ya tienen llegada de material
                //    return AvisoLlegadaBd.Instance.ObtenerListadoSinPaseSalida();
                case 18:     // Listado para combo de packing list
                    return(ListadoBd.Instance.PackingListsParaComboFiltros(usuario));

                default:
                    TransactionalInformation result = new TransactionalInformation();
                    result.ReturnMessage.Add("Listado no encontrado");
                    result.ReturnCode     = 500;
                    result.ReturnStatus   = false;
                    result.IsAuthenicated = false;
                    return(result);
                }
            }
            else
            {
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(payload);
                result.ReturnCode     = 401;
                result.ReturnStatus   = false;
                result.IsAuthenicated = false;
                return(result);
            }
        }