Ejemplo n.º 1
0
        public List <CorridaAutorizacionDto> ObtenerCorridas(CorridaSearch search)
        {
            using (var ctx = new FacturaElectronicaEntities())
            {
                IQueryable <CorridaAutorizacion> query = ctx.CorridaAutorizacions;

                if (search.CorridaId.HasValue)
                {
                    query = query.Where(c => c.Id == search.CorridaId.Value);
                }
                else
                {
                    if (search.FechaDesde.HasValue)
                    {
                        DateTime desde = search.FechaDesde.Value.Date;
                        query = query.Where(c => desde <= c.Fecha);
                    }

                    if (search.FechaHasta.HasValue)
                    {
                        DateTime hasta = search.FechaHasta.Value.Date.AddDays(1).AddSeconds(-1);
                        query = query.Where(c => c.Fecha <= hasta);
                    }
                }

                query = query.OrderByDescending(c => c.Id);

                return(ToCorridaDtoList(query.ToList(), ctx.TipoDocumentoes.ToList(), ctx.TipoComprobantes.ToList(), ctx.TipoConceptoes.ToList()));
            }
        }
Ejemplo n.º 2
0
 public ClienteDto ObtenerClientePorCuit(long cuit)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToClienteDto(ctx.Clientes.Where(c => c.CUIT == cuit).SingleOrDefault()));
     }
 }
Ejemplo n.º 3
0
 public List <WebServiceAfipDto> ObtenerWebServicesAfip()
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToWebServiceDtoList(ctx.WebServiceAfips.ToList()));
     }
 }
Ejemplo n.º 4
0
 public ClienteDto ObtenerCliente(long clienteId)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToClienteDto(this.ObtenerCliente(ctx, clienteId)));
     }
 }
Ejemplo n.º 5
0
 public MensajeDto ObtenerMensaje(long mensajeId)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToMensajeDto(this.ObtenerMensaje(ctx, mensajeId)));
     }
 }
Ejemplo n.º 6
0
        public List <ClienteDto> ObtenerClientes(ClienteCriteria criteria)
        {
            using (var ctx = new FacturaElectronicaEntities())
            {
                IQueryable <Cliente> query = ctx.Clientes;

                if (!string.IsNullOrEmpty(criteria.RazonSocial))
                {
                    query = query.Where(c => c.RazonSocial.ToUpper().Contains(criteria.RazonSocial.ToUpper()));
                }

                if (criteria.CUIT.HasValue)
                {
                    query = query.Where(c => c.CUIT == criteria.CUIT);
                }

                if (!string.IsNullOrEmpty(criteria.NombreContacto))
                {
                    query = query.Where(c => c.NombreContacto.ToUpper().Contains(criteria.NombreContacto.ToUpper()));
                }

                if (!string.IsNullOrEmpty(criteria.ApellidoContacto))
                {
                    query = query.Where(c => c.ApellidoContacto.ToUpper().Contains(criteria.ApellidoContacto.ToUpper()));
                }

                return(ToClienteDtoList(query.ToList()));
            }
        }
Ejemplo n.º 7
0
 public EstadoArchivoAsociadoDto ObtenerEstado(string codigo)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToEstadoArchivoAsociadoDto(ctx.EstadoArchivoAsociadoes.Where(e => e.Codigo == codigo).FirstOrDefault()));
     }
 }
Ejemplo n.º 8
0
 private void GenerarLog(long corridaId, string mensaje)
 {
     using (FacturaElectronicaEntities ctx = new FacturaElectronicaEntities())
     {
         GenerarLog(ctx, corridaId, mensaje);
     }
 }
