/// <summary> /// 向数据库中添加一条会议研讨数据 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool InsertConferenceMsg(ConferenceChatModel model) { try { var msg = new ConferenceMsg() { conferenceid = model.conferenceId, uid = model.uid, truename = model.trueName, photo = model.photo, msgContent = model.msgContent, msgtype = model.msgType, datetime = DateTime.Now, ext = "", }; var unitOfWork = new UnitOfWork(); unitOfWork.DConferenceMsg.Insert(msg); var result = unitOfWork.Save(); if (result.ResultType == OperationResultType.Success) { return(true); } } catch (Exception dbEx) { //记录下异常 LoggerHelper.Error(dbEx.ToString()); } return(false); }
public string Post() { DanpheHTTPResponse <object> responseData = new DanpheHTTPResponse <object>(); //DanpheTeleMedDbContext dbContext = new DanpheTeleMedDbContext(connString); responseData.Status = "OK"; try { string str = new StreamReader(Request.Body).ReadToEnd(); string reqType = Request.Query["reqType"]; responseData.Results = str + reqType; #region Save User if (reqType == "save-user") { UserModel user = DanpheJSONConvert.DeserializeObject <UserModel>(str); if (user != null) { var usr = dbContext.User.Where(u => u.UserName == user.UserName).Select(a => a).ToList(); if (usr.Count > 0) { responseData.Status = "Falied"; responseData.ErrorMessage = "User already exits"; } else { dbContext.User.Add(user); dbContext.SaveChanges(); responseData.Results = user; responseData.Status = "OK"; } } else { responseData.Status = "Failed"; responseData.ErrorMessage = "user information not received"; } } #endregion #region Save Conference else if (reqType == "save-new-conference") { ConferenceModel conference = DanpheJSONConvert.DeserializeObject <ConferenceModel>(str); if (conference != null) { ConferenceUserModel conferenceUser = new ConferenceUserModel(); conferenceUser.ConferenceRoomId = conference.ConferenceRoomId; conferenceUser.UserName = GetUserName(dbContext, conference.CreatedBy); conferenceUser.JoinTime = conference.CreatedOn; dbContext.Conference.Add(conference); dbContext.ConferenceUser.Add(conferenceUser); dbContext.SaveChanges(); responseData.Results = conference; responseData.Status = "OK"; } } #endregion #region Add new user in conference else if (reqType == "add-conference-user") { ConferenceUserModel conferenceUser = DanpheJSONConvert.DeserializeObject <ConferenceUserModel>(str); if (conferenceUser != null) { dbContext.ConferenceUser.Add(conferenceUser); dbContext.SaveChanges(); responseData.Results = conferenceUser; responseData.Status = "OK"; } } #endregion #region Save conference chat else if (reqType == "save-conference-chat") { ConferenceChatModel conferenceChat = DanpheJSONConvert.DeserializeObject <ConferenceChatModel>(str); if (conferenceChat != null) { dbContext.ConferenceChat.Add(conferenceChat); dbContext.SaveChanges(); responseData.Results = conferenceChat; responseData.Status = "OK"; } } #endregion #region Save new session of p2p connection else if (reqType == "save-new-session") { SessionTxnModel sessionTxn = DanpheJSONConvert.DeserializeObject <SessionTxnModel>(str); if (sessionTxn != null) { dbContext.SessionTxns.Add(sessionTxn); dbContext.SaveChanges(); SessionUserTxnModel sessionUserTxn = new SessionUserTxnModel(); sessionUserTxn.SessionId = sessionTxn.SessionId; sessionUserTxn.SessionOwnerId = sessionTxn.CreatedBy; sessionUserTxn.OwnerJoinTime = sessionTxn.CreatedOn; sessionUserTxn.UserId = sessionTxn.CallingTo; sessionUserTxn.UserJoinTime = sessionTxn.CreatedOn; dbContext.SessionUserTxns.Add(sessionUserTxn); dbContext.SaveChanges(); responseData.Status = "OK"; } } #endregion #region Add new user in p2p session else if (reqType == "add-session-user") { SessionUserTxnModel sessionUserTxn = DanpheJSONConvert.DeserializeObject <SessionUserTxnModel>(str); if (sessionUserTxn != null) { if (sessionUserTxn.SessionOwnerId > 0) { dbContext.SessionUserTxns.Add(sessionUserTxn); dbContext.SaveChanges(); } else { var newuser = (from u in dbContext.SessionUserTxns where u.SessionId == sessionUserTxn.SessionId select u).FirstOrDefault(); newuser.UserId = sessionUserTxn.UserId; newuser.UserJoinTime = sessionUserTxn.UserJoinTime; dbContext.SessionUserTxns.Attach(newuser); dbContext.Entry(newuser).Property(a => a.UserId).IsModified = true; dbContext.Entry(newuser).Property(a => a.UserJoinTime).IsModified = true; dbContext.Entry(newuser).State = EntityState.Modified; dbContext.SaveChanges(); } } responseData.Results = sessionUserTxn; responseData.Status = "OK"; } #endregion #region Save session chat in p2p connection else if (reqType == "save-session-chat") { SessionChatModel sessionChat = DanpheJSONConvert.DeserializeObject <SessionChatModel>(str); if (sessionChat != null) { var schat = (from s in dbContext.SessionUserTxns where s.SessionId == sessionChat.SessionId select new { s.SessionOwnerId, s.UserId }).FirstOrDefault(); sessionChat.ReceiverId = (schat.UserId == sessionChat.SenderId) ? schat.SessionOwnerId : schat.UserId; dbContext.SessionChat.Add(sessionChat); dbContext.SaveChanges(); responseData.Results = sessionChat; responseData.Status = "OK"; } } #endregion #region save assessment else if (reqType == "save-assessment") { ClinicalAssessmentModel assessment = DanpheJSONConvert.DeserializeObject <ClinicalAssessmentModel>(str); if (assessment != null) { dbContext.Assessment.Add(assessment); dbContext.SaveChanges(); responseData.Status = "OK"; } } #endregion #region save complain else if (reqType == "save-complain") { ClinicalComplainModel complain = DanpheJSONConvert.DeserializeObject <ClinicalComplainModel>(str); if (complain != null) { dbContext.Complain.Add(complain); dbContext.SaveChanges(); responseData.Status = "OK"; } } #endregion #region save examination else if (reqType == "save-examination") { ClinicalExaminationModel examination = DanpheJSONConvert.DeserializeObject <ClinicalExaminationModel>(str); if (examination != null) { dbContext.Examination.Add(examination); dbContext.SaveChanges(); responseData.Status = "OK"; } } #endregion #region save orders else if (reqType == "save-orders") { ClinicalOrderModel order = DanpheJSONConvert.DeserializeObject <ClinicalOrderModel>(str); if (order != null) { dbContext.Order.Add(order); dbContext.SaveChanges(); responseData.Status = "OK"; } } #endregion #region save plan else if (reqType == "save-plan") { ClinicalPlanModel plan = DanpheJSONConvert.DeserializeObject <ClinicalPlanModel>(str); if (plan != null) { dbContext.Plan.Add(plan); dbContext.SaveChanges(); responseData.Status = "OK"; } } #endregion #region save consult request else if (reqType == "save-consult-request") { ConsultRequestModel consult = DanpheJSONConvert.DeserializeObject <ConsultRequestModel>(str); if (consult != null) { dbContext.ConsultRequest.Add(consult); dbContext.SaveChanges(); responseData.Status = "OK"; } } #endregion #region End Video Call else if (reqType == "end-video-call") { SessionTxnModel sessionTxn = DanpheJSONConvert.DeserializeObject <SessionTxnModel>(str); var es = (from st in dbContext.SessionTxns where st.SessionId == sessionTxn.SessionId select st).FirstOrDefault(); if (es != null) { es.EndTime = sessionTxn.EndTime; dbContext.SessionTxns.Attach(es); dbContext.Entry(es).Property(a => a.EndTime).IsModified = true; dbContext.Entry(es).State = EntityState.Modified; dbContext.SaveChanges(); } responseData.Results = es; responseData.Status = "OK"; } #endregion else { responseData.Results = "Wrong data"; responseData.Status = "OK"; } } catch (Exception ex) { responseData.Status = "Failed"; responseData.ErrorMessage = ex.Message + "exception details:" + ex.ToString(); } return(DanpheJSONConvert.SerializeObject(responseData, true)); }
public void Chat(ConferenceChatModel model) { }