Esempio n. 1
0
        public Result <object> SetDevicesForUpdate(List <long> loginIdList)
        {
            var result = new Result <object>();

            try
            {
                if (loginIdList == null || !loginIdList.Any())
                {
                    throw new Exception("Пустой список устройств для обновления");
                }

                using (var ctx = new PolicyProjectEntities())
                {
                    foreach (var loginDevice in ctx.tbl_login_devices.Where(x => loginIdList.Contains(x.id_login)))
                    {
                        loginDevice.need_update_device = true;
                    }

                    result.BoolRes = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка сохранения списка устройств для обновления. ", ex.Message);
            }

            return(result);
        }
Esempio n. 2
0
        public string UpdateLoginDevicesRest(LoginDevicesDataContract loginDevice)
        {
            var result = new Result <object>();

            try
            {
                using (var ctx = new PolicyProjectEntities())
                {
                    var existed = ctx.tbl_login_devices.FirstOrDefault(
                        x => x.id_device == loginDevice.DeviceId && x.id_login == loginDevice.LoginId);

                    if (existed == null)
                    {
                        throw new Exception(string.Concat("Не найдено устройство с ИД ", loginDevice.DeviceId,
                                                          ", принадлежащий логину с ИД ", loginDevice.LoginId));
                    }

                    existed.need_update_device = loginDevice.NeedUpdateDevice;
                    result.BoolRes             = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка обновления статуса устройства. ", ex.Message);
            }

            return(JsonConvert.SerializeObject(result));
        }
Esempio n. 3
0
        public Result <object> DeletePolicySet(PolicySetDataContract policySet)
        {
            var result = new Result <object>();

            try
            {
                if (policySet == null)
                {
                    throw new Exception("Hабор политик не задан");
                }

                using (var ctx = new PolicyProjectEntities())
                {
                    var delPolicySet = ctx.tbl_policy_set.FirstOrDefault(x => x.id == policySet.PolicySetId);
                    ctx.tbl_policy_set.Remove(delPolicySet);
                    result.BoolRes = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка удаления наборa политик. ", ex.Message);
            }

            return(result);
        }
Esempio n. 4
0
        public Result <object> AddUser(UserDataContract user)
        {
            var result = new Result <object>();

            try
            {
                if (user == null)
                {
                    throw new Exception("Новый пользователь не задан");
                }

                using (var ctx = new PolicyProjectEntities())
                {
                    user.UserId = ctx.tbl_user.Any() ? ctx.tbl_user.Max(x => x.id) + 1 : 1;
                    var newUser = UserDataContract.FromUserDataContractToTblUser(user);
                    ctx.tbl_user.Add(newUser);
                    result.BoolRes = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка добавления пользователя. ", ex.Message);
            }

            return(result);
        }
        public Result <object> AddEventLog(EventLogDataContract eventLog)
        {
            var result = new Result <object>();

            try
            {
                if (eventLog == null)
                {
                    throw new Exception("Новая запись лога не задана");
                }

                using (var ctx = new PolicyProjectEntities())
                {
                    eventLog.EventLogId = ctx.tbl_activity_log.Any() ? ctx.tbl_activity_log.Max(x => x.id) + 1 : 1;
                    var newEventLog = EventLogDataContract.FromEventLogDataContractToTblEventLog(eventLog);
                    newEventLog.log_date = DateTime.Now;
                    ctx.tbl_activity_log.Add(newEventLog);
                    result.BoolRes = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка добавления записи лога. ", ex.Message);
            }

            return(result);
        }
Esempio n. 6
0
        public Result <object> DeleteLogin(LoginDataContract login)
        {
            var result = new Result <object>();

            try
            {
                if (login == null)
                {
                    throw new Exception("Логин не задан");
                }

                using (var ctx = new PolicyProjectEntities())
                {
                    var delLogin = ctx.tbl_login.FirstOrDefault(x => x.id == login.LoginId);
                    ctx.tbl_login.Remove(delLogin);
                    result.BoolRes = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка удаления логина. ", ex.Message);
            }

            return(result);
        }
Esempio n. 7
0
        public Result <Dictionary <long, long[]> > GetLoginIdAndDeviceIdDct()
        {
            var result = new Result <Dictionary <long, long[]> >();

            try
            {
                using (var ctx = new PolicyProjectEntities())
                {
                    var devices = from dev in ctx.tbl_login_devices
                                  group dev by dev.id_login
                                  into selectedDevice
                                  select new { LoginId = selectedDevice.Key, DevIds = selectedDevice.Select(x => x.id_device) };
                    var resultDct = new Dictionary <long, long[]>();

                    foreach (var devs in devices)
                    {
                        resultDct.Add(devs.LoginId, devs.DevIds.ToArray());
                    }

                    result.SomeResult = resultDct;
                    result.BoolRes    = true;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка удаления наборa политик. ", ex.Message);
            }

            return(result);
        }
Esempio n. 8
0
        public Result <object> AddPolicySet(PolicySetDataContract policySet)
        {
            var result = new Result <object>();

            try
            {
                if (policySet == null)
                {
                    throw new Exception("Новый набор политик не задан");
                }

                using (var ctx = new PolicyProjectEntities())
                {
                    policySet.PolicySetId = ctx.tbl_policy_set.Any() ? ctx.tbl_policy_set.Max(x => x.id) + 1 : 1;
                    var newPolicySet = PolicySetDataContract.FromPolicySetDataContractToTblPolicySet(policySet);
                    ctx.tbl_policy_set.Add(newPolicySet);
                    result.BoolRes = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка добавления набора политик. ", ex.Message);
            }

            return(result);
        }
Esempio n. 9
0
        public Result <object> DeleteDevice(DeviceInfoDataContract device)
        {
            var result = new Result <object>();

            try
            {
                if (device == null)
                {
                    throw new Exception("Yстройство не задано");
                }

                using (var ctx = new PolicyProjectEntities())
                {
                    var delDevice = ctx.tbl_device_info.FirstOrDefault(x => device.DeviceId == x.id);
                    ctx.tbl_device_info.Remove(delDevice);
                    result.BoolRes = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка удаления устройствa. ", ex.Message);
            }

            return(result);
        }
Esempio n. 10
0
        public Result <PolicySetDataContract[]> GetPolicySetForGroup(int groupId)
        {
            var result = new Result <PolicySetDataContract[]>();

            try
            {
                using (var ctx = new PolicyProjectEntities())
                {
                    result.SomeResult =
                        ctx.tbl_policy_set.Where(x => x.id_group == groupId)
                        .Select(
                            policySetTblData => new PolicySetDataContract
                    {
                        PolicySetId = policySetTblData.id,
                        PolicyId    = policySetTblData.id_policy,
                        PolicyParam = policySetTblData.policy_param
                    }).ToArray();

                    result.BoolRes = true;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка получения набора политик. ", ex.Message);
            }

            return(result);
        }
Esempio n. 11
0
        public Result <object> AddDevice(DeviceInfoDataContract device)
        {
            var result = new Result <object>();

            try
            {
                if (device == null)
                {
                    throw new Exception("Новое устройство не задано");
                }

                using (var ctx = new PolicyProjectEntities())
                {
                    device.DeviceId = ctx.tbl_device_info.Any() ? ctx.tbl_device_info.Max(x => x.id) + 1 : 1;
                    var newDevice = DeviceInfoDataContract.FromDeviceInfoDataContractToTblDeviceInfo(device);
                    ctx.tbl_device_info.Add(newDevice);
                    result.BoolRes = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка добавления устройствa. ", ex.Message);
            }

            return(result);
        }
Esempio n. 12
0
        public Result <object> DeleteEvent(EventDataContract evnt)
        {
            var result = new Result <object>();

            try
            {
                if (evnt == null)
                {
                    throw new Exception("Событие не задано");
                }

                using (var ctx = new PolicyProjectEntities())
                {
                    var delEvent = ctx.tbl_event.FirstOrDefault(x => x.id == evnt.EventId);
                    ctx.tbl_event.Remove(delEvent);
                    result.BoolRes = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка удаления события. ", ex.Message);
            }

            return(result);
        }
Esempio n. 13
0
        public Result <object> DeleteUser(UserDataContract user)
        {
            var result = new Result <object>();

            try
            {
                if (user == null)
                {
                    throw new Exception("Пользователь не задан");
                }

                using (var ctx = new PolicyProjectEntities())
                {
                    var delUser = ctx.tbl_user.FirstOrDefault(x => x.id == user.UserId);
                    ctx.tbl_user.Remove(delUser);
                    result.BoolRes = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка удаления пользователя. ", ex.Message);
            }

            return(result);
        }
Esempio n. 14
0
        public Result <string[]> GetCertificate(long loginId)
        {
            var result = new Result <string[]>();

            try
            {
                using (var ctx = new PolicyProjectEntities())
                {
                    var login = ctx.tbl_login.FirstOrDefault(x => x.id == loginId);

                    if (login == null)
                    {
                        throw new Exception("Логин не найден");
                    }

                    result.SomeResult = new[] { login.login, login.certificate };
                    result.BoolRes    = true;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка получения сертификата. ", ex.Message);
            }

            return(result);
        }
        public Result <object> DeleteEventLog(DateTime fromDate, DateTime?toDate, int?eventId)
        {
            var result = new Result <object>();

            try
            {
                using (var ctx = new PolicyProjectEntities())
                {
                    var finalDate    = (toDate ?? DateTime.Now).AddDays(1);
                    var logForDelete = ctx.tbl_activity_log.Where(x => x.log_date >= fromDate &&
                                                                  x.log_date <= finalDate);

                    if (eventId != null)
                    {
                        logForDelete = logForDelete.Where(x => x.id_event == eventId);
                    }

                    foreach (var log in logForDelete)
                    {
                        ctx.tbl_activity_log.Remove(log);
                    }

                    result.BoolRes = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка удаления лога событий. ", ex.Message);
            }

            return(result);
        }
Esempio n. 16
0
        public Result <object> DeleteGroup(GroupDataContract group)
        {
            var result = new Result <object>();

            try
            {
                if (group == null)
                {
                    throw new Exception("Группа не задана");
                }

                using (var ctx = new PolicyProjectEntities())
                {
                    var delGroup = ctx.tbl_group.FirstOrDefault(x => x.id == group.GroupId);
                    ctx.tbl_group.Remove(delGroup);
                    result.BoolRes = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка удаления группы. ", ex.Message);
            }

            return(result);
        }
Esempio n. 17
0
        public Result <DeviceInfoDataContract[]> GetDevice(DeviceInfoDataContract deviceFilter)
        {
            var result = new Result <DeviceInfoDataContract[]>();

            try
            {
                using (var ctx = new PolicyProjectEntities())
                {
                    if (deviceFilter == null)
                    {
                        result.SomeResult =
                            ctx.tbl_device_info.Select(
                                deviceTblData => new DeviceInfoDataContract
                        {
                            DeviceId           = deviceTblData.id,
                            DeviceName         = deviceTblData.device_name,
                            DeviceSerialNumber = deviceTblData.device_serial_number,
                            DevicePlatformId   = deviceTblData.device_platform_id,
                            DeviceIpAddress    = deviceTblData.device_ip_addr,
                            DeviceMacAddress   = deviceTblData.device_mac_addr,
                            DevicePlatformName =
                                ctx.tbl_platform.FirstOrDefault(x => x.id == deviceTblData.device_platform_id)
                                .platform_name
                        }).ToArray();
                    }
                    else
                    {
                        result.SomeResult = ctx.tbl_device_info.Where(x => x.id == deviceFilter.DeviceId
                                                                      ||
                                                                      x.device_serial_number.Equals(
                                                                          deviceFilter.DeviceSerialNumber,
                                                                          StringComparison
                                                                          .InvariantCultureIgnoreCase))
                                            .Select(deviceTblData => new DeviceInfoDataContract
                        {
                            DeviceId           = deviceTblData.id,
                            DeviceName         = deviceTblData.device_name,
                            DeviceSerialNumber = deviceTblData.device_serial_number,
                            DevicePlatformId   = deviceTblData.device_platform_id,
                            DeviceIpAddress    = deviceTblData.device_ip_addr,
                            DeviceMacAddress   = deviceTblData.device_mac_addr,
                            DevicePlatformName =
                                ctx.tbl_platform.FirstOrDefault(x => x.id == deviceTblData.device_platform_id)
                                .platform_name
                        })
                                            .ToArray();
                    }

                    result.BoolRes = true;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка получения списка устройств. ", ex.Message);
            }

            return(result);
        }
        public Result <EventLogDataContract[]> GetEventLog(EventLogDataContract eventLogFilter)
        {
            var result = new Result <EventLogDataContract[]>();

            try
            {
                using (var ctx = new PolicyProjectEntities())
                {
                    if (eventLogFilter == null)
                    {
                        result.SomeResult =
                            ctx.tbl_activity_log.Select(
                                eventLogTblData => new EventLogDataContract
                        {
                            EventLogId   = eventLogTblData.id,
                            EventLogDate = eventLogTblData.log_date,
                            EventId      = eventLogTblData.id_event,
                            Login        = eventLogTblData.login,
                            Device       = eventLogTblData.device,
                            DocumentId   = eventLogTblData.id_document,
                            Message      = eventLogTblData.message,
                            EventName    =
                                ctx.tbl_event.FirstOrDefault(x => x.id == eventLogTblData.id_event).event_name
                        }).ToArray();
                    }
                    else
                    {
                        result.SomeResult = ctx.tbl_activity_log.Where(x => x.id == eventLogFilter.EventLogId)
                                            .Select(eventLogTblData => new EventLogDataContract
                        {
                            EventLogId   = eventLogTblData.id,
                            EventLogDate = eventLogTblData.log_date,
                            EventId      = eventLogTblData.id_event,
                            Login        = eventLogTblData.login,
                            Device       = eventLogTblData.device,
                            DocumentId   = eventLogTblData.id_document,
                            Message      = eventLogTblData.message,
                            EventName    =
                                ctx.tbl_event.FirstOrDefault(x => x.id == eventLogTblData.id_event).event_name
                        })
                                            .ToArray();
                    }

                    result.BoolRes = true;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка получения лога событий. ", ex.Message);
            }

            return(result);
        }
Esempio n. 19
0
        public Result <PolicySetDataContract[]> GetPolicySet(PolicySetDataContract policySetFilter)
        {
            var result = new Result <PolicySetDataContract[]>();

            try
            {
                using (var ctx = new PolicyProjectEntities())
                {
                    if (policySetFilter == null)
                    {
                        result.SomeResult =
                            ctx.tbl_policy_set.Select(
                                policySetTblData => new PolicySetDataContract
                        {
                            PolicySetId = policySetTblData.id,
                            PolicyId    = policySetTblData.id_policy,
                            LoginId     = policySetTblData.id_login,
                            GroupId     = policySetTblData.id_group,
                            Selected    = policySetTblData.selected,
                            PolicyParam = policySetTblData.policy_param
                        })
                            .ToArray();
                    }
                    else
                    {
                        result.SomeResult =
                            ctx.tbl_policy_set.Where(
                                x => (policySetFilter.PolicyId > 0 && x.id_policy == policySetFilter.PolicyId) ||
                                (policySetFilter.LoginId > 0 && x.id_login == policySetFilter.LoginId) ||
                                (policySetFilter.GroupId > 0 && x.id_group == policySetFilter.GroupId))
                            .Select(
                                policySetTblData => new PolicySetDataContract
                        {
                            PolicySetId = policySetTblData.id,
                            PolicyId    = policySetTblData.id_policy,
                            LoginId     = policySetTblData.id_login,
                            GroupId     = policySetTblData.id_group,
                            Selected    = policySetTblData.selected,
                            PolicyParam = policySetTblData.policy_param
                        }).ToArray();
                    }

                    result.BoolRes = true;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка получения набора политик. ", ex.Message);
            }

            return(result);
        }
Esempio n. 20
0
        public Result <PolicyDataContract[]> GetPolicy(PolicyDataContract policyFilter)
        {
            var result = new Result <PolicyDataContract[]>();

            try
            {
                using (var ctx = new PolicyProjectEntities())
                {
                    if (policyFilter == null)
                    {
                        result.SomeResult =
                            ctx.tbl_policy.Select(
                                policyTblData => new PolicyDataContract
                        {
                            PolicyId           = policyTblData.id,
                            PolicyName         = policyTblData.policy_name,
                            PlatformId         = policyTblData.platform_id,
                            PolicyInstruction  = policyTblData.policy_instruction,
                            PolicyDefaultParam = policyTblData.policy_default_param,
                            PlatformName       =
                                ctx.tbl_platform.FirstOrDefault(
                                    platform => platform.id == policyTblData.platform_id).platform_name
                        }).ToArray();
                    }
                    else
                    {
                        result.SomeResult = ctx.tbl_policy.Where(x => x.id == policyFilter.PolicyId)
                                            .Select(policyTblData => new PolicyDataContract
                        {
                            PolicyId           = policyTblData.id,
                            PolicyName         = policyTblData.policy_name,
                            PlatformId         = policyTblData.platform_id,
                            PolicyInstruction  = policyTblData.policy_instruction,
                            PolicyDefaultParam = policyTblData.policy_default_param,
                            PlatformName       =
                                ctx.tbl_platform.FirstOrDefault(platform => platform.id == policyTblData.platform_id)
                                .platform_name
                        })
                                            .ToArray();
                    }

                    result.BoolRes = true;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка получения списка политик. ", ex.Message);
            }

            return(result);
        }
Esempio n. 21
0
        public Result <LoginDevicesDataContract[]> GetLoginDevices(LoginDevicesDataContract loginDevicesFilter)
        {
            var result = new Result <LoginDevicesDataContract[]>();

            try
            {
                using (var ctx = new PolicyProjectEntities())
                {
                    if (loginDevicesFilter == null)
                    {
                        result.SomeResult =
                            ctx.tbl_login_devices.Select(
                                loginDevicesTblData => new LoginDevicesDataContract
                        {
                            LoginDeviceId    = loginDevicesTblData.id,
                            DeviceId         = loginDevicesTblData.id_device,
                            LoginId          = loginDevicesTblData.id_login,
                            NeedUpdateDevice = loginDevicesTblData.need_update_device
                        })
                            .ToArray();
                    }
                    else
                    {
                        result.SomeResult =
                            ctx.tbl_login_devices.Where(
                                x =>
                                (loginDevicesFilter.LoginDeviceId > 0 &&
                                 x.id == loginDevicesFilter.LoginDeviceId) ||
                                (loginDevicesFilter.LoginId > 0 && x.id_login == loginDevicesFilter.LoginId)
                                ||
                                (loginDevicesFilter.DeviceId > 0 && x.id_device == loginDevicesFilter.DeviceId))
                            .Select(
                                loginDevicesTblData => new LoginDevicesDataContract
                        {
                            LoginDeviceId    = loginDevicesTblData.id,
                            DeviceId         = loginDevicesTblData.id_device,
                            LoginId          = loginDevicesTblData.id_login,
                            NeedUpdateDevice = loginDevicesTblData.need_update_device
                        }).ToArray();
                    }

                    result.BoolRes = true;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка получения списка устройств. ", ex.Message);
            }

            return(result);
        }
        public Result <EventLogDataContract[]> GetFilteredEventLog(DateTime fromDate, DateTime?toDate, int?eventId)
        {
            var result = new Result <EventLogDataContract[]>();

            try
            {
                using (var ctx = new PolicyProjectEntities())
                {
                    var finalDate   = (toDate ?? DateTime.Now).AddDays(1);
                    var filteredLog = ctx.tbl_activity_log.Where(x => x.log_date >= fromDate &&
                                                                 x.log_date <= finalDate);

                    if (eventId != null)
                    {
                        filteredLog = filteredLog.Where(x => x.id_event == eventId);
                    }

                    var res = new List <EventLogDataContract>();

                    foreach (var activity in filteredLog)
                    {
                        var evntName = ctx.tbl_event.FirstOrDefault(x => x.id == activity.id_event).event_name;
                        res.Add(new EventLogDataContract
                        {
                            EventLogId   = activity.id,
                            EventLogDate = activity.log_date,
                            EventId      = activity.id_event,
                            Device       = activity.device,
                            DocumentId   = activity.id_document,
                            Message      = activity.message,
                            Login        = activity.login,
                            EventName    = evntName
                        });
                    }

                    result.SomeResult = res.ToArray();
                    result.BoolRes    = true;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка получения лога событий. ", ex.Message);
            }

            return(result);
        }
Esempio n. 23
0
        public Result <UserDataContract[]> GetUser(UserDataContract userFilter)
        {
            var result = new Result <UserDataContract[]>();

            try
            {
                using (var ctx = new PolicyProjectEntities())
                {
                    if (userFilter == null)
                    {
                        result.SomeResult =
                            ctx.tbl_user.Select(userTblData => new UserDataContract
                        {
                            UserId         = userTblData.id,
                            UserLastName   = userTblData.last_name,
                            UserFirstName  = userTblData.first_name,
                            UserMiddleName = userTblData.middle_name
                        }).ToArray();
                    }
                    else
                    {
                        result.SomeResult =
                            ctx.tbl_user.Where(x => x.id == userFilter.UserId)
                            .Select(userTblData => new UserDataContract
                        {
                            UserId         = userTblData.id,
                            UserLastName   = userTblData.last_name,
                            UserFirstName  = userTblData.first_name,
                            UserMiddleName = userTblData.middle_name
                        })
                            .ToArray();
                    }

                    result.BoolRes = true;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка получения списка пользователей. ", ex.Message);
            }

            return(result);
        }
Esempio n. 24
0
        public Result <EventDataContract[]> GetEvent(EventDataContract eventFilter)
        {
            var result = new Result <EventDataContract[]>();

            try
            {
                using (var ctx = new PolicyProjectEntities())
                {
                    if (eventFilter == null)
                    {
                        result.SomeResult =
                            ctx.tbl_event.Select(
                                eventTblData =>
                                new EventDataContract
                        {
                            EventId   = eventTblData.id,
                            EventName = eventTblData.event_name
                        }).ToArray();
                    }
                    else
                    {
                        result.SomeResult = ctx.tbl_event.Where(x => x.id == eventFilter.EventId)
                                            .Select(eventTblData =>
                                                    new EventDataContract
                        {
                            EventId   = eventTblData.id,
                            EventName = eventTblData.event_name
                        })
                                            .ToArray();
                    }

                    result.BoolRes = true;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка получения списка событий. ", ex.Message);
            }

            return(result);
        }
Esempio n. 25
0
        public Result <GroupDataContract[]> GetGroup(GroupDataContract groupFilter)
        {
            var result = new Result <GroupDataContract[]>();

            try
            {
                using (var ctx = new PolicyProjectEntities())
                {
                    if (groupFilter == null)
                    {
                        result.SomeResult =
                            ctx.tbl_group.Select(
                                groupTblData =>
                                new GroupDataContract
                        {
                            GroupId   = groupTblData.id,
                            GroupName = groupTblData.group_name
                        }).ToArray();
                    }
                    else
                    {
                        result.SomeResult = ctx.tbl_group.Where(x => x.id == groupFilter.GroupId)
                                            .Select(groupTblData =>
                                                    new GroupDataContract
                        {
                            GroupId   = groupTblData.id,
                            GroupName = groupTblData.group_name
                        })
                                            .ToArray();
                    }

                    result.BoolRes = true;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка получения списка групп. ", ex.Message);
            }

            return(result);
        }
Esempio n. 26
0
        public Result <object> UpdateLogin(LoginDataContract oldLogin, LoginDataContract newLogin)
        {
            var result = new Result <object>();

            try
            {
                if (oldLogin == null)
                {
                    throw new Exception("Текущий логин не задан");
                }

                if (newLogin == null)
                {
                    throw new Exception("Новый логин не задан");
                }

                using (var ctx = new PolicyProjectEntities())
                {
                    var selected = ctx.tbl_login.FirstOrDefault(x => x.id == oldLogin.LoginId);

                    if (selected == null)
                    {
                        throw new Exception("Текущий логин не найден");
                    }

                    selected.login       = newLogin.Login;
                    selected.pwd         = newLogin.Password;
                    selected.certificate = CreateCertificate();
                    selected.id_user     = newLogin.UserId;
                    selected.id_group    = newLogin.GroupId;
                    result.BoolRes       = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка изменения логина. ", ex.Message);
            }

            return(result);
        }
Esempio n. 27
0
        public Result <object> UpdatePolicySet(PolicySetDataContract oldPolicySet, PolicySetDataContract newPolicySet)
        {
            var result = new Result <object>();

            try
            {
                if (oldPolicySet == null)
                {
                    throw new Exception("Текущий набор политик не задан");
                }

                if (newPolicySet == null)
                {
                    throw new Exception("Новый набор политик не задан");
                }

                using (var ctx = new PolicyProjectEntities())
                {
                    var selected = ctx.tbl_policy_set.FirstOrDefault(x => x.id == oldPolicySet.PolicySetId);

                    if (selected == null)
                    {
                        throw new Exception("Текущий набор политик не найден");
                    }

                    selected.id_policy    = newPolicySet.PolicyId;
                    selected.id_group     = newPolicySet.GroupId;
                    selected.id_login     = newPolicySet.LoginId;
                    selected.selected     = newPolicySet.Selected;
                    selected.policy_param = newPolicySet.PolicyParam;
                    result.BoolRes        = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка изменения наборa политик. ", ex.Message);
            }

            return(result);
        }
Esempio n. 28
0
        public Result <object> UpdateDevice(DeviceInfoDataContract oldDevice, DeviceInfoDataContract newDevice)
        {
            var result = new Result <object>();

            try
            {
                if (oldDevice == null)
                {
                    throw new Exception("Текущее устройство не задано");
                }

                if (newDevice == null)
                {
                    throw new Exception("Новое устройство не задано");
                }

                using (var ctx = new PolicyProjectEntities())
                {
                    var selected = ctx.tbl_device_info.FirstOrDefault(x => oldDevice.DeviceId == x.id);

                    if (selected == null)
                    {
                        throw new Exception("Текущее устройство не найдено");
                    }

                    selected.device_name          = newDevice.DeviceName;
                    selected.device_ip_addr       = newDevice.DeviceIpAddress;
                    selected.device_serial_number = newDevice.DeviceSerialNumber;
                    selected.device_mac_addr      = newDevice.DeviceMacAddress;
                    selected.device_platform_id   = newDevice.DevicePlatformId;
                    result.BoolRes = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка изменения устройствa. ", ex.Message);
            }

            return(result);
        }
Esempio n. 29
0
        public Result <object> UpdatePolicy(PolicyDataContract oldPolicy, PolicyDataContract newPolicy)
        {
            var result = new Result <object>();

            try
            {
                if (oldPolicy == null)
                {
                    throw new Exception("Текущая политика не задана");
                }

                if (newPolicy == null)
                {
                    throw new Exception("Новая политика не задана");
                }

                using (var ctx = new PolicyProjectEntities())
                {
                    var selected = ctx.tbl_policy.FirstOrDefault(x => x.id == oldPolicy.PolicyId);

                    if (selected == null)
                    {
                        throw new Exception("Текущая политика не найдена");
                    }

                    selected.policy_name          = newPolicy.PolicyName;
                    selected.platform_id          = newPolicy.PlatformId;
                    selected.policy_instruction   = newPolicy.PolicyInstruction;
                    selected.policy_default_param = newPolicy.PolicyDefaultParam;
                    result.BoolRes = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка изменения политики. ", ex.Message);
            }

            return(result);
        }
        public Result <PlatformDataContract[]> GetPlatform(PlatformDataContract platformFilter)
        {
            var result = new Result <PlatformDataContract[]>();

            try
            {
                using (var ctx = new PolicyProjectEntities())
                {
                    if (platformFilter == null)
                    {
                        result.SomeResult =
                            ctx.tbl_platform.Select(
                                platformTblData => new PlatformDataContract
                        {
                            PlatformId   = platformTblData.id,
                            PlatformName = platformTblData.platform_name
                        }).ToArray();
                    }
                    else
                    {
                        result.SomeResult = ctx.tbl_platform.Where(x => x.id == platformFilter.PlatformId)
                                            .Select(platformTblData => new PlatformDataContract
                        {
                            PlatformId   = platformTblData.id,
                            PlatformName = platformTblData.platform_name
                        })
                                            .ToArray();
                    }

                    result.BoolRes = true;
                }
            }
            catch (Exception ex)
            {
                result.BoolRes  = false;
                result.ErrorRes = string.Concat("Ошибка получения списка платформ. ", ex.Message);
            }

            return(result);
        }