Пример #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()));
            }
        }
Пример #2
0
 public ClienteDto ObtenerClientePorCuit(long cuit)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToClienteDto(ctx.Clientes.Where(c => c.CUIT == cuit).SingleOrDefault()));
     }
 }
Пример #3
0
 public List <WebServiceAfipDto> ObtenerWebServicesAfip()
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToWebServiceDtoList(ctx.WebServiceAfips.ToList()));
     }
 }
Пример #4
0
 public ClienteDto ObtenerCliente(long clienteId)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToClienteDto(this.ObtenerCliente(ctx, clienteId)));
     }
 }
Пример #5
0
 public MensajeDto ObtenerMensaje(long mensajeId)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToMensajeDto(this.ObtenerMensaje(ctx, mensajeId)));
     }
 }
Пример #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()));
            }
        }
Пример #7
0
 public EstadoArchivoAsociadoDto ObtenerEstado(string codigo)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToEstadoArchivoAsociadoDto(ctx.EstadoArchivoAsociadoes.Where(e => e.Codigo == codigo).FirstOrDefault()));
     }
 }
Пример #8
0
 private void GenerarLog(long corridaId, string mensaje)
 {
     using (FacturaElectronicaEntities ctx = new FacturaElectronicaEntities())
     {
         GenerarLog(ctx, corridaId, mensaje);
     }
 }
Пример #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();
                }
            }
        }
Пример #10
0
 public UsuarioDto ObtenerUsuario(string nombreUsuario)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToUsuarioDto(this.ObtenerUsuario(ctx, nombreUsuario)));
     }
 }
Пример #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);
     }
 }
Пример #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);
                }
            }
        }
Пример #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);
        }
Пример #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);
     }
 }
Пример #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);
            }
        }
Пример #16
0
 public List <RolDto> ObtenerRoles()
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToRolDtoList(ctx.Rols.ToList()));
     }
 }
Пример #17
0
 public RolDto ObtenerRol(int rolId)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToRolDto(this.ObtenerRol(ctx, rolId)));
     }
 }
Пример #18
0
 public List <UsuarioDto> ObtenerUsuarios(string nombreUsuario)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToUsuarioDtoList(ctx.Usuarios.Where(u => u.NombreUsuario.Contains(nombreUsuario)).ToList()));
     }
 }
Пример #19
0
 public ComprobanteDto ObtenerComprobante(long comprobanteId)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToComprobanteDto(ctx.Comprobantes.Where(c => c.Id == comprobanteId).FirstOrDefault()));
     }
 }
Пример #20
0
 public List <EstadoArchivoAsociadoDto> ObtenerEstados()
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         return(ToEstadoArchivoAsociadoDtoList(ctx.EstadoArchivoAsociadoes.ToList()));
     }
 }
Пример #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));
     }
 }
Пример #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));
     }
 }
Пример #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));
     }
 }
Пример #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()));
     }
 }
Пример #25
0
        private List <EstadoArchivoAsociado> GetEstadoArchivoAsociado(FacturaElectronicaEntities ctx)
        {
            if (estadosArchivoAsociado == null)
            {
                estadosArchivoAsociado = ctx.EstadoArchivoAsociadoes.ToList();
            }

            return(estadosArchivoAsociado);
        }
Пример #26
0
        private List <TipoContrato> GetTipoContrato(FacturaElectronicaEntities ctx)
        {
            if (tiposContrato == null)
            {
                tiposContrato = ctx.TipoContratoes.ToList();
            }

            return(tiposContrato);
        }
Пример #27
0
        private List <TipoComprobante> GetTipoComprobante(FacturaElectronicaEntities ctx)
        {
            if (tiposComprobante == null)
            {
                tiposComprobante = ctx.TipoComprobantes.ToList();
            }

            return(tiposComprobante);
        }
Пример #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();
     }
 }
Пример #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();
     }
 }
Пример #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));
            }
        }