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"));
 }
Exemplo n.º 2
0
 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("/"));
 }
Exemplo n.º 3
0
        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
        }