Ejemplo n.º 9
0
        public void AgregarVisualizacion(VisualizacionComprobanteDto dto)
        {
            using (var ctx = new FacturaElectronicaEntities())
            {
                ArchivoAsociado aa = ctx.ArchivoAsociadoes.Where(c => c.Id == dto.ArchivoAsociadoId).FirstOrDefault();
                if (aa != null)
                {
                    VisualizacionComprobante vc = new VisualizacionComprobante()
                    {
                        ArchivoAsociadoId = aa.Id,
                        Fecha             = DateTime.Now,
                        DireccionIP       = dto.Ip
                    };
                    if (aa.EstadoArchivoAsociado.Codigo == CodigosEstadoArchivoAsociado.NoVisualizado)
                    {
                        aa.EstadoArchivoAsociado = ctx.EstadoArchivoAsociadoes.Where(e => e.Codigo == CodigosEstadoArchivoAsociado.Visualizado).First();

                        if (aa.Comprobante.Cliente.CalculaVencimientoConVisualizacionDoc && !aa.FechaDeRecepcion.HasValue)
                        {
                            DateTime fechaDeRecepcion = DateTime.Now;
                            AsociarFechaDeRecepcion(ctx, dto.ArchivoAsociadoId, fechaDeRecepcion, dto.UsuarioIdAuditoria);
                        }
                    }

                    aa.VisualizacionComprobantes.Add(vc);

                    //if (!aa.FechaVencimiento.HasValue && aa.DiasVencimiento.HasValue)
                    //{
                    //    aa.FechaVencimiento = DateTime.Now.AddDays(aa.DiasVencimiento.Value);
                    //}

                    ctx.SaveChanges();
                }
            }
        }
Ejemplo n.º 10
0
 public UsuarioDto ObtenerUsuario(string nombreUsuario)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToUsuarioDto(this.ObtenerUsuario(ctx, nombreUsuario)));
     }
 }
Ejemplo n.º 11
0
 public MensajeDto CrearMensaje(MensajeDto mensajeDto)
 {
     using (TransactionScope ts = new TransactionScope())
     {
         using (var ctx = new FacturaElectronicaEntities())
         {
             Mensaje mensaje = new Mensaje();
             ToMensaje(mensajeDto, mensaje);
             MensajeCliente mensajeCliente = null;
             foreach (var clienteDto in mensajeDto.Clientes)
             {
                 Cliente cliente = this.ObtenerCliente(ctx, clienteDto.Id);
                 mensajeCliente = new MensajeCliente()
                 {
                     Mensaje = mensaje,
                     Cliente = cliente,
                     Leido   = false
                 };
                 mensaje.MensajeClientes.Add(mensajeCliente);
             }
             mensaje.FechaDeCarga = DateTime.Now;
             ctx.Mensajes.AddObject(mensaje);
             ctx.SaveChanges();
             ts.Complete();
             mensajeDto.Id = mensaje.Id;
         }
         return(mensajeDto);
     }
 }
Ejemplo n.º 12
0
        private void SendMailToCustomers(long corridaId)
        {
            List <Cliente> clienteList = new List <Cliente>();

            using (FacturaElectronicaEntities ctx = new FacturaElectronicaEntities())
            {
                try
                {
                    var query = (from corrida in ctx.CorridaSubidaArchivoes
                                 join corridaDetalle in ctx.CorridaSubidaArchivoDetalles on corrida.Id equals corridaDetalle.CorridaSubidaArchivoId
                                 join archivo in ctx.ArchivoAsociadoes on corridaDetalle.ArchivoAsociadoId equals archivo.Id
                                 join comp in ctx.Comprobantes on archivo.ComprobanteId equals comp.Id
                                 join cli in ctx.Clientes on comp.ClienteId equals cli.Id
                                 where corridaDetalle.ProcesadoOK &&
                                 corrida.Id == corridaId &&
                                 corridaDetalle.ArchivoAsociadoId.HasValue
                                 select cli);

                    clienteList = query.Distinct().ToList();

                    // A los clientes les envío un email pero por thread
                    SendEmailToCustomerInThread(corridaId, clienteList);
                }
                catch (Exception ex)
                {
                    GenerarLog(ctx, corridaId, ex.Message);
                }
            }
        }
