コード例 #1
0
        public Boolean GuardarDB(ct_cbtecble_Reversado_Info Info)
        {
            try
            {
                using (EntitiesDBConta Context = new EntitiesDBConta())
                {
                    var Address = new ct_cbtecble_Reversado();

                    Address.IdEmpresa      = Info.IdEmpresa;
                    Address.IdTipoCbte     = Info.IdTipoCbte;
                    Address.IdCbteCble     = Info.IdCbteCble;
                    Address.IdEmpresa_Anu  = Info.IdEmpresa_Anu;
                    Address.IdTipoCbte_Anu = Info.IdTipoCbte_Anu;
                    Address.IdCbteCble_Anu = Info.IdCbteCble_Anu;
                    Context.ct_cbtecble_Reversado.Add(Address);
                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                mensaje = ex.ToString();
                throw new Exception(ex.ToString());
            }
        }
コード例 #2
0
        /// <param name="info">Debe ir llenos los PK y el IdUsuarioUltAnu</param>
        /// <returns></returns>
        public bool anularDB(ct_cbtecble_Info info)
        {
            try
            {
                using (Entities_contabilidad Context = new Entities_contabilidad())
                {
                    ct_cbtecble Entity = Context.ct_cbtecble.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipoCbte && q.IdCbteCble == info.IdCbteCble);
                    if (Entity == null)
                    {
                        return(false);
                    }

                    //Si ya esta anulado no volverlo a anular
                    if (Entity.cb_Estado == "I")
                    {
                        return(true);
                    }

                    #region Comprobante reverso
                    ct_cbtecble_tipo e_tipo = Context.ct_cbtecble_tipo.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipoCbte).FirstOrDefault();
                    if (e_tipo == null)
                    {
                        return(false);
                    }

                    #region Cabecera
                    ct_cbtecble Entity_reverso = new ct_cbtecble
                    {
                        IdEmpresa      = Entity.IdEmpresa,
                        IdTipoCbte     = e_tipo.IdTipoCbte_Anul,
                        IdCbteCble     = get_id(Entity.IdEmpresa, e_tipo.IdTipoCbte_Anul),
                        IdSucursal     = Entity.IdSucursal,
                        cb_Estado      = Entity.cb_Estado = "A",
                        cb_Fecha       = DateTime.Now.Date,
                        cb_Observacion = "**REVERSO DE DIARIO tipo: " + Entity.IdTipoCbte.ToString() + " #cbte: " + Entity.IdCbteCble.ToString() + "** " + Entity.cb_Observacion,
                        cb_Valor       = Entity.cb_Valor,
                        CodCbteCble    = "ANU" + Entity.CodCbteCble,
                        IdPeriodo      = Entity.IdPeriodo = Convert.ToInt32(DateTime.Now.ToString("yyyyMM")),

                        IdUsuario       = info.IdUsuarioAnu,
                        cb_FechaTransac = DateTime.Now
                    };
                    Context.ct_cbtecble.Add(Entity_reverso);
                    #endregion

                    #region Detalle
                    var det = Context.ct_cbtecble_det.Where(q => q.IdEmpresa == Entity.IdEmpresa && q.IdTipoCbte == Entity.IdTipoCbte && q.IdCbteCble == Entity.IdCbteCble).ToList();
                    foreach (var item in det)
                    {
                        ct_cbtecble_det Entity_reverso_det = new ct_cbtecble_det
                        {
                            IdEmpresa           = item.IdEmpresa,
                            IdTipoCbte          = Entity_reverso.IdTipoCbte,
                            IdCbteCble          = Entity_reverso.IdCbteCble,
                            secuencia           = item.secuencia,
                            IdCtaCble           = item.IdCtaCble,
                            dc_Observacion      = "**REVERSO DE DIARIO tipo: " + Entity.IdTipoCbte.ToString() + " #cbte: " + Entity.IdCbteCble.ToString() + "** " + item.dc_Observacion,
                            dc_Valor            = item.dc_Valor * -1,
                            dc_para_conciliar   = false,
                            IdCentroCosto       = item.IdCentroCosto,
                            IdPunto_cargo       = item.IdPunto_cargo,
                            IdPunto_cargo_grupo = item.IdPunto_cargo_grupo
                        };
                        Context.ct_cbtecble_det.Add(Entity_reverso_det);
                    }
                    #endregion

                    #endregion

                    #region Tabla intermedia
                    ct_cbtecble_Reversado Entity_int = new ct_cbtecble_Reversado
                    {
                        IdEmpresa      = Entity.IdEmpresa,
                        IdTipoCbte     = Entity.IdTipoCbte,
                        IdCbteCble     = Entity.IdCbteCble,
                        IdEmpresa_Anu  = Entity_reverso.IdEmpresa,
                        IdTipoCbte_Anu = Entity_reverso.IdTipoCbte,
                        IdCbteCble_Anu = Entity_reverso.IdCbteCble,
                    };
                    Context.ct_cbtecble_Reversado.Add(Entity_int);
                    #endregion

                    Entity.cb_MotivoAnu   = info.cb_MotivoAnu;
                    Entity.cb_Estado      = info.cb_Estado = "I";
                    Entity.IdUsuarioAnu   = info.IdUsuarioAnu;
                    Entity.cb_FechaAnu    = DateTime.Now;
                    Entity.cb_Observacion = "REVERSADO CON EL DIARIO tipo: " + Entity_reverso.IdTipoCbte.ToString() + " #cbte: " + Entity_reverso.IdCbteCble.ToString() + "** " + Entity.cb_Observacion;

                    Context.SaveChanges();
                };
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }