Пример #1
0
        private Result[] CalculateCriteria(Result[] metrics)
        {
            FileUser fileUser = new FileUser(Properties.Settings.Default.Criteria, new CriteriasRepository());

            Criteria[]    allCriterias = (Criteria[])fileUser.getElements();
            List <Result> results      = new List <Result>();

            float[] sum   = new float[allCriterias.Length];
            int[]   count = new int[allCriterias.Length];
            bool[]  flags = new bool[allCriterias.Length];
            foreach (Result metric in metrics)
            {
                Metric temp = (Metric)metric.Layer;
                flags[temp.CriteriaId] = true;
                sum[temp.CriteriaId]  += metric.Assessment;
                ++count[temp.CriteriaId];
            }

            for (int i = 0; i < allCriterias.Length; ++i)
            {
                if (flags[i] == true)
                {
                    int c = count[i];
                    if (c == 0)
                    {
                        c = 1;
                    }
                    results.Add(new Result(allCriterias[i], 2, sum[i] / c));
                }
            }

            return(results.ToArray());
        }
Пример #2
0
        protected void Page_Load(object sender, EventArgs e)
        {                                   ////////////////Creating Grid View ///////////////
            DataTable dt = new DataTable(); //создаём таблицу

            dt.Columns.Add("File", typeof(string));
            dt.Columns.Add("Size", typeof(string));
            dt.Columns.Add("Type", typeof(string));
            dt.Columns.Add("Hash", typeof(string));
            dt.Columns.Add("Sign", typeof(string));
            dt.Columns.Add("PublicKey", typeof(string));
            dt.Columns.Add("Mod", typeof(string));
            dt.Columns.Add("Login", typeof(string));
            String userName, sign_out, openkey, mod = "";

            using (site_dbDataContext contex = new site_dbDataContext()) //Создан экземпляр класса БД
            {
                //Создаем объекты таблиц
                FileUser UserName = new FileUser();


                foreach (string strfile in Directory.GetFiles(Server.MapPath("~/Data")))//вносим данные
                {
                    FileInfo fi = new FileInfo(strfile);
                    userName = (from x in new site_dbDataContext().FileUser where x.FileName == fi.Name select x.Email).First();
                    sign_out = (from x in new site_dbDataContext().FileUser where x.FileName == fi.Name select x.Sign).First();
                    openkey  = (from x in new site_dbDataContext().PublicKeys where x.UserLogin == userName select x.PublicKey).First();
                    mod      = (from x in new site_dbDataContext().PublicKeys where x.UserLogin == userName select x.Mod).First();
                    dt.Rows.Add(fi.Name, fi.Length, GetFileTypeByExtension(fi.Extension), ComputeMD5Checksum(Server.MapPath("~/Data/") + fi.Name), sign_out, openkey, mod, userName);
                }
            }
            GridView1.DataSource = dt;
            GridView1.DataBind();

            //////////////////////////////////////////////////
        }
Пример #3
0
        private void GetFilteredCriteria(int id)
        {
            FileUser     fileUser     = new FileUser(Properties.Settings.Default.SoftwareTools, new SoftwareToolRepository());
            SoftwareTool softwareTool = (SoftwareTool)fileUser.getElementById(id);

            fileUser = new FileUser(Properties.Settings.Default.Matrix, new CriteriaMatrixRepository());
            DataSingleton.GetInstance(id, true);
            DataSingleton.GetInstance((int[])fileUser.getElementById(softwareTool.Id));
        }
Пример #4
0
        public Metric[] FilterMetrics()
        {
            FileUser fileUser = new FileUser(Properties.Settings.Default.Metrics, new MetricRepository());

            Metric[] metrics = (Metric[])fileUser.getElements();
            metrics = FilterByPhase(metrics);
            metrics = SetPriority(metrics);
            return(metrics);
        }
Пример #5
0
        public Indicator[] FilterIndicators()
        {
            FileUser fileUser = new FileUser(Properties.Settings.Default.Indicators, new IndicatorsRepository());

            Indicator[] indicators = (Indicator[])fileUser.getElements();

            MetricsFilter metricsFilter = new MetricsFilter();

            Metric[] metrics = metricsFilter.FilterMetrics();
            indicators = SetPriority(indicators, metrics);
            return(indicators);
        }
