Example #1
0
        public OOB.Resultado.Resultado Asiento_Apertura_Guardar(OOB.Contable.Asiento.Apertura.Insertar ficha)
        {
            var result = new OOB.Resultado.Resultado();

            var idAsiento = -1;

            if (ficha.Asiento != null)
            {
                idAsiento = ficha.Asiento.Id;
            }

            var fichaDTO = new DTO.Contable.Asiento.Apertura.Insertar()
            {
                Id                      = idAsiento,
                PeriodoMes              = ficha.Periodo.MesActual,
                PeriodoAno              = ficha.Periodo.AnoActual,
                Importe                 = ficha.Importe,
                FechaDocumentoRef       = ficha.Fecha,
                DescripcionDocumentoRef = ficha.Descripcion,
                IsPreview               = ficha.IsPreview,
                Ctas                    = ficha.Detalles.Select((d) =>
                {
                    return(new DTO.Contable.Asiento.Apertura.InsertarCta()
                    {
                        Id = d.Cta.Id,
                        codigo = d.Cta.Codigo,
                        Descripcion = d.Cta.Nombre,
                        MontoDebe = d.Debe,
                        MontoHaber = d.Haber,
                        Signo = d.Cta.Naturaleza == OOB.Contable.PlanCta.Enumerados.Naturaleza.Deudora ?1:-1,
                    });
                }).ToList()
            };

            var resultDTO = _servicio.Contable_Asiento_Apertura_Guardar(fichaDTO);

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

            return(result);
        }
        private void Guardar(OOB.Contable.Asiento.Apertura.Insertar ficha)
        {
            var result = Globals.MyData.Asiento_Apertura_Guardar(ficha);
            if (result.Result == OOB.Resultado.EnumResult.isError)
            {
                Helpers.Msg.Error(result.Mensaje);
                return;
            }

            EventHandler handler = GuardarOk;
            if (handler != null)
            {
                handler(this, null);
            }

            Helpers.Msg.AgregarOk();
            salirOk = true;
            Close();
        }
        private void Procesar(bool Procesado=true)
        {
            if (MDebe == 0 && MHaber == 0) { return; }
            if (TB_DESCRIPCION.Text.Trim() == "") { return; }
            if (Procesado)
            {
                if (MDebe != MHaber) { return; }
            }

            var importe = 0.0m;
            if (Procesado)
            {
                importe = MDebe;
            }
            else
            {
                importe = MDebe > MHaber ? MDebe : MHaber;
            }

            var msg = MessageBox.Show("Procesar Asiento ?", "*** ALERTA ***", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (msg == System.Windows.Forms.DialogResult.Yes)
            {
                var ficha = new OOB.Contable.Asiento.Apertura.Insertar()
                {
                    Asiento= this.Asiento,
                    Periodo = this.Periodo,
                    Descripcion = TB_DESCRIPCION.Text,
                    Fecha = DTP_FECHA.Value,
                    IsPreview = !Procesado,
                    Importe = importe,
                    Detalles = items.Where(it => it.Cta != null && (it.Debe + it.Haber) > 0).Select(d =>
                    {
                        return new OOB.Contable.Asiento.Apertura.InsertarDetalles()
                        {
                            Cta = d.Cta,
                            Debe = d.Debe,
                            Haber = d.Haber
                        };
                    }).ToList()
                };
                Guardar(ficha);
            }
        }