public ActionResult Create(HierarchyStructure hierarchyStructure, ICollection <HierarchyStructureCulture> hierarchyStructureCulture, FormCollection collection) { if (!ModelState.IsValid) { this.LoadViewData((hierarchyStructure.IDHierarchyStructureParent.HasValue) ? hierarchyStructure.IDHierarchyStructureParent.Value : 0); return(View()); } else { int[] vinculatedStrucuture = new int[] { }; if (collection["IDHierarchyStructureVinculated"] != null) { vinculatedStrucuture = collection["IDHierarchyStructureVinculated"].Split(',').Select(n => int.Parse(n)).ToArray(); } if (!hierarchyStructure.IDHierarchyStructure.HasValue) { hierarchyStructure.CreateDate = DateTime.Now; hierarchyStructure.CreatedBy = SiteContext.ActiveUserName; hierarchyStructure.ModifyDate = DateTime.Now; hierarchyStructure.ModifiedBy = SiteContext.ActiveUserName; ServiceContext.HierarchyStructureService.Insert(hierarchyStructure, hierarchyStructureCulture, vinculatedStrucuture); this.TempData["Message"] = Internationalization.Message.Record_Inserted_Successfully; } else { hierarchyStructure.ModifyDate = DateTime.Now; hierarchyStructure.ModifiedBy = SiteContext.ActiveUserName; ServiceContext.HierarchyStructureService.Update(hierarchyStructure, hierarchyStructureCulture, vinculatedStrucuture); this.TempData["Message"] = Internationalization.Message.Record_Updated_Successfully; } return(RedirectToAction("create", new { id = hierarchyStructure.IDHierarchyStructure.Value })); } }
public async Task <IActionResult> UpdateStructure([FromBody] HierarchyStructure item, int id) { if (item == null) { return(this.BadRequest()); } var updated = await this.hierarchyServices.UpdateHierarchyStructureAsync(item, id); if (!updated) { return(this.NotFound()); } return(new NoContentResult()); }
public IHttpActionResult GetByID(int idHierarchyStructure = 0) { var item = ServiceContext.HierarchyStructureService.GetById(idHierarchyStructure); if (item == null) { item = new HierarchyStructure() { Status = 1 } } ; item.Culture = ServiceContext.HierarchyStructureService.ListCulture(idHierarchyStructure); return(Ok(item)); }
private void SetParentNodes( HierarchyStructure newStructure, HierarchyStructure originalStructure, IReadOnlyCollection <HierarchyStructureNode> originalNodes) { if (newStructure.ChildNodes == null) { return; } foreach (var newNode in newStructure.ChildNodes) { newNode.ParentNode = null; newNode.ParentStructure = originalStructure; this.SetParentNodeForNode(newNode, originalNodes); } }
public IHttpActionResult Save([FromBody] HierarchyStructure record) { string message = string.Empty; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } else { ICollection <HierarchyStructureCulture> hierarchyStructureCulture = null; if (record.Culture != null) { hierarchyStructureCulture = (from c in record.Culture select new HierarchyStructureCulture { IDHierarchyStructure = ((record.IDHierarchyStructure.HasValue) ? record.IDHierarchyStructure.Value : 0), Description = c.Description, IDCulture = c.IDCulture }).ToList(); } if (record.IDHierarchyStructure.HasValue) { record.ModifyDate = DateTime.Now; record.ModifiedBy = SiteContext.ActiveUserName; Services.ServiceContext.HierarchyStructureService.Update(record, hierarchyStructureCulture, null); message = Internationalization.Message.Record_Updated_Successfully; } else { record.CreateDate = DateTime.Now; record.CreatedBy = SiteContext.ActiveUserName; record.ModifyDate = DateTime.Now; record.ModifiedBy = SiteContext.ActiveUserName; Services.ServiceContext.HierarchyStructureService.Insert(record, hierarchyStructureCulture, null); message = Internationalization.Message.Record_Inserted_Successfully; } return(Ok(new { Message = message })); } }
public async Task <IActionResult> CreateStructure([FromBody] HierarchyStructure item) { if (item == null) { return(this.BadRequest()); } if (item.ChildNodes != null) { foreach (var node in item.ChildNodes) { this.SetNodeRecursively(node); } } await this.unitOfWork.HierarchyStructureRepository.AddAsync(item); await this.unitOfWork.SaveAsync(); return(this.CreatedAtRoute("GetStructure", new { id = item.Id }, item)); }
//public IList<HierarchyStructureExtended> GetAll(out int recordCount, string idCulture, string sortType = null, int startRowIndex = -1, int maximumRows = -1) //{ // throw new NotImplementedException(); //} public HierarchyStructure GetInsert(string categoryName, int?iDPurpose) { using (var context = new ImobeNetContext()) { var hierarchy = (from hc in context.HierarchyStructureCulture join h in context.HierarchyStructure on hc.IDHierarchyStructure equals h.IDHierarchyStructure where hc.Description == categoryName select h).FirstOrDefault(); if (hierarchy == null) { hierarchy = new HierarchyStructure() { IDHierarchyStructureParent = 1, //residencial IDIcon = 6, Status = (short)Enums.StatusType.Pending, CreateDate = DateTime.Now, CreatedBy = "AUTO", ModifyDate = DateTime.Now, ModifiedBy = "AUTO" }; this.Insert(hierarchy); foreach (var culture in ServiceContext.CultureService.GetAll()) { ServiceContext.HierarchyStructureCultureService.Insert(new HierarchyStructureCulture() { IDHierarchyStructure = hierarchy.IDHierarchyStructure.Value, Description = categoryName, IDCulture = culture.IDCulture }); } } return(hierarchy); } }
public async Task <bool> UpdateHierarchyStructureAsync(HierarchyStructure item, int id) { var hierarchy = await this.unitOfWork.HierarchyStructureRepository.GetSingleAsync(id, s => s.ChildNodes); if (hierarchy == null) { return(false); } foreach (var hierarchyStructureNode in hierarchy.ChildNodes) { await this.LoadRecursively(hierarchyStructureNode); } hierarchy.Name = item.Name; hierarchy.Description = item.Description; hierarchy.StartDate = item.StartDate; hierarchy.FinalDate = item.FinalDate; hierarchy.ActiveStatus = item.ActiveStatus; hierarchy.GroupByPosition = item.GroupByPosition; hierarchy.PositionId = item.GroupByPosition ? item.PositionId : null; var originalNodes = this.GetPlainNodeList(hierarchy.ChildNodes); this.SetParentNodes(item, hierarchy, originalNodes); var modifiedNodes = this.GetPlainNodeList(item.ChildNodes); var deleted = originalNodes.Where(p => modifiedNodes.All(p2 => p2.Id != p.Id)); var newNodes = modifiedNodes.Where(n => n.Id <= 0); foreach (var newNode in newNodes) { newNode.ChildNode = null; await this.unitOfWork.HierarchyStructureNodeRepository.AddAsync(newNode); } foreach (var originalNode in originalNodes) { var updated = modifiedNodes.FirstOrDefault(n => n.Id == originalNode.Id); if (updated != null && !updated.Equals(originalNode)) { originalNode.Name = updated.Name; if (updated.ParentNodeId == 0) { originalNode.ParentNode = updated.ParentNode; originalNode.ParentNodeId = null; } else { originalNode.ParentNode = null; originalNode.ParentNodeId = updated.ParentNodeId; } originalNode.ParentStructure = updated.ParentStructure != null ? hierarchy : null; this.unitOfWork.HierarchyStructureNodeRepository.Edit(originalNode); } } foreach (var deletedNode in deleted) { this.unitOfWork.HierarchyStructureNodeRepository.Delete(deletedNode); } this.unitOfWork.HierarchyStructureRepository.Edit(hierarchy); await this.unitOfWork.SaveAsync(); return(true); }
// public void ExecuteItem(ResultadoItem item) { log.Info(string.Format("Processando: CodigoOfertaZAP: {0} Link:{1}", item.CodigoOfertaZAP, item.UrlFicha)); Element element = SpongeSolutions.ServicoDireto.Services.ServiceContext.ElementService.GetByIDItemSite(item.CodigoOfertaZAP.ToString() + "|ZAP"); if (element == null) { List <ElementAttribute> listElementAttribute = new List <ElementAttribute>(); List <ElementCulture> listElementCulture = new List <ElementCulture>(); StateProvince stateProvince = SpongeSolutions.ServicoDireto.Services.ServiceContext.StateProvinceService.GetInsert(item.Estado, "pt-BR"); City city = SpongeSolutions.ServicoDireto.Services.ServiceContext.CityService.GetInsert(item.Cidade, stateProvince.IDStateProvince.Value); Purpose purpose = SpongeSolutions.ServicoDireto.Services.ServiceContext.PurposeService.GetInsert(item.Transacao); HierarchyStructure hierarchyStructure = SpongeSolutions.ServicoDireto.Services.ServiceContext.HierarchyStructureService.GetInsert(item.SubTipoOferta, purpose.IDPurpose); Customer customer; string email = null; string phone = null; if (item.ContatoCampanha != null) { email = item.ContatoCampanha.Email; if (item.ContatoCampanha.Telefone != null) { phone = string.Format("({0}){1}", item.ContatoCampanha.Telefone.DDD, item.ContatoCampanha.Telefone.Numero); } } customer = SpongeSolutions.ServicoDireto.Services.ServiceContext.CustomerService.GetInsert(item.NomeAnunciante, null, null, email, phone, item.CodigoAnunciante.ToString(), item.UrlLogotipoCliente); log.Info("Dado base retornado com sucesso"); // element = new Element() { //DefaultPicturePath = "",//???? IDHierarchyStructureParent = hierarchyStructure.IDHierarchyStructureParent.Value, Latitude = 0, Longitude = 0, DetailView = 0, AllowRatting = true, IDItemSite = item.CodigoOfertaZAP.ToString() + "|ZAP", IDHierarchyStructure = hierarchyStructure.IDHierarchyStructure.Value, IDPurpose = purpose.IDPurpose.Value, IDCustomer = customer.IDCustomer.Value, Address = string.IsNullOrEmpty(item.Endereco) ? "-" : item.Endereco, Neighborhood = item.Bairro, IDCity = city.IDCity.Value, CreateDate = DateTime.Now, ModifyDate = DateTime.Now, CreatedBy = "AUTO", ModifiedBy = "AUTO", ShowAddress = false, Url = item.UrlFicha, PageView = 0, IsPromoted = false, Status = (short)Enums.StatusType.Active, }; // foreach (var culture in SpongeSolutions.ServicoDireto.Services.ServiceContext.CultureService.GetAllActive()) { listElementCulture.Add(new ElementCulture() { IDCulture = culture.IDCulture, Description = item.DetalhesOferta, Name = string.IsNullOrEmpty(item.Empreendimento) ? item.FormatarSubTipoOferta : item.Empreendimento }); } //colocar AttributeTypeCulture em basico log.Info("Carregando attributos"); listElementAttribute.Add(new ElementAttribute() { IDAttribute = SpongeSolutions.ServicoDireto.Services.ServiceContext.AttributeService.GetInsert("Quartos/Dormitórios"), Value = item.QuantidadeQuartos.ToString() }); listElementAttribute.Add(new ElementAttribute() { IDAttribute = SpongeSolutions.ServicoDireto.Services.ServiceContext.AttributeService.GetInsert("QuantidadeQuartosMinima"), Value = item.QuantidadeQuartosMinima.ToString() }); listElementAttribute.Add(new ElementAttribute() { IDAttribute = SpongeSolutions.ServicoDireto.Services.ServiceContext.AttributeService.GetInsert("QuantidadeQuartosMaxima"), Value = item.QuantidadeQuartosMaxima.ToString() }); // listElementAttribute.Add(new ElementAttribute() { IDAttribute = SpongeSolutions.ServicoDireto.Services.ServiceContext.AttributeService.GetInsert("Vagas de garagem"), Value = item.QuantidadeVagas.ToString() }); listElementAttribute.Add(new ElementAttribute() { IDAttribute = SpongeSolutions.ServicoDireto.Services.ServiceContext.AttributeService.GetInsert("QuantidadeVagasMinima"), Value = item.QuantidadeVagasMinima.ToString() }); listElementAttribute.Add(new ElementAttribute() { IDAttribute = SpongeSolutions.ServicoDireto.Services.ServiceContext.AttributeService.GetInsert("QuantidadeVagasMaxima"), Value = item.QuantidadeVagasMaxima.ToString() }); // listElementAttribute.Add(new ElementAttribute() { IDAttribute = SpongeSolutions.ServicoDireto.Services.ServiceContext.AttributeService.GetInsert("Suites"), Value = item.QuantidadeSuites.ToString() }); listElementAttribute.Add(new ElementAttribute() { IDAttribute = SpongeSolutions.ServicoDireto.Services.ServiceContext.AttributeService.GetInsert("QuantidadeSuitesMinima"), Value = item.QuantidadeSuitesMinima.ToString() }); listElementAttribute.Add(new ElementAttribute() { IDAttribute = SpongeSolutions.ServicoDireto.Services.ServiceContext.AttributeService.GetInsert("QuantidadeSuitesMaxima"), Value = item.QuantidadeSuitesMaxima.ToString() }); // listElementAttribute.Add(new ElementAttribute() { IDAttribute = SpongeSolutions.ServicoDireto.Services.ServiceContext.AttributeService.GetInsert("Área Útil (m²)"), Value = item.Area.ToString() }); listElementAttribute.Add(new ElementAttribute() { IDAttribute = SpongeSolutions.ServicoDireto.Services.ServiceContext.AttributeService.GetInsert("Àrea Total (m²)"), Value = item.Area.ToString() }); listElementAttribute.Add(new ElementAttribute() { IDAttribute = SpongeSolutions.ServicoDireto.Services.ServiceContext.AttributeService.GetInsert("AreaMinima"), Value = item.AreaMinima.ToString() }); listElementAttribute.Add(new ElementAttribute() { IDAttribute = SpongeSolutions.ServicoDireto.Services.ServiceContext.AttributeService.GetInsert("AreaMaxima"), Value = item.AreaMaxima.ToString() }); listElementAttribute.Add(new ElementAttribute() { IDAttribute = SpongeSolutions.ServicoDireto.Services.ServiceContext.AttributeService.GetInsert("PrecoVendaMinimo"), Value = item.PrecoVendaMinimo.ToString() }); listElementAttribute.Add(new ElementAttribute() { IDAttribute = SpongeSolutions.ServicoDireto.Services.ServiceContext.AttributeService.GetInsert("PrecoVendaMaximo"), Value = item.PrecoVendaMaximo.ToString() }); if (!string.IsNullOrEmpty(item.Valor)) { Regex r = new Regex(ExpressionValidators.GetOnlyNumbers, RegexOptions.IgnoreCase); Match m = r.Match(item.Valor); listElementAttribute.Add(new ElementAttribute() { IDAttribute = SpongeSolutions.ServicoDireto.Services.ServiceContext.AttributeService.GetInsert("Valor Total (R$)"), Value = m.Value.Replace(".", "") }); } log.Info("Efetuando Inserção"); SpongeSolutions.ServicoDireto.Services.ServiceContext.ElementService.Insert(element, listElementCulture, listElementAttribute); this.DownloadImages(item.Fotos, element); log.Info("OK---------------------------------\n\n\n"); } else { log.Info("JA EXISTENTE---------------------------------\n\n\n"); } }