public ActionResult UploadFile(string sessionid, int senderid)
        {
            DanpheHTTPResponse <object> responseData = new DanpheHTTPResponse <object>();

            try
            {
                int[] responseidlist = { };
                var   file           = Request.Form.Files[0];
                if (file.Length > 0)
                {
                    /////Converting Files to Byte there for we require MemoryStream object
                    using (var ms = new MemoryStream())
                    {
                        string fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"');
                        ////this is the Extention of Current File(.PNG, .JPEG, .JPG)
                        string fileExtention = Path.GetExtension(file.FileName);
                        ////Copy Each file to MemoryStream
                        file.CopyTo(ms);
                        ////Convert File to Byte[]
                        var fileBytes = ms.ToArray();

                        var tempModel = new SessionDocumentsModel();
                        tempModel.SessionId     = sessionid;
                        tempModel.UploadedBy    = senderid;
                        tempModel.FileName      = fileName;
                        tempModel.UploadedOn    = DateTime.Now.ToString();
                        tempModel.FileByteArray = fileBytes;
                        tempModel.FileExtension = fileExtention;

                        dbContext.SessionDocument.Add(tempModel);
                        dbContext.SaveChanges();
                        responseidlist.Append(tempModel.SessionDocumentId);
                    }
                }
                var res = (from d in dbContext.SessionDocument
                           orderby d.SessionDocumentId descending
                           select new
                {
                    d.SessionDocumentId,
                    d.FileName
                }).FirstOrDefault();
                responseData.Results = res;
                responseData.Status  = "OK";
                //return Json("Upload Successful.");
            }
            catch (System.Exception ex)
            {
                responseData.Status       = "Failed";
                responseData.ErrorMessage = "Upload Failed" + ex.Message;
                //return Json("Upload Failed: " + ex.Message);
            }
            return(Json(DanpheJSONConvert.SerializeObject(responseData, true)));
        }
        public string Get(string reqType, int userid, string usernamelist, string useridlist, string username, string password, int documentid, string sessionid, int conferenceid)
        {
            //DanpheTeleMedDbContext dbContext = new DanpheTeleMedDbContext(connString);
            DanpheHTTPResponse <object> responseData = new DanpheHTTPResponse <object>();

            try
            {
                #region Get Old chat record for p2p communication
                if (reqType == "get-old-chat")
                {
                    var arr = useridlist.Split(',');
                    if (arr.Length == 2)
                    {
                        var user1id = Convert.ToInt32(arr[0]);
                        var user2id = Convert.ToInt32(arr[1]);
                        var res     = new
                        {
                            chat = (from c in dbContext.SessionChat
                                    where (c.SenderId == user1id && c.ReceiverId == user2id) ||
                                    (c.SenderId == user2id && c.ReceiverId == user1id)
                                    select new
                            {
                                c.SenderId,
                                c.ReceiverId,
                                SenderName = dbContext.User.Where(a => a.UserId == c.SenderId).Select(a => a.UserName).FirstOrDefault(),
                                ReceiverName = dbContext.User.Where(a => a.UserId == c.ReceiverId).Select(a => a.UserName).FirstOrDefault(),
                                c.SentText,
                                c.SentTime,
                            }).ToList(),

                            call = (from st in dbContext.SessionTxns
                                    join si in (from c in dbContext.SessionUserTxns
                                                where (c.SessionOwnerId == user1id && c.UserId == user2id) ||
                                                (c.SessionOwnerId == user2id && c.UserId == user1id)
                                                select c.SessionId).Distinct().ToList()
                                    on st.SessionId equals si
                                    orderby st.SessionTxnId descending
                                    select new
                            {
                                StartTime = st.CreatedOn,
                                st.EndTime
                            }).Take(10).ToList()
                        };
                        responseData.Results = res;
                    }
                    else
                    {
                        responseData.Results = "user";
                    }
                }
                #endregion
                #region Check username and password for login
                else if (reqType == "check-user")
                {
                    if (username != "" || password != "")
                    {
                        var user = (from u in dbContext.User
                                    where u.UserName == username && u.Password == password
                                    select new
                        {
                            u.UserId,
                            u.UserName,
                            u.IsActive,
                            u.Role,
                            u.CreatedOn
                        }).FirstOrDefault();
                        if (user != null)
                        {
                            responseData.Results = user;
                        }
                        else
                        {
                            responseData.ErrorMessage = "Username or Password is wrong!!";
                        }
                    }
                    else
                    {
                        responseData.ErrorMessage = "Username or Password is wrong!!";
                    }
                }
                #endregion
                #region get assessment
                else if (reqType == "get-assessment")
                {
                    var user1id = 0;
                    var user2id = 0;
                    var arr     = useridlist.Split(',');
                    if (arr.Length == 2)
                    {
                        user1id = Convert.ToInt32(arr[0]);
                        user2id = Convert.ToInt32(arr[1]);
                        var sessionlist = (from sl in dbContext.SessionUserTxns.AsEnumerable()
                                           where (sl.SessionOwnerId == user1id &&
                                                  sl.UserId == user2id) ||
                                           (sl.UserId == user1id &&
                                            sl.SessionOwnerId == user2id)
                                           select sl.SessionId).Distinct().ToList();

                        var note = (from n in dbContext.Assessment.AsEnumerable()
                                    join sl in sessionlist on n.SessionId equals sl
                                    select n).ToList();
                        responseData.Results = note;
                    }
                    else
                    {
                        responseData.Results = "not found";
                    }
                }
                #endregion
                #region get complain
                else if (reqType == "get-complain")
                {
                    var user1id = 0;
                    var user2id = 0;
                    var arr     = useridlist.Split(',');
                    if (arr.Length == 2)
                    {
                        user1id = Convert.ToInt32(arr[0]);
                        user2id = Convert.ToInt32(arr[1]);
                        var sessionlist = (from sl in dbContext.SessionUserTxns.AsEnumerable()
                                           where (sl.SessionOwnerId == user1id &&
                                                  sl.UserId == user2id) ||
                                           (sl.UserId == user1id &&
                                            sl.SessionOwnerId == user2id)
                                           select sl.SessionId).Distinct().ToList();

                        var note = (from n in dbContext.Complain.AsEnumerable()
                                    join sl in sessionlist on n.SessionId equals sl
                                    select n).ToList();
                        responseData.Results = note;
                    }
                    else
                    {
                        responseData.Results = "not found";
                    }
                }
                #endregion
                #region get examination
                else if (reqType == "get-examination")
                {
                    var user1id = 0;
                    var user2id = 0;
                    var arr     = useridlist.Split(',');
                    if (arr.Length == 2)
                    {
                        user1id = Convert.ToInt32(arr[0]);
                        user2id = Convert.ToInt32(arr[1]);
                        var sessionlist = (from sl in dbContext.SessionUserTxns.AsEnumerable()
                                           where (sl.SessionOwnerId == user1id &&
                                                  sl.UserId == user2id) ||
                                           (sl.UserId == user1id &&
                                            sl.SessionOwnerId == user2id)
                                           select sl.SessionId).Distinct().ToList();

                        var note = (from n in dbContext.Examination.AsEnumerable()
                                    join sl in sessionlist on n.SessionId equals sl
                                    select n).ToList();
                        responseData.Results = note;
                    }
                    else
                    {
                        responseData.Results = "not found";
                    }
                }
                #endregion
                #region get orders
                else if (reqType == "get-orders")
                {
                    var user1id = 0;
                    var user2id = 0;
                    var arr     = useridlist.Split(',');
                    if (arr.Length == 2)
                    {
                        user1id = Convert.ToInt32(arr[0]);
                        user2id = Convert.ToInt32(arr[1]);
                        var sessionlist = (from sl in dbContext.SessionUserTxns.AsEnumerable()
                                           where (sl.SessionOwnerId == user1id &&
                                                  sl.UserId == user2id) ||
                                           (sl.UserId == user1id &&
                                            sl.SessionOwnerId == user2id)
                                           select sl.SessionId).Distinct().ToList();

                        var note = (from n in dbContext.Order.AsEnumerable()
                                    join sl in sessionlist on n.SessionId equals sl
                                    select n).ToList();
                        responseData.Results = note;
                    }
                    else
                    {
                        responseData.Results = "not found";
                    }
                }
                #endregion
                #region get plan
                else if (reqType == "get-plan")
                {
                    var user1id = 0;
                    var user2id = 0;
                    var arr     = useridlist.Split(',');
                    if (arr.Length == 2)
                    {
                        user1id = Convert.ToInt32(arr[0]);
                        user2id = Convert.ToInt32(arr[1]);
                        var sessionlist = (from sl in dbContext.SessionUserTxns.AsEnumerable()
                                           where (sl.SessionOwnerId == user1id &&
                                                  sl.UserId == user2id) ||
                                           (sl.UserId == user1id &&
                                            sl.SessionOwnerId == user2id)
                                           select sl.SessionId).Distinct().ToList();

                        var note = (from n in dbContext.Plan.AsEnumerable()
                                    join sl in sessionlist on n.SessionId equals sl
                                    select n).ToList();
                        responseData.Results = note;
                    }
                    else
                    {
                        responseData.Results = "not found";
                    }
                }
                #endregion
                #region Get Consult requests
                else if (reqType == "get-consult-request")
                {
                    var sessionlist = GetSessionIdList(dbContext, useridlist);
                    var note        = (from n in dbContext.ConsultRequest.AsEnumerable()
                                       join sl in sessionlist on n.SessionId equals sl
                                       select n).ToList();
                    responseData.Results = note;
                }
                #endregion
                #region get session file
                else if (reqType == "get-document-list")
                {
                    var sessionlist = GetSessionIdList(dbContext, useridlist);

                    var doclist = (from sd in dbContext.SessionDocument.AsEnumerable()
                                   join sl in sessionlist on sd.SessionId equals sl
                                   select new
                    {
                        sd.SessionDocumentId,
                        sd.SessionId,
                        sd.FileName,
                        sd.UploadedOn,
                        sd.UploadedBy,
                        //UploaderName = GetUserName(dbContext, sd.UploadedBy)
                    }).ToList();
                    List <SessionDocumentsModel> docs = new List <SessionDocumentsModel>();
                    doclist.ForEach(a =>
                    {
                        var doc = new SessionDocumentsModel();
                        doc.SessionDocumentId = a.SessionDocumentId;
                        doc.SessionId         = a.SessionId;
                        doc.FileName          = a.FileName;
                        doc.UploadedOn        = a.UploadedOn;
                        doc.UploaderName      = GetUserName(dbContext, a.UploadedBy);
                        docs.Add(doc);
                    });
                    responseData.Results = docs;
                }
                else if (reqType == "get-document")
                {
                    var file = (from d in dbContext.SessionDocument
                                where d.SessionDocumentId == documentid
                                select new
                    {
                        d.FileName,
                        d.FileExtension,
                        d.FileByteArray
                    }).FirstOrDefault();
                    responseData.Results = file;
                }
                #endregion
                #region check valid conference for join
                else if (reqType == "check-valid-conference")
                {
                    var res = (from c in dbContext.Conference
                               where c.ConferenceRoomId == sessionid
                               select c.ConferenceRoomId).FirstOrDefault();
                    if (res != null)
                    {
                        responseData.Results = true;
                    }
                    else
                    {
                        responseData.Results = false;
                    }
                }
                #endregion
                #region get user details
                else if (reqType == "get-user-details")
                {
                    var user = (from u in dbContext.User
                                where u.UserId == userid
                                select new
                    {
                        u.UserId,
                        u.UserName,
                        u.IsActive,
                        u.Role
                    }).FirstOrDefault();
                    if (user != null)
                    {
                        responseData.Results = user;
                    }
                }
                #endregion
                #region get user contacts
                else if (reqType == "get-user-contacts")
                {
                    //var contacts = (from uc in dbContext.User
                    //                select new
                    //                {
                    //                    UserId = userid,
                    //                    ContactId = uc.UserId,
                    //                    ContactName = uc.UserName
                    //                }).ToList();
                    var contacts = (from uc in dbContext.UserContacts
                                    join u in dbContext.User on uc.ContactId equals u.UserId
                                    where uc.UserId == userid
                                    select new
                    {
                        uc.UserId,
                        uc.ContactId,
                        ContactName = u.UserName
                    }).ToList();
                    responseData.Results = contacts;
                }
                #endregion
                #region get user list
                else if (reqType == "get-user-list")
                {
                    var users = (from u in dbContext.User
                                 where u.IsActive == true
                                 select new
                    {
                        u.UserId,
                        u.UserName,
                        u.Role,
                        u.IsActive
                    }).ToList();
                    responseData.Results = users;
                    responseData.Status  = "OK";
                }
                #endregion
                #region get previous meetings
                else if (reqType == "get-previous-meetings")
                {
                    var meetings = (from m in dbContext.Conference
                                    where m.CreatedBy == userid
                                    orderby m.ConferenceId descending
                                    select m).ToList();
                    responseData.Results = meetings;
                }
                else if (reqType == "get-meeting-details")
                {
                    var meeting = (from c in dbContext.Conference
                                   where c.ConferenceId == conferenceid
                                   select new
                    {
                        ConnectedUsers = (from cu in dbContext.ConferenceUser
                                          where cu.ConferenceRoomId == c.ConferenceRoomId
                                          select cu).ToList(),
                        ConferenceChat = (from cc in dbContext.ConferenceChat
                                          where cc.ConferenceRoomId == c.ConferenceRoomId
                                          select cc).ToList()
                    }).FirstOrDefault();
                    responseData.Results = meeting;
                }
                #endregion
                else if (reqType == "get-iceserver-config")
                {
                    responseData.Results = dbContext.Parameters
                                           .Where(a => a.ParameterName == "iceServer" && a.IsActive == true)
                                           .Select(a => a.ParameterValue).FirstOrDefault();
                }
                else
                {
                    responseData.Results = "Request Type not found";
                }
                responseData.Status = "OK";
            }
            catch (Exception ex)
            {
                responseData.Status       = "Failed";
                responseData.ErrorMessage = ex.Message + " exception details:" + ex.ToString();
            }
            return(DanpheJSONConvert.SerializeObject(responseData, true));
        }