Ejemplo n.º 1
0
        public void UpdateSimple(Solicitud solicitud)
        {
            var entity = CdpContext.Solicitudes.Single(s => s.Id == solicitud.Id);

            entity.UpdateDate   = DateTime.Now;
            entity.UpdatedBy    = UsuarioLogged;
            entity.Ctg          = solicitud.Ctg;
            entity.EstadoEnAFIP = solicitud.EstadoEnAFIP;
            entity.EstadoEnSAP  = solicitud.EstadoEnSAP;
            entity.SetDefaultValues();

            CdpContext.SaveChanges();
        }
Ejemplo n.º 2
0
        public override Dtos.LoteCartaPorte Create(Dtos.LoteCartaPorte dto)
        {
            Validate(dto);
            var entity = ToEntity(dto);

            CdpContext.LotesCartaPorte.Add(entity);
            SaveFile(entity.Desde.Value);

            CdpContext.SaveChanges();
            CDPSession.Current.File = null;

            return(Mapper.Map <LoteCartaPorte, Dtos.LoteCartaPorte>(entity));
        }
Ejemplo n.º 3
0
        public Result Anular(int id)
        {
            var result = new Result {
                Messages = new List <string>()
            };
            var solicitud = CdpContext.Solicitudes.Single(s => s.Id == id);
            var auth      = CdpContext.AfipAuth.FirstOrDefault();

            try
            {
                solicitud.UpdateDate      = DateTime.Now;
                solicitud.UpdatedBy       = UsuarioLogged;
                solicitud.EstadoEnSAP     = (int)EstadoSap.PedidoAnulacion;
                solicitud.ObservacionAfip = "Carta de porte ANULADA";

                if (CDPSession.Current.Usuario.CurrentEmpresa.GrupoEmpresaId == App.IdGrupoCresud)
                {
                    var wsResult = _afipAdmin.AnularCtg(long.Parse(solicitud.NumeroCartaDePorte), long.Parse(solicitud.Ctg), auth);
                    var messages = wsResult.arrayErrores != null?string.Join(", ", wsResult.arrayErrores.ToArray()) : string.Empty;

                    if (String.IsNullOrEmpty(messages) && wsResult.datosResponse != null)
                    {
                        solicitud.CodigoAnulacionAfip = wsResult.datosResponse.codigoOperacion;
                        var fecha            = wsResult.datosResponse.fechaHora.Substring(0, 10).Split('/');
                        var fechaCancelacion = new DateTime(Convert.ToInt32(fecha[2]), Convert.ToInt32(fecha[1]), Convert.ToInt32(fecha[0]));
                        solicitud.FechaAnulacionAfip = fechaCancelacion;
                        solicitud.EstadoEnAFIP       = (int)EstadoAfip.Anulada;
                        solicitud.EstadoEnSAP        = (int)EstadoSap.PedidoAnulacion;
                        solicitud.ObservacionAfip    = "Carta de porte ANULADA";
                    }
                    else if (!String.IsNullOrEmpty(messages))
                    {
                        solicitud.ObservacionAfip = messages.Trim();

                        if (messages.Contains("La Carta de Porte fue Confirmada o Anulada con anterioridad"))
                        {
                            solicitud.EstadoEnAFIP = (int)EstadoAfip.Anulada;
                        }
                    }
                }

                CdpContext.SaveChanges();
            }
            catch (Exception ex)
            {
                var norm = NormalizarMensajeErrorAfip(ex.Message);
                throw new Exception(norm);
            }

            return(result);
        }
Ejemplo n.º 4
0
        public void Anular(int solicitudId)
        {
            var solicitud    = CdpContext.Solicitudes.Single(c => c.Id == solicitudId);
            var cartaDePorte = CdpContext.CartaDePortes.Single(c => string.Equals(c.NumeroCartaDePorte, solicitud.NumeroCartaDePorte));

            solicitud.EstadoEnSAP     = 4;
            solicitud.EstadoEnAFIP    = 3;
            solicitud.ObservacionAfip = "Reserva de Carta de Porte ANULADA";

            cartaDePorte.FechaReserva   = null;
            cartaDePorte.UsuarioReserva = null;

            CdpContext.SaveChanges();
        }
