public async Task <IActionResult> ComplaintReply(int?id)
        {
            var entityList = await _clientComplaintRepository.GetAllComplaintsAsync();

            ClientComplaint selectedComplaint = entityList
                                                .Where(complaint => complaint.Id.Equals(id.Value))
                                                .FirstOrDefault();


            return(View(_converterHelper.ToComplaintClientViewModel(selectedComplaint)));
        }
示例#2
0
        public ComplaintViewModel ToComplaintClientViewModel(ClientComplaint clientComplaint)
        {
            var complaint = new ComplaintViewModel
            {
                Id        = clientComplaint.Id,
                Complaint = clientComplaint.Complaint,
                Email     = clientComplaint.CreatedBy.Email,
                Date      = clientComplaint.CreateDate,
                Body      = clientComplaint.Body,
                Status    = clientComplaint.Status,
                Reply     = clientComplaint.Reply
            };

            return(complaint); // todo diz que a lista vem a null
        }
示例#3
0
        public ClientComplaint ToClientComplaint(ComplaintViewModel model, bool isNew, User user)
        {
            var client = new ClientComplaint
            {
                Id         = isNew ? 0 : model.Id,
                Complaint  = model.Complaint,
                Email      = user.Email,
                Date       = DateTime.UtcNow,
                Body       = model.Body,
                Status     = 1,
                CreateDate = DateTime.UtcNow,
                CreatedBy  = user
            };

            return(client);
        }
        public ClientComplaint ToClientComplaint(ComplaintClientViewModel model, bool isNew)
        {
            var complaint = new ClientComplaint
            {
                Id         = isNew ? 0 : model.Id,
                UpdateDate = DateTime.Now,
                Status     = 1,
                Complaint  = model.Complaint,
                Email      = model.Email,
                Date       = model.Date,
                Body       = model.Body,
                Reply      = model.Reply
            };

            return(complaint);
        }
        public ComplaintClientViewModel ToComplaintClientViewModel(ClientComplaint clientComplaint)
        {
            var complaint = new ComplaintClientViewModel
            {
                Id         = clientComplaint.Id,
                Complaint  = clientComplaint.Complaint,
                Email      = clientComplaint.Email,
                Date       = clientComplaint.Date,
                Body       = clientComplaint.Body,
                Reply      = clientComplaint.Reply,
                Status     = clientComplaint.Status,
                ClientName = clientComplaint.CreatedBy.Name
            };

            return(complaint);
        }
示例#6
0
        public SmartCollection<ClientComplaint> GetClientComplaintsOpen(Identification identification)
        {
            try
            {
                SmartCollection<ClientComplaint> resultList = new SmartCollection<ClientComplaint>();
                using (DbConnection = new MsSqlPersistence(DbConnectionSettings))
                {
                    if (DbConnection.IsConnected())
                    {
                        using (DbCommand)
                        {
                            DbCommand.CommandType = CommandType.StoredProcedure;
                            DbCommand.CommandText = "uspGetClientComplaintsOpen";
                            DbCommand.Parameters.Clear();

                            DataTable returnDT = DbConnection.ExecuteQuery(DbCommand);
                            foreach (DataRow row in returnDT.Rows)
                            {
                                ClientComplaint complaint = new ClientComplaint();
                                complaint.ClientComplaintId = Convert.ToInt32(row["ClientComplaintID"]);
                                complaint.ClientId = Convert.ToInt32(row["ClientID"]);
                                complaint.ClientName = row["ClientName"].ToString();
                                complaint.ClassificationId = row["ClassificationID"] != DBNull.Value ? Convert.ToInt32(row["ClassificationID"]) : -1;
                                if (complaint.ClassificationId.HasValue && complaint.ClassificationId != -1)
                                    complaint.Classification = new Complaint { ComplaintId = complaint.ClassificationId, ComplaintName = row["ComplaintName"].ToString(), Active = true };
                                complaint.Description = row["Description"].ToString();
                                complaint.ARLNumber = row["ARLNumber"].ToString();
                                complaint.StatusYN = (bool)(row["StatusYN"] ?? false);
                                complaint.RootCause = row["RootCause"].ToString();
                                complaint.CorrectiveAction = row["CorrectiveAction"].ToString();
                                if (row["CorrectiveActionDate"] != DBNull.Value)
                                    complaint.CorrectiveActionDate = (DateTime)row["CorrectiveActionDate"];
                                else
                                    complaint.CorrectiveActionDate = null;
                                complaint.CorrectiveActionUserId = row["CorrectiveActionUserID"] != DBNull.Value ? Convert.ToInt32(row["CorrectiveActionUserID"]) : -1;
                                complaint.CorrectiveActionUser = row["CorrectiveUser"].ToString();
                                complaint.NotifyUserId = row["NotifyUserID"] != DBNull.Value ? Convert.ToInt32(row["NotifyUserID"]) : -1;
                                complaint.NotifyUser = row["NotifyUser"].ToString();
                                complaint.CreatedBy = row["CreatedBy"] != DBNull.Value ? Convert.ToInt32(row["CreatedBy"]) : -1;
                                complaint.CreatedUser = row["CreatedUser"].ToString();
                                complaint.CreatedDate = row["CreatedDate"] != DBNull.Value ? (DateTime)row["CreatedDate"] : (DateTime)SqlDateTime.Null;
                                complaint.ModifiedBy = row["ModifiedBy"] != DBNull.Value ? Convert.ToInt32(row["ModifiedBy"]) : -1;
                                complaint.ModifiedUser = row["ModifiedUser"].ToString();
                                complaint.ModifiedDate = row["ModifiedDate"] != DBNull.Value ? (DateTime)row["ModifiedDate"] : (DateTime)SqlDateTime.Null;
                                resultList.Add(complaint);
                            }
                            returnDT = null;
                        }
                    }
                    else
                    {
                        throw new Exception("Unable to Connect");
                    }
                }
                return resultList;
            }
            catch
            {
                throw;
            }
        }
