예제 #1
0
 //[HttpPost]
 //public ActionResult Index(Claim model)
 //{
 //    //var model = new Claim(id);
 //    return View();
 //}
 public JsonResult ClaimSave(int? id, string descr)
 {
     try
     {
         if (!id.HasValue) throw new ArgumentException("Не указана заявка!");
         ResponseMessage responseMessage;
         var model = new Claim();
         model.Id = id.Value;
         model.Descr = descr;
         bool complete = model.Save(out responseMessage);
         if (!complete) throw new Exception(responseMessage.ErrorMessage);
     }
     catch (Exception ex)
     {
         return Json(new { errorMessage = ex.Message });
     }
     return Json(new { });
 }
예제 #2
0
        //[HttpPost]
        //public ActionResult Index(Claim model)
        //{
        //    //var model = new Claim(id);
        //    return View();
        //}

        public async Task<JsonResult> ClaimSave(int? id, string descr)
        {
            //try
            //{
            if (!id.HasValue) throw new ArgumentException("Не указана заявка!");
                ResponseMessage responseMessage;
                var model = new Claim();
                model.Id = id.Value;
                model.Descr = descr;
                 await model.SaveAsync();
                //bool complete = model.Save(out responseMessage);
                //if (!complete) throw new Exception(responseMessage.ErrorMessage);
            //}
            //catch (Exception ex)
            //{
            //    return Json(new { errorMessage = ex.Message });
            //}
            return Json(new { });
        }
예제 #3
0
        public ActionResult Index(int? id)
        {
            if (
                !CurUser.HasAccess(AdGroup.ServiceTech, AdGroup.ServiceAdmin, AdGroup.ServiceControler,
                    AdGroup.ServiceEngeneer, AdGroup.ServiceManager, AdGroup.ServiceOperator))
                return HttpNotFound();

            if (!id.HasValue || id <= 0) return RedirectToAction("New");
            Claim model=new Claim();
            try
            {
                model = new Claim(id.Value);
            }
            catch (Exception ex)
            {
                return RedirectToAction("HandledError", "Error", new { message= ex.Message});
            }
            
            return View(model);
        }
예제 #4
0
 private void FillSelf(Claim model)
 {
     Id = model.Id;
     Sid = model.Sid;
     Contractor = model.Contractor;
     Contract = model.Contract;
     Device = model.Device;
     ContractorName = model.ContractorName;
     ContractName = model.ContractName;
     DeviceName = model.DeviceName;
     Admin = model.Admin;
     Engeneer = model.Engeneer;
     State = model.State;
     IdWorkType = model.IdWorkType;
     WorkType = model.WorkType;
     SpecialistSid = model.SpecialistSid;
     Specialist = model.Specialist;
     DateCreate = model.DateCreate;
     DateStateChange = model.DateStateChange;
     ClientSdNum = model.ClientSdNum;
     CurEngeneerSid = model.CurEngeneerSid;
     CurAdminSid = model.CurAdminSid;
     CurTechSid = model.CurTechSid;
     CurManagerSid = model.CurManagerSid;
 }
예제 #5
0
        public ActionResult New(Claim model)
        {
            if (!CurUser.UserCanCreateClaim()) return RedirectToAction("AccessDenied", "Error");

            //Создаем заявку с основными полями и одельно первый статус с комментарием
            try
            {
                ResponseMessage responseMessage;
                model.Contractor = new Contractor() {Id = MainHelper.GetValueInt(Request.Form["ctrList"]) };
                model.Contract = new Contract() { Id = MainHelper.GetValueInt(Request.Form["contList"]) };
                model.Device = new Device() {Id = MainHelper.GetValueInt(Request.Form["devList"]) };
                model.Descr = Request.Form["descr"];
                bool complete = model.SaveAndGoNextState(out responseMessage);
                if (!complete) throw new Exception(responseMessage.ErrorMessage);

                return RedirectToAction("Index", new { id = responseMessage.Id });
            }
            catch (Exception ex)
            {
                TempData["ServerError"] = ex.Message;
                return View("New", model);
            }

            return View("New", model);
        }
예제 #6
0
 public ActionResult Index2(int? id)
 {
     if (!id.HasValue) return RedirectToAction("New");
     var model = new Claim(id.Value);
     return View(model);
 }
예제 #7
0
        public ActionResult ZipOrderConfirm(Claim model)
        {
            try
            {
                if (!String.IsNullOrEmpty(Request.Form["ZipOrderConfirm"]))
                {
                    ResponseMessage responseMessage;
                    bool complete = model.Go(out responseMessage);
                    if (!complete) throw new Exception(responseMessage.ErrorMessage);

                    return RedirectToAction("Index", new { id = responseMessage.Id });
                }
                else if (!String.IsNullOrEmpty(Request.Form["ZipOrderCancel"]))
                {
                    ResponseMessage responseMessage;
                    //model.Descr = Request.Form["ClaimWorkCancelDescr"];
                    bool complete = model.GoBack(out responseMessage);
                    if (!complete) throw new Exception(responseMessage.ErrorMessage);

                    //return RedirectToAction("Index", new { id = responseMessage.Id });
                }
            }
            catch (Exception ex)
            {
                TempData["error"] = ex.Message;
                return RedirectToAction("Index", new { id = model.Id });
            }

            return View("WindowClose");
            //return RedirectToAction("List");
        }
