コード例 #1
0
        /// <summary>
        /// 新增指定数量评委.
        /// </summary>
        /// <param name="expertCount">评委数.</param>
        /// <param name="projectName">项目名称.</param>
        /// <param name="projectId">项目编号.</param>
        public void AddExpert(int expertCount, string projectName, int projectId)
        {
            List <Expert> list = new List <Expert>();

            for (int i = 1; i <= expertCount; i++)
            {
                Expert expert = new Expert
                {
                    Account   = i.ToString(),
                    Name      = projectName + "-" + i + "号评委",
                    ProjectId = projectId,
                    Status    = "未投票",
                    Password  = GetRandomString.GenerateRandomNumber(),
                };
                expert.CodePath = CreateCodePath(expert.Account, expert.Password, expert.Name);
                list.Add(expert);
            }

            Db.Insertable(list).ExecuteCommand();
        }
コード例 #2
0
        /// <summary>
        /// Create fake files + some duplicates for testing
        /// </summary>
        /// <param name="rootFolderPath"></param>
        public static void CreateFakeFiles(string rootFolderPath, int originalFileCount = 0, int dupeFileCount = 0)
        {
            if (IsNullOrWhiteSpace(rootFolderPath))
            {
                throw new ArgumentNullException(nameof(rootFolderPath));
            }

            var random = new Random(42);

            originalFileCount = (originalFileCount <= 0) ? random.Next(10, 50) : originalFileCount;
            dupeFileCount     = (dupeFileCount <= 0) ? random.Next(10, 20) : dupeFileCount;

            // random file path generator
            string GetRandomString(int length = 2) => Path.GetRandomFileName().Replace(".", "").Substring(0, length);  // Return n character string

            string GetRandomDirs() => Path.Combine(Enumerable.Range(0, random.Next(1, 3)).Select(i => GetRandomString()).ToArray());

            string GetRandomFilePath(string src = null) => Path.Combine(rootFolderPath, GetRandomDirs(), $"{GetRandomString()}{(src != null ? $"_copyof_{src}" : "")}.data");

            int sizeMB;
            var filePaths = Enumerable.Range(0, originalFileCount).Select(i => GetRandomFilePath()).ToList();

            foreach (string filePath in filePaths)
            {
                sizeMB = random.Next(1, 10);
                try
                {
                    Directory.CreateDirectory(Path.GetDirectoryName(filePath));
                    using (FileStream fs = File.Create(filePath))
                    {
                        fs.Seek(sizeMB * 1024L * 1024L, SeekOrigin.Begin);
                        fs.WriteByte(0);
                    }
                    Trace.WriteLine(filePath);
                }
                catch (IOException ex) // file exists already
                {
                    Trace.WriteLine(ex.Message);
                }
            }
            // create duplicates
            var dupes = Enumerable.Range(0, dupeFileCount).Select(i => filePaths[random.Next(0, filePaths.Count() - 1)]).Select(s => (src: s, dest: GetRandomFilePath(Path.GetFileNameWithoutExtension(s))));

            foreach (var dupe in dupes)
            {
                try
                {
                    Directory.CreateDirectory(Path.GetDirectoryName(dupe.dest));
                    File.Copy(dupe.src, dupe.dest, true);
                }
                catch (IOException ex)  // file exists already
                {
                    Trace.WriteLine(ex.Message);
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// 新建病历.
        /// </summary>
        /// <param name="recordDTO">传入数据.</param>
        /// <returns>Json.</returns>
        public ActionResult AddRecord(RecordDTO recordDTO)
        {
            Record record = new Record
            {
                Id           = recordDTO.Id,
                Name         = recordDTO.Name,
                Sex          = recordDTO.Sex,
                Age          = recordDTO.Age,
                Phone        = recordDTO.Phone,
                DepartmentId = int.Parse(recordDTO.Department.Split(' ')[0]),
                BedId        = int.Parse(recordDTO.Bed.Split(' ')[0]),
                MedicalCost  = recordDTO.MedicalCost,
                Deposit      = recordDTO.Deposit,
                Status       = recordDTO.Status,
                InTime       = DateTime.Now.ToString(),
                Account      = GetRandomString.GenerateRandomNumber(),
                PassWord     = "******",
            };

            // 自增列用法
            int recordId = Db.Insertable(record).ExecuteReturnIdentity();

            // 生成日志
            Log log = new Log
            {
                Id      = 0,
                Time    = DateTime.Now.ToString(),
                Content = "病历号:" + recordId + "-姓名:" + record.Name + "办理入院登记",
            };

            // 自增列用法
            Db.Insertable(log).ExecuteReturnIdentity();

            // 生成账单
            Bill bill = new Bill
            {
                Id       = 0,
                RecordId = recordId,
                Time     = DateTime.Now.ToString(),
                Status   = "待支付",
            };

            bill.Type = "押金";
            bill.Cost = record.Deposit;
            Db.Insertable(bill).ExecuteReturnIdentity();
            bill.Type = "医疗费";
            bill.Cost = record.MedicalCost;
            Db.Insertable(bill).ExecuteReturnIdentity();
            bill.Type = "床位费";
            var department = Db.Queryable <Department>().Where(it => it.Id == record.DepartmentId).Single();

            bill.Cost = department.Cost;
            Db.Insertable(bill).ExecuteReturnIdentity();

            // 更新病床和科室
            department.FreeBedNum--;
            var bed = Db.Queryable <Bed>().Where(it => it.Id == record.BedId).Single();

            bed.IsFree   = "已占用";
            bed.RecordId = recordId;
            Db.Updateable(department).ExecuteCommand();
            Db.Updateable(bed).ExecuteCommand();

            // 新增家属
            AddUser(record, recordId);

            return(Json(new { code = 200 }, JsonRequestBehavior.AllowGet));
        }