示例#1
0
        public ResponseModel SendMessageToCustomerForScheduleVisit([FromBody] AppointmentMaster appointmentMaster)
        {
            ResponseModel objResponseModel = new ResponseModel();
            int           result           = 0;
            int           statusCode       = 0;
            string        statusMessage    = "";

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


                CustomerChatCaller customerChatCaller = new CustomerChatCaller();

                result = customerChatCaller.SendMessageToCustomerForVisit(new CustomerChatService(_connectionString), appointmentMaster, _ClientAPIUrl, authenticate.UserMasterID);

                statusCode    = result > 0 ? (int)EnumMaster.StatusCode.Success : (int)EnumMaster.StatusCode.InternalServerError;
                statusMessage = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)statusCode);


                objResponseModel.Status       = true;
                objResponseModel.StatusCode   = statusCode;
                objResponseModel.Message      = statusMessage;
                objResponseModel.ResponseData = result;
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
示例#2
0
        public ResponseModel GetNewChat()
        {
            List <CustomerChatMaster> customerChatMaster = new List <CustomerChatMaster>();
            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.GetAuthenticateDataFromToken(_radisCacheServerAddress, SecurityService.DecryptStringAES(token));

                CustomerChatCaller customerChatCaller = new CustomerChatCaller();

                customerChatMaster = customerChatCaller.NewChat(new CustomerChatService(_connectionString), authenticate.UserMasterID, authenticate.TenantId);

                statusCode =
                    customerChatMaster.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 = customerChatMaster;
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
        public ResponseModel saveChatMessages([FromBody]  CustomerChatModel ChatMessageDetails)
        {
            ResponseModel objResponseModel = new ResponseModel();
            int           result           = 0;
            int           statusCode       = 0;
            string        statusMessage    = "";

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


                CustomerChatCaller customerChatCaller = new CustomerChatCaller();
                ChatMessageDetails.CreatedBy = !ChatMessageDetails.ByCustomer ? authenticate.UserMasterID : 0;
                result = customerChatCaller.SaveChatMessages(new CustomerChatService(_connectionString), ChatMessageDetails);

                statusCode    = result > 0 ? (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 = result;
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
示例#4
0
        public ResponseModel ReadOnGoingMessage(int chatID)
        {
            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.GetAuthenticateDataFromToken(_radisCacheServerAddress, SecurityService.DecryptStringAES(token));

                CustomerChatCaller customerChatCaller = new CustomerChatCaller();

                int result = customerChatCaller.MarkAsReadMessage(new CustomerChatService(_connectionString), chatID);

                statusCode =
                    result.Equals(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 = result;
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
        public ResponseModel sendMessageToCustomer(int ChatID, string MobileNo, string ProgramCode, string Message, string WhatsAppMessage, string ImageURL, int InsertChat = 1)
        {
            ResponseModel objResponseModel = new ResponseModel();
            int           result           = 0;
            int           statusCode       = 0;
            string        statusMessage    = "";

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


                CustomerChatCaller customerChatCaller = new CustomerChatCaller();

                result = customerChatCaller.SendMessageToCustomer(new CustomerChatService(_connectionString), ChatID, MobileNo, ProgramCode,
                                                                  Message, WhatsAppMessage, ImageURL, _ClientAPIUrl, authenticate.UserMasterID, InsertChat);

                statusCode    = result > 0 ? (int)EnumMaster.StatusCode.Success : (int)EnumMaster.StatusCode.InternalServerError;
                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 getChatMessagesList(int ChatID, int ForRecentChat = 0)
        {
            ResponseModel objResponseModel       = new ResponseModel();
            List <CustomerChatMessages> ChatList = new List <CustomerChatMessages>();
            int    statusCode    = 0;
            string statusMessage = "";

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


                CustomerChatCaller customerChatCaller = new CustomerChatCaller();

                ChatList = customerChatCaller.GetChatmessageDetails(new CustomerChatService(_connectionString), authenticate.TenantId, ChatID, ForRecentChat);

                statusCode    = ChatList.Count > 0 ? (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 = ChatList;
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
        public ResponseModel searchChatItemDetails(string SearchText, string ProgramCode)
        {
            ResponseModel objResponseModel = new ResponseModel();
            List <CustomItemSearchResponseModel> ItemList = new List <CustomItemSearchResponseModel>();

            int    statusCode    = 0;
            string statusMessage = "";

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


                CustomerChatCaller customerChatCaller = new CustomerChatCaller();

                ItemList = customerChatCaller.ChatItemSearch(new CustomerChatService(_connectionString), authenticate.TenantId, ProgramCode,
                                                             _ClientAPIUrl, SearchText);
                statusCode    = ItemList.Count > 0 ? (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 = ItemList;
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
        public ResponseModel saveCustomerChatReply([FromBody]  CustomerChatReplyModel ChatMessageReply)
        {
            ResponseModel objResponseModel = new ResponseModel();
            int           result = 0; int statusCode = 0;
            string        statusMessage = "";

            try
            {
                CustomerChatCaller customerChatCaller = new CustomerChatCaller();

                result = customerChatCaller.SaveCustomerChatMessageReply(new CustomerChatService(_connectionString), ChatMessageReply);

                statusCode    = result > 0 ? (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 = result;
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
        public ResponseModel GetChatSession()
        {
            ResponseModel    objResponseModel = new ResponseModel();
            int              statusCode       = 0;
            string           statusMessage    = "";
            ChatSessionModel ChatSession      = new ChatSessionModel();

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


                CustomerChatCaller customerChatCaller = new CustomerChatCaller();

                ChatSession = customerChatCaller.GetChatSession(new CustomerChatService(_connectionString));

                statusCode    = ChatSession != 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 = ChatSession;
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
        public ResponseModel UpdateCardImageApproval(int ID)
        {
            ResponseModel objResponseModel = new ResponseModel();
            int           result           = 0;
            int           statusCode       = 0;
            string        statusMessage    = "";

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


                CustomerChatCaller customerChatCaller = new CustomerChatCaller();

                result = customerChatCaller.UpdateCardImageApproval(new CustomerChatService(_connectionString), authenticate.TenantId, authenticate.ProgramCode, ID, authenticate.UserMasterID);

                statusCode    = result > 0 ? (int)EnumMaster.StatusCode.Success : (int)EnumMaster.StatusCode.InternalServerError;
                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 GetCardImageUploadlog(int ListingFor = 1) //1=asset Approval listing 2=upload log

        {
            ResponseModel objResponseModel = new ResponseModel();
            int           statusCode       = 0;
            string        statusMessage    = "";
            List <ChatCardImageUploadModel> CardImageLog = new List <ChatCardImageUploadModel>();

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


                CustomerChatCaller customerChatCaller = new CustomerChatCaller();

                CardImageLog = customerChatCaller.GetCardImageUploadlog(new CustomerChatService(_connectionString), ListingFor, authenticate.TenantId, authenticate.ProgramCode);

                statusCode    = CardImageLog.Count > 0 ? (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 = CardImageLog;
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
        public ResponseModel UpdateStoreManagerChatStatus(int ChatID, int ChatStatusID)
        {
            /*
             ******* ChatStatusID:*******
             * Dropped Chat -->1
             * Unanswered Chat -->2
             * Closed Chat -->3
             * Hold Chat -->4
             * UnHold Chat -->5
             * InActive Chat -->6
             *
             * */


            ResponseModel objResponseModel = new ResponseModel();
            int           result           = 0;
            int           statusCode       = 0;
            string        statusMessage    = "";

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


                CustomerChatCaller customerChatCaller = new CustomerChatCaller();

                result = customerChatCaller.UpdateStoreManagerChatStatus(new CustomerChatService(_connectionString), authenticate.TenantId, authenticate.ProgramCode, ChatID,
                                                                         ChatStatusID, authenticate.UserMasterID);

                statusCode    = result > 0 ? (int)EnumMaster.StatusCode.Success : (int)EnumMaster.StatusCode.InternalServerError;
                statusMessage = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)statusCode);


                objResponseModel.Status       = true;
                objResponseModel.StatusCode   = statusCode;
                objResponseModel.Message      = statusMessage;
                objResponseModel.ResponseData = result;
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
示例#13
0
        public ResponseModel ScheduleVisit([FromBody] AppointmentMaster appointmentMaster)
        {
            ResponseModel             objResponseModel   = new ResponseModel();
            List <AppointmentDetails> appointmentDetails = new List <AppointmentDetails>();
            int    statusCode    = 0;
            string statusMessage = "";

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

                appointmentMaster.CreatedBy = authenticate.UserMasterID;
                appointmentMaster.TenantID  = authenticate.TenantId;
                CustomerChatCaller customerChatCaller = new CustomerChatCaller();

                appointmentDetails = customerChatCaller.ScheduleVisit(new CustomerChatService(_connectionString), appointmentMaster);

                statusCode =
                    appointmentDetails.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 = appointmentDetails;
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
示例#14
0
        public ResponseModel GetCustomerChatHistory([FromBody] GetChatHistoryModel chatHistory)
        {
            List <CustomerChatHistory> customerChatHistory = new List <CustomerChatHistory>();
            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.GetAuthenticateDataFromToken(_radisCacheServerAddress, SecurityService.DecryptStringAES(token));

                CustomerChatCaller customerChatCaller = new CustomerChatCaller();

                customerChatHistory = customerChatCaller.CustomerChatHistory(new CustomerChatService(_connectionString), chatHistory.ChatId);

                //////////////////////////Paging//////////////////////

                // Get's No of Rows Count
                int count = customerChatHistory.Count;

                // Parameter is passed from Query string if it is null then it default Value will be pageNumber:1
                int CurrentPage = chatHistory.pageNumber;

                // Parameter is passed from Query string if it is null then it default Value will be pageSize:20
                int PageSize = chatHistory.pageSize;

                // Display TotalCount to Records to User
                int TotalCount = count;

                // Calculating Totalpage by Dividing (No of Records / Pagesize)
                int TotalPages = (int)Math.Ceiling(count / (double)PageSize);

                // Returns List of Customer after applying Paging
                var customerChats = customerChatHistory.Skip((CurrentPage - 1) * PageSize).Take(PageSize).ToList();

                // if CurrentPage is greater than 1 means it has previousPage
                var previousPage = CurrentPage > 1 ? "Yes" : "No";

                // if TotalPages is greater than CurrentPage means it has nextPage
                var nextPage = CurrentPage < TotalPages ? "Yes" : "No";

                // Object which we are going to send in header
                var paginationMetadata = new
                {
                    totalCount  = TotalCount,
                    pageSize    = PageSize,
                    currentPage = CurrentPage,
                    totalPages  = TotalPages,
                    previousPage,
                    nextPage
                };

                //////////////////////////Paging End////////////////////////

                statusCode =
                    customerChats.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 = customerChats;

                HttpContext.Response.Headers.Add("Paging-Headers", JsonConvert.SerializeObject(paginationMetadata));
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
        public ResponseModel InsertCardImageUpload()
        {
            ResponseModel objResponseModel = new ResponseModel();
            int           result           = 0;
            int           statusCode       = 0;
            string        statusMessage    = "";
            string        ImageFilePath    = string.Empty;
            string        ImageUrl         = string.Empty;
            List <string> ImageList        = new List <string>();
            string        ItemID           = string.Empty;
            string        SearchText       = string.Empty;

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

                #region CardImage File Read and Save

                var files = Request.Form.Files;

                ItemID     = Convert.ToString(Request.Form["ItemID"]);
                SearchText = Convert.ToString(Request.Form["SearchText"]);


                if (files.Count > 0)
                {
                    for (int i = 0; i < files.Count; i++)
                    {
                        ImageList.Add(files[i].FileName.Replace(".", "_" + ItemID + "_" + DateTime.Now.ToString("ddmmyyyyhhssfff") + "."));
                    }
                }


                ImageFilePath = Path.Combine(Directory.GetCurrentDirectory(), UploadFiles, CommonFunction.GetEnumDescription((EnumMaster.FileUpload) 4), "ChatBotCardImages");


                if (!Directory.Exists(ImageFilePath))
                {
                    Directory.CreateDirectory(ImageFilePath);
                }

                if (ImageList.Count > 0)
                {
                    using (var ms = new MemoryStream())
                    {
                        files[0].CopyTo(ms);
                        var          fileBytes = ms.ToArray();
                        MemoryStream msfile    = new MemoryStream(fileBytes);
                        FileStream   docFile   = new FileStream(Path.Combine(ImageFilePath, ImageList[0]), FileMode.Create, FileAccess.Write);
                        msfile.WriteTo(docFile);
                        docFile.Close();
                        ms.Close();
                        msfile.Close();
                        string s = Convert.ToBase64String(fileBytes);
                        byte[] a = Convert.FromBase64String(s);
                        // act on the Base64 data
                    }
                }

                // ImageFilePath = Path.Combine(ImageFilePath, ImageList[0]);
                ImageUrl = rootPath + UploadFiles + "/" + CommonFunction.GetEnumDescription((EnumMaster.FileUpload) 4) + "/ChatBotCardImages/" + ImageList[0];

                #endregion


                result = customerChatCaller.InsertCardImageUpload
                             (new CustomerChatService(_connectionString), authenticate.TenantId, authenticate.ProgramCode, _ClientAPIUrl, SearchText, ItemID, ImageUrl, authenticate.UserMasterID);

                statusCode    = result > 0 ? (int)EnumMaster.StatusCode.Success : (int)EnumMaster.StatusCode.InternalServerError;
                statusMessage = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)statusCode);


                objResponseModel.Status       = true;
                objResponseModel.StatusCode   = statusCode;
                objResponseModel.Message      = statusMessage;
                objResponseModel.ResponseData = result;
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }