/// <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); } }
/// <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); } }