Ejemplo n.º 5
0
        public Result ReenviarSap(int id)
        {
            var result = new Result {
                Messages = new List <string>()
            };
            var solicitud     = CdpContext.Solicitudes.Single(s => s.Id == id);
            var solicitudEdit = GetById(id);

            solicitud.UpdateDate  = DateTime.Now;
            solicitud.UpdatedBy   = UsuarioLogged;
            solicitud.EstadoEnSAP = (int)_sapAdmin.PrefacturaSap(solicitudEdit, false, false);
            CdpContext.SaveChanges();

            return(result);
        }
Ejemplo n.º 6
0
        public void CambioDestinoDestinatario(Solicitud dto)
        {
            var solicitud     = CdpContext.Solicitudes.Single(s => s.Id == dto.Id);
            var solicitudEdit = GetById(dto.Id);
            var auth          = CdpContext.AfipAuth.FirstOrDefault();

            try
            {
                solicitud.UpdateDate   = DateTime.Now;
                solicitud.UpdatedBy    = UsuarioLogged;
                solicitud.EstadoEnAFIP = (int)EstadoAfip.Enviado;
                solicitud.EstablecimientoDestinoCambioId = dto.EstablecimientoDestinoCambioId;
                solicitud.ClienteDestinatarioCambioId    = dto.ClienteDestinatarioCambioId;

                solicitudEdit.EstablecimientoDestinoCambio = Mapper.Map <Entities.Establecimiento, Dtos.Establecimiento>(CdpContext.Establecimientos.FirstOrDefault(e => e.Id == solicitud.EstablecimientoDestinoCambioId.Value));
                var id = solicitudEdit.EstablecimientoDestinoCambio.InterlocutorDestinatarioId.ToString();
                solicitudEdit.EstablecimientoDestinoCambio.InterlocutorDestinatario = Mapper.Map <Entities.Cliente, Dtos.Cliente>(CdpContext.Clientes.FirstOrDefault(e => e.Id == id));
                id = dto.ClienteDestinatarioCambioId.ToString();
                solicitudEdit.ClienteDestinatarioCambio = Mapper.Map <Entities.Cliente, Dtos.Cliente>(CdpContext.Clientes.FirstOrDefault(e => e.Id == id));

                var wsResult = _afipAdmin.CambiarDestinoDestinatarioCtgRechazado(solicitudEdit, auth);
                var messages = wsResult.arrayErrores != null?string.Join(", ", wsResult.arrayErrores.ToArray()) : string.Empty;

                if (string.IsNullOrEmpty(messages))
                {
                    if (wsResult.datosResponse != null && !string.IsNullOrEmpty(wsResult.datosResponse.fechaHora))
                    {
                        solicitud.ObservacionAfip = "Cambio de Destino realizado";
                        solicitud.EstadoEnAFIP    = (int)EstadoAfip.CambioDestino;
                    }
                }
                else
                {
                    solicitud.EstadoEnAFIP = (int)EstadoAfip.SinProcesar;
                }

                _sapAdmin.PrefacturaSap(solicitudEdit, true, false);

                CdpContext.SaveChanges();
            }
            catch (Exception ex)
            {
                var norm = NormalizarMensajeErrorAfip(ex.Message);
                throw new Exception(norm);
            }
        }
