public IActionResult Edit(int id, [FromBody] VideoRequestEditVM modelVM) { try { var curUser = accountUtil.GetCurrentUser(User); VideoRequest request = VideoRequestService.GetActiveSingleDetailsWithRelatedDataByID(id); if (request == null || !VideoRequestService.BelongsToCustomer(request, curUser.ID)) { //return NotFound(); throw new Exception("Заказ не найден"); } if (!VideoRequestService.IsEditable(request)) { throw new Exception("Данный запрос нельзя редактировать"); } if (ModelState.IsValid) { if (ValidateFromProperty(modelVM.from, modelVM.type_id)) { try { modelVM.UpdateModel(request); VideoRequestService.Edit(request, curUser.ID); return(Ok()); } catch (Exception ex) { //ModelState.AddModelError("", ex.Message); return(CustomBadRequest(ex)); } } else { //ModelState.AddModelError("From", "Укажите от кого"); throw new Exception("Укажите от кого"); } } else { //ModelState.AddModelError("", "Указаны некорректные данные"); throw new Exception("Указаны некорректные данные"); } } catch (Exception ex) { return(CustomBadRequest(ex)); } }
public ActionResult <VideoRequestDetailsForCustomerVM> Details(int id) { try { var curUser = accountUtil.GetCurrentUser(User); VideoRequest request = VideoRequestService.GetActiveSingleDetailsWithRelatedDataByID(id); if (request == null || !VideoRequestService.BelongsToCustomer(request, curUser.ID)) { throw new Exception("Ваш заказ не найден"); } if (request.ViewedByCustomer == false) { request.ViewedByCustomer = true; VideoRequestService.Update(request, curUser.ID); } var requestVM = new VideoRequestDetailsForCustomerVM(request); requestVM.edit_btn_is_available = VideoRequestService.IsEditable(request); requestVM.cancel_btn_is_available = VideoRequestService.IsCancelable(request); //requestVM.request_price = VideoRequestPriceCalculationsService.CalculateRequestPrice(request); //requestVM.RequestPriceToStr(); //requestVM.remaining_price = VideoRequestPriceCalculationsService.CalculateRemainingPrice(request.Price, request.WebsiteCommission); //requestVM.RemainingPriceToStr(); requestVM.video_is_confirmed = VideoRequestService.IsVideoConfirmed(request); //requestVM.payment_screenshot_is_uploaded = VideoRequestService.IsPaymentScreenshotUploaded(request); //requestVM.payment_is_confirmed = VideoRequestService.IsPaymentConfirmed(request); if (requestVM.video_is_confirmed) { //requestVM.video = new AttachmentDetailsVM(request.Video); requestVM.video = AttachmentDetailsVM.ToVM(request.Video); } if (requestVM.edit_btn_is_available) { requestVM.video_request_edit_vm = new VideoRequestEditVM(request); requestVM.video_request_edit_vm.video_request_types = VideoRequestTypeService.GetAsSelectList(); } //VideoRequestEditVM editModelVM = new VideoRequestEditVM(request); return(requestVM); } catch (Exception ex) { return(CustomBadRequest(ex)); } }
public void VideoDeadlineReaches(int videoRequestID, string userID) { try { VideoRequest request = VideoRequestService.GetActiveSingleDetailsWithRelatedDataByID(videoRequestID); VideoRequestService.VideoDeadlineReaches(request, userID); } catch (Exception ex) { string origin = "Video deadline reached exception"; TelegramBotService.SendMessage(ex.Message, origin); } }
public ActionResult <VideoRequestDetailsForTalentVM> Details(int id) { try { var curUser = accountUtil.GetCurrentUser(User); VideoRequest request = VideoRequestService.GetActiveSingleDetailsWithRelatedDataByID(id); if (request == null || !VideoRequestService.BelongsToTalent(request, curUser.ID)) { throw new Exception("Ваш заказ не найден"); } if (request.ViewedByTalent == false) { request.ViewedByTalent = true; VideoRequestService.Update(request, curUser.ID); } VideoRequestDetailsForTalentVM requestVM = new VideoRequestDetailsForTalentVM(request); //requestVM.accept_btn_is_available = VideoRequestService.IsAcceptable(request); requestVM.cancel_btn_is_available = VideoRequestService.IsCancelable(request); //requestVM.request_price = VideoRequestPriceCalculationsService.CalculateRequestPrice(request); //requestVM.RequestPriceToStr(); //requestVM.remaining_price = VideoRequestPriceCalculationsService.CalculateRemainingPrice(request.Price, request.WebsiteCommission); //requestVM.RemainingPriceToStr(); return(requestVM); } catch (Exception ex) { return(CustomBadRequest(ex)); } }
private void AttachFile(Attachment attachment, int id, string fileType, string curUserID) { if (fileType.Equals(Constants.FileTypes.CUSTOMER_AVATAR)) { var model = CustomerService.GetByID(id); if (model != null) { model.Avatar = attachment; CustomerService.Update(model, curUserID); } } else if (fileType.Equals(Constants.FileTypes.TALENT_AVATAR)) { var model = TalentService.GetByID(id); if (model != null) { model.Avatar = attachment; TalentService.Update(model, curUserID); } } else if (fileType.Equals(Constants.FileTypes.TALENT_INTRO_VIDEO)) { var model = TalentService.GetByID(id); if (model != null) { model.IntroVideo = attachment; TalentService.Update(model, curUserID); } } else if (fileType.Equals(Constants.FileTypes.VIDEO_REQUEST_VIDEO)) { origin += "AttachFile"; TelegramBotService.SendMessage("Uploading video", origin); var model = VideoRequestService.GetActiveSingleDetailsWithRelatedDataByID(id); if (model == null) { throw new Exception("Заказ не найден"); } if (!VideoRequestService.IsVideoUploadable(model)) { throw new Exception("Невозможно загрузить видео"); } model.Video = attachment; VideoRequestService.SaveUploadedVideo(model, curUserID); var request = VideoRequestService.GetActiveSingleDetailsWithRelatedDataByID(id); var curUser = accountUtil.GetCurrentUser(User); if (!curUser.Type.Equals(UserTypesEnum.talent.ToString())) { throw new Exception("Вы не являетесь талантом"); } VideoRequestService.ConfirmVideo(request, curUser.ID); //cancel hangfire jobs //HangfireService.CancelJob(request.RequestAnswerJobID); HangfireService.CancelJob(request.VideoJobID); } //else if (fileType.Equals(Constants.FileTypes.VIDEO_REQUEST_PAYMENT_SCREENSHOT)) //{ // var request = VideoRequestService.GetActiveSingleDetailsWithRelatedDataByID(id); // if (request != null) // { // if (request.PaymentScreenshot == null) // { // request.PaymentScreenshot = attachment; // VideoRequestService.SaveUploadedPaymentScreenshot(request, curUserID); // request.PaymentConfirmationJobID = HangfireService // .CreateJobForVideoRequestPaymentConfirmationDeadline(request, curUserID); // } // else // request.PaymentScreenshot = attachment; // VideoRequestService.Update(request, curUserID); // } //} //else if () ... }