Beispiel #1
0
        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);
        }
Beispiel #3
0
        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);
        }