public ArbolObjetivoDTO ConsultarArbolObjetivosFinal(int IdProyecto) { var arbol = (from i in entity.ArbolObjetivos where i.IdProyecto == IdProyecto select i).FirstOrDefault(); List <Medios> ListaoMedios = new List <Medios>(); var medios = (from i in entity.MedioDirecto where i.IdArbolObj == arbol.IdArbolObj select i).ToList(); foreach (var item in medios) { Medios oMedios = new Medios(); var mediosDirectos = (from i in entity.MediosIndirectos where i.IdMedio == item.IdMedio select i.MedioIndirecto).ToList(); oMedios.Medio = item.MedioDirecto1; oMedios.MediosIndirectos = mediosDirectos; ListaoMedios.Add(oMedios); } var fines = (from i in entity.FinesDirectos where i.IdArbolObj == arbol.IdArbolObj select i).ToList(); List <Fines> ListaoFines = new List <Fines>(); foreach (var item in fines) { Fines oFin = new Fines(); var FinesIndirectos = (from i in entity.FinesIndirectos where i.IdFIn == item.IdFin select i.FinIndirecto).ToList(); oFin.fin = item.FinDirecto; oFin.FinesIndirectos = FinesIndirectos; ListaoFines.Add(oFin); } ArbolObjetivoDTO oArbolDTO = new ArbolObjetivoDTO(); oArbolDTO.IdProyecto = IdProyecto; oArbolDTO.ObjetivoCentral = arbol.ObjetivoCentral; oArbolDTO.Fines = ListaoFines; oArbolDTO.Medios = ListaoMedios; return(oArbolDTO); }
public IHttpActionResult GuardarDatosArbol(ArbolObjetivoDTO oArbolDTO) { try { ArbolObjetivoBl oArbol = new ArbolObjetivoBl(); oArbol.GuardarDatosArbolObjetivos(oArbolDTO); return(Ok(new { success = true })); } catch (Exception e) { return(Ok(new { success = false, e.Message })); } }
public void GuardarDatosArbolObjetivos(ArbolObjetivoDTO oArbolDTO) { var ArbolProyecto1 = (from i in entity.ArbolObjetivos where i.IdProyecto == oArbolDTO.IdProyecto select i).FirstOrDefault(); if (ArbolProyecto1 != null) { var medios = (from i in entity.MedioDirecto where i.IdArbolObj == ArbolProyecto1.IdArbolObj select i).ToList(); foreach (var item in medios) { var mediosIndirectos = (from i in entity.MediosIndirectos where i.IdMedio == item.IdMedio select i).ToList(); entity.MediosIndirectos.RemoveRange(mediosIndirectos); entity.SaveChanges(); entity.MedioDirecto.Remove(item); entity.SaveChanges(); } var fines = (from i in entity.FinesDirectos where i.IdArbolObj == ArbolProyecto1.IdArbolObj select i).ToList(); foreach (var item in fines) { var finesIndirectos = (from i in entity.FinesIndirectos where i.IdFIn == item.IdFin select i).ToList(); entity.FinesIndirectos.RemoveRange(finesIndirectos); entity.SaveChanges(); entity.FinesDirectos.Remove(item); entity.SaveChanges(); } entity.ArbolObjetivos.Remove(ArbolProyecto1); entity.SaveChanges(); } string base64 = oArbolDTO.imagen.Split(',')[1]; ArbolObjetivos oArbol = new ArbolObjetivos(); oArbol.IdProyecto = oArbolDTO.IdProyecto; oArbol.ObjetivoCentral = oArbolDTO.ObjetivoCentral; var imageBytes = Convert.FromBase64String(base64); oArbol.Imagen = imageBytes; entity.ArbolObjetivos.Add(oArbol); entity.SaveChanges(); var ArbolProyecto = (from i in entity.ArbolObjetivos where i.IdProyecto == oArbolDTO.IdProyecto select i).FirstOrDefault(); foreach (var item in oArbolDTO.Medios) { if (item.Medio != "") { MedioDirecto oMedio = new MedioDirecto(); oMedio.IdArbolObj = ArbolProyecto.IdArbolObj; oMedio.MedioDirecto1 = item.Medio; entity.MedioDirecto.Add(oMedio); entity.SaveChanges(); var medio = (from i in entity.MedioDirecto where i.IdArbolObj == ArbolProyecto.IdArbolObj orderby i.IdMedio descending select i).FirstOrDefault(); foreach (var item1 in item.MediosIndirectos) { MediosIndirectos oMedioIndirecto = new MediosIndirectos(); oMedioIndirecto.IdMedio = medio.IdMedio; oMedioIndirecto.MedioIndirecto = item1; entity.MediosIndirectos.Add(oMedioIndirecto); entity.SaveChanges(); } } } foreach (var item in oArbolDTO.Fines) { if (item.fin != "") { FinesDirectos oFines = new FinesDirectos(); oFines.IdArbolObj = ArbolProyecto.IdArbolObj; oFines.FinDirecto = item.fin; entity.FinesDirectos.Add(oFines); entity.SaveChanges(); var fines = (from i in entity.FinesDirectos where i.IdArbolObj == ArbolProyecto.IdArbolObj orderby i.IdFin descending select i).FirstOrDefault(); foreach (var item1 in item.FinesIndirectos) { FinesIndirectos oFinesIndirectos = new FinesIndirectos(); oFinesIndirectos.IdFIn = fines.IdFin; oFinesIndirectos.FinIndirecto = item1; entity.FinesIndirectos.Add(oFinesIndirectos); entity.SaveChanges(); } } } var proyecto = (from i in entity.Proyecto where i.IdProyecto == oArbolDTO.IdProyecto select i).FirstOrDefault(); if (proyecto.Etapa < 4) { proyecto.Etapa = 4; entity.SaveChanges(); } }