Пример #6
0
        /// <summary>
        /// 判断用户是否具有指定权限操作
        /// </summary>
        /// <param name="uid">用户ID</param>
        /// <param name="fileID">文件ID</param>
        /// <param name="access">访问动作</param>
        /// <returns></returns>
        public static bool Auth(int uid, int fileID, FilePermission access)
        {
            FileAccessService fileService = new FileAccessService();
            File file = fileService.GetFileByFID(fileID);

            if (file == null)
            {
                return(false);
            }
            //判断文件是否已经归档
            if (access == FilePermission.Delete && file.FileArchive)
            {
                return(false);
            }
            //1.判断文件是否属于自己
            if (file.UserID == uid)
            {
                //if (CheckFilePermission(file.FileOwner, access))
                return(true);
            }
            //2.判断自己的部门是否和文件所在同一个部门
            IList <FileDepartment> fileDepartment = fileService.GetDepartmentByFID(fileID);
            IList <Department>     userDepartment = fileService.GetDepartmentByUID(uid);

            if (CheckFileDepartment(userDepartment, fileDepartment, access))
            {
                return(true);
            }
            //3.判断文件共享权限
            FileUser fileUser = fileService.GetFileShare(uid, fileID);

            if (fileUser != null)
            {
                if (CheckFilePermission(fileUser.FilePermission, access))
                {
                    return(true);
                }
            }
            return(false);
        }
Пример #7
0
        private Result CalculateSoftwareTool(Result[] criterias)
        {
            float sum   = 0;
            float count = 0;

            foreach (Result criteria in criterias)
            {
                sum += criteria.Assessment;
                ++count;
            }

            if (count == 0)
            {
                count = 1;
            }

            FileUser     fileUser     = new FileUser(Properties.Settings.Default.SoftwareTools, new SoftwareToolRepository());
            SoftwareTool softwareTool = (SoftwareTool)fileUser.getElementById(DataSingleton.GetInstance().SoftwareTool);

            Result result = new Result(softwareTool, 1, sum / count);

            return(result);
        }