示例#7
0
        public ClientComplaint GetClientComplaint(ref MsSqlPersistence dbConnection, ref SqlCommand dbCommand, int? clientComplaintId)
        {
            try {
                ClientComplaint complaint = new ClientComplaint();
                if (dbConnection.IsConnected()) {
                    dbCommand.CommandType = CommandType.StoredProcedure;
                    dbCommand.CommandText = "uspGetClientComplaint";
                    dbCommand.Parameters.Clear();
                    dbCommand.Parameters.Add("@ClientComplaintId", System.Data.SqlDbType.Int).Value = clientComplaintId;

                    DataTable returnDT = dbConnection.ExecuteQuery(dbCommand);
                    if (returnDT.Rows.Count == 1) {
                        DataRow row = returnDT.Rows[0];
                        complaint.ClientComplaintId = Convert.ToInt32(row["ClientComplaintID"]);
                        complaint.ClientId = Convert.ToInt32(row["ClientID"]);
                        complaint.ClientName = row["ClientName"].ToString();
                        complaint.ClassificationId = row["ClassificationID"] != DBNull.Value ? Convert.ToInt32(row["ClassificationID"]) : -1;
                        if (complaint.ClassificationId.HasValue && complaint.ClassificationId != -1)
                            complaint.Classification = new Complaint { ComplaintId = complaint.ClassificationId, ComplaintName = row["ComplaintName"].ToString(), Active = true };
                        complaint.Description = row["Description"].ToString();
                        complaint.ARLNumber = row["ARLNumber"].ToString();
                        complaint.StatusYN = (bool)(row["StatusYN"] ?? false);
                        complaint.RootCause = row["RootCause"].ToString();
                        complaint.CorrectiveAction = row["CorrectiveAction"].ToString();
                        complaint.CorrectiveActionDate = row["CorrectiveActionDate"] != DBNull.Value ? (DateTime)row["CorrectiveActionDate"] : (DateTime)SqlDateTime.Null;
                        complaint.CorrectiveActionUserId = row["CorrectiveActionUserID"] != DBNull.Value ? Convert.ToInt32(row["CorrectiveActionUserID"]) : -1;
                        complaint.CorrectiveActionUser = row["CorrectiveUser"].ToString();
                        complaint.NotifyUserId = row["NotifyUserID"] != DBNull.Value ? Convert.ToInt32(row["NotifyUserID"]) : -1;
                        complaint.NotifyUser = row["NotifyUser"].ToString();
                        complaint.CreatedBy = row["CreatedBy"] != DBNull.Value ? Convert.ToInt32(row["CreatedBy"]) : -1;
                        complaint.CreatedUser = row["CreatedUser"].ToString();
                        complaint.CreatedDate = row["CreatedDate"] != DBNull.Value ? (DateTime)row["CreatedDate"] : (DateTime)SqlDateTime.Null;
                        complaint.ModifiedBy = row["ModifiedBy"] != DBNull.Value ? Convert.ToInt32(row["ModifiedBy"]) : -1;
                        complaint.ModifiedUser = row["ModifiedUser"].ToString();
                        complaint.ModifiedDate = row["ModifiedDate"] != DBNull.Value ? (DateTime)row["ModifiedDate"] : (DateTime)SqlDateTime.Null;

                        returnDT = null;
                    }else {
                        returnDT = null;
                        return null;
                    }
                }else {
                    throw new Exception("Unable to Connect");
                }
                return complaint;
            }catch {
                throw;
            }
        }
