public async Task <IActionResult> Create(ComplaintDto model)
        {
            try
            {
                var complaint = await _complaintService.Create(model);

                return(Ok(new
                {
                    ComplaintId = complaint.Id,
                    message = "Complaint Registered Successfully."
                }));
            }
            catch (AppException ex)
            {
                return(BadRequest(new { message = ex.Message }));
            }
        }
        public string Post(ComplaintModel complaint)
        {
            try
            {
                complaint.ComplaintDate = DateTime.Now;
                bool isCreated = _complaintService.Create(complaint);
                if (isCreated)
                {
                    return(JsonConvert.SerializeObject(ApiResponseUtility.CreateSuccessResponse("Complaint Logged", isCreated)));
                }

                return(JsonConvert.SerializeObject(ApiResponseUtility.CreateSuccessResponse("Complaint Logged Unsucessful", isCreated)));
            }
            catch (Exception ex)
            {
                return(JsonConvert.SerializeObject(ApiResponseUtility.CreateErrorResponse(ex)));
            }
        }
Пример #3
0
        //[Authorize(Roles = "User")]
        public async Task <IActionResult> Post(ComplaintModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    model.ComplainBy = GetCurrentUserId();
                    _service.Create(model, model.ComplainBy);
                    return(Ok());
                }

                return(BadRequest(ModelState));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Пример #4
0
        public ActionResult Complain(CreateComplaintViewModel model)
        {
            if (ModelState.IsValid)
            {
                var me = FacebookService.GetMe();

                var complaint = new Complaint()
                {
                    ComplaintText    = model.ComplaintText,
                    FacebookUserId   = me.FacebookUserId,
                    FacebookUserName = me.Name,
                };

                if (model.SelectedComplaintSeverityId.HasValue)
                {
                    var severity = _complaintSeverityService.Get(model.SelectedComplaintSeverityId.Value);
                    complaint.Severity = severity;
                }

                if (model.TagList.Any())
                {
                    foreach (var tagName in model.TagList)
                    {
                        var tag = _tagService.FindByName(tagName);

                        if (tag == null)
                        {
                            tag = new Tag()
                            {
                                Name = tagName
                            };
                        }

                        complaint.Tags.Add(tag);
                    }
                }

                var errors = _complaintService.Create(complaint);

                if (!errors.Any())
                {
                    if (model.PublishToWall)
                    {
                        FacebookService.Post("feed", new
                        {
                            message     = model.ComplaintText,
                            picture     = String.Format("{0}/Content/Images/angry smiley.png", Constants.RootUrl),
                            link        = String.Format("{0}/Complaint/View/{1}", Constants.RootUrl, complaint.Id),
                            caption     = "I just complained",
                            description = "I just posted a complaint on Complainatron",
                            source      = String.Format("{0}/Complaint/View/{1}", Constants.RootUrl, complaint.Id),
                        });
                    }

                    var viewModel = _complaintBuilder.BuildViewModel(complaint);
                    return(PartialView("_Complaint", viewModel));
                }
                else
                {
                    SetModelStateErrors(errors);
                }
            }

            PopulateCreateComplaintModel(model);
            return(PartialView("_Complain", model));
        }