Exemplo n.º 1
0
        public static void CreateCreditCardStatementsPayments()
        {
            Payments       statement_payments = Payments.GetCreditCardStatementsList(0, false);
            CreditCardList credit_cards       = CreditCardList.GetList(false);

            foreach (Payment payment in statement_payments)
            {
                //Payment Transactions
                payment.LoadChilds(typeof(TransactionPayment), false);

                CreditCardInfo card = credit_cards.GetItem(payment.OidTarjetaCredito);

                if (card.ETipoTarjeta != ETipoTarjeta.Credito)
                {
                    continue;
                }

                //Extractos
                if (card.Statements == null)
                {
                    card.LoadChilds(typeof(CreditCardStatement), false);
                }

                foreach (CreditCardStatementInfo statement in card.Statements)
                {
                    if (statement.Amount == payment.Importe && statement.DueDate == payment.Vencimiento)
                    {
                        TransactionPayment operation = payment.Operations.NewItem(payment, statement, ETipoPago.ExtractoTarjeta);
                        operation.Cantidad = payment.Importe;
                    }
                }
            }

            statement_payments.Save();
        }
Exemplo n.º 2
0
        public static void CreateCreditCardStatements()
        {
            QueryConditions conditions = new QueryConditions {
                MedioPago = EMedioPago.Tarjeta
            };
            Payments       payments     = Payments.GetList(conditions, false);
            CreditCardList credit_cards = CreditCardList.GetList(false);

            string message = string.Empty;

            foreach (Payment payment in payments)
            {
                if (payment.EEstado == EEstado.Anulado)
                {
                    continue;
                }

                CreditCardInfo card = credit_cards.GetItem(payment.OidTarjetaCredito);

                if (card.ETipoTarjeta != ETipoTarjeta.Credito)
                {
                    continue;
                }

                payment.MarkItemDirty();
            }

            payments.Save();
        }
Exemplo n.º 3
0
        protected override void RefreshMainData()
        {
            PgMng.Message = Resources.Messages.RETRIEVING_EXTRACTOS;

            CreditCards = CreditCardList.GetList(ETipoTarjeta.Credito, false);
            PgMng.Grow();

            if (List == null)
            {
                List = new NotifyEntityList();
            }
            else
            {
                List.Clear();
            }

            List = new NotifyEntityList();

            Date_TI.Text = _fecha.ToShortDateString();

            PgMng.Grow();

            foreach (CreditCardInfo item in CreditCards)
            {
                //Extractos
                item.LoadChilds(typeof(CreditCardStatement), false);
            }
            PgMng.Grow();

            base.RefreshMainData();
        }
