public static DTO UpdateUserEmail(string newEmail, string userName) { DTO dto = new DTO(); MembershipUser user = Membership.GetUser(userName); string oldEmail = user.Email; string userName2 = Membership.GetUserNameByEmail(newEmail); //check for another user with the same email as the new one if (userName2 != null) { if (userName2 != userName) { dto.IsSuccessful = false; dto.Message = "The email address, " + newEmail + " could not be saved. It is being used by another user"; nlogger.LogInfo("UpdateUserEmail - user:"******", message: " + dto.Message); return(dto); } } user.Email = newEmail; Membership.UpdateUser(user); dto.IsSuccessful = true; dto.Message = "You email has been changed to " + newEmail + ". Contact your coordinator if you did not request this change"; nlogger.LogInfo("UpdateUserEmail - user:"******", message: " + dto.Message); dto.Bag = oldEmail; return(dto); }
public static List <UserRole> GetAssignedRoles(string userName) { nlogger.LogInfo("GetAssignedRoles for user:" + userName); String[] allRoles = null; String[] assignedRoles = null; try { allRoles = Roles.GetAllRoles(); assignedRoles = Roles.GetRolesForUser(userName); } catch (Exception ex) { nlogger.LogFatal(ex); } List <UserRole> roles = new List <UserRole>(); foreach (var allRole in allRoles) { UserRole ur = new UserRole(); ur.RoleName = allRole; foreach (var ar in assignedRoles) { if (ar == allRole) { ur.IsAssigned = true; } } roles.Add(ur); } return(roles); }
public ActionResult Index() { List <Site> sites = new List <Site>(); sites = DbUtils.GetSitesActive(); if (sites.Count == 0) { throw new Exception("There was an error retreiving the sites list from the database"); } sites.Insert(0, new Site { ID = 0, Name = "Select a site", SiteID = "" }); ViewBag.Sites = new SelectList(sites, "ID", "Name"); nlogger.LogInfo("Admin Backdoor Index - user: "******"UserName", "UserName"); if (!SiteMapManager.SiteMaps.ContainsKey("adminbackdoor")) { SiteMapManager.SiteMaps.Register <XmlSiteMap>("adminbackdoor", sitmap => sitmap.LoadFrom("~/adminbackdoor.sitemap")); } return(View()); }
///<Summary> /// Search method to perform search ///</Summary> public async Task <Response> Search(string fileName, string folderName, string query) { // License.SetAsposeCellsLicense(); var taskResp = Process("SearchResults", folderName, ".txt", false, (inFilePath, outPath, zipOutFolder) => { var fn = AppSettings.WorkingDirectory + folderName + "/" + fileName; var stopWatch = new Stopwatch(); stopWatch.Start(); NLogger.LogInfo($"Search {query}=>{fn}=>Start"); var task = Task.Run(() => { SearchQuery(fileName, folderName, query, outPath); }); var isCompleted = task.Wait(Api.Configuration.MillisecondsTimeout); if (!isCompleted) { NLogger.LogError($"Search {query}=>{fn}=>{AppSettings.ProcessingTimedout}"); throw new TimeoutException(AppSettings.ProcessingTimedout); } stopWatch.Stop(); NLogger.LogInfo($"Search {query}=>{fn}=>cost seconds:{stopWatch.Elapsed.TotalSeconds}"); }); if (MFoundNothing) { taskResp.Result.FileProcessingErrorCode = FileProcessingErrorCode.NoSearchResults; } return(await taskResp); }
private void btnUpdate_Click(object sender, EventArgs e) { updateModel.CardNo = txtCardNo.Text; updateModel.Name = txtName.Text; updateModel.IDCard = txtIDCard.Text; updateModel.PinYin = txtPinyin1.Text; updateModel.Gender = cmbGender.SelectedValue.ToString(); updateModel.GenderName = cmbGender.Text; updateModel.Address = txtAddress.Text; updateModel.BirthDay = txtBirthDay.Text; updateModel.CurrentAge = txtAge.Text; updateModel.Phone = txtPhone.Text; updateModel.PostCode = txtPostCode.Text; updateModel.Email = txtEmail.Text; updateModel.ImageNumber = txtImageNumber.Text; updateModel.PatientType = cmbPatientType.Text; updateModel.VisitType = cmbVisitType.Text; updateModel.CheckNo = txtCheckNo.Text; updateModel.BillHospital = txtBillHospital.Text; updateModel.ApplyDept = cmbApplyDept.SelectedValue.ToString(); updateModel.ApplyDeptName = cmbApplyDept.Text; updateModel.ApplyDocter = txtApplyDocterCode.Text; updateModel.ApplyDocterName = txtApplyDocter.Text; updateModel.Area = txtArea.Text; updateModel.Bed = txtBed.Text; updateModel.ApplyDate = dtpApplyDate.Value; updateModel.CheckDept = cmbCheckDept.SelectedValue.ToString(); updateModel.CheckDeptName = cmbCheckDept.Text; updateModel.CheckType = cmbCheckType.Text; updateModel.Equipment = cmbEquipment.Text; updateModel.Position = cmbPosition.Text; updateModel.Method = cmbMethod.Text; updateModel.Symptom = txtSymptom.Text; updateModel.Diagnosis = txtDiagnosis.Text; updateModel.DockerAsk = txtRemarks.Text; updateModel.RequestID = lblRequestID.Text; updateModel.Projects = dgvApplys.DataSource as List <ApplyItem>; var result = _registerBll.UpdateRegister(updateModel, out string errorMsg); this.ShowInfo(errorMsg); if (result) { var msg = $"操作员:{CurrentUser.Name},工号:{CurrentUser.UserName},{DateTime.Now.ToString()} 修改登记信息,登记ID:{updateModel.PatientID}."; NLogger.LogInfo(msg, CurrentUser.UserName); RestTextBox(); Rest(); updateModel = null; btnUpdate.Visible = false; btnRegister.Visible = true; } else { var msg = $"操作员:{CurrentUser.Name},工号:{CurrentUser.UserName},{DateTime.Now.ToString()} 修改登记信失败,登记ID:{updateModel.PatientID}."; NLogger.LogInfo(msg, CurrentUser.UserName); Rest(); this.Close(); } }
public async Task <Response> Editor() { var sessionId = Guid.NewGuid().ToString(); try { var taskUpload = Task.Run(() => UploadWorkbooks(sessionId)); taskUpload.Wait(Api.Configuration.MillisecondsTimeout); if (!taskUpload.IsCompleted) { NLogger.LogError($"Editor UploadWorkbooks=>{sessionId}=>{AppSettings.ProcessingTimedout}"); throw new TimeoutException(AppSettings.ProcessingTimedout); } var docs = taskUpload.Result; if (docs == null) { return(PasswordProtectedResponse); } if (docs.Length == 0 || docs.Length > MaximumUploadFiles) { return(MaximumFileLimitsResponse); } SetDefaultOptions(docs); Opts.AppName = "Editor"; Opts.MethodName = "Editor"; Opts.ZipFileName = docs.Length > 1 ? "Editor documents" : Path.GetFileNameWithoutExtension(docs[0].FileName); return(await Process((inFilePath, outPath, zipOutFolder) => { var stopWatch = new Stopwatch(); stopWatch.Start(); NLogger.LogInfo($"{App}=>{string.Join(",", docs.Select(t => t.FileName))}=>Start"); var tasks = docs.Select(doc => Task.Factory.StartNew(() => { SaveDocument(doc, outPath, zipOutFolder, GetSaveFormatType(doc.FileName)); })).ToArray(); Task.WaitAll(tasks); stopWatch.Stop(); NLogger.LogInfo($"{App}=>{string.Join(",", docs.Select(t => t.FileName))}=>cost seconds:{stopWatch.Elapsed.TotalSeconds}"); })); } catch (Exception e) { var exception = e.InnerException ?? e; NLogger.LogError(App, "Editor", exception.Message, sessionId); return(new Response { StatusCode = 500, Status = exception.Message, FolderName = sessionId, Text = "Editor" }); } }
private void button1_Click(object sender, EventArgs e) { if (IsChange && CurrentUser.UserName == txtUserName.Text.Trim()) { this.ShowInfo("当前登录账户相同."); return; } if (checkBox1.Checked) { if (string.IsNullOrEmpty(txtPhone.Text)) { this.ShowInfo("请输入手机."); } } else { if (string.IsNullOrEmpty(txtUserName.Text)) { this.ShowInfo("请输入用户名.."); } } if (string.IsNullOrEmpty(txtPassword.Text)) { this.ShowInfo("请输入密码."); } UserModel userModel = new UserModel { UserName = txtUserName.Text, Phone = txtPhone.Text, Password = txtPassword.Text, Status = 1, }; var user = _userBll.Login(userModel); if (user != null) { CurrentUser = user; //如果是切换用户,直接隐藏,否则弹出主页面. if (!IsChange) { MainForm mainForm = new MainForm(); mainForm.Show(); } var msg = $"操作员:{user.Name},工号:{user.UserName},{DateTime.Now.ToString()}登录成功."; NLogger.LogInfo(msg, user.UserName); this.Hide(); } else { var msg = $"工号/手机号:{txtUserName.Text + txtPhone.Text},{DateTime.Now.ToString()}登录失败."; NLogger.LogInfo(msg, txtUserName.Text + txtPhone.Text); this.ShowInfo("用户名或密码错误."); } }
public ActionResult ResetSitePassword([Bind(Include = "UserName, UserPassword")] SiteGerenicNurse nurseUser) { if (ModelState.IsValid) { if (nurseUser.UserName.Trim().Length == 0) { return(Json("This is not a valid user name;")); } var user = Membership.GetUser(nurseUser.UserName); if (user == null) { return(Json("This is not a valid user name;")); } if (user.IsLockedOut) { user.UnlockUser(); } string resetPassword = user.ResetPassword(); user.ChangePassword(resetPassword, nurseUser.UserPassword); _nlogger.LogInfo("ResetSitePassword, generic user: "******"Generic nurse account has been reset!")); } else { return(null); } }
public async Task <Response> Download(JObject obj) { Opts.AppName = "Metadata"; Opts.MethodName = "Download"; try { Opts.FileName = Convert.ToString(obj["FileName"]); Opts.ResultFileName = Opts.FileName; Opts.FolderName = Convert.ToString(obj["id"]); var workbook = new Workbook(Opts.WorkingFileName); var pars = obj["properties"]["BuiltIn"].ToObject <List <DocProperty> >(); SetBuiltInProperties(workbook, pars); pars = obj["properties"]["Custom"].ToObject <List <DocProperty> >(); SetCustomProperties(workbook, pars); return(await Process((inFilePath, outPath, zipOutFolder) => { var stopWatch = new Stopwatch(); stopWatch.Start(); NLogger.LogInfo($"Excel Metadata=>{outPath}=>Start"); var task = Task.Run(() => { workbook.Save(outPath); }); var isCompleted = task.Wait(Api.Configuration.MillisecondsTimeout); if (!isCompleted) { NLogger.LogError($"Excel Metadata=>{outPath}=>{AppSettings.ProcessingTimedout}"); throw new TimeoutException(AppSettings.ProcessingTimedout); } stopWatch.Stop(); NLogger.LogInfo($"Excel Metadata=>{outPath}=>cost seconds:{stopWatch.Elapsed.TotalSeconds}"); })); } catch (Exception e) { var exception = e.InnerException ?? e; var message = $"{exception.Message} | FileName = {Convert.ToString(obj["FileName"])}"; NLogger.LogError(App, "Download", message, Convert.ToString(obj["id"])); return(await Task.FromResult(new Response { StatusCode = 500, Status = exception.Message, FolderName = Convert.ToString(obj["id"]), Text = "Metadata Download" })); } }
private static void AssembleCellsData(string inFilePath, string outPath, string templateFilename, string datasourceFilename, string datasourceName) { var dirPath = Path.GetDirectoryName(inFilePath) + "/"; var dataXlsx = dirPath + datasourceFilename; // var dataDir = Path.GetDirectoryName(dataFolderName) + "/"; // var dataXlsx = dataDir + datasourceFilename; var wb = new Workbook(dataXlsx); var ws = wb.Worksheets[0]; var totalRows = ws.Cells.LastCell.Row + 1; var totalColumns = ws.Cells.LastCell.Column + 1; var dt = ws.Cells.ExportDataTable(0, 0, totalRows, totalColumns, true); dt.TableName = datasourceName; var templateXlsx = dirPath + templateFilename; // var tempDir = Path.GetDirectoryName(tempFolderName) + '/'; // var templateXlsx = tempDir + templateFilename; var wbTemplate = new Workbook(templateXlsx); var wbd = new WorkbookDesigner(wbTemplate); wbd.SetDataSource(dt); wbd.Process(); var stopWatch = new Stopwatch(); stopWatch.Start(); NLogger.LogInfo($"Assemble=>dataXlsx:{dataXlsx}||templateXlsx:{templateXlsx}=>Start"); var task = Task.Run(() => { wbTemplate.Save(outPath); }); var isCompleted = task.Wait(Api.Configuration.MillisecondsTimeout); if (!isCompleted) { NLogger.LogError($"Assemble=>dataXlsx:{dataXlsx}||templateXlsx:{templateXlsx}=>{AppSettings.ProcessingTimedout}"); throw new TimeoutException(AppSettings.ProcessingTimedout); } stopWatch.Stop(); NLogger.LogInfo($"Assemble=>dataXlsx:{dataXlsx}||templateXlsx:{templateXlsx}=>cost seconds:{stopWatch.Elapsed.TotalSeconds}"); }
public ActionResult LogOn([Bind(Include = "UserName,Password,RemberMe")] LogOnModel model, string returnUrl) { nlogger.LogInfo("Logon Post - user:"******"Logon Post Success - user:"******"Reset") { return(RedirectToAction("ResetPassword", "Account")); } if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) { return(Redirect(returnUrl)); } else { return(RedirectToAction("Index", "Home")); } } } else { MembershipUser user = Membership.GetUser(model.UserName); if (user == null) { ModelState.AddModelError("", "The user name or password provided is incorrect."); } else { if (user.IsLockedOut) { ModelState.AddModelError("", "This user name is locked out."); //send email to admin var admins = DbUtils.GetUserInRole("Admin", 1); Utility.SendUserLockedOutMail(admins.Select(membershipUser => membershipUser.Email).ToArray(), null, model.UserName, Server, Utility.GetSiteLogonUrl(this.Request)); } else { ModelState.AddModelError("", "The user name or password provided is incorrect."); } } } } // If we got this far, something failed, redisplay form return(View(model)); }
/// <summary> /// 新增登记 /// </summary> /// <param name="registerModel"></param> /// <returns></returns> public bool Register(RegisterModel registerModel, out string errorMsg) { if (InputVerification(registerModel, out errorMsg)) { registerModel.PatientID = Guid.NewGuid().ToString("N"); registerModel.IDCard = AesUnit.AESEncrypt(registerModel.IDCard, AppConfSetting.AesKey);//AppConfSetting.AesKey registerModel.ImageStatus = "图像未到达"; var registerEntity = registerModel.MapTo <RegisterModel, tb_Register>(); var projectEntitys = registerModel.Projects.MapListTo <ApplyItem, tb_ApplyProjects>(); projectEntitys.ForEach(x => { x.RegisterID = registerEntity.PatientID; }); bool IsSuccess = false; try { if (_registerService.RequestIDIsExist(registerEntity.RequestID)) { errorMsg = "申请单ID已存在."; return(false); } _registerService.db.Ado.BeginTran(); int num = _registerService.Insert(registerEntity); int num2 = _registerService.InsertProjects(projectEntitys); _registerService.db.Ado.CommitTran(); IsSuccess = true; } catch (Exception ex) { _registerService.db.Ado.RollbackTran(); throw ex; } errorMsg = IsSuccess ? "添加成功." : "添加失败."; NLogger.LogInfo(IsSuccess ? $"登记成功,影像号:{registerModel.ImageNumber},操作员{UserName}" : $"登记失败,影像号:{registerModel.ImageNumber},操作员{UserName}", UserName); return(IsSuccess); } else { return(false); } }
public async Task <Response> Convert(string outputType) { var sessionId = Guid.NewGuid().ToString(); var action = $"Convert to {outputType}"; try { var taskUpload = Task.Run(() => UploadWorkbooks(sessionId)); taskUpload.Wait(Api.Configuration.MillisecondsTimeout); if (!taskUpload.IsCompleted) { NLogger.LogError($"Convert UploadWorkbooks=>{sessionId}=>{AppSettings.ProcessingTimedout}"); throw new TimeoutException(AppSettings.ProcessingTimedout); } var docs = taskUpload.Result; if (docs == null) { return(PasswordProtectedResponse); } if (docs.Length == 0 || docs.Length > MaximumUploadFiles) { return(MaximumFileLimitsResponse); } SetDefaultOptions(docs); Opts.AppName = "Conversion"; Opts.MethodName = "Convert"; Opts.ZipFileName = docs.Length > 1 ? "Converted files" : Path.GetFileNameWithoutExtension(docs[0].FileName); Opts.OutputType = outputType.Trim().ToLower(); if (Opts.OutputType.Equals(".html")) { if (docs.Length > 1) { Opts.CreateZip = true; } else { Opts.CreateZip = docs[0].Workbook.Worksheets.Count > 1; } } var saveOpt = GetSaveOptions(outputType.Trim().ToLower()); return(await Process((inFilePath, outPath, zipOutFolder) => { var stopWatch = new Stopwatch(); stopWatch.Start(); NLogger.LogInfo($"Convert to {outputType.Trim().ToLower()}=>{string.Join(",", docs.Select(t => t.FileName))}=>Start"); var tasks = docs.Select(doc => Task.Factory.StartNew(() => SaveDocument(doc, outPath, zipOutFolder, saveOpt))).ToArray(); var isCompleted = Task.WaitAll(tasks, Api.Configuration.MillisecondsTimeout); if (!isCompleted) { NLogger.LogError($"Convert to {outputType.Trim().ToLower()}=>{string.Join(",", docs.Select(t => t.FileName))}=>{AppSettings.ProcessingTimedout}"); throw new TimeoutException(AppSettings.ProcessingTimedout); } stopWatch.Stop(); NLogger.LogInfo($"Convert to {outputType.Trim().ToLower()}=>{string.Join(",", docs.Select(t => t.FileName))}=>cost seconds:{stopWatch.Elapsed.TotalSeconds}"); })); } catch (Exception e) { var exception = e.InnerException ?? e; var message = $"{exception.Message} | outputType = {outputType}"; NLogger.LogError(App, "Convert", message, sessionId); return(new Response { StatusCode = 500, Status = exception.Message, FolderName = sessionId, Text = action }); } }
public async Task <HttpResponseMessage> PreChart(string outputType) { var sessionId = Guid.NewGuid().ToString(); var action = $"Chart to {outputType}"; try { var taskUpload = Task.Run(() => UploadWorkbooks(sessionId)); taskUpload.Wait(Api.Configuration.MillisecondsTimeout); if (!taskUpload.IsCompleted) { NLogger.LogError($"Chart UploadWorkbooks=>{sessionId}=>{AppSettings.ProcessingTimedout}"); throw new TimeoutException(AppSettings.ProcessingTimedout); } var docs = taskUpload.Result; if (docs == null) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, PasswordProtectedResponse.Status)); } if (docs.Length == 0 || docs.Length > MaximumUploadFiles) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, MaximumFileLimitsResponse.Status)); } var guid = Guid.NewGuid().ToString(); var outFolder = AppSettings.OutputDirectory + guid; if (!Directory.Exists(outFolder)) { Directory.CreateDirectory(outFolder); } var charts = new List <PreviewChart>(); var stopWatch = new Stopwatch(); stopWatch.Start(); NLogger.LogInfo($"Chart to {outputType.Trim().ToLower()}=>{string.Join(",", docs.Select(t => t.FileName))}=>Start"); var tasks = docs.Select(doc => Task.Factory.StartNew(() => { charts.AddRange(PreCharts(doc, outFolder, guid)); })).ToArray(); var isCompleted = Task.WaitAll(tasks, Api.Configuration.MillisecondsTimeout); if (!isCompleted) { NLogger.LogError($"Chart to {outputType.Trim().ToLower()}=>{string.Join(",", docs.Select(t => t.FileName))}=>{AppSettings.ProcessingTimedout}"); throw new TimeoutException(AppSettings.ProcessingTimedout); } stopWatch.Stop(); NLogger.LogInfo($"Chart to {outputType.Trim().ToLower()}=>{string.Join(",", docs.Select(t => t.FileName))}=>cost seconds:{stopWatch.Elapsed.TotalSeconds}"); if (charts.Count > 0) { return(Request.CreateResponse(HttpStatusCode.OK, new { charts, outputType })); } var response = new Response { StatusCode = 404, Status = "There's no chart in the Excel file.", FolderName = sessionId, Text = "There's no chart in the Excel file." }; return(Request.CreateResponse(HttpStatusCode.NotFound, response)); } catch (Exception e) { var exception = e.InnerException ?? e; var message = $"{exception.Message} | outputType = {outputType}"; NLogger.LogError(App, "PreChart", message, sessionId); var response = new Response { StatusCode = 500, Status = exception.Message, FolderName = sessionId, Text = action }; return(Request.CreateResponse(HttpStatusCode.InternalServerError, response)); } }
public async Task <Response> Unlock(string passw) { var sessionId = Guid.NewGuid().ToString(); const string action = "Unlock"; try { var taskUpload = Task.Run(() => UploadFiles(sessionId, passw)); taskUpload.Wait(Api.Configuration.MillisecondsTimeout); if (!taskUpload.IsCompleted) { NLogger.LogError($"Unlock UploadWorkbooks=>{sessionId}=>{AppSettings.ProcessingTimedout}"); throw new TimeoutException(AppSettings.ProcessingTimedout); } var docs = taskUpload.Result; if (docs == null) { return new Response { Status = "Invalid password.", StatusCode = 201 } } ; if (docs.Length == 0 || docs.Length > MaximumUploadFiles) { return(MaximumFileLimitsResponse); } SetDefaultOptions(docs); Opts.AppName = "Unlock"; Opts.MethodName = "Unlock"; Opts.ZipFileName = "Unlocked files"; return(await Process((inFilePath, outPath, zipOutFolder) => { var stopWatch = new Stopwatch(); stopWatch.Start(); NLogger.LogInfo($"Unlock=>{string.Join(",", docs.Select(t => t.FileName))}=>Start"); var task = Task.Run(() => { foreach (var doc in docs) { doc.Workbook.Settings.Password = ""; SaveDocument(doc, outPath, zipOutFolder, GetSaveFormatType(doc.FileName)); } }); var isCompleted = task.Wait(Api.Configuration.MillisecondsTimeout); if (!isCompleted) { NLogger.LogError($"Unlock=>{string.Join(",", docs.Select(t => t.FileName))}=>{AppSettings.ProcessingTimedout}"); throw new TimeoutException(AppSettings.ProcessingTimedout); } stopWatch.Stop(); NLogger.LogInfo($"Unlock=>{string.Join(",", docs.Select(t => t.FileName))}=>cost seconds:{stopWatch.Elapsed.TotalSeconds}"); })); } catch (Exception e) { var exception = e.InnerException ?? e; var message = $"{exception.Message} | password = {passw}"; NLogger.LogError(App, "Unlock", message, sessionId); return(new Response { StatusCode = 201, Status = exception.Message, FolderName = sessionId, Text = action }); } }
public async Task <Response> Split(string outputType) { var sessionId = Guid.NewGuid().ToString(); var action = $"Split to {outputType}"; try { var taskUpload = Task.Run(() => UploadWorkbooks(sessionId)); taskUpload.Wait(Api.Configuration.MillisecondsTimeout); if (!taskUpload.IsCompleted) { NLogger.LogError($"Splitter UploadWorkbooks=>{sessionId}=>{AppSettings.ProcessingTimedout}"); throw new TimeoutException(AppSettings.ProcessingTimedout); } var docs = taskUpload.Result; if (docs.Length == 0 || docs.Length > MaximumUploadFiles) { return(MaximumFileLimitsResponse); } SetDefaultOptions(docs); Opts.AppName = "Splitter"; Opts.MethodName = "Split"; Opts.CreateZip = true; Opts.ZipFileName = "Splitted files"; Opts.OutputType = outputType.Trim().ToLower(); var saveOpt = GetSaveOptions(outputType.Trim().ToLower()); return(await Process((inFilePath, outPath, zipOutFolder) => { var stopWatch = new Stopwatch(); stopWatch.Start(); NLogger.LogInfo($"Split to {outputType.Trim().ToLower()}=>{string.Join(",", docs.Select(t => t.FileName))}=>Start"); var task = Task.Run(() => { foreach (var doc in docs) { var workbook = doc.Workbook; var worksheetCollection = workbook.Worksheets; var i = worksheetCollection.Count; for (var j = 0; j < i; j++) { var sheet = worksheetCollection[j]; var newWorkbook = new Workbook(); newWorkbook.Worksheets[0].Copy(sheet); var documentInfo = new DocumentInfo { Workbook = newWorkbook }; string ext; if (outputType.Equals("-")) { ext = Path.GetExtension(doc.FileName); } else { ext = "." + outputType.Trim().ToLower(); } var l = outPath.Split('.'); var newOutPath = l[0] + "_" + sheet.Name + ext; newOutPath = NewOutPath(newOutPath); newWorkbook.Save(newOutPath); documentInfo.FileName = Path.GetFileName(newOutPath); SaveDocument(documentInfo, newOutPath, zipOutFolder, saveOpt); } } }); var isCompleted = task.Wait(Api.Configuration.MillisecondsTimeout); if (!isCompleted) { NLogger.LogError($"Split to {outputType.Trim().ToLower()}=>{string.Join(",", docs.Select(t => t.FileName))}=>{AppSettings.ProcessingTimedout}"); throw new TimeoutException(AppSettings.ProcessingTimedout); } stopWatch.Stop(); NLogger.LogInfo($"Split to {outputType.Trim().ToLower()}=>{string.Join(",", docs.Select(t => t.FileName))}=>cost seconds:{stopWatch.Elapsed.TotalSeconds}"); })); } catch (Exception e) { var exception = e.InnerException ?? e; var message = $"{exception.Message} | outputType = {outputType}"; NLogger.LogError(App, "Split", message, sessionId); return(new Response { StatusCode = 500, Status = exception.Message, FolderName = sessionId, Text = action }); } }
public JsonResult CreateName() { var dto = new DTO(); var siteId = DbUtils.GetSiteidIdForUser(HttpContext.User.Identity.Name); var lastName = Request.Params["LastName"]; var firstName = Request.Params["FirstName"]; var empId = Request.Params["EmpID"]; var email = Request.Params["Email"]; dto.ReturnValue = DbPostTestsUtils.DoesStaffNameExist(lastName, firstName, siteId); if (dto.ReturnValue != 0) { if (dto.ReturnValue == -1) { dto.Message = "There was an error in determinig if this name was already in the database."; } if (dto.ReturnValue == 0) { dto.Message = "This name already exists. Select your name from the drop down list."; } _logger.LogInfo("PostTests.CreateName - message: " + dto.Message + ", name: " + lastName + "," + firstName + ", site: " + siteId.ToString(CultureInfo.InvariantCulture)); return(Json(dto)); } dto.ReturnValue = DbPostTestsUtils.AddNurseStaff(lastName, firstName, empId, siteId, email); var staff = NotificationUtils.GetStaffForEvent(3, siteId); string siteName = DbUtils.GetSiteNameForUser(User.Identity.Name); var u = new UrlHelper(Request.RequestContext); Debug.Assert(Request.Url != null, "Request.Url != null"); var url = "http://" + Request.Url.Host + u.RouteUrl("Default", new { Controller = "Account", Action = "Logon" }); Utility.SendNurseAccountCreatedMail(staff.ToArray(), new[] { Request.Params["Email"] }, firstName + " " + lastName, siteName, empId, Server, url); _logger.LogInfo("PostTests.CreateName - message: " + dto.Message + ", name: " + lastName + "," + firstName + ", site: " + siteId.ToString(CultureInfo.InvariantCulture)); return(Json(dto)); }
public static bool InitializeSs(string physicalAppPath, string studyId, SSInsertionData ssInsert, int sensorType, int language) { physicalAppPath = Encoder.HtmlEncode(physicalAppPath); studyId = Encoder.HtmlEncode(studyId); if (DbUtils.IsStudyIdValid(studyId) != 1) { return(false); } Nlogger.LogInfo("SsUtils.InitializeSS: " + studyId); var path = physicalAppPath + "sstemplate\\"; var file = path + "Checks_tmpl.xlsm"; var file2 = path + studyId + ".xlsm"; var iSensorType = sensorType; var iGGonlyModeOn = 0; if (iSensorType == 0) { iGGonlyModeOn = 1; } if (!File.Exists(file2)) { File.Copy(file, file2); } Nlogger.LogInfo("SsUtils.InitializeSS - insert data into ss: " + studyId); try { using (var document = SpreadsheetDocument.Open(file2, true)) { var wbPart = document.WorkbookPart; var theSheet = wbPart.Workbook.Descendants <Sheet>().FirstOrDefault(s => s.Name == "ParameterDefaults"); //WorksheetPart wsPart = (WorksheetPart)wbPart.GetPartById(theSheet.Id); UpdateValue(wbPart, "D2", studyId, 0, true, "ParameterDefaults"); UpdateValue(wbPart, "E2", studyId, 0, true, "ParameterDefaults"); UpdateValue(wbPart, "D3", ssInsert.BodyWeight, 0, false, "ParameterDefaults"); UpdateValue(wbPart, "E3", ssInsert.BodyWeight, 0, false, "ParameterDefaults"); UpdateValue(wbPart, "D4", ssInsert.InsulinConcentration, 0, false, "ParameterDefaults"); UpdateValue(wbPart, "E4", ssInsert.InsulinConcentration, 0, false, "ParameterDefaults"); UpdateValue(wbPart, "D5", ssInsert.TargetLow, 0, false, "ParameterDefaults"); UpdateValue(wbPart, "E5", ssInsert.TargetLow, 0, false, "ParameterDefaults"); UpdateValue(wbPart, "D6", ssInsert.TargetHigh, 0, false, "ParameterDefaults"); UpdateValue(wbPart, "E6", ssInsert.TargetHigh, 0, false, "ParameterDefaults"); UpdateValue(wbPart, "D47", iGGonlyModeOn.ToString(), 0, false, "ParameterDefaults"); UpdateValue(wbPart, "D49", iSensorType.ToString(), 0, false, "ParameterDefaults"); UpdateValue(wbPart, "D50", "", 0, false, "ParameterDefaults"); UpdateValue(wbPart, "D51", "", 0, false, "ParameterDefaults"); UpdateValue(wbPart, "D53", language.ToString(), 0, false, "ParameterDefaults"); if (sensorType > 0) { UpdateValue(wbPart, "A2", "1", 0, true, "SensorData"); UpdateValue(wbPart, "B2", ssInsert.MonitorDate, 0, true, "SensorData"); UpdateValue(wbPart, "C2", ssInsert.MonitorTime, 0, true, "SensorData"); UpdateValue(wbPart, "D2", ssInsert.MonitorId, 0, true, "SensorData"); UpdateValue(wbPart, "E2", ssInsert.TransmitterId, 0, true, "SensorData"); UpdateValue(wbPart, "F2", ssInsert.SensorLot, 0, true, "SensorData"); UpdateValue(wbPart, "G2", ssInsert.InserterFirstName, 0, true, "SensorData"); UpdateValue(wbPart, "H2", ssInsert.InserterLastName, 0, true, "SensorData"); UpdateValue(wbPart, "I2", GetSensorLocationString(ssInsert.SensorLocation), 0, true, "SensorData"); UpdateValue(wbPart, "J2", "Initial Insertion", 0, true, "SensorData"); UpdateValue(wbPart, "K2", DateTime.Today.ToShortDateString(), 0, true, "SensorData"); UpdateValue(wbPart, "L2", ssInsert.ExpirationDate, 0, true, "SensorData"); } document.Close(); } //get the path to the site folder var siteCode = studyId.Substring(0, 2); var sitePath = physicalAppPath + "xcel\\" + siteCode; //if it doesn't exist then create it if (!Directory.Exists(sitePath)) { Directory.CreateDirectory(sitePath); } var file3 = sitePath + "\\" + studyId + ".xlsm"; if (File.Exists(file3)) { File.Delete(file3); } File.Move(file2, file3); } catch (Exception ex) { Nlogger.LogError(ex); return(false); } return(true); }
public ActionResult Initialize() { _logger.LogInfo("InitializeSubject.Initialize: GET"); int siteId = DbUtils.GetSiteidIdForUser(User.Identity.Name); var insCons = DbUtils.GetInsulinConcItems(siteId); insCons.Insert(0, new InsulinConcentration { Name = "Select ", Concentration = "" }); ViewBag.Concentrations = new SelectList(insCons, "Concentration", "Name"); var sl = DbUtils.GetLookupItems("SensorLocations"); if (sl.Count == 0) { throw new Exception("There was an error retrieving the senor locations list from the database"); } sl.Insert(0, new Site { ID = 0, Name = "Select" }); var inititalizeSiteSpecific = DbUtils.GetSiteSpecificForInitialize(siteId); ViewBag.SensorLocations = new SelectList(sl, "ID", "Name"); ViewBag.SensorType = inititalizeSiteSpecific.Sensor; ViewBag.UseCafpint = inititalizeSiteSpecific.UseCalfpint; ViewBag.UseVampjr = inititalizeSiteSpecific.UseVampjr; _logger.LogInfo("InitializeSubject.Initialize: GET, Site: " + siteId); return(View()); }
public ActionResult Index() { string role = "Coordinator"; if (HttpContext.User.IsInRole("Admin")) { role = "Admin"; } ViewBag.Role = role; if (role == "Admin") { var sites = DbUtils.GetSitesActive(); if (sites.Count == 0) { throw new Exception("There was an error retreiving the sites list from the database"); } sites.Insert(0, new Site { ID = 0, Name = "Select a site", SiteID = "" }); ViewBag.Sites = new SelectList(sites, "ID", "Name"); } _nlogger.LogInfo("Admin Index - user: "******", role: " + role); List <MembershipUser> users = new List <MembershipUser>(); if (role == "Admin") { users = AccountUtils.GetAllUsers(); } else { int siteID = DbUtils.GetSiteidIdForUser(HttpContext.User.Identity.Name); users = DbUtils.GetUsersForSite(siteID); } ViewBag.Users = new SelectList(users, "UserName", "UserName"); if (!SiteMapManager.SiteMaps.ContainsKey("admin")) { SiteMapManager.SiteMaps.Register <XmlSiteMap>("admin", sitmap => sitmap.LoadFrom("~/admin.sitemap")); } return(View()); }
public async Task <Response> AddTextWatermark(string watermarkText, string watermarkColor) { var sessionId = Guid.NewGuid().ToString(); const string action = "AddTextWatermark"; try { var taskUpload = Task.Run(() => UploadWorkbooks(sessionId)); taskUpload.Wait(Api.Configuration.MillisecondsTimeout); if (!taskUpload.IsCompleted) { NLogger.LogError($"Watermark UploadWorkbooks=>{sessionId}=>{AppSettings.ProcessingTimedout}"); throw new TimeoutException(AppSettings.ProcessingTimedout); } var docs = taskUpload.Result; if (docs == null) { return(PasswordProtectedResponse); } if (docs.Length == 0 || docs.Length > MaximumUploadFiles) { return(MaximumFileLimitsResponse); } var color = GetColor(watermarkColor); SetDefaultOptions(docs); Opts.AppName = "Watermark"; Opts.MethodName = "AddTextWatermark"; Opts.ZipFileName = docs.Length > 1 ? "Watermark files" : Path.GetFileNameWithoutExtension(docs[0].FileName); return(await Process((inFilePath, outPath, zipOutFolder) => { var stopWatch = new Stopwatch(); stopWatch.Start(); NLogger.LogInfo($"Watermark=>{string.Join(",", docs.Select(t => t.FileName))}=>Start"); var task = Task.Run(() => { foreach (var doc in docs) { var workbook = doc.Workbook; foreach (var sheet in workbook.Worksheets) { //// Add Watermark var addTextEffect = sheet.Shapes.AddTextEffect(MsoPresetTextEffect.TextEffect1, watermarkText, "Arial Black", 60, true, true , 18, 8, 1, 1, 130, 800); addTextEffect.Fill.FillType = FillType.Solid; addTextEffect.Fill.SolidFill.Color = color; } SaveDocument(doc, outPath, zipOutFolder, GetSaveFormatType(doc.FileName)); } }); var isCompleted = task.Wait(Api.Configuration.MillisecondsTimeout); if (!isCompleted) { NLogger.LogError($"Watermark=>{string.Join(",", docs.Select(t => t.FileName))}=>{AppSettings.ProcessingTimedout}"); throw new TimeoutException(AppSettings.ProcessingTimedout); } stopWatch.Stop(); NLogger.LogInfo($"Watermark =>{string.Join(",", docs.Select(t => t.FileName))}=>cost seconds:{stopWatch.Elapsed.TotalSeconds}"); })); } catch (Exception e) { var exception = e.InnerException ?? e; var message = $"{exception.Message} | watermarkText = {watermarkText} | watermarkColor = {watermarkColor}"; NLogger.LogError(App, "AddTextWatermark", message, sessionId); return(new Response { StatusCode = 500, Status = exception.Message, FolderName = sessionId, Text = action }); } }
public FilePathResult GetFile(string fileName, string folder) { fileName = Encoder.HtmlEncode(fileName); folder = Encoder.HtmlEncode(folder); if (fileName.StartsWith("Site~")) { GetSiteFileNameAndFolder(ref fileName, ref folder); } var docPath = @"C:\Dropbox.New\Dropbox\HalfPint Website Docs Library"; if (folder != null) { if (folder.Length > 0) { if (folder.IndexOf('~') > -1) { folder = folder.Replace('~', '\\'); } docPath = Path.Combine(docPath, folder); } } var file = Path.Combine(docPath, fileName); var contentType = ""; var pos = 0; pos = fileName.LastIndexOf("."); var ext = fileName.Substring(pos).ToLower(); switch (ext) { case ".docx": contentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break; case ".doc": contentType = "application/msword"; break; case ".ppt": contentType = "application/vnd.ms-powerpoint"; break; case ".pptx": contentType = "application/vnd.openxmlformats-officedocument.presentationml.presentation"; break; case ".xlsx": contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; case ".xls": contentType = "application/msexcel"; break; case ".pdf": contentType = "application/pdf"; break; case ".exe": contentType = "application/exe"; break; case ".dll": contentType = "application/dll"; break; case ".msi": contentType = "application/msi"; break; case ".mp4": contentType = "video/mp4"; break; } nlogger.LogInfo("Download.GetFile: " + fileName); return(this.File(file, contentType, fileName)); }
public async Task <Response> Merge(string outputType, string mergerType) { var sessionId = Guid.NewGuid().ToString(); var action = $"Merge to {outputType}"; try { var taskUpload = Task.Run(() => UploadWorkbooks(sessionId)); taskUpload.Wait(Api.Configuration.MillisecondsTimeout); if (!taskUpload.IsCompleted) { NLogger.LogError($"Merge UploadWorkbooks=>{sessionId}=>{AppSettings.ProcessingTimedout}"); throw new TimeoutException(AppSettings.ProcessingTimedout); } var docs = taskUpload.Result; if (docs == null) { return(PasswordProtectedResponse); } if (docs.Length <= 1 || docs.Length > MaximumUploadFiles) { return(MaximumFileLimitsResponse); } SetDefaultOptions(docs); Opts.AppName = "Merger"; Opts.MethodName = "Merge"; Opts.ResultFileName = $"Merged file{Opts.OutputType}"; Opts.CreateZip = Opts.OutputType.Equals(".html"); Opts.ZipFileName = "Merged file"; Opts.FolderName = docs[0].FolderName; Opts.DeleteSourceFolder = true; var saveOpt = GetSaveOptions(outputType.Trim().ToLower()); return(await Process((inFilePath, outPath, zipOutFolder) => { var outWorkbook = new Workbook(); if (!IsImage(docs[0].FileName)) { outWorkbook.Worksheets.RemoveAt(0); } var index = 0; foreach (var doc in docs) { switch (Path.GetExtension(doc.FileName)) { case ".jpg": case ".png": var upperLeftRow = outWorkbook.Worksheets[0].Pictures.Count > 0 ? outWorkbook.Worksheets[0].Pictures[index].LowerRightRow : index; index = outWorkbook.Worksheets[0].Pictures.Add(upperLeftRow, 0, doc.FileName); break; case ".html": case ".mht": case ".mhtml": case ".xlsx": case ".xls": case ".xlsm": case ".xlsb": case ".ods": case ".csv": case ".tsv": outWorkbook.Combine(new Workbook(doc.FileName)); break; } } if (mergerType.Equals("s")) { outWorkbook = MergeToSheet(outWorkbook); } var documentInfo = new DocumentInfo { FileName = outPath, FolderName = Path.GetDirectoryName(outPath), Workbook = outWorkbook }; var stopWatch = new Stopwatch(); stopWatch.Start(); NLogger.LogInfo($"Merge to {outputType.Trim().ToLower()}=>{string.Join(",", docs.Select(t => t.FileName))}=>Start"); var task = Task.Run(() => { SaveDocument(documentInfo, outPath, zipOutFolder, saveOpt); }); var isCompleted = task.Wait(Api.Configuration.MillisecondsTimeout); if (!isCompleted) { NLogger.LogError($"Merge to {outputType.Trim().ToLower()}=>{string.Join(",", docs.Select(t => t.FileName))}=>{AppSettings.ProcessingTimedout}"); throw new TimeoutException(AppSettings.ProcessingTimedout); } stopWatch.Stop(); NLogger.LogInfo($"Merge to {outputType.Trim().ToLower()}=>{string.Join(",", docs.Select(t => t.FileName))}=>cost seconds:{stopWatch.Elapsed.TotalSeconds}"); })); } catch (Exception e) { var exception = e.InnerException ?? e; var message = $"{exception.Message} | outputType = {outputType} | mergerType = {mergerType}"; NLogger.LogError(App, "Merge", message, sessionId); return(new Response { StatusCode = 500, Status = exception.Message, FolderName = sessionId, Text = action }); } }