public ResponseModel searchCustomer(string SearchText)
        {
            List <CustomerMaster> objCustomerMaster = new List <CustomerMaster>();
            Customercaller        customerCaller    = new Customercaller();
            ResponseModel         objResponseModel  = new ResponseModel();
            int    statusCode    = 0;
            string statusMessage = "";

            try
            {
                string       token        = Convert.ToString(Request.Headers["X-Authorized-Token"]);
                Authenticate authenticate = new Authenticate();
                authenticate = SecurityService.GetAuthenticateDataFromTokenCache(Cache, SecurityService.DecryptStringAES(token));


                objCustomerMaster = customerCaller.getCustomerDetailsByEmailIdandPhone(new CustomerService(Cache, Db), SearchText, authenticate.TenantId);

                statusCode =
                    objCustomerMaster.Count == 0 ?
                    (int)EnumMaster.StatusCode.RecordNotFound : (int)EnumMaster.StatusCode.Success;
                statusMessage                 = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)statusCode);
                objResponseModel.Status       = true;
                objResponseModel.StatusCode   = statusCode;
                objResponseModel.Message      = statusMessage;
                objResponseModel.ResponseData = objCustomerMaster;
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
        public ResponseModel validateCustomerExist(string Cust_EmailId, string Cust_PhoneNumber)
        {
            Customercaller customerCaller   = new Customercaller();
            ResponseModel  objResponseModel = new ResponseModel();
            int            statusCode       = 0;
            string         statusMessage    = "";

            try
            {
                string       token        = Convert.ToString(Request.Headers["X-Authorized-Token"]);
                Authenticate authenticate = new Authenticate();
                authenticate = SecurityService.GetAuthenticateDataFromTokenCache(Cache, SecurityService.DecryptStringAES(token));

                string result = customerCaller.validateCustomerExist(new CustomerService(Cache, Db), Cust_EmailId, Cust_PhoneNumber, authenticate.TenantId);
                statusCode =
                    string.IsNullOrEmpty(result) ?
                    (int)EnumMaster.StatusCode.RecordNotFound : (int)EnumMaster.StatusCode.Success;

                statusMessage                 = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)statusCode);
                objResponseModel.Status       = true;
                objResponseModel.StatusCode   = statusCode;
                objResponseModel.Message      = statusMessage;
                objResponseModel.ResponseData = result;
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
        public ResponseModel updateCustomer([FromBody] CustomerMaster customerMaster)
        {
            Customercaller customerCaller   = new Customercaller();
            ResponseModel  objResponseModel = new ResponseModel();
            int            statusCode       = 0;
            string         statusMessage    = "";

            try
            {
                string       token        = Convert.ToString(Request.Headers["X-Authorized-Token"]);
                Authenticate authenticate = new Authenticate();
                authenticate = SecurityService.GetAuthenticateDataFromTokenCache(Cache, SecurityService.DecryptStringAES(token));

                int result = customerCaller.updateCustomer(new CustomerService(Cache, Db), customerMaster, authenticate.TenantId);
                statusCode =
                    result == 0 ?
                    (int)EnumMaster.StatusCode.RecordNotFound : (int)EnumMaster.StatusCode.Success;

                statusMessage               = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)statusCode);
                objResponseModel.Status     = true;
                objResponseModel.StatusCode = statusCode;
                objResponseModel.Message    = statusMessage;
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
        public ResponseModel getcustomerdetailsbyid(int CustomerID)
        {
            CustomerMaster objCustomerMaster = new CustomerMaster();
            Customercaller customerCaller    = new Customercaller();
            ResponseModel  objResponseModel  = new ResponseModel();
            int            statusCode        = 0;
            string         statusMessage     = "";

            try
            {
                if (CustomerID > 0)
                {
                    string       token        = Convert.ToString(Request.Headers["X-Authorized-Token"]);
                    Authenticate authenticate = new Authenticate();
                    authenticate = SecurityService.GetAuthenticateDataFromTokenCache(Cache, SecurityService.DecryptStringAES(token));

                    objCustomerMaster = customerCaller.getCustomerDetailsById(new CustomerService(Cache, Db), CustomerID, authenticate.TenantId);
                    statusCode        =
                        objCustomerMaster != null ?
                        (int)EnumMaster.StatusCode.Success : (int)EnumMaster.StatusCode.RecordNotFound;

                    statusMessage = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)statusCode);


                    objResponseModel.Status       = true;
                    objResponseModel.StatusCode   = statusCode;
                    objResponseModel.Message      = statusMessage;
                    objResponseModel.ResponseData = objCustomerMaster;
                }
                else
                {
                    statusCode                    = (int)EnumMaster.StatusCode.RecordNotFound;
                    statusMessage                 = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)statusCode);
                    objResponseModel.Status       = true;
                    objResponseModel.StatusCode   = statusCode;
                    objResponseModel.Message      = statusMessage;
                    objResponseModel.ResponseData = null;
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }