public bool SaveHolidaySetting(HolidaySetting[] holidays, bool isInit) { using (TeamDBContext context = new TeamDBContext()) { DatabaseAccess dba = context.DatabaseAccess(); DbCommand cmd = dba.CreateCommand("INSERT INTO HolidaySettings VALUES (@HolidayDate, @IsWeekend, @Festival, @SettingYear);"); DbCommand cmd1 = dba.CreateCommand(""); if (!isInit) { cmd1.CommandText = "DELETE FROM HolidaySettings WHERE HolidayDate = @p1"; cmd1.CommandType = CommandType.Text; dba.AddInParameter(cmd1, "p1", null); } var val = 0; var val1 = 0; var len = holidays.Length; using (var tran = dba.BeginTransaction()) { if (!isInit) { foreach (HolidaySetting hs in holidays) { cmd1.Parameters[0].Value = hs.HolidayDate; val1 += dba.ExecuteNonQuery(cmd1); } } val = dba.ExecuteNonQueryMultiple(cmd, holidays); tran.Complete(); } return(val == len); } }
public List <ProjectModel> GetSubprojects(Guid projectId) { using (TeamDBContext context = new TeamDBContext()) { DatabaseAccess dba = context.DatabaseAccess(); DbCommand cmd = dba.CreateCommand("SELECT p.*, ue.RealName AS PMName, di1.DictItemValue AS ProjectTypeName, di2.DictItemValue AS StatusName FROM Project p LEFT JOIN auth_UserExtend ue ON p.PM = ue.UserId INNER JOIN sys_DictionaryItem di1 ON p.ProjectType = di1.DictItemId LEFT JOIN sys_DictionaryItem di2 ON p.[Status] = di2.DictItemId WHERE p.ParentId = @ParentId ORDER BY p.BeginTime ASC"); dba.AddInParameter(cmd, "ParentId", DbType.Guid, projectId); List <ProjectModel> data = dba.ExecuteReader <List <ProjectModel> >( cmd, (d, r) => { d.Add(new ProjectModel { ProjectId = Guid.Parse(r["ProjectId"].ToString()), ProjectName = r.GetStringOrNull("ProjectName"), ProjectType = r.GetStringOrNull("ProjectType"), BeginTime = r.GetDateTimeOrDefault("BeginTime"), EndTime = r.GetDateTimeOrDefault("EndTime"), Status = r.GetStringOrNull("Status"), PM = r.GetGuidOrNull("PM"), ParentId = r.GetGuidOrNull("ParentId"), Description = r.GetStringOrNull("Description"), ChildrenCount = 0, PMName = r.GetStringOrNull("PMName"), ProjectTypeName = r.GetStringOrNull("ProjectTypeName"), StatusName = r.GetStringOrNull("StatusName") }); }); return(data); } }
public object SaveOrganization(Organization org) { using (TeamDBContext context = new TeamDBContext()) { Guid?id = null; if (org.OrganizationId == Guid.Empty) { org.OrganizationId = Guid.NewGuid(); context.Organizations.Add(org); id = org.OrganizationId; } else { Organization oldOrg = context.Organizations.Where(n => n.OrganizationId == org.OrganizationId).Single(); if (oldOrg == null) { throw new Exception("不存在此机构!"); } oldOrg.OrganizationType = org.OrganizationType; oldOrg.OrganizationName = org.OrganizationName; oldOrg.FullName = org.FullName; oldOrg.ParentId = org.ParentId; oldOrg.CEOId = org.CEOId; oldOrg.CEO = org.CEO; oldOrg.LinePhoneNumber = org.LinePhoneNumber; oldOrg.LinePhoneNumber2 = org.LinePhoneNumber2; oldOrg.Address = org.Address; id = oldOrg.OrganizationId; } int countChange = context.SaveChanges(); return(new { Result = countChange > 0, ID = id }); } }
public bool UpdateRequestLeaveBill(RequestLeaveBill bill, IUserData user, bool amStart, bool amEnd) { Guard.ArgumentNotNull(bill, "bill"); using (TeamDBContext context = new TeamDBContext()) { bill.WorkDayCount = CalculatetWorkdayCount(context, bill, amStart, amEnd); if (bill.WorkDayCount == 0) { throw new ModuleLogicException("请假的工作日为0天,请检查请假的开始结束时间是否填写正确"); } RequestLeaveBill old = context.RequestLeaveBills .Where(p => p.Id == bill.Id) .Single(); old.LeaveStart = bill.LeaveStart; old.LeaveEnd = bill.LeaveEnd; old.LeaveType = bill.LeaveType; old.WorkDayCount = bill.WorkDayCount; old.LeaveReason = bill.LeaveReason; old.PMSign = bill.PMSign; old.PMSignDate = bill.PMSignDate; old.DLSign = bill.DLSign; old.DLSignDate = bill.DLSignDate; old.CEOSign = bill.CEOSign; old.CEOSignDate = bill.CEOSignDate; return(context.SaveChanges() > 0); } }
public List <StageTemplete> GetTempletes(string projectType) { using (TeamDBContext context = new TeamDBContext()) { DatabaseAccess dba = context.DatabaseAccess(); DbCommand cmd = dba.CreateCommand(); StringBuilder sqlBuilder = new StringBuilder("SELECT * FROM StageTemplete"); sqlBuilder.Append(" WHERE ProjectType = @ProjectType") .Append(" ORDER BY SortValue"); dba.AddInParameter(cmd, "ProjectType", DbType.String, projectType); cmd.CommandText = sqlBuilder.ToString(); List <StageTemplete> data = dba.ExecuteReader <List <StageTemplete> >( cmd, (d, r) => { d.Add(new StageTemplete { StageTempleteId = (Guid)r["StageTempleteId"], ProjectType = r.GetStringOrNull("ProjectType"), StageName = r.GetStringOrNull("StageName"), Description = r.GetStringOrNull("Description"), SortValue = r.GetIntOrDefault("SortValue") }); }); return(data); } }
public List <AttendanceInfoModel> QueryAttendance(Guid userId, DateTime begin, DateTime end) { using (TeamDBContext context = new TeamDBContext()) { DatabaseAccess dba = context.DatabaseAccess(); DbCommand cmd = dba.CreateCommand("SELECT a.* FROM AttendanceUsers u INNER JOIN AttendanceInfo a ON u.OutsideUserId = a.OutsideUserId WHERE u.UserId = @UserId AND a.Clock >= @BeginTime AND a.Clock <= @EndTime ORDER BY a.Clock ASC"); dba.AddInParameter(cmd, "UserId", DbType.Guid, userId); dba.AddInParameter(cmd, "BeginTime", DbType.DateTime, QueryParameterUtility.DateTimeStart(begin)); dba.AddInParameter(cmd, "EndTime", DbType.DateTime, QueryParameterUtility.DateTimeEnd(end)); List <AttendanceInfoModel> data = dba.ExecuteReader <List <AttendanceInfoModel> >( cmd, (d, r) => { d.Add(new AttendanceInfoModel { AttendanceInfoId = (Guid)r["AttendanceInfoId"], DeviceId = r.GetStringOrNull("DeviceId"), OutsideUserId = r.GetStringOrNull("OutsideUserId"), Clock = r.GetDateTimeOrDefault("Clock").Value, Remark = r.GetStringOrNull("Remark"), UpdateTime = r.GetDateTimeOrDefault("UpdateTime").Value }); }); return(data); } }
public List <EmployeeSelectItem> GetTeamByProjectId(Guid projectId) { using (TeamDBContext context = new TeamDBContext()) { DatabaseAccess dba = context.DatabaseAccess(); DbCommand cmd = dba.CreateCommand("SELECT ue.* FROM [ProjectTeam] p INNER JOIN [auth_UserExtend] ue ON p.EmployeeId = ue.UserId WHERE ProjectId = @ProjectId AND ue.Status = '1-01'"); dba.AddInParameter(cmd, "ProjectId", DbType.Guid, projectId); List <EmployeeSelectItem> data = dba.ExecuteReader <List <EmployeeSelectItem> >( cmd, (d, r) => { d.Add(new EmployeeSelectItem { EmployeeId = (Guid)r["UserId"], RealName = r.GetStringOrNull("RealName"), Organization = r.GetStringOrNull("Organization"), OrganizationName = r.GetStringOrNull("OrganizationName"), Department = r.GetStringOrNull("Department"), DepartmentName = r.GetStringOrNull("DepartmentName"), Position = r.GetStringOrNull("Position"), PositionName = r.GetStringOrNull("PositionName") }); }); return(data); } }
public bool UpdateProjectStages(Guid projectId, List <Stage> stages) { Guard.ArgumentNotNull(stages, "stages"); if (stages.Count == 0) { return(false); } using (TeamDBContext context = new TeamDBContext()) { DatabaseAccess dba = context.DatabaseAccess(); using (var conn = dba.GetOpenConnection()) { DbCommand cmd = dba.CreateCommand("DELETE FROM [Stage] WHERE ProjectId = @ProjectId"); dba.AddInParameter(cmd, "ProjectId", DbType.Guid, projectId); dba.ExecuteNonQuery(cmd); Project project = context.Projects .Where(p => p.ProjectId == projectId) .Single(); LinkStages(stages); foreach (Stage s in stages) { s.Project = project; context.Stages.Add(s); } int affectRows = context.SaveChanges(); return(affectRows > 0); } } }
/// <summary> /// 获取用户所属的项目以及该项目当前激活的阶段 /// </summary> /// <param name="employeeId"></param> /// <returns></returns> public List <ProjectStageSelectItem> GetProjectStage(Guid?employeeId = null) { using (TeamDBContext context = new TeamDBContext()) { DatabaseAccess dba = context.DatabaseAccess(); DbCommand cmd = dba.CreateCommand(); StringBuilder sqlBuilder = new StringBuilder("SELECT p.ProjectId, p.ProjectName, s.StageId, s.StageName FROM Project p INNER JOIN Stage s ON p.ProjectId = s.ProjectId AND s.[Status] = '103-01' INNER JOIN ProjectTeam pt ON p.ProjectId = pt.ProjectId"); if (employeeId != null) { sqlBuilder.Append(" WHERE pt.EmployeeId = @EmployeeId"); dba.AddInParameter(cmd, "EmployeeId", DbType.Guid, employeeId); } sqlBuilder.Append(" ORDER BY p.BeginTime DESC"); cmd.CommandText = sqlBuilder.ToString(); List <ProjectStageSelectItem> items = dba.ExecuteReader <List <ProjectStageSelectItem> >( cmd, (d, r) => { d.Add(new ProjectStageSelectItem { ProjectId = (Guid)r["ProjectId"], ProjectName = r["ProjectName"].ToString(), StageId = (Guid)r["StageId"], StageName = r["StageName"].ToString() }); }); return(items); } }
public List <StageModel> FindStageByProjectId(Guid projectId) { using (TeamDBContext context = new TeamDBContext()) { DatabaseAccess dba = context.DatabaseAccess(); DbCommand cmd = dba.CreateCommand("SELECT s.*, di.DictItemValue AS StatusName, ue.RealName AS ManagerName FROM [Stage] s INNER JOIN sys_DictionaryItem di ON s.[Status] = di.DictItemId LEFT JOIN auth_UserExtend ue ON s.Manager = ue.UserId WHERE s.ProjectId = @ProjectId ORDER BY SortValue"); dba.AddInParameter(cmd, "ProjectId", DbType.Guid, projectId); List <StageModel> data = dba.ExecuteReader <List <StageModel> >( cmd, (d, r) => { d.Add(new StageModel { StageId = (Guid)r["StageId"], StageName = r.GetStringOrNull("StageName"), PrevStage = r.GetGuidOrNull("PrevStage"), NextStage = r.GetGuidOrNull("NextStage"), Manager = r.GetGuidOrNull("Manager"), ManagerName = r.GetStringOrNull("ManagerName"), BeginTime = r.GetDateTimeOrDefault("BeginTime"), EndTime = r.GetDateTimeOrDefault("EndTime"), Status = r.GetStringOrNull("Status"), StatusName = r.GetStringOrNull("StatusName"), Description = r.GetStringOrNull("Description") }); }); return(data); } }
public object SavePosition(PositionModel pModel) { using (TeamDBContext context = new TeamDBContext()) { Department dept = (from d in context.Departments where d.DepartmentId == pModel.DepartmentId select d).Single(); Guid?id = null; if (pModel.PositionId == Guid.Empty) { Position position = new Position(); position.PositionId = Guid.NewGuid(); position.PositionName = pModel.PositionName; position.PositionLevel = pModel.PositionLevel; position.Department = dept; context.Positions.Add(position); id = position.PositionId; } else { Position oldPosition = context.Positions.Where(n => n.PositionId == pModel.PositionId).Single(); if (oldPosition == null) { throw new Exception("不存在此职位!"); } oldPosition.PositionName = pModel.PositionName; oldPosition.PositionLevel = pModel.PositionLevel; oldPosition.Department = dept; id = oldPosition.PositionId; } int countChange = context.SaveChanges(); return(new { Result = countChange > 0, ID = id }); } }
public Boolean DeleteLaborCost(Guid?[] laborCostIds) { bool flag = false; if (laborCostIds != null && laborCostIds.Length > 0) { using (TeamDBContext context = new TeamDBContext()) { DatabaseAccess dba = context.DatabaseAccess(); DbCommand cmd = dba.CreateCommand("DELETE FROM LaborCost WHERE LaborCostId=@LaborCostId"); int length = laborCostIds.Length; List <object> param = new List <object>(length); for (int i = 0; i < length; i++) { param.Add(new { LaborCostId = laborCostIds[i] }); } int EffectRow = dba.ExecuteNonQueryMultiple(cmd, param); if (EffectRow > 0) { flag = true; } } } else { flag = true; } return(flag); }
public List <WorkTimeModel> GetWorkTimeByMonth(Guid employeeId, int year, int month) { using (TeamDBContext context = new TeamDBContext()) { DatabaseAccess dba = context.DatabaseAccess(); DbCommand cmd = dba.CreateCommand("SELECT w.WorkTimeId, w.BeginTime, w.EndTime, w.ProjectId, p.ProjectName, w.AttendanceType, di.DictItemValue AS AttendanceTypeName, w.FaultFlag FROM WorkTime w LEFT JOIN Project p ON w.ProjectId = p.ProjectId INNER JOIN sys_DictionaryItem di ON w.AttendanceType = di.DictItemId WHERE YEAR(w.BeginTime) = @Year AND MONTH(w.BeginTime) = @Month AND w.EmployeeId = @EmployeeId ORDER BY w.BeginTime"); dba.AddInParameter(cmd, "Year", DbType.Int32, (object)year); dba.AddInParameter(cmd, "Month", DbType.Int32, (object)month); dba.AddInParameter(cmd, "EmployeeId", DbType.Guid, employeeId); List <WorkTimeModel> workTimes = dba.ExecuteReader <List <WorkTimeModel> >( cmd, (d, r) => { d.Add(new WorkTimeModel { WorkTimeId = (Guid)r["WorkTimeId"], BeginTime = Convert.ToDateTime(r["BeginTime"]), EndTime = Convert.ToDateTime(r["EndTime"]), ProjectId = r.GetGuidOrNull("ProjectId"), ProjectName = r.GetStringOrNull("ProjectName"), AttendanceType = r.GetStringOrNull("AttendanceType"), AttendanceTypeName = r.GetStringOrNull("AttendanceTypeName"), FaultFlag = r.GetBooleanOrDefault("FaultFlag") }); }); return(workTimes); } }
public List <LaborCostSelectItem> GetAllLaborCosts(int?targetType, int pageIndex, int pageSize, out int rowCount) { using (TeamDBContext context = new TeamDBContext()) { DatabaseAccess dba = context.DatabaseAccess(); DbCommand cmd = dba.CreateCommand(); StringBuilder sqlBuilder = new StringBuilder("SELECT lab.*, ISNULL(u.RealName, p.PositionName) TargetName From LaborCost lab"); sqlBuilder.Append(" LEFT JOIN auth_UserExtend u ON u.UserId = lab.TargetId") .Append(" LEFT JOIN Position p ON p.PositionId = lab.TargetId") .Append(" WHERE 1 = 1"); if (targetType != null) { sqlBuilder.Append(" AND lab.TargetType = @TargetType"); dba.AddInParameter(cmd, "TargetType", DbType.Int16, targetType); } sqlBuilder.Append(" ORDER BY lab.targetType"); cmd.CommandText = sqlBuilder.ToString(); List <LaborCostSelectItem> data = dba.ExecuteReaderPaging <List <LaborCostSelectItem> >( cmd, (d, r) => { d.Add(new LaborCostSelectItem { LaborCostId = (Guid)r["LaborCostId"], TargetType = (int)r.GetIntOrDefault("TargetType"), TargetId = (Guid)r.GetGuidOrNull("TargetId"), TargetName = r.GetStringOrNull("TargetName"), UnitPrice = r.GetDecimalOrDefault("UnitPrice"), UnitValue = r.GetDecimalOrDefault("UnitValue") }); }, pageIndex, pageSize, out rowCount); return(data); } }
public void LoadEmployeeCost(EmployeeModel employee) { EmployeeQueryModel queryModel = employee as EmployeeQueryModel; if (queryModel == null) { return; } using (TeamDBContext context = new TeamDBContext()) { DatabaseAccess dba = context.DatabaseAccess(); DbCommand cmd = dba.CreateCommand("SELECT lc.UnitPrice AS PositionUnitPrice, lc.UnitValue AS PositionUnitValue, lc2.UnitPrice AS UserUnitPrice, lc2.UnitValue AS UserUnitValue FROM auth_User u INNER JOIN auth_UserExtend ue ON u.UserId = ue.UserId LEFT JOIN LaborCost lc ON ue.Position = lc.TargetId AND lc.TargetType = 1 LEFT JOIN LaborCost lc2 ON u.UserId = lc2.TargetId AND lc2.TargetType = 2 WHERE ue.UserId = @UserId"); dba.AddInParameter(cmd, "UserId", DbType.Guid, queryModel.UserId); using (DbDataReader reader = dba.ExecuteReader(cmd)) { if (reader.Read()) { queryModel.PositionUnitPrice = reader.GetDecimalOrDefault("PositionUnitPrice"); queryModel.PositionUnitValue = reader.GetDecimalOrDefault("PositionUnitValue"); queryModel.UserUnitPrice = reader.GetDecimalOrDefault("UserUnitPrice"); queryModel.UserUnitValue = reader.GetDecimalOrDefault("UserUnitValue"); } } } }
public List <LeaveBillModel> QueryLeaveBills(string employeeID, DateTime?beginTime, DateTime?endTime, int pageIndex, int pageSize, out int rowCount) { using (TeamDBContext context = new TeamDBContext()) { DatabaseAccess dba = context.DatabaseAccess(); DbCommand cmd = dba.CreateCommand(); StringBuilder sqlBuilder = new StringBuilder("SELECT b.*, di.DictItemValue AS LeaveTypeName, ue.RealName AS EmployeeName, ue.DepartmentName FROM RequestLeaveBill b INNER JOIN sys_DictionaryItem di ON b.LeaveType = di.DictItemId INNER JOIN auth_UserExtend ue ON b.EmployeeId = ue.UserId WHERE 1 = 1"); if (!String.IsNullOrEmpty(employeeID)) { sqlBuilder.Append(" AND b.EmployeeId = @EmployeeId"); dba.AddInParameter(cmd, "EmployeeId", DbType.String, employeeID); } if (beginTime != null) { sqlBuilder.Append(" AND b.LeaveStart >= @BeginTime"); dba.AddInParameter(cmd, "BeginTime", DbType.DateTime, QueryParameterUtility.DateTimeStart(beginTime.Value)); } if (endTime != null) { sqlBuilder.Append(" AND b.LeaveStart <= @EndTime"); dba.AddInParameter(cmd, "EndTime", DbType.DateTime, QueryParameterUtility.DateTimeStart(endTime.Value)); } sqlBuilder.Append(" ORDER BY b.CreateTime DESC"); cmd.CommandText = sqlBuilder.ToString(); List <LeaveBillModel> bills = dba.ExecuteReaderPaging <List <LeaveBillModel> >(cmd, (d, r) => { d.Add(ReadLeaveBill(r)); }, pageIndex, pageSize, out rowCount); return(bills); } }
public void Update(Team entity) { using (TeamDBContext db = new TeamDBContext()) { entity.UpdatedAt = DateTime.Now; db.SaveChanges(); } }
public decimal GetWorkHours() { using (TeamDBContext context = new TeamDBContext()) { var result = context.WorkTimeSettings.Where(w => w.Enabled == true).Single(); return(result.WorkHour.Value); } }
public Team Insert(Team entity) { using (TeamDBContext db = new TeamDBContext()) { db.Teams.Add(entity); db.SaveChanges(); return(entity); } }
public void Delete(Team entity) { using (TeamDBContext db = new TeamDBContext()) { var record = db.Teams.Find(entity.Id); db.Teams.Remove(record); db.SaveChanges(); } }
/// <summary> /// 根据员工ID获取员工的信息 /// </summary> /// <param name="employeeId">员工ID</param> /// <returns></returns> public Employee GetEmployeeById(Guid employeeId) { using (TeamDBContext context = new TeamDBContext()) { Employee emp = context.Employees.Where(e => e.EmployeeId == employeeId).Single(); return(emp); } }
public List <EmployeeModel> QueryEmployeeInfo(string name, string status, int pageIndex, int pageSize, out int rowCount) { using (TeamDBContext context = new TeamDBContext()) { DatabaseAccess dba = context.DatabaseAccess(); DbCommand cmd = dba.CreateCommand(); StringBuilder sqlBuilder = new StringBuilder("SELECT u.UserName, u.[Enabled], ue.*, e.*, lc.UnitPrice AS PositionUnitPrice, lc.UnitValue AS PositionUnitValue, lc2.UnitPrice AS UserUnitPrice, lc2.UnitValue AS UserUnitValue FROM auth_User u INNER JOIN auth_UserExtend ue ON u.UserId = ue.UserId LEFT JOIN Employee e ON ue.UserId = e.EmployeeId LEFT JOIN LaborCost lc ON ue.Position = lc.TargetId AND lc.TargetType = 1 LEFT JOIN LaborCost lc2 ON u.UserId = lc2.TargetId AND lc2.TargetType = 2 WHERE 1 = 1"); if (!String.IsNullOrEmpty(name)) { sqlBuilder.Append(" AND ue.RealName LIKE @RealName"); dba.AddInParameter(cmd, "RealName", DbType.String, String.Concat("%", name, "%")); } sqlBuilder.Append(" AND ue.Status = @Status"); if (String.IsNullOrEmpty(status)) { dba.AddInParameter(cmd, "Status", DbType.String, "1-01"); } else { dba.AddInParameter(cmd, "Status", DbType.String, String.Concat("1-0", status)); } sqlBuilder.Append(" ORDER BY ue.RealName, u.UserName"); cmd.CommandText = sqlBuilder.ToString(); List <EmployeeModel> data = null; using (DbDataReader reader = dba.ExecuteReaderPaging(cmd, PrepareQueryEmployeeInfoCommand, pageIndex, pageSize, out rowCount)) { if (reader.HasRows) { data = new List <EmployeeModel>(50); Guid lastUserId = Guid.Empty; Guid currentUserId; EmployeeModel employee = null; while (reader.Read()) { currentUserId = reader.GetGuidOrNull("UserId").Value; if (currentUserId != lastUserId) { employee = ReadEmployeeInfo <EmployeeQueryModel>(reader); if (employee.Roles == null) { employee.Roles = new List <IRoleInfo>(5); } data.Add(employee); lastUserId = currentUserId; } IRoleInfo role = ReadRoleInfo(reader); if (role != null) { employee.Roles.Add(role); } } } } return(data); } }
public List <WorkTimeSetting> GetWorkTimeSetting() { using (TeamDBContext context = new TeamDBContext()) { var result = from w in context.WorkTimeSettings select w; return(result.ToList <WorkTimeSetting>()); } }
public object SaveTemplete(StageTemplete st, Guid?[] stageTempleteIds) { using (TeamDBContext context = new TeamDBContext()) { Guid? id = null; int sortEffectRow = 0; int countChange = 0; DatabaseAccess dba = context.DatabaseAccess(); if (st.StageTempleteId == Guid.Empty) { int totalCount = context.StageTempletes.Count(); var maxSortValue = context.StageTempletes.Max(n => n.SortValue); var results = (from n in context.StageTempletes where n.StageName == st.StageName where n.ProjectType == st.ProjectType select n); if (results.Count() > 0) { return(new { Result = false, ErrorMessage = String.Format("[{0}] 已存在,不可重复添加", st.StageName) }); } st.StageTempleteId = Guid.NewGuid(); st.SortValue = maxSortValue + 1; context.StageTempletes.Add(st); id = st.StageTempleteId; } else { StageTemplete oldst = context.StageTempletes.Where(n => n.StageTempleteId == st.StageTempleteId).Single(); if (oldst == null) { throw new Exception("不存在此阶段信息!"); } oldst.StageName = st.StageName; oldst.Description = st.Description; id = st.StageTempleteId; } countChange = context.SaveChanges(); using (var conn = dba.GetOpenConnection()) { if (stageTempleteIds != null && stageTempleteIds.Length > 0) { int length = stageTempleteIds.Length; List <object> param = new List <object>(length); for (int i = 0; i < length; i++) { param.Add(new { SortValue = i, StageTempleteId = stageTempleteIds[i] }); } sortEffectRow = dba.ExecuteNonQueryMultiple("UPDATE StageTemplete SET SortValue = @SortValue WHERE StageTempleteId = @StageTempleteId", param); } } return(new { Result = (countChange > 0 || sortEffectRow > 0), ID = id }); } }
public List <HolidaySetting> GetHolidaySetting(int year) { using (TeamDBContext context = new TeamDBContext()) { var result = from h in context.HolidaySettings where h.SettingYear == year select h; return(result.ToList <HolidaySetting>()); } }
public List <HolidaySetting> GetHolidaySetting(DateTime begin, DateTime end) { using (TeamDBContext context = new TeamDBContext()) { var result = from h in context.HolidaySettings where h.HolidayDate >= begin && h.HolidayDate <= end select h; return(result.ToList()); } }
public WorkTimeSetting GetEnabledWorkTimeSetting() { using (TeamDBContext context = new TeamDBContext()) { WorkTimeSetting wts = context.WorkTimeSettings .Where(s => s.Enabled == true) .Single(); return(wts); } }
public bool updateProjectMeeting(ProjectMeetingSummary meetingSum, Guid ProjectId, List <Guid> empGuids, List <string> empNames, List <string> acces) { using (TeamDBContext context = new TeamDBContext()) { DatabaseAccess dba = context.DatabaseAccess(); DbCommand meetingCmd = dba.CreateCommand("UPDATE ProjectMeetingSummarys SET StartTime =@StartTime, Content=@Content, Result=@Result,CreateUser=@CreateUser,CreateTime=@CreateTime WHERE MeetingId = @MeetingId"); DbCommand empDelCmd = dba.CreateCommand("DELETE FROM ProjectMeetingEmployees WHERE MeetingId =@MeetingId"); DbCommand empCmd = dba.CreateCommand("INSERT INTO ProjectMeetingEmployees VALUES (@MettingEmployeeId, @EmployeeName, @MeetingId, @EmployeeId)"); DbCommand accesCmd = dba.CreateCommand("INSERT INTO MeetingAccessory VALUES (@AccessoryId, @Url, @MeetingId)"); DbCommand accesDelCmd = dba.CreateCommand("DELETE FROM MeetingAccessory WHERE MeetingId =@MeetingId "); int num = 0; int i = 0; using (var tran = dba.BeginTransaction()) { ProjectMeetingEmployee pEmp = null; MeetingAccessory meetingAcces = null; UpdateMeetingParameters(dba, meetingCmd, meetingSum); num += dba.ExecuteNonQuery(meetingCmd); dba.AddInParameter(empDelCmd, "MeetingId", meetingSum.MeetingId); dba.ExecuteNonQuery(empDelCmd); if (empGuids != null && empGuids.Count() > 0) { AddEmployeeParameters(dba, empCmd); for (; i < empGuids.Count(); i++) { pEmp = new ProjectMeetingEmployee(); pEmp.MettingEmployeeId = Guid.NewGuid(); pEmp.EmployeeName = empNames[i]; updateEmployeeParameters(empCmd, pEmp, empGuids[i], meetingSum.MeetingId); num += dba.ExecuteNonQuery(empCmd); } } dba.AddInParameter(accesDelCmd, "MeetingId", meetingSum.MeetingId); dba.ExecuteNonQuery(accesDelCmd); if (acces != null && acces.Count() > 0) { AddAccessoryParameters(dba, accesCmd); for (i = 0; i < acces.Count(); i++) { meetingAcces = new MeetingAccessory(); meetingAcces.AccessoryId = Guid.NewGuid(); meetingAcces.Url = acces[i]; updateAccessoryParameters(accesCmd, meetingAcces, meetingSum.MeetingId); num += dba.ExecuteNonQuery(accesCmd); } } tran.Complete(); } return(num > 0); } }
public bool DeleteWorkTimes(Guid[] workTimeIdArray) { using (TeamDBContext context = new TeamDBContext()) { DatabaseAccess dba = context.DatabaseAccess(); DbCommand cmd = dba.CreateCommand("DELETE FROM [WorkTime] WHERE WorkTimeId = @p0"); IList <object[]> parameters = QueryParameterUtility.TransferMultipleParameters <Guid>(workTimeIdArray); int affectRows = dba.ExecuteNonQueryMultiple(cmd, parameters); return(affectRows > 0); } }
public bool UpdateProject(Project project, Guid[] teamEmployees = null, Budget[] budgets = null) { Guard.ArgumentNotNull(project, "project"); int affectRows = 0; using (TeamDBContext context = new TeamDBContext()) { DatabaseAccess dba = context.DatabaseAccess(); using (var conn = dba.GetOpenConnection()) { Project old = context.Projects .Where(p => p.ProjectId == project.ProjectId) .SingleOrDefault(); if (old == null) { throw new ModuleLogicException("正在更新的项目信息不存在,或已被删除。"); } old.ProjectName = project.ProjectName; old.ProjectType = project.ProjectType; old.BeginTime = project.BeginTime; old.EndTime = project.EndTime; old.Status = project.Status; old.PM = project.PM; old.ParentId = project.ParentId; if (teamEmployees != null && teamEmployees.Length > 0) { DbCommand cmd = dba.CreateCommand("DELETE FROM [ProjectTeam] WHERE ProjectId = @ProjectId"); dba.AddInParameter(cmd, "ProjectId", DbType.Guid, project.ProjectId); affectRows += dba.ExecuteNonQuery(cmd); affectRows += InsertProjectTeam(dba, project.ProjectId, teamEmployees); } if (budgets != null) { DbCommand cmd = dba.CreateCommand("DELETE FROM [Budget] WHERE ProjectId = @ProjectId"); dba.AddInParameter(cmd, "ProjectId", DbType.Guid, old.ProjectId); affectRows += dba.ExecuteNonQuery(cmd); foreach (var b in budgets) { b.BudgetId = Guid.NewGuid(); b.Project = old; context.Budgets.Add(b); } } affectRows += context.SaveChanges(); return(affectRows > 0); } } }