Ejemplo n.º 7
0
        public override Dtos.Solicitud Create(Dtos.Solicitud dto)
        {
            var establecimiento   = CdpContext.Establecimientos.Single(e => e.Id == dto.EstablecimientoProcedenciaId);
            var establecimientoId = establecimiento.Id.ToString();
            var empresa           = CdpContext.Empresas.Single(e => e.Id == dto.EmpresaId);

            var cartaDePorte = (
                from lote in CdpContext.LotesCartaPorte
                join cdp in CdpContext.CartaDePortes on lote.Id equals cdp.Lote.Id
                where cdp.GrupoEmpresaId == empresa.GrupoEmpresa.Id &&
                cdp.Estado == 0 &&
                lote.FechaVencimiento >= DateTime.Now &&
                (!establecimiento.AsociaCartaDePorte || lote.EstablecimientoOrigenId == establecimientoId)
                orderby lote.FechaVencimiento, cdp.NumeroCartaDePorte
                select cdp
                ).FirstOrDefault();

            if (cartaDePorte == null)
            {
                throw new Exception("No Hay Cartas de porte disponibles para el establecimiento seleccionado");
            }

            cartaDePorte.Estado         = 1;
            cartaDePorte.FechaReserva   = DateTime.Now;
            cartaDePorte.UsuarioReserva = UsuarioLogged;

            var entity = new Solicitud
            {
                EstablecimientoProcedenciaId = establecimiento.Id,
                ObservacionAfip    = "Reserva de Carta de Porte",
                NumeroCartaDePorte = cartaDePorte.NumeroCartaDePorte,
                Cee           = cartaDePorte.NumeroCee,
                CreateDate    = DateTime.Now,
                CreatedBy     = UsuarioLogged,
                TipoDeCartaId = dto.TipoDeCartaId,
                EmpresaId     = empresa.Id
            };

            entity.SetDefaultValues();
            CdpContext.Solicitudes.Add(entity);
            CdpContext.SaveChanges();

            return(Mapper.Map <Solicitud, Dtos.Solicitud>(entity));
        }
Ejemplo n.º 8
0
        public Result RegresarOrigen(int id)
        {
            var result = new Result {
                Messages = new List <string>()
            };
            var solicitud          = CdpContext.Solicitudes.Single(s => s.Id == id);
            var solicitudEdit      = GetById(id);
            var auth               = CdpContext.AfipAuth.FirstOrDefault();
            var testRegresoAOrigen = string.Equals(System.Configuration.ConfigurationSettings.AppSettings["testRegresoAOrigen"], "true");

            try
            {
                solicitud.UpdateDate      = DateTime.Now;
                solicitud.UpdatedBy       = UsuarioLogged;
                solicitud.EstadoEnAFIP    = (int)EstadoAfip.VueltaOrigen;
                solicitud.ObservacionAfip = "Vuelta a Origen realizado";
                solicitud.EstadoEnSAP     = (int)_sapAdmin.PrefacturaSap(solicitudEdit, false, false);

                if (!testRegresoAOrigen)
                {
                    var wsResult = _afipAdmin.RegresarOrigenCtgRechazado(solicitudEdit, auth);
                    var messages = wsResult.arrayErrores != null?string.Join(", ", wsResult.arrayErrores.ToArray()) : string.Empty;

                    if (wsResult.datosResponse == null ||
                        string.IsNullOrEmpty(wsResult.datosResponse.fechaHora) ||
                        !string.IsNullOrEmpty(messages))
                    {
                        solicitud.ObservacionAfip = messages.Trim();
                        solicitud.EstadoEnAFIP    = (int)EstadoAfip.SinProcesar;
                    }
                }

                CdpContext.SaveChanges();
            }
            catch (Exception ex)
            {
                var norm = NormalizarMensajeErrorAfip(ex.Message);
                throw new Exception(norm);
            }

            return(result);
        }
