Example #1
0
        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);
            }
        }
Example #2
0
        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));
                }
            }
        }
Example #3
0
        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());
            }
        }
Example #5
0
        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());
            }
        }
Example #6
0
        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());
            }
        }
Example #7
0
        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());
            }
        }
Example #8
0
        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());
            }
        }
Example #9
0
        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());
            }
        }
Example #10
0
        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());
            }
        }
Example #11
0
        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());
            }
        }
Example #12
0
        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());
            }
        }
Example #13
0
        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());
            }
        }
Example #14
0
        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());
            }
        }
Example #15
0
        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());
            }
        }
Example #16
0
        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());
            }
        }
Example #17
0
        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());
            }
        }
Example #18
0
        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());
            }
        }
Example #19
0
        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());
            }
        }
Example #20
0
        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());
            }
        }
Example #21
0
        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());
            }
        }
Example #22
0
        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());
            }
        }
Example #24
0
        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());
            }
        }
Example #25
0
        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());
            }
        }