Esempio n. 1
0
        private void fCont_EncabezadoOk(object sender, Contabilizar.DatosEncabezado e)
        {
            fCont.Close();

            var mdebe  = grup.Sum(g => g.MontoDebe);
            var mhaber = grup.Sum(g => g.MontoHaber);

            var ficha = new OOB.Contable.Asiento.Generar.Insertar();

            ficha.AsientoPreview = AsientoPreview;
            ficha.Modulo         = (OOB.Contable.Asiento.Generar.Enumerados.ModuloGenerar)CB_MODULO_GENERAR.SelectedIndex;
            ficha.Descripcion    = e.Descripcion;
            ficha.Desde          = DTP_DESDE.Value;
            ficha.Hasta          = DTP_HASTA.Value;
            ficha.Periodo        = Periodo;
            ficha.TipoAsiento    = e.TipoAsiento;
            ficha.TipoDocumento  = e.TipoDoc;
            ficha.EstaProcesado  = Procesado;
            ficha.Data           = (List <OOB.Contable.Asiento.Generar.Ficha>)Asientos.Where(f => f.Incluir).ToList();
            if (Procesado)
            {
                ficha.Importe = grup.Sum(g => g.MontoDebe);
            }
            else
            {
                ficha.Importe = mdebe > mhaber? mdebe:mhaber;
            }
            ficha.Ctas = grup;

            var r01 = Globals.MyData.Asiento_Insertar_Integracion(ficha);

            if (r01.Result == OOB.Resultado.EnumResult.isError)
            {
                Helpers.Msg.Error(r01.Mensaje);
                return;
            }

            Helpers.Msg.AgregarOk();
            Inicializar();
        }
Esempio n. 2
0
        public OOB.Resultado.ResultadoId Asiento_Insertar_Integracion(OOB.Contable.Asiento.Generar.Insertar ficha)
        {
            var result           = new OOB.Resultado.ResultadoId();
            var idAsientoPreview = -1;

            if (ficha.AsientoPreview != null)
            {
                idAsientoPreview = ficha.AsientoPreview.Id;
            }

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

            fichaDTO.IdAsientoPreview   = idAsientoPreview;
            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.IdDocumento   = doc.Id;
                ndoc.TipoDocumento = (DTO.Contable.Asiento.Generar.Enumerados.TipoDocumento)doc.TipoDoc;
                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.Id      = -1;
                result.Result  = OOB.Resultado.EnumResult.isError;
                result.Mensaje = resultDTO.Mensaje;
                return(result);
            }

            result.Id = resultDTO.Id;
            return(result);
        }