Example #1
0
        public TiposTicketsClientesModel GuardarTiposTicketsClientes(TiposTicketsClientesModel tiposTicketsClientesModel)
        {
            TiposTicketsClientesModel model = new TiposTicketsClientesModel();

            try
            {
                iGenericDataAccess.OpenConnection();
                TiposTicketsClientes ticketsClientes = new TiposTicketsClientes
                {
                    IdCliente                = tiposTicketsClientesModel.IdCliente,
                    IdPersonaResponsable     = tiposTicketsClientesModel.IdPersonaResponsable,
                    IdPersonaEscalamiento1   = tiposTicketsClientesModel.IdPersonaEscalamiento1,
                    IdPersonaEscalamiento2   = tiposTicketsClientesModel.IdPersonaEscalamiento2,
                    HorasAtencion            = tiposTicketsClientesModel.HorasAtencion,
                    HorasSegundoEscalamiento = tiposTicketsClientesModel.HorasSegundoEscalamiento
                };

                StringBuilder findSQL = new StringBuilder();
                findSQL.Append(" SELECT COUNT(tt.TipoId) TiempoAtencion ");
                findSQL.Append(" FROM dbo.TiposTicket tt ");
                findSQL.Append(" INNER JOIN dbo.TiposTicketsClientes ttc ");
                findSQL.Append(" ON ttc.TipoId = tt.TipoId ");
                findSQL.Append(" AND ttc.IdCliente = " + tiposTicketsClientesModel.IdCliente);
                findSQL.Append(" AND tt.Descripcion = '" + tiposTicketsClientesModel.TiposTicket.Descripcion + "'");

                TiposTicket findTiposTickets = iGenericDataAccess.ExecuteQuery <TiposTicket>(findSQL.ToString())[0];

                if (findTiposTickets.TiempoAtencion > 0)
                {
                    throw new DomainException(CodesConfigParamTickets.INF_08_01);
                }

                TiposTicket tt = new TiposTicket
                {
                    Descripcion    = tiposTicketsClientesModel.TiposTicket.Descripcion,
                    TiempoAtencion = tiposTicketsClientesModel.TiposTicket.TiempoAtencion,
                    Activa         = true
                };
                TiposTicket saveTicket = iGenericDataAccess.Guardar(tt);
                ticketsClientes.TipoId = saveTicket.TipoId;
                TiposTicketsClientes saveTiposTicketsClientes = iGenericDataAccess.Guardar(ticketsClientes);
                model.IdCliente = saveTiposTicketsClientes.TipoId;
                iGenericDataAccess.CloseConnection();
                return(model);
            }
            catch (DomainException e)
            {
                throw new DomainException(e.Mensaje);
            }
            catch (Exception e)
            {
                iGenericDataAccess.CloseConnection();
                throw new DalException(CodesConfigParamTickets.ERR_08_03, e);
            }
        }
Example #2
0
 public CalendarioModel GuardarCalendario(CalendarioModel calendarioModel)
 {
     try
     {
         iGenericDataAccess.OpenConnection();
         IList <CatDiasHabiles> findDia = iGenericDataAccess.
                                          Consultar(new CatDiasHabiles()
         {
             Dia = calendarioModel.Dia.Date
         },
                                                    new OptionsQueryZero()
         {
             ExcludeNumericsDefaults = true,
             ExcludeBool             = true
         });
         if (findDia.Count > 0)
         {
             throw new DalException(CodesCalendario.INF_07_00);
         }
         else
         {
             CatDiasHabiles obj = iGenericDataAccess.
                                  Guardar(new CatDiasHabiles()
             {
                 PersonaId     = 177080,
                 Dia           = calendarioModel.Dia,
                 FechaRegistro = DateTime.Today
             });
             iGenericDataAccess.OpenConnection();
             calendarioModel.IdDiaHabil = obj.IdDiaHabil;
             calendarioModel.PersonaId  = obj.PersonaId;
             calendarioModel.FechaDia   = DateToString(obj.Dia);
         }
     }
     catch (DalException e)
     {
         throw e;
     }
     catch (Exception e)
     {
         iGenericDataAccess.CloseConnection();
         throw new DalException(CodesCalendario.ERR_07_03, e);
     }
     return(calendarioModel);
 }
Example #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);
        }