Пример #8
0
 private void loadData_Click(object sender, EventArgs e)
 {
     using (OpenFileDialog ofd = new OpenFileDialog())
     {
         ofd.Filter = "xml files (*.xml)|*.xml";
         if (ofd.ShowDialog() == DialogResult.OK)
         {
             try
             {
                 FileUser      fileUser  = new FileUser(ofd.FileName, new SavePointRepository());
                 SavePoint     savePoint = (SavePoint)fileUser.getElementById(0);
                 EditSavePoint loader    = new EditSavePoint();
                 loader.LoadSavePoint(savePoint);
                 CheckRadioButton(savePoint.IdSoftwareTool);
                 DataSingleton.GetInstance(savePoint.IdPhase, savePoint.IdSoftwareTool);
                 SavePointSingleton.GetInstance(savePoint);
             }
             catch (Exception)
             {
                 MessageBox.Show("Ошибка загрузки файла", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
     }
 }
        public bool AddShareUser(AddShareUserInput input)
        {
            var fileUsersToRemove = _context.FileUsers.Where(a => a.FileId == input.FileId);

            _context.FileUsers.RemoveRange(fileUsersToRemove);

            foreach (var item in input.FileUserDtos)
            {
                var user = _context.Users.FirstOrDefault(a => a.UserID == item.UserId);
                if (user == null)
                {
                    user = new User
                    {
                        UserID       = item.UserId,
                        UserName     = item.UserName,
                        CreationTime = DateTime.Now
                    };

                    _context.Users.Add(user);
                }

                var fileUser = new FileUser
                {
                    FileId       = input.FileId,
                    UserId       = item.UserId,
                    Permission   = item.Permission,
                    CreationTime = DateTime.Now
                };

                _context.FileUsers.Add(fileUser);
            }

            _context.SaveChanges();

            return(true);
        }
Пример #10
0
        private void GetPhase(int id)
        {
            FileUser fileUser = new FileUser(Properties.Settings.Default.Phases, new LifeCyclePhaseRepository());

            DataSingleton.GetInstance(((Phase)fileUser.getElementById(id)).Id);
        }
Пример #11
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            if (Context.User.Identity.Name == "")
            {
                Response.Redirect("~/Account/Login.aspx");
            }
            else
            {
                if (FileUpload1.HasFile)
                {
                    FileUpload1.PostedFile.SaveAs(Server.MapPath("~/Data/") + FileUpload1.FileName); // куда грузить
                    ////////////Writing user name into database///////////
                    using (site_dbDataContext contex = new site_dbDataContext())                     //Создан экземпляр класса БД
                    {
                        //Создаем объекты таблиц
                        FileUser UserName = new FileUser();
                        //PublicKey
                        UserName.Email    = Context.User.Identity.Name;
                        UserName.FileName = FileUpload1.FileName;


                        ////////////////////////////////////////////////////
                        ///////////////Добавляем Подпись///////////////////

                        RSA.BigInteger BI_Text = new RSA.BigInteger(ComputeMD5Checksum(Server.MapPath("~/Data/") + FileUpload1.FileName), 16);
                        RSA.BigInteger d       = new RSA.BigInteger((from x in new site_dbDataContext().Sisurity where x.UserLogin == Context.User.Identity.Name select x.PrivatKey).First(), 10);
                        RSA.BigInteger n       = new RSA.BigInteger((from x in new site_dbDataContext().PublicKeys where x.UserLogin == Context.User.Identity.Name select x.Mod).First(), 10);
                        byte[]         sign    = BI_Text.modPow(d, n).getBytes();
                        UserName.Sign = BitConverter.ToString(sign).Replace("-", string.Empty);
                        contex.FileUser.InsertOnSubmit(UserName);
                        contex.SubmitChanges();
                        ///////////////////////////////////////////////////*/
                    }
                }

                DataTable dt = new DataTable();//создаём таблицу
                dt.Columns.Add("File", typeof(string));
                dt.Columns.Add("Size", typeof(string));
                dt.Columns.Add("Type", typeof(string));
                dt.Columns.Add("Hash", typeof(string));
                dt.Columns.Add("Sign", typeof(string));
                dt.Columns.Add("PublicKey", typeof(string));
                dt.Columns.Add("Mod", typeof(string));
                dt.Columns.Add("Login", typeof(string));
                String userName, sign_out, openkey, mod = "";
                using (site_dbDataContext contex = new site_dbDataContext()) //Создан экземпляр класса БД
                {
                    //Создаем объекты таблиц
                    FileUser UserName = new FileUser();


                    foreach (string strfile in Directory.GetFiles(Server.MapPath("~/Data")))//вносим данные
                    {
                        FileInfo fi = new FileInfo(strfile);
                        userName = (from x in new site_dbDataContext().FileUser where x.FileName == fi.Name select x.Email).First();
                        sign_out = (from x in new site_dbDataContext().FileUser where x.FileName == fi.Name select x.Sign).First();
                        openkey  = (from x in new site_dbDataContext().PublicKeys where x.UserLogin == userName select x.PublicKey).First();
                        mod      = (from x in new site_dbDataContext().PublicKeys where x.UserLogin == userName select x.Mod).First();
                        dt.Rows.Add(fi.Name, fi.Length, GetFileTypeByExtension(fi.Extension), ComputeMD5Checksum(Server.MapPath("~/Data/") + fi.Name), sign_out, openkey, mod, userName);
                    }
                }
                GridView1.DataSource = dt;
                GridView1.DataBind();
            }
        }
Пример #12
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            if (Context.User.Identity.Name == "")
            {
                Response.Redirect("~/Account/Login.aspx");
            }
            else
            {
                if (FileUpload1.HasFile)
                {
                    FileUpload1.PostedFile.SaveAs(Server.MapPath("~/Data/") + FileUpload1.FileName);// куда грузить
                    ////////////Writing user name into database///////////
                    using (site_dbDataContext contex = new site_dbDataContext()) //Создан экземпляр класса БД
                    {
                        //Создаем объекты таблиц
                        FileUser UserName = new FileUser();
                        //PublicKey
                        UserName.Email = Context.User.Identity.Name;
                        UserName.FileName = FileUpload1.FileName;

                        ////////////////////////////////////////////////////
                        ///////////////Добавляем Подпись///////////////////

                        RSA.BigInteger BI_Text = new RSA.BigInteger(ComputeMD5Checksum(Server.MapPath("~/Data/") + FileUpload1.FileName), 16);
                        RSA.BigInteger d = new RSA.BigInteger((from x in new site_dbDataContext().Sisurity where x.UserLogin == Context.User.Identity.Name select x.PrivatKey).First(), 10);
                        RSA.BigInteger n = new RSA.BigInteger((from x in new site_dbDataContext().PublicKeys where x.UserLogin == Context.User.Identity.Name select x.Mod).First(), 10);
                        byte[] sign = BI_Text.modPow(d, n).getBytes();
                        UserName.Sign = BitConverter.ToString(sign).Replace("-", string.Empty);
                        contex.FileUser.InsertOnSubmit(UserName);
                        contex.SubmitChanges();
                        ///////////////////////////////////////////////////*/
                    }
                }

                DataTable dt = new DataTable();//создаём таблицу
                dt.Columns.Add("File", typeof(string));
                dt.Columns.Add("Size", typeof(string));
                dt.Columns.Add("Type", typeof(string));
                dt.Columns.Add("Hash", typeof(string));
                dt.Columns.Add("Sign", typeof(string));
                dt.Columns.Add("PublicKey", typeof(string));
                dt.Columns.Add("Mod", typeof(string));
                dt.Columns.Add("Login", typeof(string));
                String userName, sign_out, openkey, mod = "";
                using (site_dbDataContext contex = new site_dbDataContext()) //Создан экземпляр класса БД
                {
                    //Создаем объекты таблиц
                    FileUser UserName = new FileUser();

                    foreach (string strfile in Directory.GetFiles(Server.MapPath("~/Data")))//вносим данные
                    {
                        FileInfo fi = new FileInfo(strfile);
                        userName = (from x in new site_dbDataContext().FileUser where x.FileName == fi.Name select x.Email).First();
                        sign_out = (from x in new site_dbDataContext().FileUser where x.FileName == fi.Name select x.Sign).First();
                        openkey = (from x in new site_dbDataContext().PublicKeys where x.UserLogin == userName select x.PublicKey).First();
                        mod = (from x in new site_dbDataContext().PublicKeys where x.UserLogin == userName select x.Mod).First();
                        dt.Rows.Add(fi.Name, fi.Length, GetFileTypeByExtension(fi.Extension), ComputeMD5Checksum(Server.MapPath("~/Data/") + fi.Name), sign_out, openkey, mod, userName);
                    }
                }
                GridView1.DataSource = dt;
                GridView1.DataBind();

            }
        }
Пример #13
0
        protected void Page_Load(object sender, EventArgs e)
        {
            ////////////////Creating Grid View ///////////////
            DataTable dt = new DataTable();//создаём таблицу
            dt.Columns.Add("File", typeof(string));
            dt.Columns.Add("Size", typeof(string));
            dt.Columns.Add("Type", typeof(string));
            dt.Columns.Add("Hash", typeof(string));
            dt.Columns.Add("Sign", typeof(string));
            dt.Columns.Add("PublicKey", typeof(string));
            dt.Columns.Add("Mod", typeof(string));
            dt.Columns.Add("Login", typeof(string));
            String userName, sign_out, openkey, mod = "";
            using (site_dbDataContext contex = new site_dbDataContext()) //Создан экземпляр класса БД
            {
                //Создаем объекты таблиц
                FileUser UserName = new FileUser();

                foreach (string strfile in Directory.GetFiles(Server.MapPath("~/Data")))//вносим данные
                {
                    FileInfo fi = new FileInfo(strfile);
                    userName = (from x in new site_dbDataContext().FileUser where x.FileName == fi.Name select x.Email).First();
                    sign_out = (from x in new site_dbDataContext().FileUser where x.FileName == fi.Name select x.Sign).First();
                    openkey = (from x in new site_dbDataContext().PublicKeys where x.UserLogin == userName select x.PublicKey).First();
                    mod = (from x in new site_dbDataContext().PublicKeys where x.UserLogin == userName select x.Mod).First();
                    dt.Rows.Add(fi.Name, fi.Length, GetFileTypeByExtension(fi.Extension), ComputeMD5Checksum(Server.MapPath("~/Data/") + fi.Name), sign_out, openkey, mod, userName);
                }
            }
            GridView1.DataSource = dt;
            GridView1.DataBind();

            //////////////////////////////////////////////////
        }