public int CreateMeeting(Meeting meeting) { var param = new Dictionary <string, object>(); param.Add(nameof(meeting.Title), meeting.Title); param.Add(nameof(meeting.Description), meeting.Description); param.Add(nameof(meeting.Time), meeting.Time); param.Add(nameof(meeting.CreatedBy), 2); //Take userId of logged in user from Thread.CurrentPrincipal return(repository.ExecuteCommand("CREATE_MEETING", param)); }
public void DeleteProjectUserRole(int userId) { var deleteSql = string.Format("DELETE FROM dbo.ProjectPermissions WHERE UserId = {0} ", userId); _projectRoleRepository.ExecuteCommand(deleteSql); _unitOfWork.SaveChanges(); }
public int SignUp(Visitor visitor) { var param = new Dictionary <string, object>(); param.Add(nameof(visitor.Username), visitor.Username); param.Add(nameof(visitor.Password), visitor.Password); var userId = repository.ExecuteCommand("SIGNUP", param); return(userId); }
public RectArea GetRectArea(IRepository <DataAccess.DFOdata> dfoDataRepository) { const string sqlQuery = "select max(X) as MaxX, min(X) as MinX, max(Y) as MaxY, min(Y) as MinY from dbo.DFOdata"; var rectArea = dfoDataRepository.ExecuteCommand <RectArea>(sqlQuery); if (rectArea == null) { throw new Exception("Can't get the rect area !!"); } return(rectArea.ElementAt(0)); }
private bool SetUserPrivilagesByRole(int roleId, int menuId) { string query = string.Format( @"INSERT INTO UserPrivileges(UserId, MenuId, IsActive, FullPermission, ViewPermission, AddPermission, EditPermission, DeletePermission, DetailViewPermission, ReportViewPermission) SELECT u.Id as UserId, m.Id as MenuId, 1 as IsActive, 1 as FullPermission, 1 as ViewPermission, 1 as AddPermission, 1 as EditPermission, 1 as DeletePermission, 1 as DetailViewPermission, 1 as ReportViewPermission FROM Users u INNER JOIN Menus m ON u.RoleId = m.RoleId WHERE u.RoleId = {0} and m.Id = {1}", roleId, menuId); return(_userPrivilege.ExecuteCommand(query) > 0); }
private void BySpiralFasion(StreamWriter wr1, StreamWriter wr2, IRepository <DataAccess.DFOdata> dfoDataRepository) { var fixedCenterCell = new GridCell(0.0, 0.0); for (int nLayer = 1; nLayer <= 55; nLayer++) { var adjacentCells = GetNthSurroundingCellsFromCenterCell(fixedCenterCell, nLayer); foreach (var adjacentCell in adjacentCells) { Console.WriteLine(string.Format("{0},{1}", adjacentCell.X, adjacentCell.Y)); } Console.Write(string.Format("Toal adjacent: {0}\n", adjacentCells.Count)); foreach (var adjacentCell in adjacentCells) { var sqlQuery = string.Format("Select * from DFOdata where X >= {0} and X <= {1} and Y >= {2} and Y <= {3}", adjacentCell.X - HalfOfEachCellArea, adjacentCell.X + HalfOfEachCellArea, adjacentCell.Y - HalfOfEachCellArea, adjacentCell.Y + HalfOfEachCellArea); var dfoDataPoints = dfoDataRepository.ExecuteCommand <DataAccess.DFOdata>(sqlQuery); var uCompSum = 0.0; var vCompSum = 0.0; foreach (var dfoDataPoint in dfoDataPoints) { wr1.WriteLine("{0},{1},{2},{3}", dfoDataPoint.X, dfoDataPoint.Y, dfoDataPoint.U, dfoDataPoint.V); uCompSum += dfoDataPoint.U; vCompSum += dfoDataPoint.V; } var totalDataPoint = dfoDataPoints.Count; double uComp = uCompSum / totalDataPoint; double vComp = vCompSum / totalDataPoint; //if (!Double.IsNaN(uComp) && !Double.IsNaN(vComp)) //{ wr2.WriteLine("{0},{1},{2},{3}", adjacentCell.X, adjacentCell.Y, uComp, vComp); //} //Console.Write("Total {0} poins for cell {1},{2}.\n", totalDataPoint, adjacentCell.X, adjacentCell.Y); } Console.WriteLine("--------------------\n"); } }
private void ByGridFasion(StreamWriter wr1, StreamWriter wr2, StreamWriter wr3, IRepository <DataAccess.DFOdata> dfoDataRepository) { Console.Write("Processing ..\n"); var rectArea = GetRectArea(dfoDataRepository); var selectedPointsStr = ""; var cellCenterStr = ""; var nanCellStr = ""; var insertStatement = "Insert into dbo.Cells(X,Y,U,V) "; var totalCell = 0; var startTime = DateTime.Now; double distanceBetween2AdjacentCellCenterPoint = 2 * HalfOfEachCellArea; for (double y = rectArea.MaxY, i = 0.0; y >= rectArea.MinY; y = y - distanceBetween2AdjacentCellCenterPoint, i++) { for (double x = rectArea.MinX, j = 0.0; x <= rectArea.MaxX; x = x + distanceBetween2AdjacentCellCenterPoint, j++) { var adjacentCell = new GridCell(x, y); var sqlQuery = string.Format("Select * from DFOdata where X >= {0} and X <= {1} and Y >= {2} and Y <= {3}", adjacentCell.X - HalfOfEachCellArea, adjacentCell.X + HalfOfEachCellArea, adjacentCell.Y - HalfOfEachCellArea, adjacentCell.Y + HalfOfEachCellArea); var dfoDataPoints = dfoDataRepository.ExecuteCommand <DataAccess.DFOdata>(sqlQuery); var uCompSum = 0.0; var vCompSum = 0.0; foreach (var dfoDataPoint in dfoDataPoints) { selectedPointsStr += string.Format("{0},{1},{2},{3}\n", dfoDataPoint.X, dfoDataPoint.Y, dfoDataPoint.U, dfoDataPoint.V); wr1.WriteLine("{0},{1},{2},{3}", dfoDataPoint.X, dfoDataPoint.Y, dfoDataPoint.U, dfoDataPoint.V); uCompSum += dfoDataPoint.U; vCompSum += dfoDataPoint.V; } var totalDataPoint = dfoDataPoints.Count; double uComp = uCompSum / totalDataPoint; double vComp = vCompSum / totalDataPoint; if (!Double.IsNaN(uComp) && !Double.IsNaN(vComp)) { cellCenterStr += string.Format("{0},{1},{2},{3}\n", adjacentCell.X, adjacentCell.Y, uComp, vComp); var cellX = Convert.ToInt32(i); var cellY = Convert.ToInt32(j); if (totalCell == 0) { insertStatement += string.Format("SELECT {0}, {1}, {2}, {3}", cellY, cellX, uComp, vComp); } else { insertStatement += string.Format("UNION ALL SELECT {0}, {1}, {2}, {3}", cellY, cellX, uComp, vComp); } totalCell++; Console.Write(string.Format("{0} {1}\n", i, j)); } else { nanCellStr += string.Format("{0},{1},{2},{3}\n", adjacentCell.X, adjacentCell.Y, uComp, vComp); } //Console.Write("Total {0} poins for cell {1},{2}.\n", totalDataPoint, adjacentCell.X, adjacentCell.Y); } //if(Convert.ToInt32(i) == 1) //{ // break; //} } //dfoDataRepository.ExecuteCommandDirectly(insertStatement); wr1.Write(selectedPointsStr); wr2.Write(cellCenterStr); wr3.Write(nanCellStr); var currentTime = DateTime.Now; var diff = currentTime.Subtract(startTime).TotalSeconds; Console.Write("Done..\n Timing: {0}", diff); }
private void BySpiralFasion(StreamWriter wr1, StreamWriter wr2, IRepository<DataAccess.DFOdata> dfoDataRepository) { var fixedCenterCell = new GridCell(0.0, 0.0); for (int nLayer = 1; nLayer <= 55; nLayer++) { var adjacentCells = GetNthSurroundingCellsFromCenterCell(fixedCenterCell, nLayer); foreach (var adjacentCell in adjacentCells) { Console.WriteLine(string.Format("{0},{1}", adjacentCell.X, adjacentCell.Y)); } Console.Write(string.Format("Toal adjacent: {0}\n", adjacentCells.Count)); foreach (var adjacentCell in adjacentCells) { var sqlQuery = string.Format("Select * from DFOdata where X >= {0} and X <= {1} and Y >= {2} and Y <= {3}", adjacentCell.X - HalfOfEachCellArea, adjacentCell.X + HalfOfEachCellArea, adjacentCell.Y - HalfOfEachCellArea, adjacentCell.Y + HalfOfEachCellArea); var dfoDataPoints = dfoDataRepository.ExecuteCommand<DataAccess.DFOdata>(sqlQuery); var uCompSum = 0.0; var vCompSum = 0.0; foreach (var dfoDataPoint in dfoDataPoints) { wr1.WriteLine("{0},{1},{2},{3}", dfoDataPoint.X, dfoDataPoint.Y, dfoDataPoint.U, dfoDataPoint.V); uCompSum += dfoDataPoint.U; vCompSum += dfoDataPoint.V; } var totalDataPoint = dfoDataPoints.Count; double uComp = uCompSum / totalDataPoint; double vComp = vCompSum / totalDataPoint; //if (!Double.IsNaN(uComp) && !Double.IsNaN(vComp)) //{ wr2.WriteLine("{0},{1},{2},{3}", adjacentCell.X, adjacentCell.Y, uComp, vComp); //} //Console.Write("Total {0} poins for cell {1},{2}.\n", totalDataPoint, adjacentCell.X, adjacentCell.Y); } Console.WriteLine("--------------------\n"); } }
private void ByGridFasion(StreamWriter wr1, StreamWriter wr2, StreamWriter wr3, IRepository<DataAccess.DFOdata> dfoDataRepository) { Console.Write("Processing ..\n"); var rectArea = GetRectArea(dfoDataRepository); var selectedPointsStr = ""; var cellCenterStr = ""; var nanCellStr = ""; var insertStatement = "Insert into dbo.Cells(X,Y,U,V) "; var totalCell = 0; var startTime = DateTime.Now; double distanceBetween2AdjacentCellCenterPoint = 2 * HalfOfEachCellArea; for (double y = rectArea.MaxY, i = 0.0; y >= rectArea.MinY; y = y - distanceBetween2AdjacentCellCenterPoint, i ++) { for (double x = rectArea.MinX, j = 0.0; x <= rectArea.MaxX; x = x + distanceBetween2AdjacentCellCenterPoint, j ++) { var adjacentCell = new GridCell(x,y); var sqlQuery = string.Format("Select * from DFOdata where X >= {0} and X <= {1} and Y >= {2} and Y <= {3}", adjacentCell.X - HalfOfEachCellArea, adjacentCell.X + HalfOfEachCellArea, adjacentCell.Y - HalfOfEachCellArea, adjacentCell.Y + HalfOfEachCellArea); var dfoDataPoints = dfoDataRepository.ExecuteCommand<DataAccess.DFOdata>(sqlQuery); var uCompSum = 0.0; var vCompSum = 0.0; foreach (var dfoDataPoint in dfoDataPoints) { selectedPointsStr += string.Format("{0},{1},{2},{3}\n", dfoDataPoint.X, dfoDataPoint.Y, dfoDataPoint.U, dfoDataPoint.V); wr1.WriteLine("{0},{1},{2},{3}", dfoDataPoint.X, dfoDataPoint.Y, dfoDataPoint.U, dfoDataPoint.V); uCompSum += dfoDataPoint.U; vCompSum += dfoDataPoint.V; } var totalDataPoint = dfoDataPoints.Count; double uComp = uCompSum / totalDataPoint; double vComp = vCompSum / totalDataPoint; if (!Double.IsNaN(uComp) && !Double.IsNaN(vComp)) { cellCenterStr += string.Format("{0},{1},{2},{3}\n", adjacentCell.X, adjacentCell.Y, uComp, vComp); var cellX = Convert.ToInt32(i); var cellY = Convert.ToInt32(j); if (totalCell == 0) insertStatement += string.Format("SELECT {0}, {1}, {2}, {3}", cellY , cellX, uComp, vComp); else insertStatement += string.Format("UNION ALL SELECT {0}, {1}, {2}, {3}", cellY, cellX, uComp, vComp); totalCell++; Console.Write(string.Format("{0} {1}\n", i, j)); } else { nanCellStr += string.Format("{0},{1},{2},{3}\n", adjacentCell.X, adjacentCell.Y, uComp, vComp); } //Console.Write("Total {0} poins for cell {1},{2}.\n", totalDataPoint, adjacentCell.X, adjacentCell.Y); } //if(Convert.ToInt32(i) == 1) //{ // break; //} } //dfoDataRepository.ExecuteCommandDirectly(insertStatement); wr1.Write(selectedPointsStr); wr2.Write(cellCenterStr); wr3.Write(nanCellStr); var currentTime = DateTime.Now; var diff = currentTime.Subtract(startTime).TotalSeconds; Console.Write("Done..\n Timing: {0}",diff); }
public RectArea GetRectArea(IRepository<DataAccess.DFOdata> dfoDataRepository) { const string sqlQuery = "select max(X) as MaxX, min(X) as MinX, max(Y) as MaxY, min(Y) as MinY from dbo.DFOdata"; var rectArea = dfoDataRepository.ExecuteCommand<RectArea>(sqlQuery); if (rectArea == null) throw new Exception("Can't get the rect area !!"); return rectArea.ElementAt(0); }
public async Task <Result> SaveRoleMenus([FromBody] JObject obj) { int rId = Convert.ToInt32(obj["rId"]); List <int> lstMIds = new List <int> { }; if (obj["lstMIds"] != null) { lstMIds = ComHelper.JsonDeserialize <List <int> >(ComHelper.JsonSerialize(obj["lstMIds"])); } var dtNow = DateTime.Now; var optUser = currentUser.UserName; var res = await works.WorkTransactionAsync(async() => { // 角色原有菜单 var lstOld = await works.QueryAsync <PermRoleMenuDto>(x => x.RId == rId); // 禁用已有菜单 if (!(lstMIds != null && lstMIds.Count > 0)) { var disRes = await works.ExecuteCommandAsync(" UPDATE PermRoleMenu SET IsDel = 1,UpdateTime = CURRENT_TIMESTAMP,Updater = @Updater WHERE IsDel = 0 AND RId = @RId ", new { RId = rId, Updater = optUser }); return(new Result { IsSucc = true }); } // 需要删除的菜单Ids var lstDelIds = lstOld.Where(x => x.IsDel == 0).Select(x => x.MId).Except(lstMIds).Distinct().ToList(); if (lstDelIds.Count > 0) { var delRes = works.ExecuteCommand(@" UPDATE PermRoleMenu SET IsDel = 1,Updater = @Updater,UpdateTime = CURRENT_TIMESTAMP WHERE IsDel = 0 AND RId = @RId AND MId IN (@MIds) ", new { RId = rId, Updater = optUser, MIds = lstDelIds }); } // 需要更新的菜单Ids var lstUpdIds = lstOld.Where(x => x.IsDel == 1).Select(x => x.MId).Intersect(lstMIds).Distinct().ToList(); if (lstUpdIds.Count > 0) { var updRes = await works.ExecuteCommandAsync( " UPDATE PermRoleMenu SET IsDel = 0,UpdateTime = CURRENT_TIMESTAMP,Updater = @Updater WHERE IsDel = 1 AND RId = @RId AND MId IN (@MIds) ", new { RId = rId, Updater = optUser, MIds = lstUpdIds }); } // 新增菜单Ids var lstNewIds = lstMIds.Except(lstOld.Select(x => x.MId)).Distinct().ToList(); if (lstNewIds.Count > 0) { var dtNow = DateTime.Now; var user = optUser; var lstSave = new List <PermRoleMenuDto> { }; foreach (var mId in lstNewIds) { var temp = new PermRoleMenuDto { RId = rId, MId = mId, Creater = user, Updater = user, IsDel = 0, CreateTime = dtNow, UpdateTime = dtNow }; lstSave.Add(temp); } var addRes = await works.AddAsync(lstSave); } return(new Result { IsSucc = true }); }); return(new Result { IsSucc = res.IsSucc, Message = $"保存角色-菜单{(res.IsSucc ? "成功!" : "失败!")}" }); }