Exemple #1
0
        public StaffMemoRespObj LoadStaffMemo(StaffMemoSearchObj searchObj)
        {
            var response = new StaffMemoRespObj
            {
                Status = new APIResponseStatus
                {
                    IsSuccessful = false,
                    Message      = new APIResponseMessage()
                }
            };

            try
            {
                if (searchObj.Equals(null))
                {
                    response.Status.Message.FriendlyMessage  = "Error Occurred! Unable to proceed with your request";
                    response.Status.Message.TechnicalMessage = "Registration Object is empty / invalid";
                    return(response);
                }

                if (!EntityValidatorHelper.Validate(searchObj, out var valResults))
                {
                    var errorDetail = new StringBuilder();
                    if (!valResults.IsNullOrEmpty())
                    {
                        errorDetail.AppendLine("Following error occurred:");
                        valResults.ForEachx(m => errorDetail.AppendLine(m.ErrorMessage));
                    }

                    else
                    {
                        errorDetail.AppendLine(
                            "Validation error occurred! Please check all supplied parameters and try again");
                    }
                    response.Status.Message.FriendlyMessage  = errorDetail.ToString();
                    response.Status.Message.TechnicalMessage = errorDetail.ToString();
                    response.Status.IsSuccessful             = false;
                    return(response);
                }

                if (!HelperMethods.IsStaffUserValid(searchObj.AdminUserId, searchObj.SysPathCode, searchObj.LoginIP,
                                                    false, out var staffInfo, ref response.Status.Message))
                {
                    return(response);
                }
                if (staffInfo == null || staffInfo.StaffId < 1)
                {
                    response.Status.Message.FriendlyMessage  = "Invalid Staff Information";
                    response.Status.Message.TechnicalMessage = "Invalid Staff Information";
                    return(response);
                }
                var thisStaffs = getStaffMemo(searchObj);
                if (thisStaffs == null || !thisStaffs.Any())
                {
                    response.Status.Message.FriendlyMessage  = "No Staff Information found!";
                    response.Status.Message.TechnicalMessage = "No Staff  Information found!";
                    return(response);
                }


                var staffMemoItems = new List <StaffMemoObj>();
                thisStaffs.ForEachx(m =>
                {
                    staffMemoItems.Add(new StaffMemoObj
                    {
                        StaffId           = m.StaffId,
                        FirstName         = new StaffRepository().getStaffInfo(m.StaffId).FirstName,
                        LastName          = new StaffRepository().getStaffInfo(m.StaffId).LastName,
                        StaffMemoId       = m.StaffMemoId,
                        Title             = m.Title,
                        MemoTypeId        = (int)m.MemoType,
                        MemoType          = m.MemoType.ToString().Replace("_", " "),
                        MemoDetail        = m.MemoDetail,
                        IsReplied         = m.IsReplied,
                        ApprovedBy        = m.ApprovedBy,
                        RegisterBy        = m.RegisterBy,
                        Status            = (int)m.Status,
                        StatusLabel       = m.Status.ToString().Replace("_", " "),
                        TimeStampRegister = m.TimeStampRegister
                    });
                });

                response.Status.IsSuccessful = true;
                response.StaffMemos          = staffMemoItems;
                return(response);
            }

            catch (DbEntityValidationException ex)
            {
                ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message);
                response.Status.Message.FriendlyMessage  = "Error Occurred! Please try again later";
                response.Status.Message.TechnicalMessage = "Error: " + ex.GetBaseException().Message;
                response.Status.IsSuccessful             = false;
                return(response);
            }

            catch (Exception ex)
            {
                ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message);
                response.Status.Message.FriendlyMessage  = "Error Occurred! Please try again later";
                response.Status.Message.TechnicalMessage = "Error: " + ex.GetBaseException().Message;
                response.Status.IsSuccessful             = false;
                return(response);
            }
        }
Exemple #2
0
 public static StaffMemoRespObj LoadStaffMemoByAdmin(StaffMemoSearchObj regObj)
 {
     return(new StaffRepository().LoadStaffMemoByAdmin(regObj));
 }