Пример #1
0
        public JsonResult postBack()
        {
            string json = new StreamReader(Request.InputStream).ReadToEnd();

            json = json.Replace("ses:", "ses_");

            AWSNotification AWSNotification = JsonConvert.DeserializeObject <AWSNotification>(json, new IsoDateTimeConverter());

            foreach (var stringDestino in AWSNotification.Message.mail.destination)
            {
                var ONotificacaoPostback = new NotificacaoPostback();

                ONotificacaoPostback.idExternoNotificacao = AWSNotification.Message.mail.messageId;

                ONotificacaoPostback.acao = AWSNotification.Message.eventType;

                ONotificacaoPostback.contaOrigem = AWSNotification.Message.mail.commonHeaders.from.FirstOrDefault();

                ONotificacaoPostback.dtAcao = AWSNotification.Message.mail.timestamp;

                ONotificacaoPostback.ipAcao = AWSNotification.Message.mail.tags.sessourceip.FirstOrDefault();

                ONotificacaoPostback.meioInteracao = AWSNotification.Message.open?.userAgent;

                ONotificacaoPostback.contaDestino = stringDestino;

                ONotificacaoPostbackCadastroBL.salvar(ONotificacaoPostback);
            }

            return(Json(new {}));
        }
Пример #2
0
        //
        private bool atualizar(NotificacaoPostback ONotificacaoPostback)
        {
            //Localizar existentes no banco
            var dbNotificacaoPostback = db.NotificacaoPostback.condicoesSeguranca().FirstOrDefault(x => x.id == ONotificacaoPostback.id);

            if (dbNotificacaoPostback == null)
            {
                return(false);
            }

            //Atualizacao da Empresa
            var NotificacaoPostbackEntry = db.Entry(dbNotificacaoPostback);

            ONotificacaoPostback.setDefaultUpdateValues( );

            NotificacaoPostbackEntry.CurrentValues.SetValues(ONotificacaoPostback);

            NotificacaoPostbackEntry.State = EntityState.Modified;

            NotificacaoPostbackEntry.ignoreFields();

            db.SaveChanges();

            return(ONotificacaoPostback.id > 0);
        }
Пример #3
0
        //
        public bool salvar(NotificacaoPostback ONotificacaoPostback)
        {
            if (ONotificacaoPostback.id > 0)
            {
                return(this.atualizar(ONotificacaoPostback));
            }

            return(this.inserir(ONotificacaoPostback));
        }
Пример #4
0
        //
        private bool inserir(NotificacaoPostback ONotificacaoPostback)
        {
            ONotificacaoPostback.setDefaultInsertValues();

            db.NotificacaoPostback.Add(ONotificacaoPostback);

            db.SaveChanges();

            return(ONotificacaoPostback.id > 0);
        }