Ejemplo n.º 9
0
        public Result ConfirmarArribo(int solicitudId, string consumoPropio, long?establecimientoAfip)
        {
            var result = new Result {
                Messages = new List <string>()
            };
            var solicitudEdit = GetById(solicitudId);
            var solicitud     = CdpContext.Solicitudes.Single(s => s.Id == solicitudId);
            var auth          = CdpContext.AfipAuth.FirstOrDefault();


            solicitud.UpdateDate = DateTime.Now;
            solicitud.UpdatedBy  = UsuarioLogged;
            var wsResult = _afipAdmin.ConfirmarArribo(solicitudEdit, auth, consumoPropio, establecimientoAfip);

            if (wsResult.arrayErrores.Length > 0)
            {
                if (wsResult.arrayErrores.Any(e => string.Equals(e, "confirmado")))
                {
                    solicitud.EstadoEnAFIP = 5;
                }

                if (wsResult.arrayErrores.Any(e => string.Equals(e, "definitivo")))
                {
                    solicitud.EstadoEnAFIP = 6;
                }

                solicitud.ObservacionAfip = string.Join(", ", wsResult.arrayErrores);
            }
            else
            {
                solicitud.CodigoAnulacionAfip = wsResult.datosResponse.codigoOperacion;
                solicitud.ObservacionAfip     = "CTG Confirmado Manual";
                solicitud.EstadoEnAFIP        = 5;
            }

            CdpContext.SaveChanges();

            return(result);
        }
Ejemplo n.º 10
0
        public Dtos.Cliente CreateCliente(Dtos.Cliente dto)
        {
            ValidateCliente(dto);
            var empresa = CdpContext.Empresas.Single(e => e.Id == CDPSession.Current.Usuario.CurrentEmpresa.Id);
            var idSapOrganizacionDeVenta = int.Parse(empresa.IdSapOrganizacionDeVenta);
            var lastClienete             = CdpContext.Clientes.OrderByDescending(c => c.Id).FirstOrDefault(c => c.IdSapOrganizacionDeVenta == idSapOrganizacionDeVenta && c.EsProspecto);
            var currentId = int.Parse(lastClienete != null ? lastClienete.Id : "9299999");

            var entity = new Entities.Cliente
            {
                Id                       = (++currentId).ToString(),
                NombreFantasia           = dto.RazonSocial,
                RazonSocial              = dto.RazonSocial,
                Cuit                     = dto.Cuit,
                IdTipoDocumentoSap       = 80,
                EsProspecto              = true,
                Enabled                  = true,
                CreateDate               = DateTime.Now,
                Calle                    = string.Empty,
                ClaveGrupo               = string.Empty,
                Cp                       = string.Empty,
                DescripcionGe            = string.Empty,
                Dto                      = string.Empty,
                GrupoComercial           = string.Empty,
                Numero                   = string.Empty,
                Piso                     = string.Empty,
                Poblacion                = string.Empty,
                Tratamiento              = string.Empty,
                IdSapOrganizacionDeVenta = string.IsNullOrEmpty(empresa.IdSapOrganizacionDeVenta) ? 0 : idSapOrganizacionDeVenta
            };

            CdpContext.Clientes.Add(entity);
            CdpContext.SaveChanges();

            return(Mapper.Map <Entities.Cliente, Dtos.Cliente>(entity));
        }
Ejemplo n.º 11
0
 public UserRepository(CdpContext context) : base(context)
 {
 }
 public DomiciliosController(CdpContext context)
 {
     _context = context;
 }
Ejemplo n.º 13
0
 public ArenaRepository(CdpContext context) : base(context)
 {
 }
 public ContratoComprasController(CdpContext context)
 {
     _context = context;
 }
Ejemplo n.º 15
0
 public PeladaTeamRepository(CdpContext context) : base(context)
 {
 }
Ejemplo n.º 16
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, CdpContext context)
        {
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddDebug();

            ConfigureAuth(app);

            app.UseMvc();

            DbInitializer.Initialize(context);
        }
Ejemplo n.º 17
0
 public BaseRepository(CdpContext context)
 {
     _context = context;
     DbSet    = context.Set <T>();
 }
