Esempio n. 1
0
 /// <summary>
 /// Removes a PojectFeasibilityParameters from the list of
 /// ProjectFeasibilityParameters in this Financial Institution
 /// </summary>
 /// <param name="projectFeasibilityParameters">ProjectFeasibilityParameters to be removed</param>
 public virtual void RemoveProjectFeasibilityParameters(
     ProjectFeasibilityParameters projectFeasibilityParameters)
 {
     ProjectFeasibilityParameters.Remove (projectFeasibilityParameters);
 }
        /// <summary>
        /// Updates the Project Feasibility parameters to the database
        /// </summary>
        /// <param name="parametersToUpdate">Parameters to update</param>
        /// <exception cref="ZiblerBusinessComponentsException" />
        public void UpdateProjectFeasibilityParameters(
            ProjectFeasibilityParameters parametersToUpdate)
        {
            try
            {
                IFinancialInstitutionDAO financialInstitutionDAO = _daoFactory.GetFinancialInstitutionDAO ();
                IProjectFeasibilityParametersDAO projectFeasibilityParametersDAO = _daoFactory.GetProjectFeasibilityParametersDAO ();

                DateTime? oldValidFrom = projectFeasibilityParametersDAO.GetProjectFeasibilityParametersDate (
                    parametersToUpdate.Id);

                if (oldValidFrom == null)
                    throw new ZiblerBusinessComponentsException (Resources.RecordNotFound);
                else
                {
                    //If the dates are the same then just go ahead and update
                    if (DateTime.Compare (oldValidFrom.Value,
                                          parametersToUpdate.ValidFrom.Value) == 0)
                    {
                        projectFeasibilityParametersDAO.MakePersistent (parametersToUpdate);
                    }
                    else
                    {
                        if (financialInstitutionDAO.ProjectFeasibilityParameterExists (
                            parametersToUpdate.FinancialInstitution.Name,
                            parametersToUpdate.ValidFrom))
                        {
                            throw new ZiblerBusinessComponentsException (
                                Resources.LoanTrackingParameterOperationsMsgProjectFeasibilityParameterExists);
                        }
                        else
                        {
                            //Go ahead and update.
                            projectFeasibilityParametersDAO.MakePersistent (parametersToUpdate);
                        }
                    }
                }
            }
            /* If the exception was thrown here, just pass it up */
            catch (ZiblerBusinessComponentsException ex)
            {
                throw;
            }
            /* Catch any Data Layer or other exception and throw an unkown exception */
            catch (Exception ex)
            {
                ZiblerBusinessComponentsUnknownException exc
                = new ZiblerBusinessComponentsUnknownException (ex);

                /* Throw the new exception */
                throw exc;
            }
        }
Esempio n. 3
0
 /// <summary>
 /// Adds a new PojectFeasibilityParameters to the list of
 /// ProjectFeasibilityParameters in this Financial Institution
 /// </summary>
 /// <param name="projectFeasibilityParameters">ProjectFeasibilityParameters to be added</param>
 public virtual void AddProjectFeasibilityParameters(
     ProjectFeasibilityParameters projectFeasibilityParameters)
 {
     projectFeasibilityParameters.FinancialInstitution = this;
     ProjectFeasibilityParameters.Add (projectFeasibilityParameters);
 }
        /// <summary>
        /// Create new project feasibility parameter in the system
        /// </summary>
        /// <param name="financialInstitution">Financial Institution name</param>
        /// <param name="username">user name</param>
        /// <param name="projectFeasibilityParameters">Project Feasibility parameters to be created</param>
        public void CreateNewProjectFeasibilityParameter(string financialInstitutionName,
            string username,
            ProjectFeasibilityParameters projectFeasibilityParameters)
        {
            try
            {
                IFinancialInstitutionDAO financialInstitutionDAO = _daoFactory.GetFinancialInstitutionDAO ();

                //Verify the user does not exist in the system first.
                if (financialInstitutionDAO.ProjectFeasibilityParameterExists (financialInstitutionName,
                                                                               projectFeasibilityParameters.ValidFrom))
                {
                    throw new ZiblerBusinessComponentsException (
                        Resources.LoanTrackingParameterOperationsMsgProjectFeasibilityParameterExists);
                }
                else
                {
                    //TODO: This may cause performance issues if they have a lot of financial forecast parameters items
                    //		the Add operation retrieves all the items from the database.
                    //Get the financial institution, and add the new compliance checklist
                    FinancialInstitution financialInstitution = financialInstitutionDAO.GetFinancialInstitutionByName (
                        financialInstitutionName);
                    financialInstitution.AddProjectFeasibilityParameters (projectFeasibilityParameters);
                }
            }
            /* If the exception was thrown here, just pass it up */
            catch (ZiblerBusinessComponentsException ex)
            {
                throw;
            }
            /* Catch any Data Layer or other exception and throw an unkown exception */
            catch (Exception ex)
            {
                ZiblerBusinessComponentsUnknownException exc
                = new ZiblerBusinessComponentsUnknownException (ex);

                /* Throw the new exception */
                throw exc;
            }
        }