public async Task AddUserOrganizationIdentifiers(int organizationId, IdentifierDTO identifierDTO) { //var mapper = new UserOrganizationIdentifierMapper(); //var userOrganizationIdentifier = mapper.Map(userOrganizationIdentifierDTO); //userOrganizationIdentifier.OrganizationId = organizationId; //Context.UserOrganizationIdentifiers.Add(userOrganizationIdentifier); await Context.SaveChangesAsync(); }
/// <summary> /// /// </summary> /// <param name="id"></param> /// <returns></returns> public ProjectDTO GetProjectById(string projectId) { ProjectDTO retVal = new ProjectDTO(); string projectItemId = ""; try { // gete project data DataSet ds = new ProjectDB(Utility.ConfigurationHelper.GPD_Connection).GetProjectById(projectId); if (ds != null && ds.Tables.Count > 4 && ds.Tables[0].Rows.Count > 0) { //===================================== #region Project { DataRow dr = ds.Tables[0].Rows[0]; retVal.Author = dr["AUTHOR"].ToString(); retVal.BuildingName = dr["BUILDING_NAME"].ToString(); retVal.Client = dr["CLIENT"].ToString(); retVal.Filename = dr["FILENAME"].ToString(); retVal.Name = dr["NAME"].ToString(); retVal.Number = dr["NUMBER"].ToString(); retVal.OrganizationDescription = dr["ORGANIZATION_DESCRIPTION"].ToString(); retVal.OrganizationName = dr["ORGANIZATION_NAME"].ToString(); retVal.Status = dr["STATUS"].ToString(); retVal.Location = new LocationDTO() { Country = dr["COUNTRY"].ToString(), AddressLine1 = dr["ADDRESS_LINE_1"].ToString(), AddressLine2 = dr["ADDRESS_LINE_2"].ToString(), City = dr["CITY"].ToString(), State = dr["STATE"].ToString(), PostalCode = dr["ZIP"].ToString() }; retVal.Session = new SessionDTO() { Type = dr["TYPE"].ToString(), Platform = dr["PLATFORM"].ToString(), Application = new ApplicationDTO() { Build = dr["APPLICATION_BUILD"].ToString(), Name = dr["APPLICATION_NAME"].ToString(), PluginBuild = dr["APPLICATION_PLUGIN_BUILD"].ToString(), PluginSource = dr["APPLICATION_PLUGIN_SOURCE"].ToString(), PluginName = dr["APPLICATION_PLUGIN_NAME"].ToString(), Version = dr["APPLICATION_VERSION"].ToString(), Type = dr["APPLICATION_TYPE"].ToString(), ClientIP = dr["APPLICATION_CLIENT_IP"].ToString(), }, UserInfo = new SessionUserInfoDTO() { Email = dr["USER_INFO_EMAIL"].ToString(), FirstName = dr["USER_INFO_FNAME"].ToString(), LastName = dr["USER_INFO_LNAME"].ToString() } }; } #endregion //===================================== #region Identifier if (ds.Tables[1].Rows.Count > 0) { retVal.Identifiers = new List <IdentifierDTO>(); foreach (DataRow dr in ds.Tables[1].Rows) { IdentifierDTO tempIdentifierDTO = new IdentifierDTO() { Identifier = dr["IDENTIFIER"].ToString(), SystemName = dr["SYSTEM"].ToString() }; retVal.Identifiers.Add(tempIdentifierDTO); } } #endregion //===================================== #region Item if (ds.Tables[2].Rows.Count > 0) { retVal.Items = new List <ItemDTO>(); foreach (DataRow dr in ds.Tables[2].Rows) { // get project-item-id projectItemId = dr["project_item_id"].ToString(); #region Item ItemDTO itemDTO = new ItemDTO() { Id = int.Parse(dr["ITEM_ID"].ToString()), Type = dr["TYPE"].ToString(), Currency = dr["CURRENCY"].ToString(), Family = dr["FAMILY"].ToString(), Quantity = dr["QUANTITY"].ToString(), QuantityUnit = dr["QUANTITY_UNIT"].ToString() }; #endregion #region Item-Product itemDTO.Product = new ItemProductDTO() { Id = dr["PRODUCT_ID"].ToString(), URL = dr["PRODUCT_URL"].ToString(), Manufacturer = dr["PRODUCT_MANUFACTURER"].ToString(), Model = dr["PRODUCT_MODEL"].ToString(), Name = dr["PRODUCT_NAME"].ToString(), ImageUrl = dr["product_image_url"].ToString() }; #endregion #region Item-Materials if (ds.Tables[3].Rows.Count > 0) { var drMaterials = ds.Tables[3].AsEnumerable() .Where(i => i["project_item_id"].ToString().Equals(projectItemId)); if (drMaterials.Count() > 0) { itemDTO.Materials = new List <MaterialDTO>(); foreach (DataRow dataRow in drMaterials) { itemDTO.Materials.Add( new MaterialDTO() { Id = dataRow["MATERIAL_ID"].ToString(), Type = new MaterialTypeDTO() { Name = dataRow["TYPE_NAME"].ToString(), }, Product = new MaterialProductDTO() { Name = dataRow["PRODUCT_NAME"].ToString(), Manufacturer = dataRow["PRODUCT_MANUFACTURER"].ToString(), Model = dataRow["PRODUCT_MODEL"].ToString() } }); } } } #endregion Item-Materials #region Item-Categories if (ds.Tables[4].Rows.Count > 0) { var drCategories = ds.Tables[4].AsEnumerable() .Where(i => i["PROJECT_ITEM_ID"].ToString().Equals(projectItemId)); if (drCategories.Count() > 0) { itemDTO.Categories = new List <CategoryDTO>(); foreach (DataRow drC in drCategories) { itemDTO.Categories.Add( new CategoryDTO() { Taxonomy = drC["TAXONOMY"].ToString(), Title = drC["TITLE"].ToString() }); } } } #endregion Item-Categories retVal.Items.Add(itemDTO); } } #endregion } } catch (Exception ex) { log.Error("Unable to get project by id: " + projectId, ex); } return(retVal); }