public Resultado InsertarContableBancoConceptos()
        {
            var result = new Resultado();

            try
            {
                using (var ctx = new dBEntities(_cn.ConnectionString))
                {
                    using (var ts = new TransactionScope())
                    {
                        var entLista = ctx.bancos_movimientos_conceptos.ToList();
                        foreach (var cp in entLista)
                        {
                            var r   = 0;
                            var ent = new contabilidad_banco_conceptos
                            {
                                idCtaPasivo            = -1,
                                idCtaGasto             = -1,
                                idCtaBanco             = -1,
                                autoMovimientoConcepto = cp.auto
                            };

                            if (cp.idPlanCta.HasValue)
                            {
                                ent.idCtaGasto = cp.idPlanCta.Value; r = 1;
                            }
                            if (cp.idPlanCtaPago.HasValue)
                            {
                                ent.idCtaPasivo = cp.idPlanCtaPago.Value; r = 1;
                            }

                            if (r == 1)
                            {
                                ctx.contabilidad_banco_conceptos.Add(ent);
                                ctx.SaveChanges();
                            }
                        }

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

            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);
        }