/// <summary>
        /// Elimina logicamente un documento de permiso de aduana
        /// </summary>
        /// <param name="documentoID"></param>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public object EliminarDocumentoPermisoAduana(int documentoID, Sam3_Usuario usuario)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    Sam3_Rel_PermisoAduana_Documento docBd = ctx.Sam3_Rel_PermisoAduana_Documento
                                                             .Where(x => x.Rel_Permiso_Documento_ID == documentoID).AsParallel().SingleOrDefault();

                    docBd.Activo              = false;
                    docBd.FechaModificacion   = DateTime.Now;
                    docBd.UsuarioModificacion = usuario.UsuarioID;

                    ctx.SaveChanges();

                    TransactionalInformation result = new TransactionalInformation();
                    result.ReturnMessage.Add("Ok");
                    result.ReturnCode     = 200;
                    result.ReturnStatus   = false;
                    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>
        /// Guarda registro de los documentos cargados para permiso de aduana
        /// </summary>
        /// <param name="documentos"></param>
        /// <returns></returns>
        public object GuardarDocumentoPermisoAduana(List <DocumentoPosteado> documentos)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    int tipoArchivoID = ctx.Sam3_TipoArchivo.Where(x => x.Nombre == "Permiso Aduana").Select(x => x.TipoArchivoID).SingleOrDefault();
                    Sam3_PermisoAduana permisoBd;
                    int folioAviso = documentos[0].FolioAvisoLlegadaID.Value;
                    //Actualizamos el permiso de aduana
                    if (ctx.Sam3_PermisoAduana.Where(x => x.FolioAvisoLlegadaID == folioAviso && x.Activo).Any())
                    {
                        permisoBd = ctx.Sam3_PermisoAduana.Where(x => x.FolioAvisoLlegadaID == folioAviso && x.Activo)
                                    .AsParallel().SingleOrDefault();

                        permisoBd.PermisoAutorizado   = true;
                        permisoBd.PermisoTramite      = false;
                        permisoBd.NumeroPermiso       = documentos[0].NumeroPermisoAduana;
                        permisoBd.Estatus             = "Autorizado";
                        permisoBd.FechaAutorización   = DateTime.Now;
                        permisoBd.FechaModificacion   = DateTime.Now;
                        permisoBd.UsuarioModificacion = documentos[0].UserId;
                        ctx.SaveChanges();
                    }
                    else
                    {
                        permisoBd = new Sam3_PermisoAduana();

                        permisoBd.PermisoAutorizado   = true;
                        permisoBd.PermisoTramite      = false;
                        permisoBd.NumeroPermiso       = documentos[0].NumeroPermisoAduana;
                        permisoBd.Estatus             = "Autorizado";
                        permisoBd.FechaAutorización   = DateTime.Now;
                        permisoBd.FechaModificacion   = DateTime.Now;
                        permisoBd.UsuarioModificacion = documentos[0].UserId;

                        ctx.Sam3_PermisoAduana.Add(permisoBd);
                        ctx.SaveChanges();
                    }

                    //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 = documentos[0].UserId;

                    if (ctx.Sam3_Rel_PermisoAduana_Documento.Where(x => x.PermisoAduanaID == permisoBd.PermisoAduanaID && x.Activo).Any())
                    {
                        foreach (DocumentoPosteado d in documentos)
                        {
                            //Actualizar la informacion de los documentos
                            Sam3_Rel_PermisoAduana_Documento nuevoDoc = ctx.Sam3_Rel_PermisoAduana_Documento.Where(x => x.PermisoAduanaID == permisoBd.PermisoAduanaID && x.Activo).AsParallel().SingleOrDefault();
                            nuevoDoc.Activo            = true;
                            nuevoDoc.ContentType       = d.ContentType;
                            nuevoDoc.DocGuid           = d.DocGuid;
                            nuevoDoc.DocumentoID       = 0;
                            nuevoDoc.Extencion         = d.Extencion;
                            nuevoDoc.FechaModificacion = DateTime.Now;
                            nuevoDoc.Nombre            = d.FileName;
                            nuevoDoc.PermisoAduanaID   = permisoBd.PermisoAduanaID;
                            nuevoDoc.TipoArchivoID     = tipoArchivoID;
                            nuevoDoc.Url = d.Path;
                            nuevoDoc.UsuarioModificacion = d.UserId;

                            //ctx.Sam3_Rel_PermisoAduana_Documento.Add(nuevoDoc);
                        }
                    }
                    else
                    {
                        foreach (DocumentoPosteado d in documentos)
                        {
                            //Guardamos la informacion de los documentos
                            Sam3_Rel_PermisoAduana_Documento nuevoDoc = new Sam3_Rel_PermisoAduana_Documento();
                            nuevoDoc.Activo            = true;
                            nuevoDoc.ContentType       = d.ContentType;
                            nuevoDoc.DocGuid           = d.DocGuid;
                            nuevoDoc.DocumentoID       = 0;
                            nuevoDoc.Extencion         = d.Extencion;
                            nuevoDoc.FechaModificacion = DateTime.Now;
                            nuevoDoc.Nombre            = d.FileName;
                            nuevoDoc.PermisoAduanaID   = permisoBd.PermisoAduanaID;
                            nuevoDoc.TipoArchivoID     = tipoArchivoID;
                            nuevoDoc.Url = d.Path;
                            nuevoDoc.UsuarioModificacion = d.UserId;

                            ctx.Sam3_Rel_PermisoAduana_Documento.Add(nuevoDoc);
                        }
                    }



                    ctx.SaveChanges();

                    return(true);
                }
            }
            catch (Exception ex)
            {
                //-----------------Agregar mensaje al Log -----------------------------------------------
                LoggerBd.Instance.EscribirLog(ex);
                //-----------------Agregar mensaje al Log -----------------------------------------------
                return(false);
            }
        }
