public CResult <bool> ChangePassword(string oldPassword, string newPassword, string userID, string operatorUserID) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); if (string.IsNullOrWhiteSpace(newPassword) || string.IsNullOrWhiteSpace(oldPassword)) { return(new CResult <bool>(false, ErrorCode.ParameterError)); } using (var context = new DeviceMgmtEntities()) { var entity = context.User.FirstOrDefault(t => t.UserID == userID && t.IsValid); if (entity == null) { return(new CResult <bool>(false, ErrorCode.UserNotExist)); } if (string.Equals(oldPassword, entity.Password)) { entity.Password = newPassword; return(context.Save()); } else { return(new CResult <bool>(false, ErrorCode.ChangePasswordError)); } //LoggerBLL.AddLog(context, operatorUserID, entity.ProjectID, OperatTypeEnum.修改, _businessModel, "用户名:" + entity.LoginName); } }
public CResult <bool> DeleteUserByID(string userID, string operatorUserID) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("userID", userID); if (string.IsNullOrWhiteSpace(userID) || string.IsNullOrWhiteSpace(operatorUserID)) { return(new Common.CResult <bool>(false, ErrorCode.ParameterError)); } using (var context = new DeviceMgmtEntities()) { var entity = context.User.FirstOrDefault(t => t.IsValid && t.UserID == userID); if (entity != null) { if (entity.Role == (int)RoleType.项目管理员) { return(new CResult <bool>(false, ErrorCode.ProjectAdminCannotDelete)); } entity.IsValid = false; LoggerBLL.AddLog(context, userID, entity.ProjectID, OperatTypeEnum.除, _businessModel, "用户名:" + entity.LoginName); return(context.Save()); } else { return(new CResult <bool>(false, ErrorCode.DataNoExist)); } } }
public CResult <bool> DeleteDeviceType(string deviceTypeID) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("deviceTypeID", deviceTypeID); if (string.IsNullOrEmpty(deviceTypeID)) { return(new CResult <bool>(false, ErrorCode.ParameterError)); } using (var context = new DeviceMgmtEntities()) { var entity = context.DeviceType.FirstOrDefault(t => t.ID == deviceTypeID && t.IsValid); if (entity == null) { return(new CResult <bool>(false, ErrorCode.DeviceTypeNotExist)); } if (context.Device.Any(t => t.DeviceTypeID == entity.ID && t.IsValid)) { return(new CResult <bool>(false, ErrorCode.DeviceTypeConatinDevice)); } entity.IsValid = false; var removeRels = context.DeviceTypeMaintainItemRel.Where(t => t.DeviceTypeID == entity.ID).ToList(); foreach (var item in removeRels) { context.DeviceTypeMaintainItemRel.Remove(item); } return(context.Save()); } }
public CResult <bool> DeleteMaintainItem(string maintainItemID) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("maintainItemID", maintainItemID); if (string.IsNullOrEmpty(maintainItemID)) { return(new CResult <bool>(false, ErrorCode.ParameterError)); } using (var context = new DeviceMgmtEntities()) { var entity = context.MaintainItem.FirstOrDefault(t => t.ID == maintainItemID && t.IsValid); if (entity == null) { return(new CResult <bool>(false, ErrorCode.DataNoExist)); } if (context.DeviceTypeMaintainItemRel.Any(t => t.MaintainItemID == entity.ID)) { return(new CResult <bool>(false, ErrorCode.MaintainItemUsed)); } entity.IsValid = false; return(context.Save()); } }
public CResult <bool> DeleteRepairRecord(string repairRecordID) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("repairRecordID", repairRecordID); if (string.IsNullOrEmpty(repairRecordID)) { return(new CResult <bool>(false, ErrorCode.ParameterError)); } using (var context = new DeviceMgmtEntities()) { var entity = context.RepairRecord.FirstOrDefault(t => t.ID == repairRecordID && t.IsValid); if (entity == null) { return(new CResult <bool>(false, ErrorCode.DataNoExist)); } entity.IsValid = false; var attachments = context.Attachment.Where(a => a.RelationID == entity.ID).ToList(); foreach (var attachment in attachments) { FileHelper.DelFile(attachment.FilePath); } return(context.Save()); } }
public CResult <bool> UpdateUser(WebUser webUser) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("webUser", webUser); using (var context = new DeviceMgmtEntities()) { var entity = context.User.FirstOrDefault(t => t.UserID == webUser.ID); if (entity == null) { return(new CResult <bool>(false, ErrorCode.DataNoExist)); } entity.Address = webUser.Address; entity.Email = webUser.Email; entity.Name = webUser.UserName; entity.Telephone = webUser.TelPhone; entity.Moblie = webUser.Moblie; entity.Role = (int)webUser.Role; context.Entry(entity).State = EntityState.Modified; LoggerBLL.AddLog(context, webUser.CreateUserID, entity.ProjectID, OperatTypeEnum.修改, _businessModel, "用户名:" + entity.LoginName); return(context.Save()); } }
public CResult <bool> DeleteManufacturer(string manufacturerID) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("manufacturerID", manufacturerID); if (string.IsNullOrEmpty(manufacturerID)) { return(new CResult <bool>(false, ErrorCode.ParameterError)); } using (var context = new DeviceMgmtEntities()) { var entity = context.Manufacturer.FirstOrDefault(t => t.ID == manufacturerID && t.IsValid); if (entity == null) { return(new CResult <bool>(false, ErrorCode.ManufacturerNotExist)); } if (context.Device.Any(t => t.ManufacturerID == entity.ID && t.IsValid)) { return(new CResult <bool>(false, ErrorCode.ManufactureConatinDevice)); } entity.IsValid = false; return(context.Save()); } }
public CResult <bool> UpdateManufacturer(WebManufacturer model) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("model", model); if (string.IsNullOrEmpty(model.ID)) { return(new CResult <bool>(false, ErrorCode.ParameterError)); } using (var context = new DeviceMgmtEntities()) { var entity = context.Manufacturer.FirstOrDefault(t => t.ID == model.ID && t.IsValid); if (entity == null) { return(new CResult <bool>(false, ErrorCode.ManufacturerNotExist)); } if (context.Manufacturer.Any(t => t.Name.ToUpper() == model.Name.ToUpper() && t.ProjectID == entity.ProjectID && t.IsValid && t.ID != model.ID)) { return(new CResult <bool>(false, ErrorCode.ManufacturerNameIsExist)); } entity.Name = model.Name; entity.Note = model.Note; entity.Address = model.Address; entity.Contact = model.Contact; entity.Mobile = model.Mobile; entity.Phone = model.Phone; context.Entry(entity).State = EntityState.Modified; return(context.Save()); } }
public CResult <bool> InsertDeviceType(WebDeviceType model) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("model", model); if (string.IsNullOrEmpty(model.ProjectID)) { return(new CResult <bool>(false, ErrorCode.ParameterError)); } using (var context = new DeviceMgmtEntities()) { if (context.Project.Any(t => t.IsValid && t.ID == model.ProjectID) == false) { return(new CResult <bool>(false, ErrorCode.ProjectNotExist)); } if (context.DeviceType.Any(t => t.Name.ToUpper() == model.Name.ToUpper() && t.ProjectID == model.ProjectID && t.IsValid)) { return(new CResult <bool>(false, ErrorCode.DeviceTypeNameIsExist)); } var maintainItemIDs = model.MaintainItems.Select(t => t.ID).ToList(); if (maintainItemIDs.Count > 0) { if (context.MaintainItem.Count(t => maintainItemIDs.Contains(t.ID) && t.IsValid && t.ProjectID == model.ProjectID) < maintainItemIDs.Count) { return(new CResult <bool>(false, ErrorCode.MaintainItemNotExist)); } } var entity = new DeviceType(); entity.CreateDate = DateTime.Now; entity.CreateUserID = model.CreateUserID; entity.ID = Guid.NewGuid().ToString(); entity.Name = model.Name; entity.IsValid = true; entity.Note = model.Note; entity.ProjectID = model.ProjectID; foreach (var item in model.MaintainItems) { var relation = new DeviceTypeMaintainItemRel() { DeviceTypeID = entity.ID, MaintainItemID = item.ID }; context.DeviceTypeMaintainItemRel.Add(relation); } context.DeviceType.Add(entity); return(context.Save()); } }
public CResult <bool> InsertProject(WebProject webProject) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("webProject", webProject); using (var context = new DeviceMgmtEntities()) { if (context.Project.Any(t => t.CreateUserID == webProject.CreateUserID && t.Name.ToUpper() == webProject.Name.ToUpper() && t.IsValid)) { return(new CResult <bool>(false, ErrorCode.ProjectNameIsExist)); } var project = new Project(); project.CreateDate = DateTime.Now; project.CreateUserID = webProject.CreateUserID; project.ID = Guid.NewGuid().ToString(); project.Name = webProject.Name; project.Note = webProject.Note; project.IsValid = true; var webUser = webProject.WebUser; webUser.CreateUserID = webProject.CreateUserID; var userLoginName = webUser.LoginName.ToUpper(); if (context.User.Any(t => t.LoginName.ToUpper() == userLoginName)) { return(new CResult <bool>(false, ErrorCode.LoginNameIsExist)); } var entity = new User() { UserID = Guid.NewGuid().ToString(), Password = webUser.Pwd, LoginName = webUser.LoginName, Name = webUser.UserName, ProjectID = project.ID, Address = webUser.Address, Telephone = webUser.TelPhone, CreateDate = DateTime.Now, CreateUserID = webUser.CreateUserID, Email = webUser.Email, IsValid = true, Role = (int)RoleType.项目管理员, OrderClientID = webUser.OrderClientID }; context.Project.Add(project); context.User.Add(entity); return(context.Save()); } }
public CResult <bool> InsertDevice(WebDevice model) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("model", model); if (string.IsNullOrEmpty(model.ProjectID)) { return(new CResult <bool>(false, ErrorCode.ParameterError)); } using (var context = new DeviceMgmtEntities()) { if (context.Project.Any(t => t.IsValid && t.ID == model.ProjectID) == false) { return(new CResult <bool>(false, ErrorCode.ProjectNotExist)); } if (context.Device.Any(t => t.Num.ToUpper() == model.Num.ToUpper() && t.ProjectID == model.ProjectID && t.IsValid)) { return(new CResult <bool>(false, ErrorCode.DeviceNumIsExist)); } var entity = new Device(); entity.CreateDate = DateTime.Now; entity.CreateUserID = model.CreateUserID; entity.ID = Guid.NewGuid().ToString(); entity.Num = model.Num; entity.Name = model.Name; entity.IsValid = true; entity.Note = model.Note; entity.ProjectID = model.ProjectID; entity.DeviceTypeID = model.DeviceTypeID; entity.MaintainDate = model.MaintainDate; entity.ManufacturerID = model.ManufacturerID; entity.ProductDate = model.ProductDate; entity.SupplierID = model.SupplierID; entity.DeviceState = (int)model.DeviceState; context.Device.Add(entity); return(context.Save()); } }
public CResult <bool> AddUser(WebUser webUser) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("webUser", webUser); using (DeviceMgmtEntities context = new DeviceMgmtEntities()) { if (context.Project.Any(t => t.ID == webUser.ProjectID && t.IsValid == true) == false) { return(new CResult <bool>(false, ErrorCode.DataNoExist)); } var userLoginName = webUser.LoginName.ToUpper(); if (context.User.Any(u => u.LoginName.ToUpper() == userLoginName && u.IsValid)) { return(new CResult <bool>(false, ErrorCode.LoginNameIsExist)); } var entity = new User() { UserID = Guid.NewGuid().ToString(), Password = webUser.Pwd, LoginName = webUser.LoginName, Name = webUser.UserName, ProjectID = webUser.ProjectID, Address = webUser.Address, Telephone = webUser.TelPhone, Moblie = webUser.Moblie, CreateDate = DateTime.Now, CreateUserID = webUser.CreateUserID, Email = webUser.Email, IsValid = true, Role = (int)webUser.Role, OrderClientID = webUser.OrderClientID, }; context.User.Add(entity); //LoggerBLL.AddLog(context, webUser.CreateUserID, webUser.ProjectID, OperatTypeEnum.添加, _businessModel, "用户名:" + webUser.LoginName); return(context.Save()); } }
public CResult <bool> InsertManufacturer(WebManufacturer model) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("model", model); if (string.IsNullOrEmpty(model.ProjectID)) { return(new CResult <bool>(false, ErrorCode.ParameterError)); } using (var context = new DeviceMgmtEntities()) { if (context.Project.Any(t => t.IsValid && t.ID == model.ProjectID) == false) { return(new CResult <bool>(false, ErrorCode.ProjectNotExist)); } if (context.Manufacturer.Any(t => t.Name.ToUpper() == model.Name.ToUpper() && t.ProjectID == model.ProjectID && t.IsValid)) { return(new CResult <bool>(false, ErrorCode.ManufacturerNameIsExist)); } var entity = new Manufacturer(); entity.CreateDate = DateTime.Now; entity.CreateUserID = model.CreateUserID; entity.ID = Guid.NewGuid().ToString(); entity.Name = model.Name; entity.IsValid = true; entity.Note = model.Note; entity.ProjectID = model.ProjectID; entity.Address = model.Address; entity.Contact = model.Contact; entity.Mobile = model.Mobile; entity.Phone = model.Phone; context.Manufacturer.Add(entity); return(context.Save()); } }
public CResult <bool> UpdateRepairRecord(WebRepairRecord model, List <string> deleteFiles) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("model", model); if (string.IsNullOrEmpty(model.ID)) { return(new CResult <bool>(false, ErrorCode.ParameterError)); } using (var context = new DeviceMgmtEntities()) { var entity = context.RepairRecord.FirstOrDefault(t => t.ID == model.ID && t.IsValid); if (entity == null) { return(new CResult <bool>(false, ErrorCode.DataNoExist)); } entity.Note = model.Note; entity.Operator = model.Operator; entity.RepairDate = model.RepairDate; entity.Solution = model.Solution; entity.Describe = model.Describe; context.Entry(entity).State = EntityState.Modified; if (deleteFiles != null && deleteFiles.Count() > 0) { var needDelete = context.Attachment.Where(t => deleteFiles.Contains(t.ID)).ToList(); foreach (var item in needDelete) { context.Attachment.Remove(item); FileHelper.DelFile(item.FilePath); } } return(context.Save()); } }
public CResult <bool> UpdateOrderClientInfo(WebOrderClient webOrderClient) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("webOrderClient", webOrderClient); using (var context = new DeviceMgmtEntities()) { var entity = context.OrderClient.FirstOrDefault(t => t.ID == webOrderClient.ID); if (entity == null) { return(new CResult <bool>(false, ErrorCode.DataNoExist)); } var name = webOrderClient.Name.ToUpper(); if (context.OrderClient.Any(t => t.OrderClientName.ToUpper() == name && t.IsValid && t.ID != webOrderClient.ID)) { return(new CResult <bool>(false, ErrorCode.OrderClientNameIsExist)); } entity.OrderClientName = webOrderClient.Name; entity.Note = webOrderClient.Note; var user = context.User.FirstOrDefault(t => t.Role == (int)RoleType.客户管理员 && t.OrderClientID == webOrderClient.ID); if (user == null) { return(new CResult <bool>(false, ErrorCode.DataNoExist)); } var webUser = webOrderClient.WebUser; user.Address = webUser.Address; user.Email = webUser.Email; user.Name = webUser.UserName; user.Telephone = webUser.TelPhone; user.Moblie = webUser.Moblie; context.Entry(entity).State = EntityState.Modified; return(context.Save()); } }
public CResult <bool> DeleteDevice(string DeviceID) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("DeviceID", DeviceID); if (string.IsNullOrEmpty(DeviceID)) { return(new CResult <bool>(false, ErrorCode.ParameterError)); } using (var context = new DeviceMgmtEntities()) { var entity = context.Device.FirstOrDefault(t => t.ID == DeviceID && t.IsValid); if (entity == null) { return(new CResult <bool>(false, ErrorCode.DataNoExist)); } entity.IsValid = false; return(context.Save()); } }
public CResult <bool> UpdateCompanyInfo(WebOrderClient companyInfo) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("companyInfo", companyInfo); using (var context = new DeviceMgmtEntities()) { var entity = context.OrderClient.FirstOrDefault(t => t.ID == companyInfo.ID); if (entity == null) { return(new CResult <bool>(false, ErrorCode.DataNoExist)); } entity.CompanyContact = companyInfo.CompanyContact; entity.CompanyDescribe = companyInfo.CompanyDescribe; entity.CompanyName = companyInfo.CompanyName; context.Entry(entity).State = EntityState.Modified; return(context.Save()); } }
public CResult <bool> UpdateProjectInfo(WebProject webProject) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("webProject", webProject); using (var context = new DeviceMgmtEntities()) { var project = context.Project.FirstOrDefault(t => t.ID == webProject.ID); if (project == null) { return(new CResult <bool>(false, ErrorCode.DataNoExist)); } if (context.Project.Any(t => t.CreateUserID == project.CreateUserID && t.Name.ToUpper() == webProject.Name.ToUpper() && t.IsValid && t.ID != webProject.ID)) { return(new CResult <bool>(false, ErrorCode.ProjectNameIsExist)); } project.Name = webProject.Name; project.Note = webProject.Note; var user = context.User.FirstOrDefault(t => t.Role == (int)RoleType.项目管理员 && t.ProjectID == webProject.ID); if (user == null) { return(new CResult <bool>(false, ErrorCode.DataNoExist)); } var webUser = webProject.WebUser; user.Address = webUser.Address; user.Email = webUser.Email; user.Name = webUser.UserName; user.Telephone = webUser.TelPhone; user.Moblie = webUser.Moblie; context.Entry(project).State = EntityState.Modified; return(context.Save()); } }
public CResult <bool> UpdateDevice(WebDevice model) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("model", model); if (string.IsNullOrEmpty(model.ID)) { return(new CResult <bool>(false, ErrorCode.ParameterError)); } using (var context = new DeviceMgmtEntities()) { var entity = context.Device.FirstOrDefault(t => t.ID == model.ID && t.IsValid); if (entity == null) { return(new CResult <bool>(false, ErrorCode.DataNoExist)); } if (context.Device.Any(t => t.Num.ToUpper() == model.Num.ToUpper() && t.ProjectID == entity.ProjectID && t.IsValid && t.ID != model.ID)) { return(new CResult <bool>(false, ErrorCode.DeviceNumIsExist)); } entity.Num = model.Num; entity.Name = model.Name; entity.Note = model.Note; entity.ProductDate = model.ProductDate; entity.MaintainDate = model.MaintainDate; entity.DeviceState = (int)model.DeviceState; entity.DeviceTypeID = model.DeviceTypeID; entity.ManufacturerID = model.ManufacturerID; entity.SupplierID = model.SupplierID; context.Entry(entity).State = EntityState.Modified; return(context.Save()); } }
public CResult <bool> DeleteOrderClient(string orderClientID) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("orderClientID", orderClientID); using (var context = new DeviceMgmtEntities()) { var orderClient = context.OrderClient.FirstOrDefault(t => t.ID == orderClientID); if (orderClient == null) { return(new CResult <bool>(false, ErrorCode.DataNoExist)); } orderClient.IsValid = false; var entity = context.User.FirstOrDefault(t => t.Role == (int)RoleType.客户管理员 && t.OrderClientID == orderClientID); if (entity != null) { var projects = context.Project.Where(t => t.IsValid && t.CreateUserID == entity.UserID).ToList(); foreach (var project in projects) { project.IsValid = false; } var projectIDs = projects.Select(t => t.ID).ToList(); var users = context.User.Where(t => t.IsValid && projectIDs.Contains(t.ProjectID)); foreach (var user in users) { user.IsValid = false; } entity.IsValid = false; } return(context.Save()); } }
public CResult <bool> DeleteProject(string projectID) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("projectID", projectID); using (var context = new DeviceMgmtEntities()) { var project = context.Project.FirstOrDefault(t => t.ID == projectID); if (project == null) { return(new CResult <bool>(false, ErrorCode.DataNoExist)); } project.IsValid = false; var users = context.User.Where(t => t.IsValid && t.ProjectID == projectID).ToList(); foreach (var user in users) { user.IsValid = false; } return(context.Save()); } }
public CResult <bool> ResetPassword(string newPassword, string userID, string operatorUserID) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); if (string.IsNullOrWhiteSpace(newPassword) || string.IsNullOrWhiteSpace(userID)) { return(new CResult <bool>(false, ErrorCode.ParameterError)); } using (var context = new DeviceMgmtEntities()) { var entity = context.User.FirstOrDefault(t => t.UserID == userID && t.IsValid); if (entity == null) { return(new CResult <bool>(false, ErrorCode.UserNotExist)); } entity.Password = newPassword; context.Entry(entity).State = EntityState.Modified; // LoggerBLL.AddLog(context, operatorUserID, entity.ProjectID, OperatTypeEnum.修改, _businessModel, "用户名:" + userID); return(context.Save()); } }
public CResult <bool> ImportMaintainItemFromExcel(HttpPostedFileBase file, string projectID, string operatorUserID) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); if (string.IsNullOrEmpty(projectID) || string.IsNullOrEmpty(operatorUserID)) { return(new CResult <bool>(false, ErrorCode.ParameterError)); } var fileName = string.Format("{0}{1}", Guid.NewGuid().ToString(), Path.GetExtension(file.FileName)); var filePath = FileHelper.SaveFile(file, SystemInfo.TempFileFolder, fileName); if (string.IsNullOrEmpty(filePath)) { return(new CResult <bool>(false, ErrorCode.SystemError)); } var dataTable = ExcelHelper.ExcelToDataTable(filePath, 0); if (dataTable.Rows.Count == 0) { return(new CResult <bool>(false, ErrorCode.FileContainNoData)); } var WebMaintainItemList = new List <WebMaintainItem>(); foreach (DataRow row in dataTable.Rows) { int i = 0; var WebMaintainItem = new WebMaintainItem(); WebMaintainItem.Name = row[i++].ToString(); WebMaintainItem.Note = row[i++].ToString(); WebMaintainItemList.Add(WebMaintainItem); } var nameList = WebMaintainItemList.Select(t => t.Name).Distinct().ToList(); if (nameList.Count < WebMaintainItemList.Count) { return(new CResult <bool>(false, ErrorCode.MaintainItemExist)); } using (var context = new DeviceMgmtEntities()) { if (context.Project.Any(t => t.IsValid && t.ID == projectID) == false) { return(new CResult <bool>(false, ErrorCode.ProjectNotExist)); } if (context.User.Any(t => t.IsValid && t.UserID == operatorUserID) == false) { return(new CResult <bool>(false, ErrorCode.UserNotExist)); } if (context.MaintainItem.Any(t => t.ProjectID == projectID && t.IsValid && nameList.Contains(t.Name))) { return(new CResult <bool>(false, ErrorCode.MaintainItemExist)); } var currentTime = DateTime.Now; foreach (var WebMaintainItem in WebMaintainItemList) { var item = new MaintainItem() { CreateDate = currentTime, CreateUserID = operatorUserID, ID = Guid.NewGuid().ToString(), IsValid = true, Name = WebMaintainItem.Name, Note = WebMaintainItem.Note, ProjectID = projectID, }; context.MaintainItem.Add(item); } LogHelper.Info("importList", WebMaintainItemList); return(context.Save()); } }
public CResult <bool> UpdateDeviceType(WebDeviceType model) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); LogHelper.Info("model", model); if (string.IsNullOrEmpty(model.ID)) { return(new CResult <bool>(false, ErrorCode.ParameterError)); } using (var context = new DeviceMgmtEntities()) { var entity = context.DeviceType.FirstOrDefault(t => t.ID == model.ID && t.IsValid); if (entity == null) { return(new CResult <bool>(false, ErrorCode.DeviceTypeNotExist)); } if (context.DeviceType.Any(t => t.Name.ToUpper() == model.Name.ToUpper() && t.ProjectID == entity.ProjectID && t.IsValid && t.ID != model.ID)) { return(new CResult <bool>(false, ErrorCode.DeviceTypeNameIsExist)); } entity.Name = model.Name; entity.Note = model.Note; var maintainItemIDs = model.MaintainItems.Select(t => t.ID).ToList(); if (maintainItemIDs.Count > 0) { if (context.MaintainItem.Count(t => maintainItemIDs.Contains(t.ID) && t.IsValid && t.ProjectID == model.ProjectID) < maintainItemIDs.Count) { return(new CResult <bool>(false, ErrorCode.MaintainItemNotExist)); } } var oldRelations = context.DeviceTypeMaintainItemRel.Where(t => t.DeviceTypeID == entity.ID); var oldRelationItemIDs = oldRelations.Select(t => t.MaintainItemID); var newRelationItemIDs = model.MaintainItems.Select(t => t.ID).ToList(); var needDeletes = oldRelations.Where(t => newRelationItemIDs.Contains(t.MaintainItemID) == false).ToList(); var needAdd = model.MaintainItems.Where(t => oldRelationItemIDs.Contains(t.ID) == false).ToList(); foreach (var item in needDeletes) { context.DeviceTypeMaintainItemRel.Remove(item); } foreach (var item in needAdd) { var relation = new DeviceTypeMaintainItemRel() { DeviceTypeID = entity.ID, MaintainItemID = item.ID }; context.DeviceTypeMaintainItemRel.Add(relation); } context.Entry(entity).State = EntityState.Modified; return(context.Save()); } }
public CResult <bool> ImportDeviceFromExcel(HttpPostedFileBase file, string projectID, string operatorUserID) { LogHelper.Info(MethodBase.GetCurrentMethod().ToString()); if (string.IsNullOrEmpty(projectID) || string.IsNullOrEmpty(operatorUserID)) { return(new CResult <bool>(false, ErrorCode.ParameterError)); } var fileName = string.Format("{0}{1}", Guid.NewGuid().ToString(), Path.GetExtension(file.FileName)); var filePath = FileHelper.SaveFile(file, SystemInfo.TempFileFolder, fileName); if (string.IsNullOrEmpty(filePath)) { return(new CResult <bool>(false, ErrorCode.SystemError)); } var dataTable = ExcelHelper.ExcelToDataTable(filePath, 0); if (dataTable.Rows.Count == 0) { return(new CResult <bool>(false, ErrorCode.FileContainNoData)); } LogHelper.Info("读取数据行数为" + dataTable.Rows.Count); var webDeviceList = new List <WebDevice>(); foreach (DataRow row in dataTable.Rows) { int i = 0; var webDevice = new WebDevice(); webDevice.Num = row[i++].ToString(); webDevice.Name = row[i++].ToString(); webDevice.DeviceTypeName = row[i++].ToString(); DeviceStateEnum state; if (Enum.TryParse <DeviceStateEnum>(row[i++].ToString(), out state)) { webDevice.DeviceState = state; } else { webDevice.DeviceState = DeviceStateEnum.未使用; } webDevice.SupplierName = row[i++].ToString(); webDevice.ManufacturerName = row[i++].ToString(); DateTime tempTime; if (DateTime.TryParse(row[i++].ToString(), out tempTime)) { webDevice.ProductDate = tempTime; } if (DateTime.TryParse(row[i++].ToString(), out tempTime)) { webDevice.MaintainDate = tempTime; } webDevice.Note = row[i++].ToString(); webDeviceList.Add(webDevice); } var deviceTypeNameList = webDeviceList.Select(t => t.DeviceTypeName).Distinct().ToList(); var supplierNameList = webDeviceList.Select(t => t.SupplierName).Distinct().ToList(); var manufacturerNameList = webDeviceList.Select(t => t.ManufacturerName).Distinct().ToList(); var deviceNumList = webDeviceList.Select(t => t.Num).Distinct().ToList(); if (deviceNumList.Count < webDeviceList.Count) { return(new CResult <bool>(false, ErrorCode.DeviceNumIsExist)); } using (var context = new DeviceMgmtEntities()) { if (context.Project.Any(t => t.IsValid && t.ID == projectID) == false) { return(new CResult <bool>(false, ErrorCode.ProjectNotExist)); } if (context.User.Any(t => t.IsValid && t.UserID == operatorUserID) == false) { return(new CResult <bool>(false, ErrorCode.UserNotExist)); } if (context.Device.Any(t => t.ProjectID == projectID && t.IsValid && deviceNumList.Contains(t.Num))) { return(new CResult <bool>(false, ErrorCode.DeviceNumIsExist)); } var deviceTypeList = context.DeviceType.Where(t => t.IsValid && t.ProjectID == projectID && deviceTypeNameList.Contains(t.Name)).Select(t => new { t.ID, t.Name }).ToList(); if (deviceTypeList.Count < deviceTypeNameList.Count) { return(new CResult <bool>(false, ErrorCode.DeviceTypeNotExist)); } var supplierList = context.Supplier.Where(t => t.IsValid && t.ProjectID == projectID && supplierNameList.Contains(t.Name)).Select(t => new { t.ID, t.Name }).ToList(); if (supplierList.Count < supplierNameList.Count) { return(new CResult <bool>(false, ErrorCode.SupplierNotExist)); } var manufacturerList = context.Manufacturer.Where(t => t.IsValid && t.ProjectID == projectID && manufacturerNameList.Contains(t.Name)).Select(t => new { t.ID, t.Name }).ToList(); if (manufacturerList.Count < manufacturerNameList.Count) { return(new CResult <bool>(false, ErrorCode.ManufacturerNotExist)); } var currentTime = DateTime.Now; foreach (var webDevice in webDeviceList) { var device = new Device() { CreateDate = currentTime, CreateUserID = operatorUserID, DeviceTypeID = deviceTypeList.FirstOrDefault(t => t.Name == webDevice.DeviceTypeName).ID, ID = Guid.NewGuid().ToString(), IsValid = true, MaintainDate = webDevice.MaintainDate, ManufacturerID = manufacturerList.FirstOrDefault(t => t.Name == webDevice.ManufacturerName).ID, Num = webDevice.Num, Name = webDevice.Name, Note = webDevice.Note, ProductDate = webDevice.ProductDate, ProjectID = projectID, SupplierID = supplierList.FirstOrDefault(t => t.Name == webDevice.SupplierName).ID, }; context.Device.Add(device); } LogHelper.Info("importList", webDeviceList); return(context.Save()); } }