Ejemplo n.º 18
0
 public CartaDePortesController(CdpContext context)
 {
     _context = context;
 }
Ejemplo n.º 19
0
 public PeladaEventRepository(CdpContext context) : base(context)
 {
 }
Ejemplo n.º 20
0
        public override Dtos.SolicitudEdit Update(Dtos.SolicitudEdit dto)
        {
            dto.SetIds();
            var entity = CdpContext.Solicitudes.Single(s => s.Id == dto.Id);

            entity.UpdateDate = DateTime.Now;
            entity.UpdatedBy  = UsuarioLogged;

            entity.CantHoras                      = dto.CantHoras;
            entity.CargaPesadaDestino             = dto.CargaPesadaDestino;
            entity.ChoferId                       = dto.ChoferId;
            entity.ChoferTransportistaId          = dto.ChoferTransportistaId;
            entity.ClienteCorredorId              = dto.ClienteCorredorId;
            entity.ClienteDestinatarioCambioId    = dto.ClienteDestinatarioCambioId;
            entity.ClienteDestinatarioId          = dto.ClienteDestinatarioId;
            entity.ClienteDestinoId               = dto.ClienteDestinoId;
            entity.ClienteEntregadorId            = dto.ClienteEntregadorId;
            entity.ClienteIntermediarioId         = dto.ClienteIntermediarioId;
            entity.ClientePagadorDelFleteId       = dto.ClientePagadorDelFleteId;
            entity.ClienteRemitenteComercialId    = dto.ClienteRemitenteComercialId;
            entity.ConformeCondicionalId          = dto.ConformeCondicionalId;
            entity.CosechaId                      = dto.CosechaId;
            entity.DeclaracionDeCalidad           = dto.DeclaracionDeCalidad;
            entity.EspecieId                      = dto.EspecieId;
            entity.EstablecimientoDestinoCambioId = dto.EstablecimientoDestinoCambioId;
            entity.EstablecimientoDestinoId       = dto.EstablecimientoDestinoId;
            entity.EstablecimientoProcedenciaId   = dto.EstablecimientoProcedenciaId;
            entity.EstadoEnAFIP                   = dto.EstadoEnAFIP;
            entity.EstadoEnSAP                    = dto.EstadoEnSAP;
            entity.EstadoFlete                    = dto.EstadoFlete;
            entity.FechaDeCarga                   = dto.FechaDeCarga;
            entity.FechaDeEmision                 = dto.FechaDeEmision;
            entity.FechaDeVencimiento             = dto.FechaDeVencimiento;
            entity.GranoId             = dto.GranoId;
            entity.KilogramosEstimados = dto.KilogramosEstimados;
            entity.KmRecorridos        = dto.KmRecorridos;
            entity.LoteDeMaterial      = dto.LoteDeMaterial;
            entity.NumeroContrato      = dto.NumeroContrato;
            entity.Observaciones       = dto.Observaciones;
            entity.PHumedad            = dto.PHumedad;
            entity.POtros          = dto.POtros;
            entity.PatenteAcoplado = dto.PatenteAcoplado;
            entity.PatenteCamion   = dto.PatenteCamion;
            entity.PesoBruto       = dto.PesoBruto;
            entity.PesoTara        = dto.PesoTara;
            entity.ProveedorTitularCartaDePorteId  = dto.ProveedorTitularCartaDePorteId;
            entity.ProveedorTransportistaId        = dto.ProveedorTransportistaId;
            entity.RemitenteComercialComoCanjeador = dto.RemitenteComercialComoCanjeador;
            entity.SapContrato      = dto.SapContrato;
            entity.SinContrato      = dto.SinContrato;
            entity.TarifaReal       = dto.TarifaReal;
            entity.TarifaReferencia = dto.TarifaReferencia;

            entity.ClienteMercadoTerminoId       = dto.ClienteMercadoTerminoId;
            entity.ClienteCorredorVendedorId     = dto.ClienteCorredorVendedorId;
            entity.ProveedorIntermediarioFleteId = dto.ProveedorIntermediarioFleteId;

            if (dto.Enviar)
            {
                if (entity.TipoDeCartaId != 2 &&
                    entity.TipoDeCartaId != 4 &&
                    entity.TipoDeCartaId != 7 &&
                    CDPSession.Current.Usuario.CurrentEmpresa.GrupoEmpresaId == App.IdGrupoCresud)
                {
                    ReenviarAfip(entity.Id);
                }
                else
                {
                    entity.EstadoEnAFIP    = (int)EstadoAfip.CargaManual;
                    entity.ObservacionAfip = "Carga Manual";
                }

                if (entity.TipoDeCartaId == 7)
                {
                    entity.EstadoEnSAP = (int)EstadoSap.Pendiente;
                }
            }

            entity.SetDefaultValues();
            CdpContext.SaveChanges();

            return(Mapper.Map <Solicitud, Dtos.SolicitudEdit>(entity));
        }
