Esempio n. 1
0
        public void SaveEmailModelTest()
        {
            SaveEmailModel saveEmailModel = new SaveEmailModel()
            {
                Docid    = "Docid",
                EwsId    = "EwsId",
                EwsToken = "EwsToken",
                EwsUrl   = "EwsUrl",
                FileName = "FileName",
                Ondup    = 1,
                TokenId  = "TokenId"
            };
            var Docid    = saveEmailModel.Docid;
            var EwsId    = saveEmailModel.EwsId;
            var EwsToken = saveEmailModel.EwsToken;
            var EwsUrl   = saveEmailModel.EwsUrl;
            var FileName = saveEmailModel.FileName;
            var TokenId  = saveEmailModel.TokenId;
            var Ondup    = saveEmailModel.Ondup;

            Assert.IsTrue(Docid == "Docid");
            Assert.IsTrue(EwsId == "EwsId");
            Assert.IsTrue(EwsToken == "EwsToken");
            Assert.IsTrue(EwsUrl == "EwsUrl");
            Assert.IsTrue(FileName == "FileName");
            Assert.IsTrue(TokenId == "TokenId");
            Assert.IsTrue(Ondup == 1);
        }
        public void SaveEmailToServer()
        {
            SaveEmailModel saveEmailModel = new SaveEmailModel()
            {
                Docid    = TestData.folderId,
                EwsId    = "EwsId",
                EwsToken = "EwsToken",
                EwsUrl   = "EwsUrl",
                FileName = TestData.fileName,
                Ondup    = 2,
                TokenId  = TestData.access_token
            };
            OutlookController controller = new OutlookController();
            JsonResult        result     = controller.SaveEmailToServer(saveEmailModel);

            Assert.IsNotNull(result.Data);
        }
Esempio n. 3
0
        public JsonResult SaveEmailToServer(SaveEmailModel model)
        {
            try
            {
                _log.Debug("SaveEmailToServer Start");
                var fileName = CommonHelper.DecodeUrl(model.FileName);
                var tokenId  = CommonHelper.GetToken(model.TokenId);
                var docId    = CommonHelper.DecodeUrl(model.Docid);
                var ewsUrl   = CommonHelper.DecodeUrl(model.EwsUrl);
                var ewsId    = CommonHelper.DecodeUrl(model.EwsId);
                var ewsToken = CommonHelper.DecodeUrl(model.EwsToken);
                _log.Debug($"SaveEmailToServer: {fileName}");

                _log.Debug($"SaveEmailToServer ExchangeService Start,  EWSUrl: {ewsUrl}");
                ExchangeService service = new ExchangeService();
                service.Url         = new Uri(ewsUrl);
                service.Credentials = new OAuthCredentials("Bearer " + ewsToken);
                service.Timeout     = 360 * 1000;

                List <ItemId> itemIds = new List <ItemId>()
                {
                    ewsId
                };
                var items       = service.BindToItems(itemIds, new PropertySet());
                var itemMessage = items.FirstOrDefault().Item;

                itemMessage.Load(new PropertySet(ItemSchema.MimeContent));
                MimeContent mimconm = itemMessage.MimeContent;
                _log.Debug($"SaveEmailToServer ExchangeService End");

                _log.Debug($"SaveEmailToServer UploadFile Start");
                SaveFileModel uploadModel = new SaveFileModel()
                {
                    Base64Str = mimconm.Content,
                    FileName  = fileName,
                    Docid     = docId,
                    TokenId   = tokenId,
                    Ondup     = model.Ondup
                };

                IAS7APIHelper helper        = new AS7APIHelper();
                var           uploadFileRes = helper.UploadFile(uploadModel);
                _log.Debug($"SaveEmailToServer UploadFile End");

                if (uploadFileRes.ErrorCode == 403002039)
                {
                    uploadFileRes.FileName = helper.GetSuggestFileName(tokenId, docId, fileName);
                }
                _log.Debug("SaveEmailToServer End");
                return(Json(new JsonModel {
                    Success = true, StatusCode = uploadFileRes.ErrorCode, Data = JsonConvert.SerializeObject(uploadFileRes)
                }));
            }
            catch (Exception ex)
            {
                _log.Debug($"SaveEmailToServer Exception: {ex.Message}");
                return(Json(new JsonModel {
                    Success = false, Message = ex.Message
                }));
            }
        }