/// <summary> /// 修改信件状态 /// </summary> /// <param name="mailDic"></param> public static void ChangeMailType(Dictionary <int, MailData> mailDic, Action endAction) { List <MailData> mailDatas = new List <MailData>(); foreach (var item in mailDic) { if (_mailDic.ContainsKey(item.Key)) { if ((MailState)_mailDic[item.Key].State != item.Value._type) { mailDatas.Add(item.Value); } } } if (mailDatas != null && mailDatas.Count > 0) { CSChangeMailState cSChangeMailState = new CSChangeMailState(); for (int i = 0; i < mailDatas.Count; i++) { MailData mailData = mailDatas[i]; CSMailStateStruct cSMailStateStruct = new CSMailStateStruct(); cSMailStateStruct.MailId = mailData._mailID; cSMailStateStruct.MailState = (int)mailData._type; cSChangeMailState.MailInfo.Add(cSMailStateStruct); } ProtocalManager.Instance().SendCSChangeMailState(cSChangeMailState, (data) => { Debug.Log("修改成功"); //修改本地数据 for (int i = 0; i < mailDatas.Count; i++) { MailData madata = mailDatas[i]; if (_mailDic.ContainsKey(madata._mailID)) { if (madata._type == MailState.DeleteState) { _mailDic.Remove(madata._mailID); } else { _mailDic[madata._mailID].State = (int)madata._type; } } } endAction?.Invoke(); }, (er) => { Debug.Log("修改失败Code:" + er.webErrorCode + "Message:" + er.ErrorMessage); }); } else { endAction?.Invoke(); } }
public void SendCSChangeMailState(CSChangeMailState cschangemailstate, Action <SCEmtpyChangeMailState> ResponseSCEmtpyChangeMailStateCallBack, Action <ErrorInfo> errorCallBack, bool isShowDefaultTip = true) { OpCodeType opCodeType = ListOPRelation.GetOpCodeTypeByRequest <CSChangeMailState> (); ProtoSendMethod.BusinessRequest <SCEmtpyChangeMailState>(cschangemailstate, opCodeType, ResponseSCEmtpyChangeMailStateCallBack, errorCallBack, isShowDefaultTip); }