Example #3
0
        /// <summary>
        /// Método para guardar los datos del permiso autorizado que capturó el usuario
        /// Inserta el documento que adjuntó el usuario
        /// </summary>
        /// <param name="numeroPermiso">Número del permiso de ADuana autorizado</param>
        /// <param name="nombre">Nombre del documento </param>
        /// <param name="extension">Entension del documento</param>
        /// <param name="folio">Folio del aviso llegada seleccionado</param>
        /// <param name="documentoID">ID del documento</param>
        /// <param name="usuario">usuario actual</param>
        /// <returns></returns>
        public object GuardarDatosPermisoAutorizado(string numeroPermiso, string nombre, string extension, int folio, int documentoID, Sam3_Usuario usuario)
        {
            try
            {
                int PermisoAduanaID = 0;
                //Actualizar numero de permiso en el permiso tramitado anteriormente en PErmisoAduana
                using (SamContext ctx = new SamContext())
                {
                    var nuevoPermiso = (from pa in ctx.Sam3_PermisoAduana
                                        where (pa.FolioAvisoLlegadaID == folio)
                                        select pa).First();

                    nuevoPermiso.PermisoAutorizado   = true;
                    nuevoPermiso.PermisoTramite      = false;
                    nuevoPermiso.NumeroPermiso       = numeroPermiso;
                    nuevoPermiso.UsuarioModificacion = usuario.UsuarioID;
                    nuevoPermiso.FechaModificacion   = DateTime.Now;
                    nuevoPermiso.FechaAutorización   = DateTime.Now;
                    ctx.SaveChanges();

                    //Guardar Documento en Rel_PermisoAduana_Documento
                    Sam3_Rel_PermisoAduana_Documento permisoAduana_Documento = new Sam3_Rel_PermisoAduana_Documento();
                    PermisoAduanaID = nuevoPermiso.PermisoAduanaID;
                    bool PermisoAduanaExists = ctx.Sam3_Rel_PermisoAduana_Documento.Any(r => r.PermisoAduanaID == PermisoAduanaID);

                    if (PermisoAduanaExists)
                    {
                        permisoAduana_Documento.PermisoAduanaID     = PermisoAduanaID;
                        permisoAduana_Documento.DocumentoID         = documentoID;
                        permisoAduana_Documento.Nombre              = nombre;
                        permisoAduana_Documento.Extencion           = extension;
                        permisoAduana_Documento.Activo              = true;
                        permisoAduana_Documento.UsuarioModificacion = usuario.UsuarioID;
                        permisoAduana_Documento.FechaModificacion   = DateTime.Now;
                        ctx.SaveChanges();
                    }
                    else
                    {
                        permisoAduana_Documento.PermisoAduanaID     = PermisoAduanaID;
                        permisoAduana_Documento.DocumentoID         = documentoID;
                        permisoAduana_Documento.Nombre              = nombre;
                        permisoAduana_Documento.Extencion           = extension;
                        permisoAduana_Documento.Activo              = true;
                        permisoAduana_Documento.UsuarioModificacion = usuario.UsuarioID;
                        permisoAduana_Documento.FechaModificacion   = DateTime.Now;

                        ctx.Sam3_Rel_PermisoAduana_Documento.Add(permisoAduana_Documento);
                        ctx.SaveChanges();
                    }
                }

                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add("Ok");
                result.ReturnMessage.Add(PermisoAduanaID.ToString());
                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);
            }
        }