public ActionResult DoToFullMemeber([Bind(Include = "staffNr, isPassCheck, beFullAt, checkAt,beFullChecker,checkScore,remark")] FullMemberRecord record) { ResultMessage msg = new ResultMessage(); if (record.isPassCheck) { if (record.beFullAt == null) { msg.Content = "请填写转正日期"; return(Json(msg)); } } IStaffService ss = new StaffService(Settings.Default.db); msg = ss.ToFullMember(record); // 创建转正记录##User## try { IMessageRecordService mrs = new MessageRecordService(Settings.Default.db); mrs.CreateStaffFullMemeberMessage(record.staffNr, (Session["user"] as User).id); } catch { } return(Json(msg)); }
public ActionResult DoResign([Bind(Include = "resignTypeId, staffNr, resignAt,resignChecker,remark")] ResignRecord record) { //用户创建员工离职记录: //• 离职原因(选择,不可空) //• 离职日期(选择,不可空) //• 离职批准人(输入,可空) //• 备注(输入,可空) //如果离职记录创建成功,则将人员在职状态改为:离职 ResultMessage msg = new ResultMessage(); IResignRecordService ss = new ResignRecordService(Settings.Default.db); msg = ss.Create(record); if (msg.Success) { IStaffService staffSi = new StaffService(Settings.Default.db); Staff staff = staffSi.FindByNr(record.staffNr); staff.workStatus = (int)WorkStatus.OffWork; staff.resignAt = record.resignAt; staffSi.Update(staff); } // 创建离职记录##User## try { IMessageRecordService mrs = new MessageRecordService(Settings.Default.db); mrs.CreateStaffResignMessage(record.staffNr, (Session["user"] as User).id); } catch { } return(Json(msg)); }
public ActionResult UpdateActHour(int id) { ResultMessage msg = new ResultMessage(); double actHour = 0; double actExtraHour = 0; if (!double.TryParse(Request.Form["actWorkingHourRound"], out actHour)) { msg.Content = "工作日工时必须是数字"; return(Json(msg)); } // 加班时间可以为空 // 如果加班为空, 直接写入0 // 如果不为空, 则所填必须为数字 if (!string.IsNullOrWhiteSpace(Request.Form["actExtraWorkingHourRound"]) && !double.TryParse(Request.Form["actExtraWorkingHourRound"], out actExtraHour)) { msg.Content = "加班工时必须是数字"; return(Json(msg)); } bool handled = false; if (!bool.TryParse(Request.Form["isExceptionHandled"], out handled)) { msg.Content = "是否处理值非法,请刷新页面重新填写"; return(Json(msg)); } IAttendanceRecordCalService ss = new AttendanceRecordCalService(Settings.Default.db); AttendanceRecordCal record = ss.FindById(id); string oldHour = record.actWorkingHour.ToString(); string oldActHour = record.actExtraWorkingHour.ToString(); //判断加班类型是否为空, 如果为空, 就返回null // 如果做判断,直接使用int.Parse转,会报异常 int?ExtraWorkType = null; if (!string.IsNullOrWhiteSpace(Request.Form["extraWorkType"])) { ExtraWorkType = int.Parse(Request.Form["extraWorkType"]); } msg = ss.UpdateActHourById(id, actHour, actExtraHour, handled, Request.Form["remark"], ExtraWorkType); string newHour = actHour.ToString(); string newActHour = actExtraHour.ToString(); // 创建调整考勤记录##User## try { IMessageRecordService mrs = new MessageRecordService(Settings.Default.db); mrs.CreateStaffUpdateAttHourMessage(record.staffNr, (Session["user"] as User).id, oldHour, newHour, oldActHour, newActHour); } catch { } return(Json(msg)); }
/// <summary> /// Handle the "login" command /// </summary> /// <param name="command">Command to parse and execute</param> /// <param name="response">Message object to send to the user</param> private void HandleLoginCommand(Command command, Message response) { // Try authentication var authUser = AuthenticationService.AuthenticateUser(command.Arguments[0], command.Arguments[1]); // Check if authentication succeeded if (authUser == null) { response.Type = MessageType.Error; response.Content = "Wrong credentials."; Net.SendMessage(_tcpClient.GetStream(), response); return; } // Check if a client is already connected to this account foreach (var user in ConnectedClients.Keys) { if (user.Username == authUser.Username) { response.Type = MessageType.Error; response.Content = "Another client is already connected to this account"; Net.SendMessage(_tcpClient.GetStream(), response); return; } } _user = authUser; // Add client to list of connected clients ConnectedClients.Add(_user, _tcpClient); response.Type = MessageType.Info; response.Content = $"Logged in as {_user.Username}."; Net.SendMessage(_tcpClient.GetStream(), response); // Gather unread private messages List <PrivateMessageRecord> privateMessages = MessageRecordService.GetPrivateMessages(_user); //if (privateMessages.Count == 0) return; // Build the private messages block StringBuilder sb = new StringBuilder(); sb.AppendLine($"=== You received {privateMessages.Count} private messages during your absence ==="); foreach (var message in privateMessages) { sb.AppendLine($"[From: {message.Sender}] - {message.Content}"); } sb.Append("========================================="); response.Type = MessageType.Message; response.Content = sb.ToString(); Net.SendMessage(_tcpClient.GetStream(), response); // Clear the list of unread private messages MessageRecordService.ClearPrivateMessages(_user); }
public JsonResult changeJob(string[] changeJob) { //string StaffNr = changeJob[0]; //int CompanyId = Convert.ToInt16(changeJob[1]); //int DepartmentId = Convert.ToInt16(changeJob[2]); //int JobTitleId = Convert.ToInt16(changeJob[3]); IStaffService ss = new StaffService(Settings.Default.db); Staff staff = ss.FindByNr(changeJob[0]); string oldCompany = staff.Company == null ? string.Empty : staff.Company.name; string oldDepartment = staff.Department == null ? string.Empty : staff.Department.name; string oldJobTitle = staff.JobTitle == null ? string.Empty : staff.JobTitle.name; string oldJobStr = string.Format("{0}-{1}-{2}", oldCompany, oldDepartment, oldJobTitle); bool JobReturn = ss.ChangeJob(changeJob); ResultMessage msg; if (JobReturn) { msg = new ResultMessage() { Success = true }; //将ID返回给前端用来删除 msg.Content = "调岗成功"; // 创建调岗记录##User## try { Staff newStaff = ss.FindByNr(changeJob[0]); string newCompany = newStaff.Company == null ? string.Empty : newStaff.Company.name; string newDepartment = newStaff.Department == null ? string.Empty : newStaff.Department.name; string newJobTitle = newStaff.JobTitle == null ? string.Empty : newStaff.JobTitle.name; string newJobStr = string.Format("{0}-{1}-{2}", newCompany, newDepartment, newJobTitle); IMessageRecordService mrs = new MessageRecordService(Settings.Default.db); mrs.CreateStaffShiftJobMessage(changeJob[0], (Session["user"] as User).id, oldJobStr, newJobStr); } catch { } } else { msg = new ResultMessage() { Success = false }; msg.Content = "调岗失败"; } return(Json(msg, JsonRequestBehavior.DenyGet)); }
public ActionResult Index(string allOrUnread = "unread", int?page = null) { ViewBag.allOrUnread = allOrUnread; MessageRecordSearchModel q = new MessageRecordSearchModel(); int pageIndex = PagingHelper.GetPageIndex(page); IMessageRecordService mrs = new MessageRecordService(Settings.Default.db); IPagedList <MessageRecordView> records = mrs .GetByCateAndAllOrUnread(MessageRecordCatetory.Alert, (allOrUnread == "all" ? true : false)) .ToPagedList <MessageRecordView>(pageIndex, Settings.Default.pageSize); ViewBag.Query = q; return(View(records)); }
private void Sf_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { try { string propertyName = e.PropertyName; if ((!string.IsNullOrEmpty(propertyName)) && Staff.ValueName.ContainsKey(propertyName)) { Staff s = sender as Staff; object oldOValue = s.GetType().GetProperty(e.PropertyName + "_Was").GetValue(s, null); string oldValue = oldOValue == null ? "" : oldOValue.ToString(); object newOValue = s.GetType().GetProperty(e.PropertyName).GetValue(s, null); string newValue = newOValue == null ? "" : newOValue.ToString(); IMessageRecordService mrs = new MessageRecordService(this.context.Connection.ConnectionString); mrs.CreateStaffBasicEdited(s.nr, s.OperatorId, Staff.ValueName[propertyName], oldValue, newValue); } } catch { } }
public ActionResult Search([Bind(Include = "StaffNr,StaffNrAct")] MessageRecordSearchModel q) { string allOrUnread = Request.QueryString["allOrUnread"]; ViewBag.allOrUnread = allOrUnread; int pageIndex = 0; int.TryParse(Request.QueryString.Get("page"), out pageIndex); pageIndex = PagingHelper.GetPageIndex(pageIndex); IMessageRecordService mrs = new MessageRecordService(Settings.Default.db); IPagedList <MessageRecordView> records = mrs .GetByCateAndAllOrUnread(MessageRecordCatetory.Alert, (allOrUnread == "all" ? true : false), q) .ToPagedList <MessageRecordView>(pageIndex, Settings.Default.pageSize); ViewBag.Query = q; return(View("Index", records)); }
/// <summary> /// 分发任务 /// </summary> /// <param name="ts"></param> public void Dispatch(TaskSetting ts) { ITaskRoundService trs = new TaskRoundService(this.DbString); TaskRound taskRound = null; try { if (ts.LogTaskRound) { taskRound = trs.Create(ts.TaskType); } LogUtil.Logger.Info("获取到任务信息:"); LogUtil.Logger.Info(ts.TaskType); LogUtil.Logger.Info(ts.JsonParameter); switch (ts.TaskType) { case TaskType.CalAtt: CalAttParameter calAtt = JSONHelper.parse <CalAttParameter>(ts.JsonParameter); IAttendanceRecordService ars = new AttendanceRecordService(this.DbString); //ars.CalculateAttendRecord(calAtt.AttCalculateDateTime, calAtt.ShiftCodes); ars.CalculateAttendRecordWithExtrawork(calAtt.AttCalculateDateTime); // add send email to queue SendAttWarnEmailMessage(calAtt.AttCalculateDateTime, calAtt.ShiftCodes); // create message record SendAttWarnMsgRecordMessage(calAtt.AttCalculateDateTime, calAtt.ShiftCodes); break; case TaskType.SendMail: break; case TaskType.SendAttExceptionMail: AttWarnEmailParameter attWarn = JSONHelper.parse <AttWarnEmailParameter>(ts.JsonParameter); IAttendanceRecordCalService arcs = new AttendanceRecordCalService(this.DbString); arcs.SendWarnEmail(attWarn.AttWarnDate); break; case TaskType.ToFullMemeberWarn: IMessageRecordService mrs = new MessageRecordService(this.DbString); mrs.CreateToFullMemberMessage(ts.TaskCreateAt.Date); break; case TaskType.AttExceptionWarn: AttWarnParameter attWarnP = JSONHelper.parse <AttWarnParameter>(ts.JsonParameter); IMessageRecordService mrss = new MessageRecordService(this.DbString); mrss.CreateAttExceptionMessage(attWarnP.AttWarnDate); break; case TaskType.ReStartSvc: this.IsRestartSvc = true; break; default: throw new TaskTypeNotSupportException(); } if (ts.LogTaskRound && taskRound != null) { trs.FinishTaskByUniqId(taskRound.uuid, "任务运行成功"); } } catch (Exception ex) { string msg = string.Format("{0}: {1}", ex.Message, ex.StackTrace); LogUtil.Logger.Error("任务执行错误:", ex); try { if (ts.LogTaskRound && taskRound != null) { trs.FinishTaskByUniqId(taskRound.uuid, msg, true); } } catch { } throw new Exception(msg, ex); } }