public SettingRegRespObj UpdateProfessionalMembershipType(EditProfessionalMembershipTypeObj regObj)
        {
            var response = new SettingRegRespObj
            {
                Status = new APIResponseStatus
                {
                    IsSuccessful = false,
                    Message      = new APIResponseMessage()
                }
            };

            try
            {
                if (regObj.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(regObj, 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.IsUserValid(regObj.AdminUserId, regObj.SysPathCode,
                                               HelperMethods.getSeniorAccountant(), ref response.Status.Message))
                {
                    return(response);
                }

                var thisProfessionalMembershipType =
                    getProfessionalMembershipTypeInfo(regObj.ProfessionalMembershipTypeId);

                if (thisProfessionalMembershipType == null)
                {
                    response.Status.Message.FriendlyMessage =
                        "No Professional Membership Type Information found for the specified ProfessionalMembershipType Id";
                    response.Status.Message.TechnicalMessage = "No Professional Membership Type Information found!";
                    return(response);
                }

                if (IsProfessionalMembershipTypeDuplicate(regObj.Name, 2, ref response))
                {
                    return(response);
                }
                thisProfessionalMembershipType.Name   = regObj.Name;
                thisProfessionalMembershipType.Status = (ItemStatus)regObj.Status;
                var added = _repository.Update(thisProfessionalMembershipType);
                _uoWork.SaveChanges();

                if (added.ProfessionalMembershipTypeId < 1)
                {
                    response.Status.Message.FriendlyMessage =
                        "Error Occurred! Unable to complete your request. Please try again later";
                    response.Status.Message.TechnicalMessage = "Unable to save to database";
                    return(response);
                }
                resetCache();
                response.Status.IsSuccessful = true;
                response.SettingId           = added.ProfessionalMembershipTypeId;
            }
            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);
            }
            return(response);
        }
Ejemplo n.º 2
0
 public static SettingRegRespObj UpdateProfessionalMembershipType(EditProfessionalMembershipTypeObj regObj)
 {
     return(new ProfessionalMemshipTypeRepository().UpdateProfessionalMembershipType(regObj));
 }