public DTO.ResultadoId Contable_Asiento_Insertar_Integracion(DTO.Contable.Asiento.Generar.Insertar ficha)
        {
            var r01 = provider.Contable_Asiento_Insertar_Integracion_Verificar(ficha);

            if (r01.Result == DTO.EnumResult.isError)
            {
                return(new DTO.ResultadoId()
                {
                    Mensaje = r01.Mensaje,
                    Result = DTO.EnumResult.isError,
                });
            }
            else
            {
                return(provider.Contable_Asiento_Insertar_Integracion(ficha));
            }
        }
Ejemplo n.º 2
0
        public OOB.Resultado.Resultado Asiento_Editar_Integracion(OOB.Contable.Asiento.Generar.Editar ficha)
        {
            var result = new OOB.Resultado.Resultado();

            var fichaDTO = new DTO.Contable.Asiento.Generar.Insertar();

            fichaDTO.Modulo             = (DTO.Contable.Asiento.Generar.Enumerados.ModuloGenerar)ficha.Modulo;
            fichaDTO.TipoAsiento        = (DTO.Contable.Asiento.Enumerados.Tipo)ficha.TipoAsiento;
            fichaDTO.IdTipoDocumento    = ficha.TipoDocumento.Id;
            fichaDTO.DescripcionAsiento = ficha.Descripcion;
            fichaDTO.Procesado          = ficha.EstaProcesado;
            fichaDTO.PeriodoMes         = ficha.Periodo.MesActual;
            fichaDTO.PeriodoAno         = ficha.Periodo.AnoActual;
            fichaDTO.Desde   = ficha.Desde;
            fichaDTO.Hasta   = ficha.Hasta;
            fichaDTO.Importe = ficha.Importe;

            var list = new List <DTO.Contable.Asiento.Generar.InsertarDocumento>();

            foreach (var doc in ficha.Data)
            {
                var ndoc = new DTO.Contable.Asiento.Generar.InsertarDocumento();
                ndoc.DocumentoRef = doc.DocumentoRef;
                ndoc.DescDocRef   = doc.DescripcionDoc;
                ndoc.FechaDocRef  = doc.FechaDoc;
                ndoc.Signo        = doc.Signo;
                ndoc.Incluir      = doc.Incluir;
                var ldet = new List <DTO.Contable.Asiento.Generar.InsertarDetalle>();

                foreach (var det in doc.Detalles)
                {
                    var signo = 1;
                    if (det.Naturaleza == OOB.Contable.PlanCta.Enumerados.Naturaleza.Deudora)
                    {
                        if (det.MontoHaber != 0)
                        {
                            signo = -1;
                        }
                    }
                    else
                    {
                        signo = -1;
                        if (det.MontoDebe != 0)
                        {
                            signo = 1;
                        }
                    }

                    var ndet = new DTO.Contable.Asiento.Generar.InsertarDetalle()
                    {
                        IdPlanCta          = det.IdCta,
                        MontoDebe          = det.MontoDebe * signo,
                        MontoHaber         = det.MontoHaber * signo,
                        CodigoPlanCta      = det.CodigoCta,
                        DescripcionPlanCta = det.DescripcionCta,
                        NaturalezaPlanCta  = (DTO.Contable.PlanCta.Enumerados.Naturaleza)det.Naturaleza,
                    };
                    ldet.Add(ndet);
                }
                ndoc.Detalles = ldet;
                list.Add(ndoc);
            }
            fichaDTO.Documentos = list;

            var listCtas = new List <DTO.Contable.Asiento.Generar.InsertarResumen>();

            foreach (var g in ficha.Ctas)
            {
                var signo = 1;
                if (g.Naturaleza == OOB.Contable.PlanCta.Enumerados.Naturaleza.Deudora)
                {
                    if (g.MontoHaber != 0)
                    {
                        signo = -1;
                    }
                }
                else
                {
                    signo = -1;
                    if (g.MontoDebe != 0)
                    {
                        signo = 1;
                    }
                }

                listCtas.Add(new DTO.Contable.Asiento.Generar.InsertarResumen()
                {
                    IdCta          = g.IdCta,
                    MontoDebe      = g.MontoDebe * signo,
                    MontoHaber     = g.MontoHaber * signo,
                    CodigoCta      = g.CodigoCta,
                    DescripcionCta = g.DescripcionCta
                });
            }
            fichaDTO.Resumen = listCtas;

            var resultDTO = _servicio.Contable_Asiento_Insertar_Integracion(fichaDTO);

            if (resultDTO.Result == DTO.EnumResult.isError)
            {
                result.Result  = OOB.Resultado.EnumResult.isError;
                result.Mensaje = resultDTO.Mensaje;
                return(result);
            }

            return(result);
        }