Exemplo n.º 4
0
        protected override void RefreshMainData()
        {
            PgMng.Message = Resources.Messages.RETRIEVING_EXTRACTOS;

            if (List == null)
            {
                List = new NotifyEntityList();
            }
            else
            {
                List.Clear();
            }

            List = new NotifyEntityList();

            Date_TI.Text = _fecha.ToShortDateString();

            TarjetasList = CreditCardList.GetList(ETipoTarjeta.Credito, false);

            MovimientosList.Clear();
            PagosList.Clear();

            PaymentList pagos;

            foreach (CreditCardInfo item in TarjetasList)
            {
                //Extractos
                item.LoadChilds(typeof(CreditCardStatement), false);

                //Extracto Pendiente
                pagos = PaymentList.GetListByVencimientoTarjeta(DateTime.MinValue, _fecha, item, false);
                PagosList.Add(pagos);

                //Extractos cobrados
                BankLineList movimientos = BankLineList.GetByCreditCardList(item, _fecha, false);
                MovimientosList.Add(movimientos);

                foreach (BankLineInfo mov in movimientos)
                {
                    pagos = PaymentList.GetListByMovimiento(mov, false);
                    PagosList.Add(pagos);
                }
            }
            PgMng.Grow();

            base.RefreshMainData();
        }
        public static void CreateApuntesBancarios(PaymentList pagos)
        {
            List <PaymentInfo> list = new List <PaymentInfo>();

            CreditCardList tarjetas      = CreditCardList.GetList();
            Payments       pagos_tarjeta = Payments.NewList();

            foreach (PaymentInfo item in pagos)
            {
                if (!Common.EnumFunctions.NeedsCuentaBancaria(item.EMedioPago))
                {
                    continue;
                }
                if (item.Vencimiento > DateTime.Today)
                {
                    continue;
                }

                if (item.EMedioPago != EMedioPago.Tarjeta)
                {
                    //Apunte bancario del pagaré, talón, etc..
                    BankLine.InsertItem(item, true);

                    list.Add(item);
                }
                else
                {
                    Payment pago_tarjeta = pagos_tarjeta.GetItemByTarjetaCredito(item.OidTarjetaCredito, item.Vencimiento);

                    if (pago_tarjeta == null)
                    {
                        pago_tarjeta = pagos_tarjeta.NewItem(item, ETipoPago.ExtractoTarjeta);
                        TransactionPayment pf = pago_tarjeta.Operations.NewItem(pago_tarjeta, item, item.ETipoPago);
                        pf.Cantidad = item.Total;
                        pago_tarjeta.EEstadoPago = EEstado.Pagado;
                    }
                    else
                    {
                        pago_tarjeta.Importe         += item.Importe;
                        pago_tarjeta.GastosBancarios += item.GastosBancarios;
                        TransactionPayment pf = pago_tarjeta.Operations.NewItem(pago_tarjeta, item, item.ETipoPago);
                        pf.Cantidad = item.Total;
                    }

                    list.Add(item);
                }
            }

            Payments pagos_fraccionados = Payments.NewList();

            pagos_fraccionados.OpenNewSession();

            //Apunte bancario de la tarjeta
            foreach (Payment item in pagos_tarjeta)
            {
                Payment root = pagos_fraccionados.NewItem(item.GetInfo(false), ETipoPago.FraccionadoTarjeta);
                root.Pagos.AddItem(item);

                //if (item.Importe != 0)
                //    MovimientoBanco.InsertItemTarjeta(item, tarjetas.GetItem(item.OidTarjetaCredito));
            }

            pagos_fraccionados.BeginTransaction();
            pagos_fraccionados.Save();

            Payment.UpdatePagadoFromList(list, true);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Defines the entry point of the application.
        /// </summary>
        static void Main()
        {
            Console.BackgroundColor = ConsoleColor.White;
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Title           = "Credit Card Information";
            #region Class Level Variables

            CreditCard      show                  = new CreditCard();
            String          FileName              = String.Empty;
            NewCardMenu     newCreditCardMenu     = new NewCardMenu();
            CreditCardList  CreditCardListWorking = new CreditCardList();
            InputValidation ValidValue            = new InputValidation();
            int             CountOfCC             = 0;

            #endregion

            #region Menu Values

            Menu menu = new Menu("Enter The Number of Your Choice");
            menu = menu + "Create a New Empty Credit Card List" +
                   "Open a Text File and Populate a Credit Card List" +
                   "Add A Credit Card To the Current List" +
                   "Remove A Credit Card From the Current Credit Card List" +
                   "Retrieve and Display a Credit Card From Position n in the List" +
                   "Retrieve and Display a Credit Card by its Card Number" +
                   "Retrieve and Display Credit Cards That Belong to a Specified Person" +
                   "Retrieve and Display all Non-Expired Valid Credit Cards" +
                   "Sort the Credit Cards in the Credit Card List by Card Number" +
                   "Display all the Credit Cards in the Credit Card List" +
                   "Quit";

            #endregion


            ChoicesMain choice = (ChoicesMain)menu.GetChoice();
            while (choice != ChoicesMain.QUIT)
            {
                switch (choice)
                {
                    #region EmptyCC

                case ChoicesMain.EMPTYCC:
                    if (CreditCardListWorking.NeedsSaving == true)
                    {
                        CreditCardListWorking.SaveToAFile();
                        CreditCardListWorking             = new CreditCardList();
                        CreditCardListWorking.NeedsSaving = true;
                        CountOfCC = CreditCardListWorking.Count();
                    }
                    else
                    {
                        CreditCardListWorking             = new CreditCardList();
                        CreditCardListWorking.NeedsSaving = true;
                        CountOfCC = CreditCardListWorking.Count();
                    }
                    break;

                    #endregion

                    #region Open File and Populate A List

                case ChoicesMain.OPENFILE:
                    OpenFileDialog dlg = new OpenFileDialog();
                    dlg.InitialDirectory = Application.StartupPath;
                    dlg.Title            = "Select the input file to be processed...";
                    dlg.Filter           = "text files (*.txt)|*.txt|text files (*.text)|*.text|all files|*.*";


                    if (dlg.ShowDialog() == DialogResult.Cancel)
                    {
                        MessageBox.Show("File Open canceled by user. Program aborted.", "File Open Error");
                        Application.Exit();
                    }
                    else
                    {
                        CreditCardListWorking.CreditCardValidation(dlg.FileName);
                    }
                    CountOfCC = CreditCardListWorking.Count();
                    Console.WriteLine("\nYou Have A Total of " + CountOfCC + " Credit Cards in the List\n\nPress Enter To Continue");
                    Console.ReadLine();
                    break;

                    #endregion

                    #region Add a Credit Card To The List

                case ChoicesMain.ADDCC:
                    newCreditCardMenu = new NewCardMenu();
                    CreditCard AddCreditCard = (CreditCard)newCreditCardMenu.NewCreditCardMenu();
                    CreditCardListWorking             = CreditCardListWorking + AddCreditCard;
                    CreditCardListWorking.NeedsSaving = true;
                    CountOfCC = CreditCardListWorking.Count();
                    Console.WriteLine("\nYou Have A Total of " + CountOfCC + " Credit Cards in the List\n\nPress Enter To Continue");
                    Console.ReadLine();
                    break;

                    #endregion

                    #region Remove a Credit Card From The List

                case ChoicesMain.REMOVECC:
                    CreditCardListWorking.DisplayFirstandLast();
                    Boolean valid   = false;
                    int     RemoveN = -1;
                    Console.Write("What Number Person Would You Like to Remove?");
                    while (valid == false)
                    {
                        try
                        {
                            RemoveN = int.Parse(Console.ReadLine());
                        }
                        catch (Exception)
                        {
                            Console.WriteLine("Please enter a number between 1 and " +
                                              CreditCardListWorking.NumCCInList());
                            valid = false;
                        }
                        valid = true;
                    }
                    if (RemoveN <= CreditCardListWorking.NumCCInList() && RemoveN > -1 && CreditCardListWorking.Count() > 0)
                    {
                        CreditCardListWorking.RemoveCCN(RemoveN - 1);
                        valid = true;
                    }
                    else
                    {
                        valid = false;
                    }
                    CreditCardListWorking.NeedsSaving = true;
                    CountOfCC = CreditCardListWorking.Count();
                    Console.WriteLine("\nYou Have A Total of " + CountOfCC + " Credit Cards in the List\n\nPress Enter To Continue");
                    Console.ReadLine();
                    break;

                    #endregion

                    #region Retrieve Credit Card at Index N

                case ChoicesMain.RETRIEVEATN:
                    CreditCardListWorking.DisplayFirstandLast();
                    int     NumberOfCardChosen;
                    Boolean validChoice = false;
                    if (CreditCardListWorking.Count() <= 0)
                    {
                        Console.WriteLine("There are no records to work with.");
                        break;
                    }
                    while (validChoice == false)
                    {
                        try
                        {
                            Console.WriteLine("What number credit card would you like to look at?");
                            NumberOfCardChosen = (int.Parse(Console.ReadLine())) - 1;
                            CreditCard FoundCreditCard = new CreditCard();
                            if (NumberOfCardChosen < CreditCardListWorking.NumCCInList() && NumberOfCardChosen >= 0)
                            {
                                Console.WriteLine(CreditCardListWorking[NumberOfCardChosen].ViewInputValues());
                                Console.WriteLine("\nPress Enter To Continue");
                                Console.ReadLine();
                                valid = true;
                                break;
                            }
                            else
                            {
                                Console.WriteLine("Please enter a number between 1 and " +
                                                  CreditCardListWorking.NumCCInList());
                                valid = false;
                            }
                        }
                        catch (Exception)
                        {
                            Console.WriteLine("You did not enter a valid number.");
                            valid = false;
                        }
                    }
                    break;

                    #endregion

                    #region Retrieve A Credit Card By Number

                case ChoicesMain.RETRIEVEBYCCNUM:
                    String EnteredCCNum = String.Empty;
                    valid = false;
                    Console.WriteLine("Enter the Credit Card You Would Like To Search For: ");
                    EnteredCCNum = Console.ReadLine();
                    EnteredCCNum = Regex.Replace(EnteredCCNum, @"[\s]", "");
                    valid        = ValidValue.CreditCardValidation(EnteredCCNum);

                    if (EnteredCCNum == null)
                    {
                        EnteredCCNum = String.Empty;
                    }

                    EnteredCCNum = Regex.Replace(EnteredCCNum, @"[\s]", "");

                    if (CreditCardListWorking[EnteredCCNum] != null)
                    {
                        Console.WriteLine(CreditCardListWorking[EnteredCCNum].ViewInputValues());
                        Console.WriteLine("Press Enter To Continue");
                        Console.ReadLine();
                    }
                    else
                    {
                        Console.WriteLine("Credit Card Not Found\nPress Enter To Continue");
                        Console.ReadLine();
                    }

                    break;
                    #endregion

                    #region Retrieve A Credit Card By Name
                case ChoicesMain.RETRIEVEBYNAME:
                    String FirstName = String.Empty;
                    String LastName  = String.Empty;
                    valid = false;
                    Console.WriteLine("The first name of the person you would like to search for: ");
                    FirstName = Console.ReadLine();
                    valid     = ValidValue.NameValidation(FirstName);

                    while (valid == false)
                    {
                        Console.WriteLine("You did not enter a valid name\nPlease Try Again.");
                        FirstName = Console.ReadLine();
                        valid     = ValidValue.NameValidation(FirstName);
                    }

                    FirstName = Regex.Replace(FirstName, @"[\s]", "");

                    Console.WriteLine("Please enter the last name of the person you would like to search for: ");
                    LastName = Console.ReadLine();
                    valid    = ValidValue.NameValidation(LastName);

                    while (valid == false)
                    {
                        Console.WriteLine("You did not enter a valid name\nPlease Try Again.");
                        valid = ValidValue.NameValidation(LastName);
                    }

                    LastName = Regex.Replace(LastName, @"[\s]", "");

                    try
                    {
                        foreach (CreditCard c in CreditCardListWorking.RetrieveByName(FirstName, LastName))
                        {
                            Console.WriteLine(c.ViewInputValues() + "\n\n");
                        }
                        Console.ReadLine();
                    }
                    catch (IndexOutOfRangeException)
                    {
                        Console.WriteLine("Name Not Found");
                        Console.ReadLine();
                    }

                    break;
                    #endregion

                    #region Retrieve All Non-Expired Credit Cards
                case ChoicesMain.NONEXPIRED:
                    Console.WriteLine(CreditCardListWorking.ListOfNonExpiredCCs() + "\n\nPress Enter To Continue\nCount: ");
                    Console.ReadLine();
                    break;
                    #endregion

                    #region Sort By Credit Card Number
                case ChoicesMain.SORTBYCCNUM:
                    CreditCardListWorking.SortedList();
                    CreditCardListWorking.NeedsSaving = true;
                    break;

                    #endregion

                    #region Display all Credit Cards
                case ChoicesMain.DISPLAYALLCC:
                    Console.WriteLine(CreditCardListWorking.DisplayCreditCards());
                    Console.WriteLine("\nYou Have A Total of " + CountOfCC + " Credit Cards in the List\n\nPress Enter To Continue");
                    Console.ReadLine();
                    Console.ReadLine();
                    break;
                    #endregion


                    #region Quit
                case ChoicesMain.QUIT:
                    if (CreditCardListWorking.NeedsSaving == true)
                    {
                        CreditCardListWorking.SaveToAFile();
                    }
                    Console.WriteLine("You selected Quit");
                    Console.ReadLine();

                    break;
                    #endregion
                }  // end of switch


                choice = (ChoicesMain)menu.GetChoice();

                //Console.WriteLine("Press Enter To Continue");
            } // end of while
            Console.WriteLine("Count: " + CreditCardListWorking.CountOfCC());
        }     // end of main
Exemplo n.º 7
0
        protected override void RefreshMainData()
        {
            PgMng.Message = Resources.Messages.RETRIEVING_NOTIFICATIONS;

            if (List == null)
            {
                List = new NotifyEntityList();
            }
            else
            {
                List.Clear();
            }

            List = new NotifyEntityList();
            DateTime fecha;

            FechaApuntes_TI.Text = _fecha_apuntes.ToShortDateString();

            if (Library.Store.ModulePrincipal.GetNotifyFacturasRecibidas())
            {
                fecha = DateTime.Today.AddDays((double)Library.Store.ModulePrincipal.GetNotifyPlazoFacturasRecibidas());

                FacturaRecibidaList = Library.Store.ModuleController.GetFacturasRecibidasPendientes();
                List.Add(new NotifyEntity(ETipoNotificacion.GastoPendiente
                                          , ETipoEntidad.FacturaRecibida
                                          , FacturaRecibidaList.Count
                                          , FacturaRecibidaList.TotalPendiente()
                                          , String.Format(Store.Resources.Messages.NOFITY_FACTURAS_RECIBIDAS_PENDIENTES, fecha.ToShortDateString())
                                          , FacturaRecibidaList));
            }
            PgMng.Grow();

            if (Library.Store.ModulePrincipal.GetNotifyPagos())
            {
                BankAccountList cuentas = BankAccountList.GetList(EEstado.Active, false);
                PagosBancosList.Clear();

                foreach (BankAccountInfo item in cuentas)
                {
                    fecha = DateTime.Today.AddDays((double)Library.Store.ModulePrincipal.GetNotifyPlazoPagos());

                    PaymentList pagos_banco = Library.Store.ModuleController.GetPagosPendientesVencimiento(item);
                    PagosBancosList.Add(pagos_banco);

                    List.Add(new NotifyEntity(ETipoNotificacion.PagoBancoPendiente
                                              , ETipoEntidad.Pago
                                              , pagos_banco.Count
                                              , pagos_banco.Total()
                                              , item.Entidad
                                              , pagos_banco));
                }
            }
            PgMng.Grow();

            if (Library.Store.ModulePrincipal.GetNotifyGastos())
            {
                fecha = DateTime.Today.AddDays((double)Library.Store.ModulePrincipal.GetNotifyPlazoGastos());

                GastoList = Library.Store.ModuleController.GetGastosPendientes();
                List.Add(new NotifyEntity(ETipoNotificacion.GastoPendiente
                                          , ETipoEntidad.Gasto
                                          , GastoList.Count
                                          , GastoList.TotalPendiente()
                                          , String.Format(Store.Resources.Messages.NOFITY_GASTOS_PENDIENTES, fecha.ToShortDateString())
                                          , GastoList));
            }
            PgMng.Grow();

            if (Library.Invoice.ModulePrincipal.GetNotifyFacturasEmitidas())
            {
                fecha = DateTime.Today.AddDays((double)Library.Invoice.ModulePrincipal.GetNotifyPlazoFacturasEmitidas());

                FacturaList = Library.Invoice.ModuleController.GetFacturasPendientes();
                List.Add(new NotifyEntity(ETipoNotificacion.IngresoPendiente
                                          , ETipoEntidad.FacturaEmitida
                                          , FacturaList.Count
                                          , FacturaList.TotalPendiente()
                                          , String.Format(Invoice.Resources.Messages.NOFITY_FACTURAS_EMITIDAS_PENDIENTES, fecha.ToShortDateString())
                                          , FacturaList));
            }
            PgMng.Grow();

            if (Library.Invoice.ModulePrincipal.GetNotifyCobros())
            {
                fecha = DateTime.Today.AddDays((double)Library.Invoice.ModulePrincipal.GetNotifyPlazoCobros());

                CobroList = Library.Invoice.ModuleController.GetCobrosPendientes();
                List.Add(new NotifyEntity(ETipoNotificacion.IngresoPendiente
                                          , ETipoEntidad.Cobro
                                          , CobroList.Count
                                          , CobroList.Total()
                                          , String.Format(Invoice.Resources.Messages.NOFITY_COBROS_PENDIENTES, fecha.ToShortDateString())
                                          , CobroList));
            }
            PgMng.Grow();

            PagosVencidosList = Library.Store.ModuleController.GetPagosVencidosSinApunte(_fecha_apuntes);
            List.Add(new NotifyEntity(ETipoNotificacion.PagoVencido
                                      , ETipoEntidad.Pago
                                      , PagosVencidosList.Count
                                      , PagosVencidosList.Total()
                                      , String.Format(Store.Resources.Messages.NOTIFY_PAGOS_VENCIDOS, _fecha_apuntes.ToShortDateString())
                                      , PagosVencidosList));
            PgMng.Grow();


            CreditCardList tarjetas = CreditCardList.GetList(ETipoTarjeta.Credito, false);

            PagosTarjetasList.Clear();

            foreach (CreditCardInfo item in tarjetas)
            {
                PaymentList pagos_tarjetas = Library.Store.ModuleController.GetPagosTarjetaVencidosSinApunte(_fecha_apuntes, item);
                PagosTarjetasList.Add(pagos_tarjetas);

                List.Add(new NotifyEntity(ETipoNotificacion.PagoTarjetaVencido
                                          , ETipoEntidad.Pago
                                          , pagos_tarjetas.Count
                                          , pagos_tarjetas.Total()
                                          , item.Nombre
                                          , pagos_tarjetas));
            }
            PgMng.Grow();

            CobrosVencidosList = Library.Invoice.ModuleController.GetCobrosVencidosSinApunte(_fecha_apuntes);
            List.Add(new NotifyEntity(ETipoNotificacion.CobroVencido
                                      , ETipoEntidad.Cobro
                                      , CobrosVencidosList.Count
                                      , CobrosVencidosList.Total()
                                      , String.Format(Invoice.Resources.Messages.NOTIFY_COBROS_VENCIDOS, _fecha_apuntes.ToShortDateString())
                                      , CobrosVencidosList));
            PgMng.Grow();

            if (Library.Quality.ModulePrincipal.GetNotifyAuditorias())
            {
                //Auditorías con Plazo Máximo de Generación de Informe de Auditorías próximo a vencer
                //AuditoriaList auditorias = Library.Quality.ModuleControler.GetAvisoGeneracionInforme();
                //foreach (AuditoriaInfo item in auditorias)
                //{
                //    List.Add(new NotifyEntity(ETipoNotificacion.InformeNoGenerado
                //                    , ETipoEntidad.Auditoria
                //                    , item.Referencia));
                //}

                //Auditorías con Plazo Máximo de Notificación de Discrepancias próximo a vencer

                //Auditorías con Plazo Máximo de Notificación de Fin de Auditoría próximo a vencer

                //Auditorías con Plazo Máximo de Respuesta de Solicitud de Ampliación próximo a vencer

                //Auditorías con Discrepancias abiertas próximas a cumplir fecha de cierre
                AuditoriaList auditorias = Library.Quality.ModuleController.GetAvisoDiscrepanciasAbiertas();
                foreach (AuditoriaInfo item in auditorias)
                {
                    List.Add(new NotifyEntity(ETipoNotificacion.DiscrepanciaAbierta
                                              , ETipoEntidad.Auditoria
                                              , item.Referencia));
                }
            }
        }
Exemplo n.º 8
0
 protected override void GetFormSourceData()
 {
     _list = CreditCardList.GetList();
 }