Beispiel #1
0
 public void LabRequestAdd()
 {
     var request = new TestRequestViewModel()
     {
         Company = "1",
         LotNumber = "test",
         RequestDate = "1394/09/01",
         Unit = "1",
         SampleName = "test",
         RequestType = EnumCollection.RequestGenRequestType.Resample,
         RequestDetail = new[] { "1", "2", "3" },
         RequestPersonName = "Admin",
         RequestPriority = EnumCollection.RequestGenStatus.فوری,
         RequestTitle = "test"
     };
     var add = (RedirectToRouteResult)new TestRequestController()
         .TestRequestAdd(request);
     Assert.AreEqual("TestRequestResult",
         add.RouteValues["action"]);
 }
Beispiel #2
0
        public ActionResult TestRequestAdd(TestRequestViewModel model)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.Companies = new SelectList(_testrequestrepository.GetAllCompanies(
                    _userrepository.GetUser(User.Identity.Name, int.Parse(CookieEncryptor.Decrypt(Request.Cookies["LabRequest-Cookie"].Value))).PersonId),
                 "IdRec", "Des", int.Parse(model.Company));
                ViewBag.Units = new SelectList(new List<string>(), "ApplicantId", "ApplicantName");
                ViewBag.RequestTitles = new SelectList(new List<string>(), "IdRec", "Des");
                return View(model);
            }

            if (model.RequestDetail == null)
            {
                ModelState.AddModelError("", "حداقل یک عنوان درخواست از جزئیات میبایست وارد شود");
                ViewBag.Companies = new SelectList(_testrequestrepository.GetAllCompanies(
                    _userrepository.GetUser(User.Identity.Name,
                    int.Parse(CookieEncryptor.Decrypt(Request.Cookies["LabRequest-Cookie"].Value))).PersonId),
                 "IdRec", "Des", int.Parse(model.Company));
                ViewBag.Units = new SelectList(new List<string>(), "ApplicantId", "ApplicantName");
                ViewBag.RequestTitles = new SelectList(new List<string>(), "IdRec", "Des");
                return View(model);
            }

            var user = _userrepository.GetUser(User.Identity.Name,
                int.Parse(CookieEncryptor.Decrypt(Request.Cookies["LabRequest-Cookie"].Value)));

            var testreq = new TestRequest
            {
                TestRequestId = _testrequestrepository.MaxTextRequestId,
                RequestNo = _testrequestrepository.RequestNewCode(model.RequestType),
                ReqDate = model.RequestDate,
                StartDate = model.RequestDate,
                EndDate = model.RequestDate,
                ApplicantId = int.Parse(model.Unit),
                ReqType = 1,
                CreateId = user.PersonId,
                ConfirmId = 0,
                Confirm = "N",
                Enable = false,
                SampleName = model.SampleName,
                Contract = _testrequestrepository.RequestNewCode(model.RequestType),
                Com_Id = user.Com_Id
            };
            _testrequestrepository.Add(testreq);

            var testreqgen = new TestRequestGenerate
            {
                RequestgenId = _testrequestgenrepository.MaxRequestGenId,
                TestRequestId = testreq.TestRequestId,
                PCode = testreq.RequestNo,
                PCodeDate = model.RequestDate,
                PCodeTime = _datetimerepository.GetShortLocalTime,
                RequestDate = model.RequestDate,
                RequestTime = _datetimerepository.GetShortLocalTime,
                UnitSendDate = model.RequestDate,
                UnitSendTime = _datetimerepository.GetShortLocalTime,
                UnitSendConfirm = 1,
                UnitNotSendDes = string.Empty,
                TestType = 1,
                UnitControl = 0,
                RequestType = (int)model.RequestType,
                CreateId = testreq.CreateId,
                ConfirmId = 0,
                Confirm = (int)model.RequestPriority,
                Status = 0,
                TestCount = 0,
                RequestFinish = 0,
                TestExe = 0,
                TestReject = 0,
                ReceiveDate = string.Empty,
                ReceiveTime = string.Empty,
                Shift = _testrequestgenrepository
                    .GetCurrentShift(_datetimerepository.GetLongLocalTime
                        , _datetimerepository.GetLocalDate),
                SampleNo = string.Empty,
                VeselNo = string.Empty,
                LatNo = model.LotNumber,
                SampleMan = model.SampleName
            };
            _testrequestgenrepository.Add(testreqgen);

            foreach (var t in model.RequestDetail)
            {
                var reqtest = new RequestTest
                {
                    ReqTestsId = _requesttestrepository.Max,
                    RequestGenId = testreqgen.RequestgenId,
                    TestRequestId = testreq.TestRequestId,
                    RequestNameId = int.Parse(model.RequestTitle),
                    TestId = int.Parse(t),
                    ConfirmId = 0,
                    Confirm = 0,
                    ExeDate = string.Empty,
                    ExeTime = string.Empty,
                    ExeManId = 0,
                    TestState = 0,
                    TestDes = string.Empty,
                    ReTestCount = 0,
                    ConfirmDate = string.Empty,
                    ConfirmTime = string.Empty,
                    MachinId = 0,
                    Price = _testrepository.GetPrice(int.Parse(t)).Price,
                    PersonShift = 0,
                    ExeShift = 0
                };
                _requesttestrepository.Add(reqtest);
            }

            return RedirectToAction("TestRequestResult", new { reqno = testreq.RequestNo });
        }