private PerformanceEntity AddPerformanceEntity(IPerformanceData data, int locationId, int typeId) { try { LocationsEntity location = locationId != -1 ? _dbContext.PerformanceLocations.FirstOrDefault(l => l.Id == locationId) : new LocationsEntity { Name = data.Location }; PerformanceTypeEntity type = typeId != -1 ? _dbContext.PerformanceTypes.FirstOrDefault(t => t.Id == typeId) : new PerformanceTypeEntity { TypeName = data.Type }; PerformanceEntity performance = new PerformanceEntity { Name = data.Name, Location = location, Type = type, }; _dbContext.Performances.Add(performance); return(performance); } catch (Exception e) { Console.WriteLine($"AddPerformanceEntity DbException: {e.Message}"); throw; } }
/// <summary> /// 获取个人绩效 /// </summary> /// <param name="userid"></param> /// <returns></returns> public object PerformanceByuser(string userid, string time, string departmentid) { //所有数据 var message = string.Empty; try { List <object> list = new List <object>(); var month = Convert.ToInt32(time); for (int i = 12; i >= 1; i--) { string getTime = new DateTime(month, i, 1).ToString("yyyy-MM-dd"); var title = titlebll.getTitle(getTime, departmentid); if (title != null) { //获取数据 PerformanceEntity Score = Scorebll.getScoreByuser(getTime, userid); var one = new { title = title.name, score = Score.score, sort = Score.sort, month = i }; list.Add(one); } } return(new { code = 0, info = message, data = list }); } catch (Exception ex) { return(new { code = 1, info = ex.Message }); } }
public void UpdatePerformance(PerformanceEntity entity) { entity.ATTRIBUTE_ = Attribute; entity.EQUATIONNAME = EquationName; entity.CRITERIA = Criteria; entity.EQUATION = Equation; entity.SHIFT = Shift ?? false; entity.PIECEWISE = Piecewise ?? false; entity.ISFUNCTION = IsFunction ?? false; }
public PerformanceLibraryEquationModel(PerformanceEntity entity) { Id = entity.PERFORMANCEID.ToString(); Attribute = entity.ATTRIBUTE_; EquationName = entity.EQUATIONNAME; Criteria = entity.CRITERIA; Equation = entity.EQUATION; Shift = entity.SHIFT ?? false; Piecewise = entity.PIECEWISE ?? false; IsFunction = entity.ISFUNCTION ?? false; }
private void SetPerformance() { var work = WorkActivityService.GetWork( _workEntitis, WorkingActivity.GetInstance().ActivityName); _performance = new PerformanceEntity( WorkingActivity.GetInstance().StartTime, WorkingActivity.GetInstance().StopTime, work, _user); }
public async Task <PlaybillEntity> AddPlaybill(IPerformanceData data) { try { int performanceId = GetPerformanceEntityId(data, out int location, out int type); PerformanceEntity performance = -1 == performanceId ? AddPerformanceEntity(data, location, type) : _dbContext.Performances .Include(p => p.Location) .Include(p => p.Type) .FirstOrDefault(p => p.Id == performanceId); var playBillEntry = new PlaybillEntity { Performance = performance, Url = data.Url, When = data.DateTime, Changes = new List <PlaybillChangeEntity> { new PlaybillChangeEntity { LastUpdate = DateTime.Now, MinPrice = data.MinPrice, ReasonOfChanges = (int)ReasonOfChanges.Creation, } } }; _dbContext.Playbill.Add(playBillEntry); _dbContext.Add(playBillEntry.Changes.First()); await _dbContext.SaveChangesAsync(); if (performance != null) { _dbContext.Entry(performance.Location).State = EntityState.Detached; _dbContext.Entry(performance.Type).State = EntityState.Detached; _dbContext.Entry(performance).State = EntityState.Detached; } return(playBillEntry); } catch (Exception ex) { Trace.TraceInformation($"AddPlaybill DbException {ex.Message} InnerException {ex.InnerException?.Message}"); } return(null); }
/// <summary> /// Executes an upsert/delete operation on a simulation's performance library data /// Throws a RowNotInTableException if no simulation is found /// </summary> /// <param name="model">PerformanceLibraryModel</param> /// <param name="db">BridgeCareContext</param> /// <returns>PerformanceLibraryModel</returns> public PerformanceLibraryModel SaveSimulationPerformanceLibrary(PerformanceLibraryModel model, BridgeCareContext db) { var id = int.Parse(model.Id); if (!db.Simulations.Any(s => s.SIMULATIONID == id)) { throw new RowNotInTableException($"No scenario was found with id {id}"); } var simulation = db.Simulations.Include(s => s.PERFORMANCES).Single(s => s.SIMULATIONID == id); if (simulation.PERFORMANCES.Any()) { simulation.PERFORMANCES.ToList().ForEach(performanceEntity => { var performanceModel = model.Equations .SingleOrDefault(m => m.Id == performanceEntity.PERFORMANCEID.ToString()); if (performanceModel == null) { PerformanceEntity.DeleteEntry(performanceEntity, db); } else { performanceModel.matched = true; performanceModel.UpdatePerformance(performanceEntity); } }); } if (model.Equations.Any(m => !m.matched)) { db.Performances.AddRange(model.Equations .Where(performanceModel => !performanceModel.matched) .Select(performanceModel => new PerformanceEntity(id, performanceModel)) .ToList() ); } db.SaveChanges(); return(new PerformanceLibraryModel(simulation)); }
public async Task <PerformanceDTO> CreatePerformanceAsync(CreatePerformanceDTO createPerformanceDTO) { var isBandExist = await _DBContext.Bands.AnyAsync(b => b.Id == createPerformanceDTO.BandId); if (!isBandExist) { throw new ItemNotFoundException($"Band with id {createPerformanceDTO.BandId} not found."); } var isFestivalExist = await _DBContext.Festivals.AnyAsync(f => f.Id == createPerformanceDTO.FestivalId); if (!isFestivalExist) { throw new ItemNotFoundException($"Festival with id {createPerformanceDTO.FestivalId} not found."); } await CheckStageExisting(createPerformanceDTO.StageId); var performance = new PerformanceEntity { BeginingTime = createPerformanceDTO.BeginingTime, Duration = createPerformanceDTO.Duration, BandId = createPerformanceDTO.BandId, FestivalId = createPerformanceDTO.FestivalId, StageId = createPerformanceDTO.StageId }; await _DBContext.Performances.AddAsync(performance); await _DBContext.SaveChangesAsync(); performance = await _DBContext.Performances .Include(p => p.Band) .ThenInclude(b => b.BandGenres) .ThenInclude(db => db.Genre) .Include(p => p.Stage) .Include(p => p.Festival) .FirstOrDefaultAsync(p => p.Id == performance.Id); var performanceDTO = _mapper.Map <PerformanceDTO>(performance); return(performanceDTO); }
public void ActiityChangeSave(PerformanceEntity performance) { var parameters = new List <SqlParameter>(); var sql = @" insert into [KGWS].[dbo].[work_action] ( [block_name] ,[section_name] ,[activity_name] ,[user_id] ) values ( @block_name ,@section_name ,@activity_name ,@user_id ) select SCOPE_IDENTITY() as id "; parameters.Clear(); parameters.Add(new SqlParameter("@block_name", performance.WorkEntity.WorkBlockName)); parameters.Add(new SqlParameter("@section_name", performance.WorkEntity.WorkSectionName)); parameters.Add(new SqlParameter("@activity_name", performance.WorkEntity.WorkActivityName)); parameters.Add(new SqlParameter("@user_id", performance.User.UserId)); var id = 0; SQLServerHelper.Query( sql, parameters.ToArray(), reader => { id = Convert.ToInt32(reader["id"]); }); sql = @" insert into [KGWS].[dbo].[Time] ( [start_time] ,[end_time] ,[action_id] ,[milliseconds] ,[seconds] ,[minutes] ,[hours] ,[days] ,[total_milliseconds] ,[total_seconds] ,[total_minutes] ,[total_hours] ,[total_days] ) values ( @start_time ,@end_time ,@action_id ,@milliseconds ,@seconds ,@minutes ,@hours ,@days ,@total_milliseconds ,@total_seconds ,@total_minutes ,@total_hours ,@total_days ) "; parameters.Clear(); parameters.Add(new SqlParameter("@start_time", performance.StartTime)); parameters.Add(new SqlParameter("@end_time", performance.EndTime)); parameters.Add(new SqlParameter("@action_id", id)); parameters.Add(new SqlParameter("@milliseconds", performance.TimeSpanMs)); parameters.Add(new SqlParameter("@seconds", performance.TimeSpanS)); parameters.Add(new SqlParameter("@minutes", performance.TimeSpanM)); parameters.Add(new SqlParameter("@hours", performance.TimeSpanH)); parameters.Add(new SqlParameter("@days", performance.TimeSpanD)); parameters.Add(new SqlParameter("@total_milliseconds", performance.TotalTimeMs)); parameters.Add(new SqlParameter("@total_seconds", performance.TotalTimeS)); parameters.Add(new SqlParameter("@total_minutes", performance.TotalTimeM)); parameters.Add(new SqlParameter("@total_hours", performance.TotalTimeH)); parameters.Add(new SqlParameter("@total_days", performance.TotalTimeD)); SQLServerHelper.Execute(sql, parameters.ToArray()); }
/// <summary> ///初始化基础数据 /// </summary> public void BaseDataOperation(List <DepartmentEntity> entity) { try { var time = DateTime.Now; var usetime = new DateTime(time.Year, time.Month, 1).ToString("yyyy-MM-dd"); var dept = deptbll.GetList(); foreach (var item in entity) { //所有配置 var setUp = service.AllTitle(item.DepartmentId); var sortStr = string.Join(",", setUp.Where(x => x.isuse).Select(x => x.sort)); PerformancetitleEntity title = titlebll.getTitle(usetime, item.DepartmentId); if (title != null) { // #region 何明 2019-09-20 //// var deptIds = entity.Select(p => p.DepartmentId).ToList(); List <PerformanceEntity> allData = new PerformanceBLL().getScore(usetime, item.DepartmentId); var alluserList = new UserBLL().GetUserList().Where(x => x.DepartmentId == item.DepartmentId && x.DeleteMark != 1 && x.EnabledMark == 1).ToList();//所有人员 var delData = new List <PerformanceEntity>(); var addData = new List <PerformanceEntity>(); // #endregion // //根据人员,来做对应的数据处理 // //检查各部门人员 var thisUsers = alluserList.Where(p => p.DepartmentId == item.DepartmentId).Select(x => x.UserId).ToList(); // if (Debugger.IsAttached && (thisUsers.Contains("18d4ee5a-e239-49c3-b018-993cb711d0e4") || thisUsers.Contains("d15d843d-85e1-40c7-bcae-02f705855a39"))) // { // //拿用户熊红做测试用 // var a = string.Empty; // } // //找到已经不在本班组的数据,并删除数据 var thisDelList = allData.Where(p => p.deparmentid == item.DepartmentId && !thisUsers.Contains(p.userid)).ToList(); delData.AddRange(thisDelList); // //找到本班组需要新增的人 var addedUsers = allData.Where(p => p.deparmentid == item.DepartmentId).Select(x => x.userid).ToList(); var addUsers = alluserList.Where(p => p.DepartmentId == item.DepartmentId && !addedUsers.Contains(p.UserId)).ToList(); //不在数据内的用户的Id //构造新增实体 foreach (var user in addUsers) { var one = new PerformanceEntity(); one.performanceid = Guid.NewGuid().ToString(); one.score = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"; one.userid = user.UserId; one.usetime = usetime; one.deparmentid = item.DepartmentId; one.titleid = title.titleid; one.sort = sortStr; one.deparmentname = item.FullName; one.username = user.RealName; one.photo = user.Photo; one.quarters = user.Quarters; one.planer = user.Planer; addData.Add(one); } if (addData != null && addData.Count > 0) { Scorebll.Insert(addData);//新增的数据 //if (addData.Any(x => x.userid == "d15d843d-85e1-40c7-bcae-02f705855a39")) //{ // var b = ""; //} } if (delData != null && delData.Count > 0) { Scorebll.Delete(delData);//删除的数据 } } else { if (setUp.Count > 0) { var sort = setUp.Where(x => x.isuse).ToList(); PerformancetitleEntity Title = new PerformancetitleEntity(); Title.departmentid = item.DepartmentId; Title.name = string.Join(",", sort.Select(x => x.name)); Title.titleid = Guid.NewGuid().ToString(); Title.sort = sortStr; Title.usetime = usetime; var userList = pbll.GetListByDept(item.DepartmentId).ToList(); List <PerformanceEntity> add = new List <PerformanceEntity>(); foreach (var user in userList) { var one = new PerformanceEntity(); one.performanceid = Guid.NewGuid().ToString(); one.score = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"; one.userid = user.ID; one.usetime = usetime; one.deparmentid = item.DepartmentId; one.titleid = Title.titleid; one.sort = sortStr; one.deparmentname = item.FullName; one.username = user.Name; one.photo = user.Photo; one.quarters = user.Quarters; one.planer = user.Planer; add.Add(one); } service.operation(new List <PerformancesetupEntity>(), new List <PerformancesetupEntity>(), new List <PerformancesetupEntity>(), Title, add); var up = new List <PerformanceupEntity>(); var oneup = new PerformanceupEntity(); oneup.id = Guid.NewGuid().ToString(); oneup.deptcode = item.EnCode; oneup.titleid = Title.titleid; oneup.departmentid = item.DepartmentId; oneup.departmentname = item.FullName; oneup.parentid = item.ParentId; oneup.parentname = dept.FirstOrDefault(x => x.DepartmentId == item.ParentId).FullName; oneup.parentcode = dept.FirstOrDefault(x => x.DepartmentId == item.ParentId).EnCode; oneup.usetime = usetime; oneup.useyear = time.Year.ToString(); oneup.isup = false; up.Add(oneup); upbll.add(up); } else { var setup = new List <PerformancesetupEntity>(); for (int i = 0; i < 9; i++) { var OneSetUp = new PerformancesetupEntity(); OneSetUp.createtime = time; OneSetUp.performancetypeid = Guid.NewGuid().ToString(); OneSetUp.isupdate = false; OneSetUp.departmentid = item.DepartmentId; #region 固定类型 if (i == 2) { continue; } switch (i) { case 0: OneSetUp.isuse = true; OneSetUp.name = "绩效金额(元)"; OneSetUp.type = 1; OneSetUp.sort = i; break; case 1: OneSetUp.isuse = true; OneSetUp.name = "绩效得分"; OneSetUp.type = 1; OneSetUp.sort = i; break; case 3: OneSetUp.isuse = true; OneSetUp.name = "实际出勤(班次)"; OneSetUp.type = 2; OneSetUp.sort = i; break; case 4: OneSetUp.isuse = true; OneSetUp.name = "值班(次)"; OneSetUp.type = 2; OneSetUp.sort = i; break; case 5: OneSetUp.isuse = true; OneSetUp.name = "完成任务数"; OneSetUp.type = 2; OneSetUp.sort = i; break; case 6: OneSetUp.isuse = true; OneSetUp.name = "任务总分"; OneSetUp.type = 2; OneSetUp.sort = i; break; case 7: OneSetUp.isuse = true; OneSetUp.name = "奖励(元)"; OneSetUp.type = 2; OneSetUp.sort = i; break; case 8: OneSetUp.isuse = true; OneSetUp.name = "考核(元)"; OneSetUp.type = 2; OneSetUp.sort = i; break; } #endregion setup.Add(OneSetUp); } PerformancetitleEntity Title = new PerformancetitleEntity(); Title.departmentid = item.DepartmentId; Title.name = "绩效金额(元),绩效得分,实际出勤(班次),值班(次),完成任务数,任务总分,奖励(元),考核(元)"; Title.titleid = Guid.NewGuid().ToString(); Title.usetime = usetime; Title.sort = "0,1,3,4,5,6,7,8"; var userList = pbll.GetListByDept(item.DepartmentId).ToList(); List <PerformanceEntity> add = new List <PerformanceEntity>(); foreach (var user in userList) { var one = new PerformanceEntity(); one.performanceid = Guid.NewGuid().ToString(); one.score = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"; one.userid = user.ID; one.usetime = usetime; one.titleid = Title.titleid; one.deparmentid = item.DepartmentId; one.sort = "0,1,3,4,5,6,7,8"; one.deparmentname = item.FullName; one.username = user.Name; one.photo = user.Photo; one.quarters = user.Quarters; one.planer = user.Planer; add.Add(one); } service.operation(setup, new List <PerformancesetupEntity>(), new List <PerformancesetupEntity>(), Title, add); var up = new List <PerformanceupEntity>(); var oneup = new PerformanceupEntity(); oneup.id = Guid.NewGuid().ToString(); oneup.deptcode = item.EnCode; oneup.titleid = Title.titleid; oneup.departmentid = item.DepartmentId; oneup.departmentname = item.FullName; oneup.parentid = item.ParentId; oneup.parentname = dept.FirstOrDefault(x => x.DepartmentId == item.ParentId).FullName; oneup.parentcode = dept.FirstOrDefault(x => x.DepartmentId == item.ParentId).EnCode; oneup.usetime = usetime; oneup.useyear = time.Year.ToString(); oneup.isup = false; up.Add(oneup); upbll.add(up); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); throw; } }