public CanalVerde Persistir(CanalVerde objCanalVerde) { if (objCanalVerde.ID.HasValue) { CanalVerde tmpCanalVerde = RepositoryService.CanalVerde.ObterPor(objCanalVerde.ID.Value); if (tmpCanalVerde != null) { tmpCanalVerde.ID = tmpCanalVerde.ID; RepositoryService.CanalVerde.Update(tmpCanalVerde); //Altera Status - Se necessário if (tmpCanalVerde.Status.HasValue && !tmpCanalVerde.Status.Equals(objCanalVerde.Status)) { this.MudarStatus(tmpCanalVerde.ID.Value, objCanalVerde.Status.Value); } return(tmpCanalVerde); } else { objCanalVerde.ID = RepositoryService.CanalVerde.Create(tmpCanalVerde); return(objCanalVerde); } } else { objCanalVerde.ID = RepositoryService.CanalVerde.Create(objCanalVerde); return(objCanalVerde); } }
public string CriarCanaisVerdesConta(string organizationName, string contaId, string familiasIds) { string[] lstRegitrosId = familiasIds.Split(';'); CanalVerdeService canalVerdeService = new CanalVerdeService(organizationName, false); RepositoryService RepositoryService = new RepositoryService(organizationName, false); DomainExecuteMultiple multipleCreateReturn = null; var jsSerializer = new JavaScriptSerializer(); try { List <CanalVerde> canalVerdeList = new List <CanalVerde>(); foreach (var familiaIdTmp in lstRegitrosId) { string[] segmentoEFamiliaIdsLst = familiaIdTmp.Split('|'); CanalVerde canalVerdeTmp = new CanalVerde(organizationName, false); canalVerdeTmp.Segmento = new Lookup(new Guid(segmentoEFamiliaIdsLst[0]), ""); canalVerdeTmp.FamiliaProduto = new Lookup(new Guid(segmentoEFamiliaIdsLst[1]), ""); canalVerdeTmp.Canal = new Lookup(new Guid(contaId), ""); canalVerdeList.Add(canalVerdeTmp); } multipleCreateReturn = RepositoryService.CanalVerde.Create(canalVerdeList); } catch (Exception e) { jsSerializer.MaxJsonLength = Int32.MaxValue; Dictionary <string, string> retornoMapErr = new Dictionary <string, string>(); retornoMapErr.Add("return", "FALSE"); retornoMapErr.Add("message", e.Message); var jsonErr = jsSerializer.Serialize(retornoMapErr); return(jsonErr.ToString()); } jsSerializer.MaxJsonLength = Int32.MaxValue; Dictionary <string, string> retornoMap = new Dictionary <string, string>(); if (multipleCreateReturn.IsFaulted) { retornoMap.Add("return", "FALSE"); } else { retornoMap.Add("return", "TRUE"); } var json = jsSerializer.Serialize(retornoMap); return(json.ToString()); }
public void AtualizaSegmentos(ContaSegmento contaSegmento) { CanalVerdeService canalverdeService = new CanalVerdeService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline); FamiliaProdutoService familiaProdutoService = new FamiliaProdutoService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline); ContaService contaService = new ContaService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline); var listaVerde = canalverdeService.listarPorContaTodos(contaSegmento.Conta.Id); var listaFamiliaProduto = familiaProdutoService.ListarPorSegmento(contaSegmento.Segmento.Id, true, null, null); var conta = contaService.BuscaConta(contaSegmento.Conta.Id); //MaisVerde = Sim if (contaSegmento.MaisVerde) { //percorre a lista de produtos foreach (var item in listaFamiliaProduto) { var verde = listaVerde.Where(x => x.FamiliaProduto.Id.Equals(item.ID)).FirstOrDefault(); if (verde != null) { //se esta inativo, ativa e salva if (verde.Status.Equals(1)) { verde.Status = 0; canalverdeService.Persistir(verde); } } else { //cria um novo registro CanalVerde canalVerde = new CanalVerde(); canalVerde.Canal = contaSegmento.Conta; canalVerde.Segmento = item.Segmento; canalVerde.FamiliaProduto = new SDKore.DomainModel.Lookup() { Id = item.Id }; canalVerde.Nome = conta.CodigoMatriz + " | " + item.Segmento.Name + " | " + item.Nome; canalVerde.Status = 0; canalverdeService.Persistir(canalVerde); } } } else { //percorre a lista de produtos foreach (var item in listaFamiliaProduto) { var verde = listaVerde.Where(x => x.FamiliaProduto.Id.Equals(item.ID)).FirstOrDefault(); if (verde != null) { //se esta ativo, inativa e salva if (verde.Status.Equals(0)) { verde.Status = 1; canalverdeService.Persistir(verde); } } } } }