public static IList<IGeneralOperationsBooking> GetBookings(IDalSession session, GeneralOperationsBookingReturnClass bookingType, int accountId, DateTime beginDate, DateTime endDate, bool includeStornos) { Hashtable parameters = new Hashtable(); parameters.Add("accountId", accountId); parameters.Add("beginDate", beginDate); parameters.Add("endDate", endDate); parameters.Add("bookTypeId", (int)bookingType); if (!includeStornos) parameters.Add("hideStornos", 1); return session.GetTypedListByNamedQuery<IGeneralOperationsBooking>( "B4F.TotalGiro.GeneralLedger.Journal.Bookings.GetGeneralOperationsBookings", parameters); }
public static int[] GetNotarizableBookingIds( IDalSession session, GeneralOperationsBookingReturnClass bookingType, int managementCompanyId, int accountId) { Hashtable parameters = new Hashtable(); if (bookingType != GeneralOperationsBookingReturnClass.All) parameters.Add("bookingType", (int)bookingType); if (managementCompanyId != 0) parameters.Add("managementCompanyId", managementCompanyId); if (accountId != 0) parameters.Add("accountId", accountId); IList<int> bookingIds = session.GetTypedListByNamedQuery<int>( "B4F.TotalGiro.GeneralLedger.Journal.Bookings.GetNotarizableBookingIds", parameters); return bookingIds.ToArray(); }
public static void CreateNotasFromBookings(BatchExecutionResults results, GeneralOperationsBookingReturnClass bookingType, int managementCompanyId, int accountId) { IDalSession session = NHSessionFactory.CreateSession(); int[] notarizableBookingIds = null; try { notarizableBookingIds = GeneralOperationsBookingMapper.GetNotarizableBookingIds(session, bookingType, managementCompanyId, accountId); } catch (Exception ex) { results.MarkError( new ApplicationException(string.Format("Error retrieving notarizable bookings ({0}s).", bookingType), ex)); } finally { session.Close(); } foreach (int bookingId in notarizableBookingIds) createNotaFromBooking(results, bookingId, bookingType); }
private static void createNotaFromBooking(BatchExecutionResults results, int bookingId, GeneralOperationsBookingReturnClass bookingType) { IDalSession session = NHSessionFactory.CreateSession(); try { IGeneralOperationsBooking booking = GeneralOperationsBookingMapper.GetBooking(session, bookingId); if (booking != null) { INota nota = booking.CreateNota(); if (nota != null) { NotaMapper.Update(session, nota); results.MarkSuccess(); } else // in case NotaMigrated was set to 'true' (e.g. for a storno of a Monetary Order booking) GeneralOperationsBookingMapper.Update(session, booking); } else results.MarkError(new ApplicationException(string.Format("Booking {0} not found.", bookingId))); } catch (Exception ex) { results.MarkError(new ApplicationException(string.Format("Error creating nota for booking {0} ({1}).", bookingId, bookingType), ex)); } finally { session.Close(); } }
public static void CreateNotas(BatchExecutionResults results, int managementCompanyId, int accountId) { checkCompanyAndAccount(managementCompanyId, accountId); CreateNotasFromOrders(results, managementCompanyId, accountId); // Which transaction types should be processed, and in what order TransactionTypes[] transactionTypes = new TransactionTypes[] { TransactionTypes.NTM, // NotaTransfer TransactionTypes.InstrumentConversion // NotaCorporateAction }; foreach (TransactionTypes transactionType in transactionTypes) CreateNotasFromTransactions(results, transactionType, managementCompanyId, accountId); // Which booking types should be processed, and in what order GeneralOperationsBookingReturnClass[] bookingTypes = new GeneralOperationsBookingReturnClass[] { GeneralOperationsBookingReturnClass.ManagementFee, // NotaFees GeneralOperationsBookingReturnClass.CashDividend, // NotaDividend GeneralOperationsBookingReturnClass.CashTransfer // NotaDeposit }; foreach (GeneralOperationsBookingReturnClass bookingType in bookingTypes) CreateNotasFromBookings(results, bookingType, managementCompanyId, accountId); }