예제 #8
0
        public ActionResult ZipOrdered(Claim model)
        {
            try
            {
                ResponseMessage responseMessage;
                bool complete = model.Go(out responseMessage);
                if (!complete) throw new Exception(responseMessage.ErrorMessage);
            }
            catch (Exception ex)
            {
                TempData["error"] = ex.Message;
                return RedirectToAction("Index", new { id = model.Id });
            }

            return View("WindowClose");
            //return RedirectToAction("List");
        }
예제 #9
0
        public ActionResult ZipOrder(Claim model)
        {
            try
            {
                ResponseMessage responseMessage;
                bool complete = model.Go(out responseMessage);
                if (!complete) throw new Exception(responseMessage.ErrorMessage);
                var claim = new Claim(model.Id);
                ServiceSheet lastServSheet = claim.GetLastServiceSheet();
                string zipOrderUrl =
                    $"{ConfigurationManager.AppSettings["zipClaimHost"]}/Claims/Editor?snum={claim.Device.SerialNum}&ssid={lastServSheet.Id}&servid={claim.Id}&esid={(String.IsNullOrEmpty(claim.CurEngeneerSid) ? claim.CurTechSid : claim.CurEngeneerSid)}&asid={(String.IsNullOrEmpty(claim.CurAdminSid) ? claim.CurTechSid : claim.CurAdminSid)}&csdnum={claim.ClientSdNum}&cmnt={Url.Encode(lastServSheet.Descr)}&cntr={lastServSheet.CounterMono}&cntrc={lastServSheet.CounterColor}&dvst={lastServSheet.DeviceEnabled}";
                return Redirect(zipOrderUrl);
            }
            catch (Exception ex)
            {
                TempData["error"] = ex.Message;
                return RedirectToAction("Index", new { id = model.Id });
            }

            return View("WindowClose");
            //return RedirectToAction("List");
        }
예제 #10
0
        public ActionResult ServiceSheetTechForm(Claim model)
        {
            try
            {
                ResponseMessage responseMessage = null;
                bool complete = false;
                if (!String.IsNullOrEmpty(Request.Form["ServiceSheetSave"]))
                {
                    complete = model.Go(out responseMessage);

                }
                else if (!String.IsNullOrEmpty(Request.Form["ServiceSheetCancel"]))
                {
                    complete = model.GoBack(out responseMessage);
                    return RedirectToAction("Index");
                }
                
                if (responseMessage == null)responseMessage = new ResponseMessage();
                if (!complete) throw new Exception(responseMessage.ErrorMessage);

                return RedirectToAction("List");
            }
            catch (Exception ex)
            {
                TempData["error"] = ex.Message;
                return RedirectToAction("Index", new { id = model.Id });
            }
        }
예제 #11
0
        public ActionResult SpecialistSelect(Claim model)
        {
            try
            {
                ResponseMessage responseMessage;
                //model.ServiceIssue4Save.Descr = model.Descr;
                //model.ServiceIssue4Save.IdClaim = model.Id;
                //model.SpecialistSid = model.SpecialistSid;
                bool complete = model.Go(out responseMessage);
                if (!complete) throw new Exception(responseMessage.ErrorMessage);

                return RedirectToAction("List", new { id = responseMessage.Id });
            }
            catch (Exception ex)
            {
                TempData["error"] = ex.Message;
                return RedirectToAction("Index", new { id = model.Id });
            }
        }
예제 #12
0
        public ActionResult SetWorkType(Claim model)
        {
            try
            {
                ResponseMessage responseMessage;
                bool complete = model.Go(out responseMessage);
                if (!complete) throw new Exception(responseMessage.ErrorMessage);

                return RedirectToAction("List", new { id = responseMessage.Id });
            }
            catch (Exception ex)
            {
                TempData["error"] = ex.Message;
                return RedirectToAction("Index", new {id=model.Id});
            }
        }
예제 #13
0
        public ActionResult New(Claim model)
        {
            //if (!CurUser.UserCanCreateClaim()) return RedirectToAction("AccessDenied", "Error");

            //Создаем заявку с основными полями и одельно первый статус с комментарием
            try
            {
                ResponseMessage responseMessage;
                model.Contractor = new Contractor() { Id = MainHelper.GetValueInt(Request.Form["ctrList"]) };
                model.Contract = new Contract() { Id = MainHelper.GetValueInt(Request.Form["contList"]) };
                model.Device = new Device() { Id = MainHelper.GetValueInt(Request.Form["devList"]) };
                model.Descr = Request.Form["descr"];
                model.ClientSdNum = Request.Form["client_sd_num"];
                bool result = model.Save(out responseMessage);
                //var response = DbModel.DeserializeResponse(result);
                if (!result) throw new Exception(responseMessage.ErrorMessage);
                return RedirectToAction("Index", new { id = responseMessage.Id });
            }
            catch (Exception ex)
            {
                TempData["error"] = ex.Message;
                return View("New", model);
            }

            //return RedirectToAction("New", model);
        }