Ejemplo n.º 13
0
        public EstadoComprobantesDto ObtenerEstadoComprobantes(long clientId)
        {
            EstadoComprobantesDto dto      = new EstadoComprobantesDto();
            ComprobanteCriteria   criteria = new ComprobanteCriteria();

            using (var ctx = new FacturaElectronicaEntities())
            {
                criteria.ClienteId = clientId;
                // Total Comprobantes
                //dto.TotalComprobantes = ctx.ArchivoAsociadoes.Where(a => a.Comprobante.ClienteId == clientId &&
                //                                                         a.EstadoArchivoAsociado.Codigo != CodigosEstadoArchivoAsociado.Eliminado).Count();
                // Visualizados
                dto.Visualizados = ctx.ArchivoAsociadoes.Where(a => a.Comprobante.ClienteId == clientId &&
                                                               a.EstadoArchivoAsociado.Codigo == CodigosEstadoArchivoAsociado.Visualizado).Count();
                // No Visualizados No Vencidos
                DateTime hoy = DateTime.Now.Date;
                dto.NoVisualizados = ctx.ArchivoAsociadoes.Where(a => a.Comprobante.ClienteId == clientId &&
                                                                 a.EstadoArchivoAsociado.Codigo == CodigosEstadoArchivoAsociado.NoVisualizado &&
                                                                 (hoy <= a.FechaVencimiento || a.FechaVencimiento == null)).Count();
                // No Visualizados
                dto.NoVisualizadosVencidos = ctx.ArchivoAsociadoes.Where(a => a.Comprobante.ClienteId == clientId &&
                                                                         a.EstadoArchivoAsociado.Codigo == CodigosEstadoArchivoAsociado.NoVisualizado &&
                                                                         a.FechaVencimiento < hoy).Count();

                dto.TotalComprobantes = dto.Visualizados + dto.NoVisualizados + dto.NoVisualizadosVencidos;
            }

            return(dto);
        }
Ejemplo n.º 14
0
 public UsuarioDto CrearUsuario(UsuarioDto usuarioDto)
 {
     using (TransactionScope ts = new TransactionScope())
     {
         using (var ctx = new FacturaElectronicaEntities())
         {
             if (this.ObtenerUsuario(ctx, usuarioDto.NombreUsuario) != null)
             {
                 throw new Exception("El usuario ya existe");
             }
             Usuario usuario = new Usuario();
             ToUsuario(usuarioDto, usuario);
             if (usuarioDto.Roles != null &&
                 usuarioDto.Roles.Count() > 0)
             {
                 foreach (RolDto rolDto in usuarioDto.Roles)
                 {
                     Rol rol = this.ObtenerRol(ctx, rolDto.Id);
                     if (rol != null)
                     {
                         usuario.Roles.Add(rol);
                     }
                 }
             }
             ctx.Usuarios.AddObject(usuario);
             ctx.SaveChanges();
             ts.Complete();
             usuarioDto.Id = usuario.Id;
         }
         return(usuarioDto);
     }
 }
Ejemplo n.º 15
0
        public UsuarioDto EditarUsuario(UsuarioDto usuarioDto)
        {
            using (TransactionScope ts = new TransactionScope())
            {
                using (var ctx = new FacturaElectronicaEntities())
                {
                    Usuario usuario = this.ObtenerUsuario(ctx, usuarioDto.Id);
                    string  pass    = usuario.Password;
                    ToUsuario(usuarioDto, usuario);
                    usuario.Password = pass;
                    if (usuarioDto.Roles != null &&
                        usuarioDto.Roles.Count() > 0)
                    {
                        usuario.Roles.Clear();
                        foreach (RolDto rolDto in usuarioDto.Roles)
                        {
                            Rol rol = this.ObtenerRol(ctx, rolDto.Id);
                            if (rol != null)
                            {
                                usuario.Roles.Add(rol);
                            }
                        }
                    }
                    ctx.SaveChanges();

                    ts.Complete();
                }

                return(usuarioDto);
            }
        }
Ejemplo n.º 16
0
 public List <RolDto> ObtenerRoles()
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToRolDtoList(ctx.Rols.ToList()));
     }
 }
Ejemplo n.º 17
0
 public RolDto ObtenerRol(int rolId)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToRolDto(this.ObtenerRol(ctx, rolId)));
     }
 }
