public async Task <ActionResult> AddAnswer(Guid tenderGuid, string complaintId)
        {
            await TenderProvider.CheckTenderAuthor(tenderGuid);

            var viewModel = new TenderComplaintViewModel(tenderGuid);

            return(View(viewModel));
        }
        public async Task <ActionResult> AddComplaint(TenderComplaintViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            var tenderComplaintDTO = viewModel.ToDTO();
            await TenderProvider.AddTenderComplaint(viewModel.TenderGuid, tenderComplaintDTO);

            return(RedirectToAction("Info", "TenderInfo", new { tenderGuid = viewModel.TenderGuid }));
        }
        public async Task <ActionResult> EditComplaint(Guid tenderGuid, string complaintId)
        {
            await TenderProvider.CheckComplaintAuthor(tenderGuid, complaintId);

            var complaintDTO = await TenderProvider.GetTenderComplaint(tenderGuid, complaintId);

            var viewModel = new TenderComplaintViewModel(tenderGuid, complaintDTO)
            {
                TenderGuid = tenderGuid
            };

            return(View(viewModel));
        }
        public async Task <ActionResult> AddAnswer(TenderComplaintViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }
            await TenderProvider.CheckTenderAuthor(viewModel.TenderGuid);

            var complaintDTO = viewModel.ToDTO();
            await TenderProvider.AddComplaintAnswer(viewModel.TenderGuid, complaintDTO);

            return(RedirectToAction("Info", "TenderInfo", new { tenderGuid = viewModel.TenderGuid }));
        }
        public async Task <ActionResult> EditComplaint(TenderComplaintViewModel viewModel)
        {
            await TenderProvider.CheckComplaintAuthor(viewModel.TenderGuid, viewModel.StringId);

            if (!ModelState.IsValid)
            {
                var lots = await TenderProvider.GetLots(viewModel.TenderGuid);

                return(View(viewModel));
            }

            var tenderComplaintDTO = viewModel.ToDTO();
            await TenderProvider.EditTenderComplaint(tenderComplaintDTO);

            return(RedirectToAction("Info", "TenderInfo", new { tenderGuid = viewModel.TenderGuid }));
        }