示例#8
0
        public int SaveClientComplaint(ref MsSqlPersistence dbConnection, ref SqlCommand dbCommand, ClientComplaint complaint, Identification identification)
        {
            try
            {
                int returnValue = 0;
                if (complaint.IsDirty)
                {
                    SystemDAO.SaveChangeAudit<ClientComplaint>(ref dbConnection, ref dbCommand,
                        GetClientComplaint(ref dbConnection, ref dbCommand, complaint.Pk),
                        complaint,
                        ModuleNames.Clients,
                        complaint.ClientId,
                        identification.UserId);

                    dbCommand.Parameters.Clear();
                    dbCommand.CommandType = CommandType.StoredProcedure;
                    dbCommand.CommandText = "uspUpdateClientComplaint";

                    dbCommand.Parameters.Add("@ClientComplaintId", System.Data.SqlDbType.Int).Value = complaint.ClientComplaintId;
                    dbCommand.Parameters.Add("@ClientId", System.Data.SqlDbType.Int).Value = complaint.ClientId;
                    dbCommand.Parameters.Add("@ClassificationId", System.Data.SqlDbType.Int).Value = complaint.ClassificationId;
                    dbCommand.Parameters.Add("@StatusYN", System.Data.SqlDbType.Int).Value = (bool)complaint.StatusYN;
                    dbCommand.Parameters.Add("@Description", System.Data.SqlDbType.NVarChar, 100).Value = complaint.Description;
                    dbCommand.Parameters.Add("@ARLNumber", System.Data.SqlDbType.NVarChar, 100).Value = complaint.ARLNumber;
                    dbCommand.Parameters.Add("@RootCause", System.Data.SqlDbType.NVarChar, 100).Value = complaint.RootCause;
                    dbCommand.Parameters.Add("@NotifyUserId", System.Data.SqlDbType.Int).Value = complaint.NotifyUserId;
                    dbCommand.Parameters.Add("@CorrectiveAction", System.Data.SqlDbType.NVarChar, 100).Value = complaint.CorrectiveAction;
                    dbCommand.Parameters.Add("@CorrectiveActionDate", System.Data.SqlDbType.DateTime).Value = DateTime.Now;
                    dbCommand.Parameters.Add("@CorrectiveActionUserId", System.Data.SqlDbType.Int).Value = complaint.CorrectiveActionUserId;
                    dbCommand.Parameters.Add("@ModifiedDate", System.Data.SqlDbType.DateTime).Value = complaint.CorrectiveActionDate != null ? (SqlDateTime)complaint.CorrectiveActionDate : SqlDateTime.Null;
                    dbCommand.Parameters.Add("@ModifiedBy", System.Data.SqlDbType.Int).Value = identification.UserId;
                    returnValue += dbConnection.ExecuteCommand(dbCommand);
                }
                return returnValue;
            }
            catch
            {
                throw;
            }
        }
示例#9
0
 public int SaveClientComplaint(ClientComplaint complaint, Identification identification)
 {
     int result = 0;
     try
     {
         using (DbConnection = new MsSqlPersistence(DbConnectionSettings))
         {
             if (DbConnection.IsConnected())
             {
                 using (DbCommand)
                 {
                     result = this.SaveClientComplaint(ref dbConnection, ref dbCommand, complaint, identification);
                 }
             }
             else
             {
                 throw new Exception("Unable to Connect");
             }
         }
         return result;
     }
     catch
     {
         throw;
     }
 }
 public ManageComplaintViewModel(ClientComplaint complaint)
 {
     this.Complaint = complaint.Clone();
     this.Complaint.IsTrackChange = true;
     DisplayName = "Manage Complaint #:" + this.Complaint.ClientComplaintId.ToString();
 }
示例#11
0
        public int DoSaveClientComplaint(ClientComplaint complaint, Identification identification)
        {
            logger.Log(LogLevel.Trace, AppLib.GetCaller(logger));

            //Validate Complaint Object
            if (!complaint.ValidateModel())
                throw new FaultException<ServiceFault>(new ServiceFault(complaint.CurrentErrors), new FaultReason(SysVars.InvalidFormat));

            using (ClientDAO dao = new ClientDAO())
            {
                return dao.SaveClientComplaint(complaint, identification);
            }
        }
示例#12
0
 public IAsyncResult BeginSaveClientComplaint(ClientComplaint complaint, Identification identification, AsyncCallback callback, object state)
 {
     logger.Log(LogLevel.Trace, AppLib.GetCaller(logger));
     identification.UserId = AppLib.VerifyToken(identification.Token);
     if (identification.UserId <= 0)
     {
         throw new FaultException<ServiceFault>(new ServiceFault("Invalid Authentication", "Authorization"), new FaultReason("Unauthorized"));
     }
     var task = Task<int>.Factory.StartNew(process => DoSaveClientComplaint(complaint, identification), state);
     return task.ContinueWith(res => callback(task));
 }
 public SaveClientComplaintRequest(ClientComplaint complaint)
 {
     this.complaint = complaint;
 }