Esempio n. 1
0
/*
 *      public CustomerContactOrganizationEntity GetCustomerContactOrganization(int customerContactOrganizationID)
 *      {
 *          try
 *          {
 *              OrganizationBL organizationBL = new OrganizationBL();
 *
 *              DataSet ds = _customerContactOrganizationDA.GetCustomerContactOrganization(customerContactOrganizationID);
 *              if ((ds.Tables != null) && (ds.Tables.Contains(SII.HCD.Administrative.Entities.TableNames.CustomerContactOrganizationTable)) && (ds.Tables[SII.HCD.Administrative.Entities.TableNames.CustomerContactOrganizationTable].Rows.Count > 0))
 *              {
 *                  int organizationID = SIIConvert.ToInteger(ds.Tables[SII.HCD.Administrative.Entities.TableNames.CustomerContactOrganizationTable].Rows[0]["OrganizationID"].ToString(), 0);
 *                  int contactTypeID = SIIConvert.ToInteger(ds.Tables[SII.HCD.Administrative.Entities.TableNames.CustomerContactOrganizationTable].Rows[0]["ContactTypeID"].ToString(), 0);
 *
 *                  DataSet ds2;
 *
 #region Contact Types
 *                  ds2 = _contactTypeDA.GetContactTypeByID(contactTypeID);
 *                  if ((ds2 != null) && (ds2.Tables.Contains(SII.HCD.Administrative.Entities.TableNames.ContactTypeTable)))
 *                  {
 *                      DataTable dt = ds2.Tables[SII.HCD.Administrative.Entities.TableNames.ContactTypeTable].Copy();
 *                      ds.Tables.Add(dt);
 *                  }
 #endregion
 *
 #region Organization
 *                  if (organizationID <= 0)
 *                  {
 *                      throw new Exception(Properties.Resources.ERROR_CustomerContactOrganizationNotFound);
 *                  }
 *                  SII.HCD.BackOffice.Entities.OrganizationEntity myOrganization = organizationBL.GetOrganization(organizationID);
 #endregion
 *
 *                  CustomerContactOrganizationAdvancedAdapter customerContactOrganizationAdapter = new CustomerContactOrganizationAdvancedAdapter();
 *                  CustomerContactOrganizationEntity result = customerContactOrganizationAdapter.GetInfo(ds.Tables[SII.HCD.Administrative.Entities.TableNames.CustomerContactOrganizationTable].Rows[0], ds);
 *                  result.Organization = myOrganization;
 *                  LOPDLogger.Write(EntityNames.CustomerContactOrganizationEntityName, customerContactOrganizationID, ActionType.View);
 *                  return result;
 *              }
 *              else
 *                  return null;
 *          }
 *          catch (Exception ex)
 *          {
 *              if (ExceptionPolicy.HandleException(ex, ExceptionPolicies.Service)) throw;
 *              return null;
 *          }
 *      }
 */
        public CustomerContactOrganizationEntity GetCustomerContactOrganization(int customerContactOrganizationID)
        {
            try
            {
                OrganizationBL organizationBL = new OrganizationBL();
                DataSet        ds             = _customerContactOrganizationDA.GetCustomerContactOrganization(customerContactOrganizationID);

                if ((ds.Tables != null) && (ds.Tables.Contains(Administrative.Entities.TableNames.CustomerContactOrganizationTable)) && (ds.Tables[Administrative.Entities.TableNames.CustomerContactOrganizationTable].Rows.Count > 0))
                {
                    int organizationID = SIIConvert.ToInteger(ds.Tables[Administrative.Entities.TableNames.CustomerContactOrganizationTable].Rows[0]["OrganizationID"].ToString(), 0);

                    #region Organization
                    if (organizationID <= 0)
                    {
                        throw new Exception(Properties.Resources.ERROR_CustomerContactOrganizationNotFound);
                    }

                    SII.HCD.BackOffice.Entities.OrganizationEntity myOrganization = null;
                    var HiloOrganization = System.Threading.Tasks.Task.Factory.StartNew(() => myOrganization = organizationBL.GetOrganization(organizationID));

                    DataSet ds2 = new DataSet();
                    foreach (DataTable oTabla in ds.Tables)
                    {
                        if (oTabla.Rows.Count > 0)
                        {
                            ds2.Tables.Add(oTabla.Copy());
                        }
                    }
                    #endregion

                    CustomerContactOrganizationAdvancedAdapter customerContactOrganizationAdapter = new CustomerContactOrganizationAdvancedAdapter();
                    CustomerContactOrganizationEntity          result = customerContactOrganizationAdapter.GetInfo(ds.Tables[Administrative.Entities.TableNames.CustomerContactOrganizationTable].Rows[0], ds2);
                    HiloOrganization.Wait();
                    result.Organization = myOrganization;

                    LOPDLogger.Write(EntityNames.CustomerContactOrganizationEntityName, customerContactOrganizationID, ActionType.View);
                    ds.Dispose();
                    ds2.Dispose();
                    return(result);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                if (ExceptionPolicy.HandleException(ex, ExceptionPolicies.Service))
                {
                    throw;
                }
                return(null);
            }
        }