public IList <TicketModel> ConsultarTickest(TicketModel ticketModel) { try { iGenericDataAccess.OpenConnection(); IList <VwTicObtenerInformacionTickets> vwTickets = iGenericDataAccess.Consultar( new VwTicObtenerInformacionTickets() { PersonaIdTipoUsuarioTicket = ticketModel.GetIdUsuarioSesion() }, new OptionsQueryZero() { ExcludeNumericsDefaults = true, ExcludeBool = true, WhereComplementary = string.Format(FILTRO_ESTATUS, ESTATUS_CERRADO, ESTATUS_CANCELADO) }); iGenericDataAccess.CloseConnection(); var cont = 1; IList <TicketModel> ticketsList = vwTickets.Select( x => new TicketModel() { TicketId = x.TicketId, PersonaId = x.PersonaId, Tipo = x.DescripcionTicket, FechaRecepcion = x.FechaRecepcion, FechaRegistro = x.FechaRegistro, DescripcionTicket = x.Descripcion, NombreCompletoResponsable = x.NombrePer + " " + x.PaternoPer + " " + x.MaternoPer, DescripcionEstatus = x.DescripcionEstatus, ClaveEstatus = x.CveEstatus, UsuarioId = x.UsuarioId, UsuarioSesion = ticketModel.GetIdUsuarioSesion(), //UsuarioId = ticketModel.UsuarioId, NumTicket = cont++, AseguradoraId = x.AseguradoraId, Nombre = (x.AseguradoraId == 0) ? "N/A" : x.Nombre, NombreCliente = x.NombreCliente, Caratula = x.Caratula ?? "N/A", PersonaIdTipoUsuarioTicket = x.PersonaIdTipoUsuarioTicket }).ToList().Where(where => (where.ClaveEstatus != DocumEstatus || where.ClaveEstatus != IncompEstatus && where.PersonaId != where.UsuarioSesion) || (where.ClaveEstatus != DocumEstatus || where.ClaveEstatus != IncompEstatus && where.PersonaIdTipoUsuarioTicket != where.UsuarioSesion)).ToList(); return(ticketsList); } catch (Exception e) { iGenericDataAccess.CloseConnection(); throw new DalException(CodesTickets.ERR_00_03, e); } }
public SingleResponse <IList <TicketModel> > ConsultarTickets(TicketModel ticketModel) { SingleResponse <IList <TicketModel> > response = new SingleResponse <IList <TicketModel> >(); try { IList <TicketModel> listTickest = iGestionDataAccess.ConsultarTickest(ticketModel); IList <TicketModel> tickest = new List <TicketModel>(); int idUsuarioSession = ticketModel.GetIdUsuarioSesion(); foreach (var ticket in listTickest) { if (ticket.ClaveEstatus == ESTATUS_INCOMPLETO || ticket.ClaveEstatus == ESTATUS_DOCUMENTACION) { if (ticket.UsuarioId == idUsuarioSession) { tickest.Add(ticket); } } else { tickest.Add(ticket); } } List <TicketModel> ascListTickets = tickest.OrderBy(ticket => ticket.TicketId).ToList(); response.Done(ascListTickets, string.Empty); } catch (DalException e) { response.Error(e); } catch (DomainValidationsException e) { response.SetValidations(e.Validations); } catch (DomainException e) { response.Error(e); } catch (Exception e) { //Agregar menjase de error response.Error(new DomainException(e.Message)); } return(response); }
public TicketModel GuardarTicket(TicketModel ticketModel) { DateTime fechaActual = DateTime.Now; try { iGenericDataAccess.OpenConnection(); iGenericDataAccess.BeginTran(); RegistrosTicket registrosTicket = iGenericDataAccess.Guardar(new RegistrosTicket() { FechaRegistro = fechaActual, TipoId = ticketModel.TipoId, UsuarioId = ticketModel.GetIdUsuarioSesion(), Descripcion = ticketModel.DescripcionTicket, IdCaratula = ticketModel.CaratulaId, IdCliente = ticketModel.PersonaId, IdOrigenTicket = ticketModel.CatalogoOrigenId == 0 ? null : ticketModel.CatalogoOrigenId, FechaRecepcion = ticketModel.FechaRecepcion, NumeroOT = null, //investigar con que dato se llenara NumeroOTSICS = null, //investigar con que dato se llenara ResponsableId = ticketModel.ResponsableId, AseguradoraId = ticketModel.AseguradoraId }); iGenericDataAccess.Guardar(new TicketsEstatus() { TicketId = registrosTicket.TicketId, IdEstatusTicket = ticketModel.IdEstatusTicket, //Falta obtener el idUsuario de session PersonaId = ticketModel.PersonaId, FechaRegistro = fechaActual, NombreArchivoTicketCerrado = "", RutaArchivoTicketCerrado = "", Activo = true //Falta obtener fecha calculada }); if (!ticketModel.EsClienteFlotillas) { iGenericDataAccess.Guardar(new TicketsDatosContactos() { TicketId = registrosTicket.TicketId, IdAgencia = ticketModel.DatosContactoAgenciaId, Nombre = ticketModel.DatosContactoNombre, Apellidos = ticketModel.DatosContactoApellidos, Telefono = ticketModel.DatosContactoTelefonos, Email = ticketModel.DatosContactoEmail }); } foreach (var archivo in ticketModel.Archivos) { ArchivosTickets archivosTickets = iGenericDataAccess.BuscarUno(new ArchivosTickets { IdArchivoTicket = archivo.IdArchivoTicket, }, new OptionsQueryZero { ExcludeNumericsDefaults = true, ExcludeBool = true }); iGenericDataAccess.Actualizar(new ArchivosTickets() { IdArchivoTicket = archivosTickets.IdArchivoTicket, TicketId = registrosTicket.TicketId, NombreArchivo = archivosTickets.NombreArchivo, RutaArchivo = archivosTickets.RutaArchivo, IdEstatusTicket = ticketModel.IdEstatusTicket }); } if (!string.IsNullOrEmpty(ticketModel.CopiarA)) { String[] correos = ticketModel.CopiarA.Split(';'); foreach (var copiarA in correos) { if (!string.IsNullOrEmpty(copiarA)) { iGenericDataAccess.Guardar(new CorreosCopiaTickets() { TicketId = registrosTicket.TicketId, Correo = copiarA }); } } } ticketModel.TicketId = registrosTicket.TicketId; ticketModel.FechaRegistro = fechaActual; ticketModel.FechaRecepcion = registrosTicket.FechaRecepcion; iGenericDataAccess.CommitTran(); } catch (DomainException de) { iGenericDataAccess?.RollbackTran(); throw new DalException(CodesTickets.ERR_00_12, de); } catch (Exception e) { iGenericDataAccess?.RollbackTran(); iGenericDataAccess?.CloseConnection(); throw new DalException(CodesCalendario.ERR_07_03, e); } return(ticketModel); }