Ejemplo n.º 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);
            }
        }
Ejemplo n.º 2
0
        public IList <ClienteProductoModel> ConsultarClientes(ClienteProductoModel clienteProductoModel)
        {
            try
            {
                iGenericDataAccess.OpenConnection();
                //Se cambia para optimizar la consulta.

                IList <VwNueListaClientesProducto> lista = iGenericDataAccess
                                                           .ExecuteQuery <VwNueListaClientesProducto>(
                    "SELECT " +
                    "total.Nombre as NombreCliente" +
                    ", total.idCliente as IdCliente" +
                    " FROM" +
                    "(" +
                    "   SELECT " +
                    "   p.Nombre " +
                    "   , ttC.idCliente " +
                    "   , ROW_NUMBER() over(order by ttC.idCliente) as RowNumber " +
                    "   , RANK()over(order by ttC.idCliente) as Rank " +
                    "    FROM dbo.TiposTicketsClientes ttC " +
                    "   INNER JOIN( " +
                    "        SELECT " +
                    "        pD.Valor " +
                    "        FROM " +
                    "        dbo.PerfilDatos pD " +
                    "        Where  ISNUMERIC(pD.Valor) = 1 " +
                    "           AND pD.Opcion = 1169 " +
                    "           AND pd.PersonaID = " + clienteProductoModel.GetIdUsuarioSesion() + " AND pd.PerfilID =" + clienteProductoModel.GetIdPerfilUsuarioSesion() + " " +
                    "        ) as pD " +
                    "      ON " +
                    "      ttC.IdCliente = pD.Valor " +
                    "  INNER JOIN dbo.nePersonas p " +
                    "      ON p.PersonaID = pD.Valor and p.Tipo=212 " +
                    " ) as total" +
                    " where Rank = RowNumber AND total.Nombre LIKE \'%" + clienteProductoModel.NombreCliente + "%\'");

                iGenericDataAccess.CloseConnection();
                IList <ClienteProductoModel> clientesList = lista.Select(
                    x => new ClienteProductoModel()
                {
                    IdCliente     = x.IdCliente,
                    NombreCliente = x.NombreCliente
                }).ToList();
                return(clientesList);
            }
            catch (Exception e)
            {
                iGenericDataAccess.CloseConnection();
                throw new DalException(CodesTickets.ERR_00_04, e);
            }
        }
Ejemplo n.º 3
0
        public int ConsultarTotalDiasInhabiles(DateTime fechaRecepcion)
        {
            try
            {
                iGenericDataAccess.OpenConnection();
                var queryFinal = "SELECT COUNT(Dia) totalInhabiles FROM CatDiasHabiles WHERE Dia >= {FechaRecepcion} AND Dia < GETDATE()";
                queryFinal = queryFinal.Replace("{FechaRecepcion}", "'" + fechaRecepcion.ToString(("yyyy-MM-dd hh:mm:ss")) + "'");
                IList <CatDiasHabilesEntidad> inhabiles = iGenericDataAccess.ExecuteQuery <CatDiasHabilesEntidad>(queryFinal);

                return(inhabiles[0].TotalInhabiles);
            }
            catch (Exception e)
            {
                throw new DalException("Error:::", e);
            }
        }
Ejemplo n.º 4
0
        public AmVersionSistemaModel ConsultaVesionSistema()
        {
            try
            {
                iGenericDataAccess.OpenConnection();
                IList <AmVersionSistema> version = iGenericDataAccess.ExecuteQuery <AmVersionSistema>(CQuerysSeguridad.QryVersionSistema);
                iGenericDataAccess.CloseConnection();

                IList <AmVersionSistemaModel> versionSistema = version.Select(x => new AmVersionSistemaModel
                {
                    IdVersion   = x.IdVersion,
                    Version     = x.Version,
                    Descripcion = x.Descripcion,
                    Fecha       = x.Fecha,
                    Ot          = x.Ot
                }).ToList();
                return(versionSistema[0]);
            }
            catch (Exception e)
            {
                iGenericDataAccess.CloseConnection();
                throw new DalException(Codes.ERR_00_00, e);
            }
        }