private bool CheckOrder(string order, out List <OrderSystemDetail> orderDetails) { bool result = false; orderDetails = null; try { //获取订单数据 Dictionary <string, string> orderParam = new Dictionary <string, string>(); orderParam.Add(ORDER_CODE_PARAM, order); string strOrderInfo = WebInfo.PostPageInfo(ORDER_URL, orderParam); //订单解码 DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(List <OrderSystemDetail>)); MemoryStream stream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(strOrderInfo)); orderDetails = (List <OrderSystemDetail>)serializer.ReadObject(stream); if (orderDetails.Count < 1) { return(result); } //校验车间权限 OrderSystemDetail orderItem = orderDetails[0]; FactoryRoom room = db.FactoryRoom.FirstOrDefault(item => item.RoomNumber == orderItem.ocrcode); if (room == null) { return(result); } int userId = Convert.ToInt32(Session["UserID"]); UsersInRooms tempUserRoom = db.UsersInRooms.FirstOrDefault(item => item.RoomId == room.RoomID && item.UserId == userId); if (tempUserRoom == null) { return(result); } orderItem.roomName = room.RoomName; orderItem.roomId = room.RoomID; result = true; } catch { } return(result); }
public ActionResult SetStaffRole() { string[] roleArray = Enum.GetNames(typeof(enumUserRole)); string tempStatus, userName = Request.Form["number"]; List <string> addRoles = new List <string>(), removeRoles = new List <string>(); List <int> addRooms = new List <int> (), removeRooms = new List <int> (); string roomStart = "roomInfo-"; int roomStartLen = roomStart.Length; int userId = WebSecurity.GetUserId(userName); foreach (string item in roleArray) { tempStatus = Request.Form[item]; if (tempStatus == null) { continue; } else if (tempStatus.IndexOf(",") > 0 && !Roles.IsUserInRole(userName, item)) { addRoles.Add(item); } else if (tempStatus == "false" && Roles.IsUserInRole(userName, item)) { removeRoles.Add(item); } } if (addRoles.Count > 0) { Roles.AddUserToRoles(userName, addRoles.ToArray()); } if (removeRoles.Count > 0) { Roles.RemoveUserFromRoles(userName, removeRoles.ToArray()); } //车间权限 IEnumerable <UsersInRooms> userRooms = from item in db.UsersInRooms where item.UserId == userId select item; List <int> roomList = new List <int> (); foreach (UsersInRooms item in userRooms) { roomList.Add(item.RoomId); } foreach (string item in Request.Form.Keys) { if (!item.StartsWith(roomStart)) { continue; } else { int roomId = int.Parse(item.Substring(roomStartLen)); if (Request.Form[item].IndexOf(",") > 0 && !roomList.Contains(roomId)) { addRooms.Add(roomId); } else if (Request.Form[item] == "false" && roomList.Contains(roomId)) { removeRooms.Add(roomId); } } } if (addRooms.Count > 0) { foreach (int item in addRooms) { db.UsersInRooms.Add(new UsersInRooms() { RoomId = item, UserId = userId }); } } if (removeRooms.Count > 0) { foreach (int item in removeRooms) { UsersInRooms tempUserRoom = db.UsersInRooms.Single(tempR => tempR.RoomId == item && tempR.UserId == userId); db.UsersInRooms.Remove(tempUserRoom); } } db.SaveChanges(); return(RedirectToAction("RoleIndex", new { alert = "授权成功" })); }