Пример #1
0
        public OOB.Resultado.Resultado Banco_Concepto_Actualizar(OOB.Bancos.Conceptos.Actualizar ficha)
        {
            var result = new OOB.Resultado.Resultado();

            var fichaDTO = new DTO.Bancos.Conceptos.Actualizar()
            {
                AutoConcepto = ficha.Id,
            };

            if (ficha.CtaPasivo != null)
            {
                fichaDTO.IdCtaPasivo = ficha.CtaPasivo.Id;
            }
            if (ficha.CtaGasto != null)
            {
                fichaDTO.IdCtaGasto = ficha.CtaGasto.Id;
            }
            if (ficha.CtaBanco != null)
            {
                fichaDTO.IdCtaBanco = ficha.CtaBanco.Id;
            }

            var resultDTO = _servicio.Banco_Concepto_Actualizar(fichaDTO);

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

            return(result);
        }
Пример #2
0
        public Resultado Banco_Concepto_Actualizar(DTO.Bancos.Conceptos.Actualizar ficha)
        {
            var result = new Resultado();

            try
            {
                using (var ctx = new dBEntities(_cn.ConnectionString))
                {
                    using (var ts = new TransactionScope())
                    {
                        var entBanConcepto = ctx.bancos_movimientos_conceptos.Find(ficha.AutoConcepto);
                        if (entBanConcepto == null)
                        {
                            result.Mensaje = "[ ID ] CONCEPTO NO ENCONTRADO";
                            result.Result  = EnumResult.isError;
                            return(result);
                        }

                        if (ficha.IdCtaGasto != -1)
                        {
                            var entCtaGasto = ctx.contabilidad_plancta.Find(ficha.IdCtaGasto);
                            if (entCtaGasto == null)
                            {
                                result.Mensaje = "[ ID CTA GASTO ] NO ENCONTRADO";
                                result.Result  = EnumResult.isError;
                                return(result);
                            }
                        }

                        if (ficha.IdCtaPasivo != -1)
                        {
                            var entCtaPasivo = ctx.contabilidad_plancta.Find(ficha.IdCtaPasivo);
                            if (entCtaPasivo == null)
                            {
                                result.Mensaje = "[ ID CTA PASIVO ] NO ENCONTRADO";
                                result.Result  = EnumResult.isError;
                                return(result);
                            }
                        }

                        if (ficha.IdCtaBanco != -1)
                        {
                            var entCtaBanco = ctx.contabilidad_plancta.Find(ficha.IdCtaBanco);
                            if (entCtaBanco == null)
                            {
                                result.Mensaje = "[ ID CTA BANCO ] NO ENCONTRADO";
                                result.Result  = EnumResult.isError;
                                return(result);
                            }
                        }

                        var entContBanConcepto = ctx.contabilidad_banco_conceptos.FirstOrDefault(ct => ct.autoMovimientoConcepto == ficha.AutoConcepto);
                        if (entContBanConcepto == null)
                        {
                            entContBanConcepto = new contabilidad_banco_conceptos()
                            {
                                autoMovimientoConcepto = ficha.AutoConcepto,
                                idCtaGasto             = ficha.IdCtaGasto,
                                idCtaPasivo            = ficha.IdCtaPasivo,
                                idCtaBanco             = ficha.IdCtaBanco,
                                idSucursal             = "",
                            };
                            ctx.contabilidad_banco_conceptos.Add(entContBanConcepto);
                        }
                        else
                        {
                            entContBanConcepto.idCtaGasto  = ficha.IdCtaGasto;
                            entContBanConcepto.idCtaPasivo = ficha.IdCtaPasivo;
                            entContBanConcepto.idCtaBanco  = ficha.IdCtaBanco;
                        }
                        ctx.SaveChanges();


                        if (ficha.IdCtaBanco != -1)
                        {
                            var modoRef  = entContBanConcepto.bancos_movimientos_conceptos.clase.Trim().ToUpper() == "EGRESO" ? "NDB" : "DEP";
                            var entRegla = ctx.contabilidad_reglas_integracion_detalle.FirstOrDefault(dt =>
                                                                                                      dt.idPlanCta == ficha.IdCtaBanco &&
                                                                                                      dt.referencia == modoRef &&
                                                                                                      dt.idReglaIntegracion == 6);
                            if (entRegla == null)
                            {
                                entRegla = new contabilidad_reglas_integracion_detalle()
                                {
                                    idReglaIntegracion = 6,
                                    idPlanCta          = ficha.IdCtaBanco,
                                    signo      = -1,
                                    referencia = modoRef,
                                    idSucursal = 0,
                                };
                                ctx.contabilidad_reglas_integracion_detalle.Add(entRegla);
                            }
                            else
                            {
                                entRegla.idPlanCta = ficha.IdCtaBanco;
                            }
                            ctx.SaveChanges();
                        }

                        if (ficha.IdCtaPasivo != -1)
                        {
                            var entRegla = ctx.contabilidad_reglas_integracion_detalle.FirstOrDefault(dt =>
                                                                                                      dt.idPlanCta == ficha.IdCtaPasivo &&
                                                                                                      dt.referencia == "MONTO POR PAGAR" &&
                                                                                                      dt.idReglaIntegracion == 2);
                            if (entRegla == null)
                            {
                                entRegla = new contabilidad_reglas_integracion_detalle()
                                {
                                    idReglaIntegracion = 2,
                                    idPlanCta          = ficha.IdCtaPasivo,
                                    signo      = -1,
                                    referencia = "MONTO POR PAGAR",
                                    idSucursal = 0,
                                };
                                ctx.contabilidad_reglas_integracion_detalle.Add(entRegla);
                            }
                            else
                            {
                                entRegla.idPlanCta = ficha.IdCtaPasivo;
                            }
                            ctx.SaveChanges();

                            entRegla = ctx.contabilidad_reglas_integracion_detalle.FirstOrDefault(dt =>
                                                                                                  dt.idPlanCta == ficha.IdCtaPasivo &&
                                                                                                  dt.referencia == "MONTO PAGADO" &&
                                                                                                  dt.idReglaIntegracion == 3);
                            if (entRegla == null)
                            {
                                entRegla = new contabilidad_reglas_integracion_detalle()
                                {
                                    idReglaIntegracion = 3,
                                    idPlanCta          = ficha.IdCtaPasivo,
                                    signo      = 1,
                                    referencia = "MONTO PAGADO",
                                    idSucursal = 0,
                                };
                                ctx.contabilidad_reglas_integracion_detalle.Add(entRegla);
                            }
                            else
                            {
                                entRegla.idPlanCta = ficha.IdCtaPasivo;
                            }
                            ctx.SaveChanges();
                        }

                        if (ficha.IdCtaGasto != -1)
                        {
                            var entRegla = ctx.contabilidad_reglas_integracion_detalle.FirstOrDefault(dt =>
                                                                                                      dt.idPlanCta == ficha.IdCtaGasto &&
                                                                                                      dt.referencia == "GASTO" &&
                                                                                                      dt.idReglaIntegracion == 2);
                            if (entRegla == null)
                            {
                                entRegla = new contabilidad_reglas_integracion_detalle()
                                {
                                    idReglaIntegracion = 2,
                                    idPlanCta          = ficha.IdCtaGasto,
                                    signo      = 1,
                                    referencia = "GASTO",
                                    idSucursal = 0,
                                };
                                ctx.contabilidad_reglas_integracion_detalle.Add(entRegla);
                            }
                            else
                            {
                                entRegla.idPlanCta = ficha.IdCtaGasto;
                            }
                            ctx.SaveChanges();
                        }

                        ctx.SaveChanges();
                        ts.Complete();
                    }
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DTO.EnumResult.isError;
            }

            return(result);
        }
Пример #3
0
 public DTO.Resultado Banco_Concepto_Actualizar(DTO.Bancos.Conceptos.Actualizar ficha)
 {
     return(provider.Banco_Concepto_Actualizar(ficha));
 }