public IHttpActionResult DeleteSuperAdminById(int id) { string logAPI = "[Post] " + Request.RequestUri.ToString(); using (var ctx = new SFDatabaseEntities()) { var superAdmin = ctx.SuperAdmin .Where(s => s.Id == id) .FirstOrDefault(); if (superAdmin != null) { superAdmin.DeletedFlag = true; try { ctx.SaveChanges(); } catch (Exception ex) { StringBuilder logMessage = LogUtility.BuildExceptionMessage(ex); Startup._sfAppLogger.Error(logAPI + logMessage); return(InternalServerError()); } } else { return(NotFound()); } } return(Ok("Success")); }
public IHttpActionResult Delete(int factoryId) { using (var ctx = new SFDatabaseEntities()) { var factory = ctx.Factory .Where(s => s.Id == factoryId) .FirstOrDefault(); if (factory != null) { factory.DeletedFlag = true; try { ctx.SaveChanges(); } catch { return(InternalServerError()); } } else { return(NotFound()); } } return(Ok("Success")); }
public IHttpActionResult AddFactoryFormData([FromBody] FactoryModels.Edit factory) { JavaScriptSerializer js = new JavaScriptSerializer(); string logForm = "Form : " + js.Serialize(factory); string logAPI = "[Post] " + Request.RequestUri.ToString(); if (!ModelState.IsValid || factory == null) { Startup._sfAppLogger.Warn(logAPI + " || Input Parameter not expected || " + logForm); return(BadRequest("Invalid data")); } var newFactory = new Factory() { Name = factory.Name, Description = factory.Description, CompanyId = factory.CompanyId, Latitude = (float)factory.Latitude, Longitude = (float)factory.Longitude, CultureInfo = factory.CultureInfoId, TimeZone = factory.TimeZone, CreatedAt = DateTime.Parse(DateTime.Now.ToString()), DeletedFlag = false }; using (var ctx = new SFDatabaseEntities()) { ctx.Factory.Add(newFactory); try { ctx.SaveChanges(); } catch (Exception ex) { StringBuilder logMessage = LogUtility.BuildExceptionMessage(ex); logMessage.AppendLine(logForm); Startup._sfAppLogger.Error(logAPI + logMessage); return(InternalServerError(ex)); } } return(Json(new { id = newFactory.Id })); }
public IHttpActionResult ChangePassword(int id, [FromBody] ChangePasswordModels newPasswords) { string logForm = "Form : " + Startup._jsSerializer.Serialize(newPasswords); string logAPI = "[Post] " + Request.RequestUri.ToString(); if (!ModelState.IsValid) { return(BadRequest("Invalid data")); } using (var ctx = new SFDatabaseEntities()) { var existingSuperAdmin = ctx.SuperAdmin .Where(s => s.Id == id) .FirstOrDefault(); if (existingSuperAdmin == null) { return(NotFound()); } if (Crypto.VerifyHashedPassword(existingSuperAdmin.Password, newPasswords.OldPassword)) { existingSuperAdmin.Password = Crypto.HashPassword(newPasswords.NewPassword); try { ctx.SaveChanges(); } catch (Exception ex) { StringBuilder logMessage = LogUtility.BuildExceptionMessage(ex); logMessage.AppendLine(logForm); Startup._sfAppLogger.Error(logAPI + logMessage); return(InternalServerError()); } } else { return(Unauthorized()); } } return(Ok("Success")); }
public IHttpActionResult EditSuperAdminById(int id, [FromBody] SuperAdminModels.Edit superAdmin) { string logForm = "Form : " + Startup._jsSerializer.Serialize(superAdmin); string logAPI = "[Post] " + Request.RequestUri.ToString(); if (!ModelState.IsValid) { return(BadRequest("Invalid data")); } using (var ctx = new SFDatabaseEntities()) { var existingSuperAdmin = ctx.SuperAdmin .Where(s => s.Id == id) .FirstOrDefault(); if (existingSuperAdmin != null) { existingSuperAdmin.FirstName = superAdmin.FirstName; existingSuperAdmin.LastName = superAdmin.LastName; existingSuperAdmin.Email = superAdmin.Email; existingSuperAdmin.UpdatedAt = DateTime.Parse(DateTime.Now.ToString()); existingSuperAdmin.DeletedFlag = superAdmin.DeletedFlag; try { ctx.SaveChanges(); } catch (Exception ex) { StringBuilder logMessage = LogUtility.BuildExceptionMessage(ex); logMessage.AppendLine(logForm); Startup._sfAppLogger.Error(logAPI + logMessage); return(InternalServerError()); } } else { return(NotFound()); } return(Ok("Success")); } }
public IHttpActionResult AddRolesByEmployeeId(int id, [FromBody] EmployeeRoleModels.Edit roles) { if (!ModelState.IsValid) { return(BadRequest()); } using (var ctx = new SFDatabaseEntities()) { foreach (var roleId in roles.UserRoleId) { EmployeeInRole newEmployeeRole = new EmployeeInRole() { EmployeeID = id, UserRoleID = roleId, CreatedAt = DateTime.Parse(DateTime.Now.ToString()), DeletedFlag = false }; ctx.EmployeeInRole.Add(newEmployeeRole); } StringBuilder logMessage = new StringBuilder(); try { ctx.SaveChanges(); RedisCacheHelper.DeleteEmployeeCache(id); logMessage.AppendLine("(AddRolesByEmployeeId) Delete EmployCache: " + id); Startup._sfAppLogger.Debug(logMessage); return(Ok()); } catch (Exception ex) { logMessage.AppendLine("(AddRolesByEmployeeId) Excepton on Delete EmployCache: " + id + "; Exception:" + ex.Message); Startup._sfAppLogger.Error(logMessage); return(InternalServerError()); } } }
public IHttpActionResult AddSuperAdmin([FromBody] SuperAdminModels.Edit superAdmin) { string logForm = "Form : " + Startup._jsSerializer.Serialize(superAdmin); string logAPI = "[Post] " + Request.RequestUri.ToString(); if (!ModelState.IsValid) { Startup._sfAppLogger.Warn(logAPI + " || Input Parameter not expected || " + logForm); return(BadRequest("Invalid data")); } using (var ctx = new SFDatabaseEntities()) { SuperAdmin newSuperAdmin = new SuperAdmin() { FirstName = superAdmin.FirstName, LastName = superAdmin.LastName, Email = superAdmin.Email, Password = Crypto.HashPassword(superAdmin.Password), CreatedAt = DateTime.Parse(DateTime.Now.ToString()), DeletedFlag = superAdmin.DeletedFlag }; ctx.SuperAdmin.Add(newSuperAdmin); try { ctx.SaveChanges(); return(Ok()); } catch (Exception ex) { StringBuilder logMessage = LogUtility.BuildExceptionMessage(ex); logMessage.AppendLine(logForm); Startup._sfAppLogger.Error(logAPI + logMessage); return(InternalServerError()); } } }
public IHttpActionResult EditFactoryFormData(int factoryId, [FromBody] FactoryModels.Edit factory) { if (!ModelState.IsValid) { return(BadRequest("Invalid data")); } using (var ctx = new SFDatabaseEntities()) { var existingFactory = ctx.Factory .Where(s => s.Id == factoryId && s.DeletedFlag == false) .FirstOrDefault(); if (existingFactory != null) { existingFactory.Name = factory.Name; existingFactory.Description = factory.Description; existingFactory.TimeZone = factory.TimeZone; existingFactory.Latitude = factory.Latitude; existingFactory.Longitude = factory.Longitude; existingFactory.CultureInfo = factory.CultureInfoId; existingFactory.UpdatedAt = DateTime.Parse(DateTime.Now.ToString()); try { ctx.SaveChanges(); } catch { return(InternalServerError()); } } else { return(NotFound()); } } return(Ok("Success")); }
public async Task <HttpResponseMessage> UploadFactoryPhotoFile(int factoryId) { // Check if the request contains multipart/form-data. if (!Request.Content.IsMimeMultipartContent()) { return(Request.CreateResponse(HttpStatusCode.UnsupportedMediaType)); } using (var ctx = new SFDatabaseEntities()) { var existingFactory = ctx.Factory .Where(s => s.Id == factoryId && s.DeletedFlag == false) .FirstOrDefault(); if (existingFactory == null) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } string root = Path.GetTempPath(); var provider = new MultipartFormDataStreamProvider(root); try { // Read the form data. string fileAbsoluteUri = ""; await Request.Content.ReadAsMultipartAsync(provider); char[] trimChar = { '\"' }; //FileData foreach (MultipartFileData fileData in provider.FileData) { string formColumnName = fileData.Headers.ContentDisposition.Name.ToLower().Trim(trimChar); string fileExtenionName = fileData.Headers.ContentDisposition.FileName.Split('.')[1].ToLower().Trim(trimChar); if (formColumnName.Equals("image")) { if (fileExtenionName.Equals("png") || fileExtenionName.Equals("jpg")) { string uploadFilePath = "company-" + existingFactory.CompanyId + "/factory/" + factoryId + "-default." + fileExtenionName; SharedFunctions sharedFunctions = new SharedFunctions(); fileAbsoluteUri = sharedFunctions.SaveFiletoStorage(fileData.LocalFileName, uploadFilePath, "images"); } else { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Wrong extension name")); } } } if (fileAbsoluteUri.Equals("")) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "File is empty")); } //Edit factory logo path existingFactory.PhotoURL = fileAbsoluteUri; ctx.SaveChanges(); var returnObj = new { imageURL = fileAbsoluteUri }; return(Request.CreateResponse(HttpStatusCode.OK, returnObj)); } catch (System.Exception e) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e)); } } }
public IHttpActionResult EditRolesByEmployeeId(int id, [FromBody] EmployeeRoleModels.Edit roles) { if (!ModelState.IsValid) { return(BadRequest()); } using (var ctx = new SFDatabaseEntities()) { var existingRoles = ctx.EmployeeInRole .Where(s => s.EmployeeID == id) .Select(s => s).ToList(); //調整現有的Role List <int> existingRolesId = new List <int>(); if (existingRoles != null) { foreach (var er in existingRoles) { if (roles == null || (!roles.UserRoleId.Contains(er.UserRoleID) && !er.DeletedFlag)) { er.DeletedFlag = true; er.UpdatedAt = DateTime.Parse(DateTime.Now.ToString()); } else if (roles.UserRoleId.Contains(er.UserRoleID) && er.DeletedFlag) { er.DeletedFlag = false; er.UpdatedAt = DateTime.Parse(DateTime.Now.ToString()); } existingRolesId.Add(er.UserRoleID); } } //新增沒有的Role if (roles != null) { foreach (var userRoleId in roles.UserRoleId) { if (existingRoles == null || (userRoleId > 0 && !existingRolesId.Contains(userRoleId))) { var newEmployeeRole = new EmployeeInRole() { EmployeeID = id, UserRoleID = userRoleId, CreatedAt = DateTime.Parse(DateTime.Now.ToString()) }; ctx.EmployeeInRole.Add(newEmployeeRole); } } } StringBuilder logMessage = new StringBuilder(); try { ctx.SaveChanges(); RedisCacheHelper.DeleteEmployeeCache(id); logMessage.AppendLine("(EditRolesByEmployeeId )Delete EmployCache: " + id); Startup._sfAppLogger.Debug(logMessage); return(Ok()); } catch (Exception ex) { logMessage.AppendLine("(EditRolesByEmployeeId) Excepton on Delete EmployCache: " + id + "; Exception:" + ex.Message); Startup._sfAppLogger.Error(logMessage); return(InternalServerError()); } } }