Untitled

mail@pastecode.io avatar
unknown
plain_text
6 months ago
4.6 kB
5
Indexable
Never
        /// <summary>
        /// Valida los parámetros para la inserción y modificación de una persona de contacto y registra los mensajes de error
        /// </summary>
        /// <param name="clientCenterInterlocutorDetailModel">Modelo de detalle de interlocutor de cliente centro</param>
        /// <param name="parameters">Identificador de la visita</param>
        /// <param name="isPut">Booleano que diferencia entre POST y PUT</param>
        /// <param name="interlocutorId">Identificador del interlocutorId</param>
        /// <returns>Cadena de caracteres con el error o cadena vacía si no hay errores</returns>
        private string ValidateContactPersonParams(ClientCenterInterlocutorDetailModel clientCenterInterlocutorDetailModel, object[] parameters, bool isPut, int interlocutorId = 0)
        {
            // Variables LOG
            string messageLog = "Valida los parametros para la insercion y modificacion de una persona de contacto";

            Logger.Debug("Inicio - " + messageLog, parameters);
            var msg = GetValidateContactPersonParamsErrorMessage(clientCenterInterlocutorDetailModel, parameters, isPut, interlocutorId);
            if (!string.IsNullOrEmpty(msg))
            {
                Logger.Debug(msg, parameters);
            }
            Logger.Debug("Fin - " + messageLog, parameters);
            return msg;
        }

        /// <summary>
        /// Valida los parámetros para la inserción y modificación de una persona de contacto
        /// </summary>
        /// <returns>Cadena de caracteres con el error o cadena vacía si no hay errores</returns>
        /// <param name="clientCenterInterlocutorDetailModel">Modelo de detalle de interlocutor de cliente centro</param>
        /// <param name="parameters">Identificador de la visita</param>
        /// <param name="isPut">Booleano que diferencia entre POST y PUT</param>
        /// <param name="interlocutorId">Identificador del interlocutorId</param>
        private string GetValidateContactPersonParamsErrorMessage(ClientCenterInterlocutorDetailModel clientCenterInterlocutorDetailModel, object[] parameters, bool isPut, int interlocutorId = 0)
        {
            // Validaciones previas
            if (!ModelState.IsValid)
            {
                string msgModelInvalid = ClientsCentersInterlocutorsMessages.ErrorContactPersonModel;
                ModelState.Values.ForEach(v => v.Errors.ForEach(e => msgModelInvalid += Environment.NewLine + " - " + (e.Exception != null ? e.Exception.Message : e.ErrorMessage)));
                return msgModelInvalid;
            }

            if (clientCenterInterlocutorDetailModel.RelationTypeId == "1" && clientCenterInterlocutorDetailModel.GroupId <= 0)
            {
                return ClientsGroupMessages.ErrorClientGroupParam;
            }

            if (clientCenterInterlocutorDetailModel.RelationTypeId == "2" && clientCenterInterlocutorDetailModel.ClientId <= 0)
            {
                return ClientsCentersMessages.ErrorClientParam;
            }

            if (clientCenterInterlocutorDetailModel.RelationTypeId == "3" && (clientCenterInterlocutorDetailModel.ClientId <= 0 || clientCenterInterlocutorDetailModel.ClientCenterId <= 0))
            {
                return ClientsCentersMessages.ErrorCenterParam;
            }

            if (string.IsNullOrEmpty((string)parameters[2]))
            {
                return ClientsCentersMessages.ErrorBranchParam;
            }

            if (isPut && interlocutorId <= 0 || isPut && interlocutorId != clientCenterInterlocutorDetailModel.InterlocutorId)
            {
                string msgModelInvalid = ClientsCentersInterlocutorsMessages.ErrorContactPersonParam;
                ModelState.Values.ForEach(v => v.Errors.ForEach(e => msgModelInvalid += Environment.NewLine + " - " + (e.Exception != null ? e.Exception.Message : e.ErrorMessage)));
                return msgModelInvalid;
            }

            if (string.IsNullOrEmpty(clientCenterInterlocutorDetailModel.Phone1) && string.IsNullOrEmpty(clientCenterInterlocutorDetailModel.MobilePhone))
            {
                return ClientsCentersMessages.ErrorPhone;
            }

            if (clientCenterInterlocutorDetailModel.SexoId == "" && string.IsNullOrEmpty(clientCenterInterlocutorDetailModel.SexoId))
            {
                return ClientsCentersMessages.ErrorSexoParam;
            }
            return string.Empty;
        }