Ejemplo n.º 21
0
        public Result ReenviarAfip(int id)
        {
            var result = new Result {
                Messages = new List <string>()
            };
            var solicitudEdit = GetById(id);
            var solicitud     = CdpContext.Solicitudes.Single(s => s.Id == id);
            var auth          = CdpContext.AfipAuth.FirstOrDefault();

            try
            {
                solicitud.UpdateDate   = DateTime.Now;
                solicitud.UpdatedBy    = UsuarioLogged;
                solicitud.EstadoEnAFIP = (int)EstadoAfip.Enviado;

                var wsResult = _afipAdmin.SolicitarCtgInicial(solicitudEdit, auth);

                if (wsResult.arrayErrores.Length > 0)
                {
                    solicitud.EstadoEnAFIP = (int)EstadoAfip.SinProcesar;
                    result.HasErrors       = true;
                    result.Messages        = wsResult.arrayErrores.Select(NormalizarMensajeErrorAfip).ToList();
                }

                if (!string.IsNullOrEmpty(wsResult.observacion) && wsResult.observacion.Contains("CTG otorgado"))
                {
                    solicitud.EstadoEnAFIP = (int)EstadoAfip.Otorgado;
                }

                if (wsResult.datosSolicitarCTGResponse != null && wsResult.datosSolicitarCTGResponse.arrayControles != null && wsResult.datosSolicitarCTGResponse.arrayControles.Length > 0)
                {
                    var sb = new StringBuilder();
                    sb.AppendLine("Reenvio manual. CONTROLES AFIP: ");

                    wsResult.datosSolicitarCTGResponse.arrayControles.ToList()
                    .ForEach(c =>
                             sb.AppendLine(string.Format("{0}: {1}", c.tipo, c.descripcion))
                             );

                    solicitud.EstadoEnAFIP    = (int)EstadoAfip.SinProcesar;
                    solicitud.ObservacionAfip = sb.ToString();
                }


                //TODO: Envair mail
                // EnvioMailDAO.Instance.sendMail("<b>Envio de Solicitud a Afip</b> <br/><br/>" + solicitudGuardada.ObservacionAfip + "<br/>" + "Carta De Porte: " + solicitudGuardada.NumeroCartaDePorte + "<br/>" + "Usuario: " + solicitudGuardada.UsuarioCreacion);

                if (wsResult.datosSolicitarCTGResponse != null && wsResult.datosSolicitarCTGResponse.datosSolicitarCTG != null)
                {
                    solicitud.Ctg          = wsResult.datosSolicitarCTGResponse.datosSolicitarCTG.ctg.ToString();
                    solicitud.EstadoEnAFIP = (int)EstadoAfip.Otorgado;

                    if (!String.IsNullOrEmpty(wsResult.datosSolicitarCTGResponse.datosSolicitarCTG.fechaVigenciaHasta))
                    {
                        var fecha         = wsResult.datosSolicitarCTGResponse.datosSolicitarCTG.fechaVigenciaHasta.Split('/');
                        var fechaVigencia = new DateTime(Convert.ToInt32(fecha[2]), Convert.ToInt32(fecha[1]), Convert.ToInt32(fecha[0]));
                        solicitud.FechaDeVencimiento = fechaVigencia;
                        solicitud.TarifaReferencia   = wsResult.datosSolicitarCTGResponse.datosSolicitarCTG.tarifaReferencia;
                    }
                }


                CdpContext.SaveChanges();
            }
            catch (Exception ex)
            {
                var norm = NormalizarMensajeErrorAfip(ex.Message);
                throw new Exception(norm);
            }

            return(result);
        }
