public void cleanDB() { using (var db = new CloudChatEntities()) { var rows = from o in db.members select o; foreach (var row in rows) { db.members.Remove(row); } var rows1 = from o in db.groups select o; foreach (var row in rows1) { db.groups.Remove(row); } var rows2 = from o in db.group_members select o; foreach (var row in rows2) { db.group_members.Remove(row); } var rows3 = from o in db.shares select o; foreach (var row in rows3) { db.shares.Remove(row); } var rows4 = from o in db.content_over_8000 select o; foreach (var row in rows4) { db.content_over_8000.Remove(row); } db.SaveChanges(); } }
private OutputSocketMessageWithUsers sendmsg(Object val, Guid myPublicLogin) { #region Тестовые данные /* * { * "execFun": "sendMsg", * "data": { * "recipientId": "788FEFAD0ED24436AD73D968685110E8", * "recipientLogin": "******", * "toGroup": "false", * "textMsg": "test message for one user", * "guidMsg": "91D8333FA55B40AFB46CA63E214C93C8", * "sendTime": "1511450497620", * "curFrg":"1", * "totalFrg":"2" * } * } * * { * "execFun": "sendMsg", * "data": { * "recipientId": "48A0CA0657DE4FB09CDC86008B2A8EBE", * "toGroup": "true", * "textMsg": "test message for group", * "guidMsg": "CA5BBD6B488941FEACFA19692D3087E0", * "sendTime": "1511450497620", * "curFrg":"1", * "totalFrg":"2" * } * } * { * "execFun": "sendMsg", * "data": { * "recipientId": "80f7efc032dd4a7c97f69fca51ad3000", * "toGroup": "false", * "textMsg": "response fo test message", * "guidMsg": "19D2B66BB477467ABAE72AC79F5A2C48", * "sendTime": "1511450497620", * "curFrg":"1", * "totalFrg":"2" * } * } * { * "execFun": "sendMsg", * "data": { * "recipientId": "48A0CA0657DE4FB09CDC86008B2A8EBE", * "toGroup": "true", * "textMsg": "response for group test message", * "guidMsg": "3D45AF8702CA4857A03D7EBD90D95C89", * "sendTime": "1511450497620", * "curFrg":"1", * "totalFrg":"2" * } * } */ #endregion OutputSocketMessage output = new OutputSocketMessage("sendMsg", true, "", new { }); OutputSocketMessageWithUsers rez = new OutputSocketMessageWithUsers(); OutGetMsgInfo outputForOther = null; InputMsgInfo info = DeserObj <InputMsgInfo>(val, output, out rez); if (info == null) { return(rez); } using (var db = new CloudChatEntities()) { Guid recepId = info.recipientId; if (info.toGroup) { if (!db.groups.Any(it => it.group_id == info.recipientId)) { output.success = false; output.msgError = "Group is not found"; rez.msgForOwner = output; return(rez); } } else { if (!db.members.Any(it => it.public_id == info.recipientId || it.login.Equals(info.recipientLogin.Trim(), StringComparison.CurrentCultureIgnoreCase))) { output.success = false; output.msgError = "User is not found"; rez.msgForOwner = output; return(rez); } recepId = db.members.FirstOrDefault(it => it.public_id == info.recipientId || it.login.Equals(info.recipientLogin.Trim(), StringComparison.CurrentCultureIgnoreCase)).public_id; } if (output.success) { content_over_8000 msg = new content_over_8000(); msg.shar_id = info.msgId; msg.file_data = Encoding.Unicode.GetBytes(info.textMsg); db.content_over_8000.Add(msg); shares newShare = new shares(); newShare.id = info.msgId; newShare.owner_private = db.usp_membersSelect(myPublicLogin).First().private_id; newShare.to_public = recepId; newShare.self_one_or_group = info.toGroup.ToString(); newShare.content = msg; newShare.current_fragment = info.curFrg; newShare.total_fragment = info.totalFrg; newShare.sending_date = info.sendTime; newShare.file_extention = "none"; db.shares.Add(newShare); db.SaveChanges(); string groupName = ""; if (info.toGroup) { groupName = db.groups.Where(it => it.group_id == recepId).FirstOrDefault().group_name_part; } else { groupName = db.members.FirstOrDefault(it => it.public_id == recepId).login; } string login = db.members.FirstOrDefault(it => it.private_id == newShare.owner_private).login; outputForOther = new OutGetMsgInfo(info.msgId, info.textMsg, myPublicLogin, info.toGroup.ToString(), recepId, info.sendTime, info.curFrg, info.totalFrg, login, groupName); if (info.toGroup) { db.group_members.Where(it => it.group_id == recepId && it.member_id != newShare.owner_private) .ToList() .ForEach(it => rez.usersId.Add( db.members.First(m => m.private_id == it.member_id).public_id ) ); } else { //rez.usersId.Add(info.login); rez.usersId.Add(recepId); } } } output.data = outputForOther; rez.msgForOwner = output; rez.msgForOther = output; // rez.msgForOther = new { callFunction="newMessage", data = outputForOther } ; return(rez); }