Ejemplo n.º 1
0
        public IActionResult GetUserComplaints([FromBody] int userId)
        {
            try
            {
                if (userId != 0)
                {
                    var u = _serviceAppCompanySubjectIssue.Find(x => x.UserId == userId).Distinct().ToList();

                    u.Select(x =>
                    {
                        if (x.UserId == 0)
                        {
                            x.UserId = userId;
                        }
                        return(x);
                    }).ToList();

                    //u.Where(x => x.UserId == 0).ToList().ForEach(x => x.UserId = userId);

                    if (u != null)
                    {
                        var userSummary = new UserSummary();
                        userSummary.TotalOfComplaints = u.Count;
                        userSummary.ListCompanies     = u;

                        var result = _handleMessageUserSummary.Add(Application.Enum.HandleMessageType.Success, "List of complaints found!", userSummary);
                        return(Ok(result));
                    }
                    else
                    {
                        var result = _handleMessageUserSummary.Add(Application.Enum.HandleMessageType.Error, "List of complaints not found!", null);
                        return(Ok(result));
                    }
                }
                else
                {
                    var result = _handleMessageUserSummary.Add(Application.Enum.HandleMessageType.Error, "Problem to find a list of complaints!", null);
                    return(Ok(result));
                }
            }
            catch (Exception ex)
            {
                var result = _handleMessageUserSummary.Add(Application.Enum.HandleMessageType.InternalErrors, "Something went wrong: !" + ex.ToString(), null);
                return(Ok(result));
            }
        }
Ejemplo n.º 2
0
        public IActionResult SaveCompanyTellUs([FromBody] CompanySubjectTellUsDTO companySubjectTellUsDTO)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (companySubjectTellUsDTO.SubjectId != 0 && companySubjectTellUsDTO.SubjectIssueId != 0)
                    {
                        var companySubjectIssueTellUs = _mapper.Map <CompanySubjectIssue>(companySubjectTellUsDTO);
                        companySubjectIssueTellUs.DateAndTime = DateTime.Now;
                        _serviceAppCompanySubjectIssue.Add(companySubjectIssueTellUs);
                        var re = _handleMessageUser.Add(Application.Enum.HandleMessageType.Success, "Complaint registered successfully!", null);
                        return(Ok(re));
                    }
                    else
                    {
                        var subject      = _mapper.Map <Subject>(companySubjectTellUsDTO);
                        var subjectIssue = _mapper.Map <SubjectIssue>(companySubjectTellUsDTO);

                        var subId = _serviceAppSubject.Find(x => x.SubjectText.ToUpper().Equals(subject.SubjectText))
                                    .FirstOrDefault().Id;

                        var subIssueId = _serviceAppSubjectIssue.Find(x => x.SubjectIssueText.ToUpper().Equals(subjectIssue.SubjectIssueText))
                                         .FirstOrDefault().Id;

                        if (subId == 0 && subIssueId == 0)
                        {
                            subjectIssue.Subject = subject;
                            _serviceAppSubjectIssue.Add(subjectIssue);
                        }

                        companySubjectTellUsDTO.SubjectId      = subjectIssue.SubjectId;
                        companySubjectTellUsDTO.SubjectIssueId = subjectIssue.Id;

                        if (companySubjectTellUsDTO.CompanyId == 0)
                        {
                            var co = _serviceAppCompany.Find(x => x.CompanyName.ToUpper().Equals(companySubjectTellUsDTO.CompanyName)).FirstOrDefault();

                            if (co == null)
                            {
                                var company = _mapper.Map <Company>(companySubjectTellUsDTO);
                                _serviceAppCompany.Add(company);
                                companySubjectTellUsDTO.CompanyId = company.Id;

                                var companySubjectIssueTellUs = _mapper.Map <CompanySubjectIssue>(companySubjectTellUsDTO);
                                companySubjectIssueTellUs.DateAndTime = DateTime.Now;
                                _serviceAppCompanySubjectIssue.Add(companySubjectIssueTellUs);
                            }
                            else
                            {
                                companySubjectTellUsDTO.CompanyId = co.Id;

                                var companySubjectIssueTellUs = _mapper.Map <CompanySubjectIssue>(companySubjectTellUsDTO);
                                companySubjectIssueTellUs.DateAndTime = DateTime.Now;
                                _serviceAppCompanySubjectIssue.Add(companySubjectIssueTellUs);
                            }
                        }
                        else
                        {
                            companySubjectTellUsDTO.CompanyId = companySubjectTellUsDTO.CompanyId;
                            var companySubjectIssueTellUs = _mapper.Map <CompanySubjectIssue>(companySubjectTellUsDTO);

                            var companySubjectIssue = _serviceAppCompanySubjectIssue.Find(x => x.SubjectId == companySubjectIssueTellUs.SubjectId &&
                                                                                          x.SubjectIssueId == companySubjectIssueTellUs.SubjectIssueId && x.CompanyId == companySubjectIssueTellUs.CompanyId &&
                                                                                          x.UserId == companySubjectIssueTellUs.UserId).FirstOrDefault();

                            if (companySubjectIssue == null)
                            {
                                _serviceAppCompanySubjectIssue.Add(companySubjectIssueTellUs);
                            }
                            else
                            {
                                var result = _handleMessageCompanySubjectTellUs.Add(Application.Enum.HandleMessageType.Success, "Complaint already exists!", companySubjectTellUsDTO);
                                return(Ok(result));
                            }
                        }

                        var re = _handleMessageUser.Add(Application.Enum.HandleMessageType.Success, "Complaint registered successfully!", null);
                        return(Ok(re));
                    }
                }
                else
                {
                    var result = _handleMessageUser.Add(Application.Enum.HandleMessageType.Error, "Problem to register your complaint!", null);
                    return(Ok(result));
                }
            }
            catch (Exception ex)
            {
                var result = _handleMessageUser.Add(Application.Enum.HandleMessageType.InternalErrors, "Something went wrong: !" + ex.ToString(), null);
                return(Ok(result));
            }
        }