public HttpResponseMessage GetMoreTicketChats(int nTicketID, int nLastTicketChatID) { TakamulTicketChat oTakamulTicketChat = new TakamulTicketChat(); List <TakamulTicketChat> lstTakamulTicket = null; List <TicketChatViewModel> lstTicketViewModel = this.oITicketServices.IlGetMoreTicketChats(nTicketID, nLastTicketChatID); if (lstTicketViewModel.Count > 0) { lstTakamulTicket = new List <TakamulTicketChat>(); foreach (var oTicketChatItem in lstTicketViewModel) { string sReplyMessage = string.Empty; string sTicketChatItemRemoteFilePath = string.Empty; if (oTicketChatItem.TICKET_CHAT_TYPE_ID != 1) { sTicketChatItemRemoteFilePath = Path.Combine(CommonHelper.sGetConfigKeyValue(ConstantNames.RemoteFileServerPath), oTicketChatItem.REPLY_FILE_PATH); } oTakamulTicketChat = new TakamulTicketChat() { ApplicationID = oTicketChatItem.APPLICATION_ID, TicketID = oTicketChatItem.TICKET_ID, ReplyMessage = oTicketChatItem.REPLY_MESSAGE, ReplyDate = string.Format("{0} {1}", oTicketChatItem.REPLIED_DATE.ToShortDateString(), oTicketChatItem.REPLIED_DATE.ToShortTimeString()), TicketChatID = oTicketChatItem.ID, TicketChatTypeID = oTicketChatItem.TICKET_CHAT_TYPE_ID, TicketChatTypeName = oTicketChatItem.CHAT_TYPE, UserFullName = oTicketChatItem.PARTICIPANT_FULL_NAME, UserID = oTicketChatItem.TICKET_PARTICIPANT_ID, RemoteFilePath = sTicketChatItemRemoteFilePath }; lstTakamulTicket.Add(oTakamulTicketChat); } } return(Request.CreateResponse(HttpStatusCode.OK, lstTakamulTicket)); }
public HttpResponseMessage PostTicketChat(TakamulTicketChat oTakamulTicketChat, int nLanguageID) { ApiResponse oApiResponse = new ApiResponse(); string sResultMessage = string.Empty; if (ModelState.IsValid) { try { string sReplyImagePath = string.Empty; string sReplyImageDirectory = string.Empty; string sFullFilePath = string.Empty; if (!string.IsNullOrEmpty(oTakamulTicketChat.Base64ReplyImage)) { sReplyImageDirectory = Path.Combine(oTakamulTicketChat.ApplicationID.ToString(), oTakamulTicketChat.TicketID.ToString()); enumFileTypes oEnumFileTypes = (enumFileTypes)Enum.Parse(typeof(enumFileTypes), oTakamulTicketChat.TicketChatTypeID.ToString()); switch (oEnumFileTypes) { case enumFileTypes.png: sReplyImagePath = CommonHelper.AppendTimeStamp("fake.png"); break; case enumFileTypes.jpg: sReplyImagePath = CommonHelper.AppendTimeStamp("fake.jpg"); break; case enumFileTypes.jpeg: sReplyImagePath = CommonHelper.AppendTimeStamp("fake.jpeg"); break; case enumFileTypes.doc: sReplyImagePath = CommonHelper.AppendTimeStamp("fake.doc"); break; case enumFileTypes.docx: sReplyImagePath = CommonHelper.AppendTimeStamp("fake.docx"); break; case enumFileTypes.pdf: sReplyImagePath = CommonHelper.AppendTimeStamp("fake.pdf"); break; } sFullFilePath = Path.Combine(sReplyImageDirectory, sReplyImagePath); } TicketChatViewModel oTicketChatViewModel = new TicketChatViewModel() { TICKET_ID = oTakamulTicketChat.TicketID, REPLY_MESSAGE = oTakamulTicketChat.ReplyMessage, REPLY_FILE_PATH = sFullFilePath.Replace('\\', '/'), TICKET_CHAT_TYPE_ID = oTakamulTicketChat.TicketChatTypeID, TICKET_PARTICIPANT_ID = oTakamulTicketChat.UserID }; Response oResponse = this.oITicketServices.oInsertTicketChat(oTicketChatViewModel); if (oResponse.nOperationResult == 1) { if (!string.IsNullOrEmpty(sFullFilePath) && !string.IsNullOrEmpty(oTakamulTicketChat.Base64ReplyImage)) { FileAccessService oFileAccessService = new FileAccessService(CommonHelper.sGetConfigKeyValue(ConstantNames.FileAccessURL)); Byte[] oArrImage = Convert.FromBase64String(oTakamulTicketChat.Base64ReplyImage); oFileAccessService.CreateDirectory(sReplyImageDirectory); enumFileTypes oEnumFileTypes = (enumFileTypes)Enum.Parse(typeof(enumFileTypes), oTakamulTicketChat.TicketChatTypeID.ToString()); if (oEnumFileTypes == enumFileTypes.jpeg || oEnumFileTypes == enumFileTypes.jpg || oEnumFileTypes == enumFileTypes.png) { MagickImage oMagickImage = new MagickImage(oArrImage); oMagickImage.Format = MagickFormat.Jpeg; oMagickImage.Resize(Convert.ToInt32(CommonHelper.sGetConfigKeyValue(ConstantNames.ImageWidth)), Convert.ToInt32(CommonHelper.sGetConfigKeyValue(ConstantNames.ImageHeight))); oFileAccessService.WirteFileByte(Path.Combine(sReplyImageDirectory, sReplyImagePath), oMagickImage.ToByteArray()); } else { oFileAccessService.WirteFileByte(Path.Combine(sReplyImageDirectory, sReplyImagePath), oArrImage); } } oApiResponse.OperationResult = 1; oApiResponse.OperationResultMessage = "Success."; } else { switch (oResponse.nOperationResult) { case -5: oApiResponse.OperationResult = -5; sResultMessage = nLanguageID == 2 ? "The Application is expired." : "انتهت صلاحية التطبيق."; oApiResponse.OperationResultMessage = sResultMessage; break; case -6: oApiResponse.OperationResult = -6; sResultMessage = nLanguageID == 2 ? "OTP is not verified." : "لم يتم التحقق من رمز التفعيل."; oApiResponse.OperationResultMessage = sResultMessage; break; case -7: oApiResponse.OperationResult = -7; sResultMessage = nLanguageID == 2 ? "User is blocked." : "المستخدم محضور."; oApiResponse.OperationResultMessage = sResultMessage; break; case -8: oApiResponse.OperationResult = -8; sResultMessage = nLanguageID == 2 ? "Ticket submission is restricted." : "المواضيع الجديدة مقيدة."; oApiResponse.OperationResultMessage = sResultMessage; break; case -9: oApiResponse.OperationResult = -9; sResultMessage = nLanguageID == 2 ? "Ticket Submission Interval Days reached." : "وصلت للفترة الزمنية لتقديم للمواضيع."; oApiResponse.OperationResultMessage = sResultMessage; break; default: oApiResponse.OperationResult = 0; sResultMessage = nLanguageID == 2 ? "An error occurred during the operation. Please try again later." : "حدث خطأ يرجى المحاولة لاحقا مرة أخرى."; oApiResponse.OperationResultMessage = sResultMessage; break; } } return(Request.CreateResponse(HttpStatusCode.OK, oApiResponse)); } catch (Exception ex) { Elmah.ErrorLog.GetDefault(HttpContext.Current).Log(new Elmah.Error(ex)); oApiResponse.OperationResult = 0; sResultMessage = nLanguageID == 2 ? "An error occurred during the operation. Please try again later." : "حدث خطأ يرجى المحاولة لاحقا مرة أخرى."; oApiResponse.OperationResultMessage = sResultMessage; return(Request.CreateResponse(HttpStatusCode.InternalServerError, oApiResponse)); } } oApiResponse.OperationResult = 0; sResultMessage = nLanguageID == 2 ? "An error occurred during the operation. Please try again later." : "حدث خطأ يرجى المحاولة لاحقا مرة أخرى."; oApiResponse.OperationResultMessage = sResultMessage; return(Request.CreateResponse(HttpStatusCode.BadRequest, oApiResponse)); }
public HttpResponseMessage GetTicketChats(int nTicketID) { TakamulTicketChatRepo oTakamulTicketChatRepo = new TakamulTicketChatRepo(); List <TakamulTicketChat> lstTakamulTicket = null; List <TicketChatViewModel> lstTicketViewModel = this.oITicketServices.IlGetTicketChats(nTicketID); if (lstTicketViewModel.Count > 0) { lstTakamulTicket = new List <TakamulTicketChat>(); foreach (var oTicketChatItem in lstTicketViewModel) { string sReplyMessage = string.Empty; string sTicketChatItemRemoteFilePath = string.Empty; if (oTicketChatItem.TICKET_CHAT_TYPE_ID != 1) { sTicketChatItemRemoteFilePath = Path.Combine(CommonHelper.sGetConfigKeyValue(ConstantNames.RemoteFileServerPath), oTicketChatItem.REPLY_FILE_PATH); } TakamulTicketChat oTakamulTicketChat = new TakamulTicketChat() { ApplicationID = oTicketChatItem.APPLICATION_ID, TicketID = oTicketChatItem.TICKET_ID, ReplyMessage = oTicketChatItem.REPLY_MESSAGE, ReplyDate = string.Format("{0} {1}", oTicketChatItem.REPLIED_DATE.ToShortDateString(), oTicketChatItem.REPLIED_DATE.ToShortTimeString()), TicketChatID = oTicketChatItem.ID, TicketChatTypeID = oTicketChatItem.TICKET_CHAT_TYPE_ID, TicketChatTypeName = oTicketChatItem.CHAT_TYPE, UserFullName = oTicketChatItem.PARTICIPANT_FULL_NAME, UserID = oTicketChatItem.TICKET_PARTICIPANT_ID, RemoteFilePath = sTicketChatItemRemoteFilePath }; lstTakamulTicket.Add(oTakamulTicketChat); oTakamulTicketChatRepo.TakamulTicketChatList = lstTakamulTicket; } } TicketViewModel oTicketViewModel = this.oITicketServices.oGetTicketDetails(nTicketID); TakamulTicket oTakamulTicket = null; if (oTicketViewModel != null) { string sRemoteFilePath = string.Empty; if (!string.IsNullOrEmpty(oTicketViewModel.DEFAULT_IMAGE)) { sRemoteFilePath = Path.Combine(CommonHelper.sGetConfigKeyValue(ConstantNames.RemoteFileServerPath), oTicketViewModel.DEFAULT_IMAGE); } oTakamulTicket = new TakamulTicket() { TicketID = oTicketViewModel.ID, ApplicationID = oTicketViewModel.APPLICATION_ID, TicketCode = oTicketViewModel.TICKET_CODE, TicketName = oTicketViewModel.TICKET_NAME, TicketDescription = oTicketViewModel.TICKET_DESCRIPTION, TicketStatusID = oTicketViewModel.TICKET_STATUS_ID, TicketStatusRemark = oTicketViewModel.TICKET_STATUS_REMARK, TicketStatusName = oTicketViewModel.TICKET_STATUS_NAME, CreatedDate = string.Format("{0} {1}", oTicketViewModel.CREATED_DATE.ToShortDateString(), oTicketViewModel.CREATED_DATE.ToShortTimeString()), RemoteFilePath = sRemoteFilePath }; oTakamulTicketChatRepo.TakamulTicket = oTakamulTicket; //TODO:: Replace with original code if (oTicketViewModel.TICKET_STATUS_ID == 3) //Rejected { oTakamulTicketChatRepo.RejectReason = "reject reason from database"; } } return(Request.CreateResponse(HttpStatusCode.OK, oTakamulTicketChatRepo)); }