/// <summary> /// DimissionApply对象转为数据库对象 /// </summary> /// <param name="flag">标志,1为添加,2为修改需要复制修改人信息</param> /// <returns>T_HR_Dimission数据库对象</returns> public T_HR_Dimission ToT_HR_Dimission(int flag) { T_HR_Dimission di = new T_HR_Dimission(); di.ID = ID; di.StaffID = StaffID; di.DimissionTime = DimissionTime; di.DimissionType = DimissionType; di.DimissionReason = DimissionReason; di.ReasonType = ReasonType; di.Num = Num; di.IsValid = IsValid; di.Remark = Remark; di.CreaterName = CreaterName; di.CreateTime = CreateTime; di.OperationListID = OperationListID; if (flag != 1) { di.EditorName = EditorName; di.EditeTime = EditeTime; } return(di); }
public ActionResult AddOrEditDimission(DimissionApply dimission) { var dt = (from o in entities.T_HR_Dimission where o.StaffID == dimission.StaffID && o.IsValid == true select o).ToList(); if (!dt.Any()) { DirectResult r = new DirectResult(); T_HR_Dimission dimissionupdate = entities.T_HR_Dimission.Find(dimission.ID); if (dimissionupdate == null)//为空为添加 { dimission.ID = Guid.NewGuid().ToString(); dimission.OperationListID = Guid.NewGuid().ToString(); dimission.Num = GetDimissionNum(dimission.StaffID); dimission.IsValid = true; dimission.CreaterName = new LoginUser().EmployeeId; dimission.CreateTime = DateTime.Now; T_CH_Operation_list newList = new T_CH_Operation_list(); newList.ID = dimission.OperationListID; newList.State = 1;//审核中 newList.Check_flowID = dimission.CheckFlowId; newList.Check_funcID = dimission.FuncId; newList.CreateTime = DateTime.Now; newList.Creator = new LoginUser().EmployeeId; newList.Url = Url.Action("CheckDimission", "Dimission", new { id = dimission.ID }); entities.T_HR_Dimission.Add(dimission.ToT_HR_Dimission(1)); entities.T_CH_Operation_list.Add(newList); try { entities.SaveChanges(); r.Success = true; X.Msg.Alert("提示", "保存成功!", new JFunction { Fn = "closewindow" }).Show(); } catch (Exception e) { X.Msg.Alert("警告", "数据保存失败!<br /> note:" + e.Message, new JFunction { Fn = "closewindow" }).Show(); r.Success = false; } } else//否则为修改 { dimission.EditorName = new LoginUser().EmployeeId; dimission.EditeTime = DateTime.Now; dimission.ID = Guid.NewGuid().ToString(); dimission.OperationListID = Guid.NewGuid().ToString(); dimission.IsValid = true; dimissionupdate.IsValid = false; T_CH_Operation_list newList = new T_CH_Operation_list(); newList.ID = dimission.OperationListID; newList.State = (int)CheckState.Checking;;//审核中 newList.Check_flowID = dimission.CheckFlowId; newList.Check_funcID = dimission.FuncId; newList.CreateTime = DateTime.Now; newList.Creator = new LoginUser().EmployeeId; newList.Url = Url.Action("CheckDimission", "Dimission", new { id = dimission.ID }); entities.T_HR_Dimission.Add(dimission.ToT_HR_Dimission(2)); entities.T_CH_Operation_list.Add(newList); try { entities.SaveChanges(); r.Success = true; X.Msg.Alert("提示", "保存成功!", new JFunction { Fn = "closewindow" }).Show(); } catch (Exception e) { X.Msg.Alert("警告", "数据保存失败!<br /> note:" + e.Message, new JFunction { Fn = "closewindow" }).Show(); r.Success = false; } } return(r); } else { X.Msg.Alert("警告", "该员工已存在离职记录,不可重复添加!").Show(); return(this.Direct()); } }