Ejemplo n.º 18
0
 public List <UsuarioDto> ObtenerUsuarios(string nombreUsuario)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToUsuarioDtoList(ctx.Usuarios.Where(u => u.NombreUsuario.Contains(nombreUsuario)).ToList()));
     }
 }
Ejemplo n.º 19
0
 public ComprobanteDto ObtenerComprobante(long comprobanteId)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToComprobanteDto(ctx.Comprobantes.Where(c => c.Id == comprobanteId).FirstOrDefault()));
     }
 }
Ejemplo n.º 20
0
 public List <EstadoArchivoAsociadoDto> ObtenerEstados()
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToEstadoArchivoAsociadoDtoList(ctx.EstadoArchivoAsociadoes.ToList()));
     }
 }
Ejemplo n.º 21
0
 public ComprobanteDto ObtenerUltimoComprobanteCargado(int ptoVta, int cbeTipo)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         Comprobante cbte = ctx.Comprobantes.Where(c => c.PtoVta == ptoVta && c.TipoComprobante.CodigoAfip == cbeTipo).OrderByDescending(c => c.CbteDesde).FirstOrDefault();
         return(ToComprobanteDto(cbte));
     }
 }
Ejemplo n.º 22
0
 public TipoComprobanteDto ObtenerTipoComprobantePorCodigoAfip(int codigoAfip)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         TipoComprobante tipoCbte = ctx.TipoComprobantes.Where(t => t.CodigoAfip == codigoAfip).FirstOrDefault();
         return(ToTipoComprobanteDto(tipoCbte));
     }
 }
Ejemplo n.º 23
0
 public bool CambiarPassword(string nombreUsuario, string passwordActual, string passwordNueva)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         Usuario usuario = ctx.Usuarios.Where(u => u.NombreUsuario == nombreUsuario).FirstOrDefault();
         return(CambiaPassword(ctx, usuario, passwordActual, passwordNueva));
     }
 }
Ejemplo n.º 24
0
 public List <TipoComprobanteDto> ObtenerTiposComprobantes()
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return
             (ToTipoComprobanteDtoList(
                  ctx.TipoComprobantes.Where(tc => tc.Codigo != "N/A").OrderBy(tc => tc.Descripcion).ToList()));
     }
 }
Ejemplo n.º 25
0
        private List <EstadoArchivoAsociado> GetEstadoArchivoAsociado(FacturaElectronicaEntities ctx)
        {
            if (estadosArchivoAsociado == null)
            {
                estadosArchivoAsociado = ctx.EstadoArchivoAsociadoes.ToList();
            }

            return(estadosArchivoAsociado);
        }
Ejemplo n.º 26
0
        private List <TipoContrato> GetTipoContrato(FacturaElectronicaEntities ctx)
        {
            if (tiposContrato == null)
            {
                tiposContrato = ctx.TipoContratoes.ToList();
            }

            return(tiposContrato);
        }
Ejemplo n.º 27
0
        private List <TipoComprobante> GetTipoComprobante(FacturaElectronicaEntities ctx)
        {
            if (tiposComprobante == null)
            {
                tiposComprobante = ctx.TipoComprobantes.ToList();
            }

            return(tiposComprobante);
        }
Ejemplo n.º 28
0
 public void MarcarComoLeido(long mensajeId, long clienteId)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         MensajeCliente mensajeCliente = ctx.MensajeClientes.Where(mc => mc.MensajeId == mensajeId && mc.ClienteId == clienteId).Single();
         mensajeCliente.Leido = true;
         ctx.SaveChanges();
     }
 }
Ejemplo n.º 29
0
 public void CrearComprobante(ComprobanteDto dto)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         Comprobante cbte = new Comprobante();
         ToComprobante(dto, cbte);
         ctx.Comprobantes.AddObject(cbte);
         ctx.SaveChanges();
     }
 }
Ejemplo n.º 30
0
        public List <TipoContratoDto> ObtenerTiposContrato()
        {
            using (var ctx = new FacturaElectronicaEntities())
            {
                // Obtengo el listado con los tipos de contrato que existen en la base
                var tiposContrato = ctx.TipoContratoes.ToList();

                return(ToTipoContratoDtoList(tiposContrato));
            }
        }