Ejemplo n.º 22
0
        public override Dtos.SolicitudEdit Create(Dtos.SolicitudEdit dto)
        {
            dto.SetIds();
            var entity = Mapper.Map <Dtos.SolicitudEdit, Solicitud>(dto);

            entity.CreateDate = DateTime.Now;
            entity.CreatedBy  = UsuarioLogged;

            if (!dto.Id.HasValue && (dto.TipoDeCartaId != 4 && dto.TipoDeCartaId != 2 && dto.TipoDeCartaId != 7))
            {
                var establecimiento   = CdpContext.Establecimientos.Single(e => e.Id == dto.EstablecimientoProcedenciaId);
                var establecimientoId = establecimiento.Id.ToString();
                var empresa           = CdpContext.Empresas.Single(e => e.Id == dto.EmpresaId);

                var cartaDePorte = (
                    from lote in CdpContext.LotesCartaPorte
                    join cdp in CdpContext.CartaDePortes on lote.Id equals cdp.Lote.Id
                    where cdp.GrupoEmpresaId == empresa.GrupoEmpresa.Id &&
                    cdp.Estado == 0 &&
                    lote.FechaVencimiento >= DateTime.Now &&
                    (!establecimiento.AsociaCartaDePorte || lote.EstablecimientoOrigenId == establecimientoId)
                    orderby lote.FechaVencimiento, cdp.NumeroCartaDePorte
                    select cdp
                    ).FirstOrDefault();

                if (cartaDePorte == null)
                {
                    throw new Exception("No Hay Cartas de porte disponibles para el establecimiento seleccionado");
                }

                cartaDePorte.Estado         = 1;
                cartaDePorte.FechaReserva   = DateTime.Now;
                cartaDePorte.UsuarioReserva = UsuarioLogged;

                entity.NumeroCartaDePorte = cartaDePorte.NumeroCartaDePorte;
                entity.Cee = cartaDePorte.NumeroCee;
            }


            entity.SetDefaultValues();
            CdpContext.Solicitudes.Add(entity);
            CdpContext.SaveChanges();

            if (dto.Enviar)
            {
                if (entity.TipoDeCartaId != 2 &&
                    entity.TipoDeCartaId != 4 &&
                    entity.TipoDeCartaId != 7 &&
                    CDPSession.Current.Usuario.CurrentEmpresa.GrupoEmpresaId == App.IdGrupoCresud)
                {
                    ReenviarAfip(entity.Id);
                }
                else
                {
                    entity.EstadoEnAFIP    = (int)EstadoAfip.CargaManual;
                    entity.ObservacionAfip = "Carga Manual";
                }

                if (entity.TipoDeCartaId == 7)
                {
                    entity.EstadoEnSAP = (int)EstadoSap.Pendiente;
                }
            }

            CdpContext.SaveChanges();
            return(Mapper.Map <Solicitud, Dtos.SolicitudEdit>(entity));
        }
Ejemplo n.º 23
0
 public UnitOfWork(CdpContext _context)
 {
     context = _context;
     //transaction = context.Database.BeginTransaction();
 }