public async Task <IActionResult> Confirm([FromForm] OnlineTurnViewModel request) { #region ConfirmQuery OnlineQueryDTO resources = new OnlineQueryDTO(); string code = (new Random().Next(1000, 999999999)).ToString(); resources.Code = code; resources.DoctorId = request.DoctorId; resources.ServiceId = request.ServiceId; string parsedTime = request.Date + " " + request.Hour; DateTime time = Convert.ToDateTime(parsedTime); resources.QueryDate = time; resources.ServeDate = DateTime.Now; resources.PhoneNumber = request.PhoneNumber; resources.Email = request.Email; resources.Info = request.Info; resources.Subject = request.Subject; var resp = await new ServiceNodeAsync <OnlineQueryDTO, object>(_localizer, _fc).PostClientAsync(resources, "/api/online_query/confirm"); if (resp.IsCatched == 1) { TempData["ServerResponseError"] = resp.Message.ToString(); return(RedirectToAction("Index", "OnlineTurn", new { doctor = request.DoctorId })); } #endregion TempData["ServerResponseSuccess"] = code; return(RedirectToAction("Index", "Home")); }
public IActionResult GetOnlineTurn([Bind("ServiceId,Info,ServiceDate,Files,FileNumber,ServiceTime")] OnlineQueryViewModel request) { #region Service Prosess string parsedTime = request.ServiceDate.ToString("yyyy-MM-dd") + " " + request.ServiceTime; DateTime time = Convert.ToDateTime(parsedTime); var UserId = Convert.ToInt32(Request.Cookies["UserKey"]); OnlineQueryDTO data = new OnlineQueryDTO(); data.UserId = UserId; data.Info = request.Info; data.ServiceDate = request.ServiceDate; data.ServiceId = request.ServiceId; data.ServiceDate = time; data.StartDate = DateTime.Now; int datecompare = DateTime.Compare(data.StartDate, request.ServiceDate); if (datecompare >= 0) { TempData["ServerResponseError"] = _localizer["Please select valid hour"].ToString(); return(RedirectToAction("OnlineTurn")); } List <PDFDTO> files = new List <PDFDTO>(); if (request.Files != null) { if (request.FileNumber != request.Files.Count) { TempData["ServerResponseError"] = _localizer["Please send all required files, because if files not send operation will be not succeeded."].ToString(); return(RedirectToAction("OnlineTurn")); } for (int i = 0; i < request.Files.Count; i++) { var filename = FileManager.IFormSaveLocal(request.Files[i], "PDFFiles"); files.Add(new PDFDTO { PDFName = filename }); } data.Files = files; } ReturnMessage <object> response = new ServiceNode <OnlineQueryDTO, object>(_localizer, _fc) .PostClient(data, "/api/v1/users/online_query", HttpContext.Session.GetString("JwtSession")); if (response.IsCatched == 1) { TempData["ServerResponseError"] = response.Message; return(View("OnlineTurn")); } #endregion TempData["SuccessResponse"] = "Success"; return(Redirect("/")); }
public IActionResult GetOnlineQuery([FromBody] OnlineQueryDTO request) { #region FunctionBody bool existedQuery = _db.OnlineQueries.Any(c => c.UserId == request.UserId); if (existedQuery) { return(StatusCode(400, new ReturnErrorMessage((int)ErrorTypes.Errors.UnfinishedQuery))); } bool existedDate = _db.OnlineQueries.Any(a => a.ServiceDate == request.ServiceDate); if (existedDate) { return(StatusCode(400, new ReturnErrorMessage((int)ErrorTypes.Errors.ExistedTime))); } request.StartDate = DateTime.Now; int datecompare = DateTime.Compare(request.StartDate, request.ServiceDate); if (datecompare >= 0) { return(StatusCode(400, new ReturnErrorMessage((int)ErrorTypes.Errors.ValidationFailed))); } OnlineQuery query = new OnlineQuery(); query.StartDate = request.StartDate; query.ServiceDate = request.ServiceDate; query.ServiceId = request.ServiceId; query.UserId = request.UserId; query.Info = request.Info; List <PDFClass> pdfcls = new List <PDFClass>(); if (request.Files != null) { if (request.Files.Count > 0) { foreach (var item in request.Files) { pdfcls.Add(new PDFClass { PDFName = item.PDFName }); } } } query.PdfClasses = pdfcls; _db.OnlineQueries.Add(query); _db.SaveChanges(); return(Ok(new ReturnMessage())); #endregion }