public ActionResult GravarBanner(string Banner, string BannerOld, string ListaUsuarioGrupo, string ListaUsuario) { NumberFormatInfo provider = NumberFormatInfo.CurrentInfo; var form = (JObject)JsonConvert.DeserializeObject(Banner); Banner _anterior = new Banner(); Banner _novo = new Banner(); _novo.BannerId = (int)Util.GetValue<int>(form, "BannerId"); _novo.SiteId = GetCurrentSite(); _novo.BannerTipoId = (int)Util.GetValue<int>(form, "BannerTipo"); var data = (String)Util.GetValue<String>(form, "Data"); if (!String.IsNullOrEmpty(data)) { _novo.Data = Convert.ToDateTime(data, provider); } var dataValidade = (String)Util.GetValue<String>(form, "DataValidade"); if (!String.IsNullOrEmpty(dataValidade)) { _novo.DataValidade = Convert.ToDateTime(dataValidade, provider); } _novo.Referencia = (string)Util.GetValue<string>(form, "Referencia"); _novo.Detalhe.IdiomaId = 1; _novo.Detalhe.Titulo = (string)Util.GetValue<string>(form, "Titulo"); _novo.Detalhe.Resumo = (string)Util.GetValue<string>(form, "Resumo"); _novo.Detalhe.Descricao = (string)Util.GetValue<string>(form, "Descricao"); _novo.Ativo = Convert.ToBoolean((int?)Util.GetValue<int?>(form, "Status")); _novo.Posicao = (int?)Util.GetValue<int?>(form, "Posicao"); _novo.TargetId = (int)Util.GetValue<int>(form, "Target"); _novo.LinkURL = (string)Util.GetValue<string>(form, "LinkURL"); _novo.Complemento.Privado = Convert.ToBoolean((int?)Util.GetValue<int?>(form, "Privado")); #region --> Validação BannerResponse resp = new BannerResponse(); if (_novo.BannerTipoId == null || _novo.BannerTipoId == 0) { resp.Resposta.Erro = true; if (resp.Resposta.Mensagem.Length > 0) resp.Resposta.Mensagem += "<br />"; resp.Resposta.Mensagem += "- Selecionar o Tipo de Banner"; } if (_novo.TargetId == null || _novo.TargetId == 0) { resp.Resposta.Erro = true; if (resp.Resposta.Mensagem.Length > 0) resp.Resposta.Mensagem += "<br />"; resp.Resposta.Mensagem += "- Selecionar o Target"; } if (Util.GetValue<int?>(form, "Status") == null) { resp.Resposta.Erro = true; if (resp.Resposta.Mensagem.Length > 0) resp.Resposta.Mensagem += "<br />"; resp.Resposta.Mensagem += "- Selecionar o Status: Ativo / Inativo."; } if (_novo.Complemento.Privado == true && string.IsNullOrEmpty(ListaUsuarioGrupo) && string.IsNullOrEmpty(ListaUsuario)) { resp.Resposta.Erro = true; if (resp.Resposta.Mensagem.Length > 0) resp.Resposta.Mensagem += "<br />"; resp.Resposta.Mensagem += "- Informar pelo menos um Usuário ou Grupo para publicação privada."; } if (resp.Resposta.Erro) { return Json(resp, JsonRequestBehavior.AllowGet); } #endregion List<BannerIdiomaExcecao> Extras = new List<BannerIdiomaExcecao>(); List<BannerIdiomaExcecao> ExtrasOld = new List<BannerIdiomaExcecao>(); #region -> Idiomas Extras //-- EN BannerIdiomaExcecao ExtraEN = new BannerIdiomaExcecao(); ExtraEN.IdiomaId = (int)Util.IDIOMA.ENGLISH; ExtraEN.Titulo = (string)Util.GetValue<string>(form, "TituloEN"); ExtraEN.Resumo = (string)Util.GetValue<string>(form, "ResumoEN"); ExtraEN.Descricao = (string)Util.GetValue<string>(form, "DescricaoEN"); Extras.Add(ExtraEN); //-- ES BannerIdiomaExcecao ExtraES = new BannerIdiomaExcecao(); ExtraES.IdiomaId = (int)Util.IDIOMA.ESPANHOL; ExtraES.Titulo = (string)Util.GetValue<string>(form, "TituloES"); ExtraES.Resumo = (string)Util.GetValue<string>(form, "ResumoES"); ExtraES.Descricao = (string)Util.GetValue<string>(form, "DescricaoES"); Extras.Add(ExtraES); //-- FR BannerIdiomaExcecao ExtraFR = new BannerIdiomaExcecao(); ExtraFR.IdiomaId = (int)Util.IDIOMA.FRANCES; ExtraFR.Titulo = (string)Util.GetValue<string>(form, "TituloFR"); ExtraFR.Resumo = (string)Util.GetValue<string>(form, "ResumoFR"); ExtraFR.Descricao = (string)Util.GetValue<string>(form, "DescricaoFR"); Extras.Add(ExtraFR); #endregion if (BannerOld != null && BannerOld != "null") { var formOld = (JObject)JsonConvert.DeserializeObject(BannerOld); _anterior.BannerId = (int)Util.GetValue<int>(formOld, "UsuarioId"); _anterior.Detalhe.Titulo = (string)Util.GetValue<string>(formOld, "Titulo"); _anterior.Detalhe.Resumo = (string)Util.GetValue<string>(formOld, "Resumo"); _anterior.Detalhe.Descricao = (string)Util.GetValue<string>(formOld, "Descricao"); #region -> Idiomas Extras (Dados anterior a alteração) //-- EN BannerIdiomaExcecao ExtraENOld = new BannerIdiomaExcecao(); ExtraENOld.IdiomaId = (int)Util.IDIOMA.ENGLISH; ExtraENOld.Titulo = (string)Util.GetValue<string>(form, "TituloEN"); ExtraENOld.Resumo = (string)Util.GetValue<string>(form, "ResumoEN"); ExtraENOld.Descricao = (string)Util.GetValue<string>(form, "DescricaoEN"); ExtrasOld.Add(ExtraENOld); //-- ES BannerIdiomaExcecao ExtraESOld = new BannerIdiomaExcecao(); ExtraESOld.IdiomaId = (int)Util.IDIOMA.ESPANHOL; ExtraESOld.Titulo = (string)Util.GetValue<string>(form, "TituloES"); ExtraESOld.Resumo = (string)Util.GetValue<string>(form, "ResumoES"); ExtraESOld.Descricao = (string)Util.GetValue<string>(form, "DescricaoES"); ExtrasOld.Add(ExtraESOld); //-- FR BannerIdiomaExcecao ExtraFROld = new BannerIdiomaExcecao(); ExtraFROld.IdiomaId = (int)Util.IDIOMA.FRANCES; ExtraFROld.Titulo = (string)Util.GetValue<string>(form, "TituloFR"); ExtraFROld.Resumo = (string)Util.GetValue<string>(form, "ResumoFR"); ExtraFROld.Descricao = (string)Util.GetValue<string>(form, "DescricaoFR"); ExtrasOld.Add(ExtraFROld); #endregion } return Json(new BannerDAL().Gravar(_novo, _anterior, Extras, ExtrasOld, ListaUsuarioGrupo, ListaUsuario), JsonRequestBehavior.AllowGet); }
public Banner() { Detalhe = new BannerIdiomaExcecao(); Complemento = new BannerComplemento(); }