public IHttpActionResult GetMessageByFactoryId(int factoryId, [FromUri] int top = 10, [FromUri] int hours = 168, [FromUri] string order = "desc") { try { FactoryModel factoryModel = new FactoryModel(); int companyId = factoryModel.GetByIdForInternal(factoryId).CompanyId; CompanyModel companyModel = new CompanyModel(); CompanyModel.Format_Detail company = companyModel.GetById(companyId); var companySubscription = companyModel.GetValidSubscriptionPlanByCompanyId(companyId); if (companySubscription == null) { throw new Exception("can't find valid subscription plan."); } DocumentDBHelper docDBHelpler = new DocumentDBHelper(companyId, companySubscription.CosmosDBConnectionString); return(Ok(docDBHelpler.GetMessageByFactoryId(factoryId, top, hours, order))); } catch (Exception ex) { StringBuilder logMessage = LogHelper.BuildExceptionMessage(ex); string logAPI = "[Get] " + Request.RequestUri.ToString(); Global._appLogger.Error(logAPI + logMessage); return(Content(HttpStatusCode.InternalServerError, ex)); } }
public IHttpActionResult GetCompanyById(int id) { RedisKey cacheKey = "company_" + id; string cacheValue = null; if (Global._enableRedisCache) { cacheValue = RedisCacheHelper.GetValueByKey(cacheKey); } if (cacheValue == null) { CompanyModel companyModel = new CompanyModel(); try { CompanyModel.Format_Detail company = companyModel.GetById(id); //RedisCacheHelper.SetKeyValue(cacheKey, JsonConvert.SerializeObject(company)); return(Content(HttpStatusCode.OK, company)); } catch (CDSException cdsEx) { return(Content(HttpStatusCode.BadRequest, CDSException.GetCDSErrorMessageByCode(cdsEx.ErrorId))); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, ex)); } } else { return(Content(HttpStatusCode.OK, JsonConvert.DeserializeObject(cacheValue))); } }
public HttpResponseMessage GetAllowDomainByCompanyId(int id) { RedisKey cacheKey = "company_" + id + "_allowDomain"; string cacheValue = null; if (Global._enableRedisCache) { cacheValue = RedisCacheHelper.GetValueByKey(cacheKey); } if (cacheValue == null) { CompanyModel companyModel = new Models.CompanyModel(); try { CompanyModel.Format_Detail company = companyModel.GetById(id); //RedisCacheHelper.SetKeyValue(cacheKey, new JavaScriptSerializer().Serialize(company)); return(Request.CreateResponse(HttpStatusCode.OK, company.AllowDomain)); } catch (CDSException cdsEx) { return(Request.CreateResponse(HttpStatusCode.BadRequest, CDSException.GetCDSErrorMessageByCode(cdsEx.ErrorId))); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex)); } } else { return(Request.CreateResponse(HttpStatusCode.OK, JsonConvert.DeserializeObject <CompanyModel.Format_Detail>(cacheValue).AllowDomain)); } }
public IHttpActionResult GetMessageByEquipmentId(int equipmentId, [FromUri] int top = 10, [FromUri] int hours = 168, [FromUri] string order = "desc") { try { int companyId = Global.GetCompanyIdFromToken(); if (!General.IsEquipmentUnderCompany(equipmentId, companyId)) { return(Unauthorized()); } CompanyModel companyModel = new CompanyModel(); CompanyModel.Format_Detail company = companyModel.GetById(companyId); var companySubscription = companyModel.GetValidSubscriptionPlanByCompanyId(companyId); if (companySubscription == null) { throw new Exception("can't find valid subscription plan."); } DocumentDBHelper docDBHelpler = new DocumentDBHelper(companyId, companySubscription.CosmosDBConnectionString); EquipmentModels equipmentModel = new EquipmentModels(); return(Ok(docDBHelpler.GetMessageByEquipmentId(equipmentModel.getEquipmentById(equipmentId).EquipmentId, top, hours, order, companyId))); } catch (Exception ex) { StringBuilder logMessage = LogHelper.BuildExceptionMessage(ex); string logAPI = "[Get] " + Request.RequestUri.ToString(); Global._appLogger.Error(logAPI + logMessage); return(Content(HttpStatusCode.InternalServerError, ex)); } }
public IHttpActionResult GetAlarmMessageByFactoryId(int factoryId, [FromUri] int top = 10, [FromUri] int hours = 168, [FromUri] string order = "desc") { try { FactoryModels factoryModel = new FactoryModels(); int companyId = factoryModel.getFactoryById(factoryId).CompanyId; CompanyModel companyModel = new CompanyModel(); CompanyModel.Format_Detail company = companyModel.GetById(companyId); var companySubscription = companyModel.GetValidSubscriptionPlanByCompanyId(companyId); DocumentDBHelper docDBHelpler = new DocumentDBHelper(companyId, companySubscription.CosmosDBConnectionString); return(Ok(docDBHelpler.GetAlarmMessageByFactoryId(factoryId, top, hours, order))); } catch (CDSException cdsEx) { IHttpActionResult response; HttpResponseMessage responseMsg = new HttpResponseMessage(HttpStatusCode.BadRequest); string body = new JavaScriptSerializer().Serialize(CDSException.GetCDSErrorMessageByCode(cdsEx.ErrorId)); responseMsg.Content = new StringContent(body, Encoding.UTF8, "application/json"); response = ResponseMessage(responseMsg); return(response); } catch (Exception ex) { StringBuilder logMessage = LogHelper.BuildExceptionMessage(ex); string logAPI = "[Get] " + Request.RequestUri.ToString(); Global._appLogger.Error(logAPI + logMessage); return(Content(HttpStatusCode.InternalServerError, ex)); } }
public async Task <IHttpActionResult> UploadLogoFile(int id) { string logAPI = "[Put] " + Request.RequestUri.ToString(); // Check if the request contains multipart/form-data. if (!Request.Content.IsMimeMultipartContent()) { return(Content(HttpStatusCode.UnsupportedMediaType, HttpResponseFormat.UnsupportedMediaType())); } CompanyModel companyModel = new CompanyModel(); //FileHelper fileHelper = new FileHelper(); BlobStorageHelper storageHelper = new BlobStorageHelper(Global._systemStorageName, Global._systemStorageKey, Global._imageStorageContainer); string root = Path.GetTempPath(); var provider = new MultipartFormDataStreamProvider(root); try { CompanyModel.Format_Detail company = companyModel.GetById(id); } catch (CDSException cdsEx) { return(Content(HttpStatusCode.BadRequest, CDSException.GetCDSErrorMessageByCode(cdsEx.ErrorId))); } catch (Exception ex) { StringBuilder logMessage = LogHelper.BuildExceptionMessage(ex); Global._appLogger.Error(logAPI + logMessage); return(Content(HttpStatusCode.InternalServerError, ex)); } try { // Read the form data. string LogoAbsoluteUri = "", IconAbsoluteUri = ""; await Request.Content.ReadAsMultipartAsync(provider); //FileData foreach (MultipartFileData fileData in provider.FileData) { string fileExtension = Path.GetExtension(fileData.Headers.ContentDisposition.FileName.Replace("\"", "").ToLower()); if (fileExtension.Equals(".jpg", StringComparison.InvariantCultureIgnoreCase) || fileExtension.Equals(".jpeg", StringComparison.InvariantCultureIgnoreCase) || fileExtension.Equals(".png", StringComparison.InvariantCultureIgnoreCase)) { ImageHelper imageHelper = new ImageHelper(); string uploadFilePath = String.Format("company-{0}", id); LogoAbsoluteUri = imageHelper.PublishImage(fileData.LocalFileName, storageHelper, uploadFilePath, Global._companyLogoWidthHeight, Global._imageBgColor, Global._imageFormat); IconAbsoluteUri = imageHelper.PublishImage(fileData.LocalFileName, storageHelper, uploadFilePath, Global._companyIconWidthHeight, Global._imageBgColor, Global._imageFormat); } else { return(Content(HttpStatusCode.BadRequest, HttpResponseFormat.Error("Unsupport File Type."))); } } if (LogoAbsoluteUri.Equals("")) { return(Content(HttpStatusCode.BadRequest, HttpResponseFormat.Error("File is empty or wrong extension name."))); } //Edit company logo path companyModel.UpdateLogoURL(id, LogoAbsoluteUri, IconAbsoluteUri); //RedisCacheHelper.DeleteCompanyCache(id); return(Content(HttpStatusCode.OK, HttpResponseFormat.Success(LogoAbsoluteUri))); } catch (CDSException cdsEx) { return(Content(HttpStatusCode.BadRequest, CDSException.GetCDSErrorMessageByCode(cdsEx.ErrorId))); } catch (System.Exception ex) { StringBuilder logMessage = LogHelper.BuildExceptionMessage(ex); Global._appLogger.Error(logAPI + logMessage); return(Content(HttpStatusCode.InternalServerError, ex)); } }