public List<Actividades_Inmueble> ListActInmuebleId(int id) { try { List<Actividades_Inmueble> lisb = bd.Actividades_Inmueble.Where(t => t.id== id).ToList(); //bd.compromisosxcuota.ToList(); List<Actividades_Inmueble> lisbcrm = new List<Actividades_Inmueble>(); if (lisb.Count.Equals(0)) { return lisbcrm; } else { foreach (var item in lisb) { Actividades_Inmueble entb = new Actividades_Inmueble(); entb.id = item.id; entb.Nombre = item.Nombre; entb.Descripcion = item.Descripcion; entb.IdTraInmueble = item.IdTraInmueble; entb.ActividadDependiente = item.ActividadDependiente; entb.IdActividad = item.IdActividad; entb.Duracion = item.Duracion; entb.Simultaneo = item.Simultaneo; entb.FechaInicio = item.FechaInicio; entb.FechaFin = item.FechaFin; entb.Posicion = item.Posicion; entb.Estado = item.Estado; lisbcrm.Add(entb); } return lisbcrm; } } catch (Exception) { throw; } }
public string Actualizar(string b) { var bandera = 0; var bandera2 = 0; try { List<VInmueblesConTramites> vimp = bd.VInmueblesConTramites.OrderBy(l => l.INMUEBLE) .Where(t => t.PROYECTO_INT == b && t.IdTramite == null).ToList(); List<VInmueblesConTramites> Evimp = new List<VInmueblesConTramites>(); if (vimp.Count().Equals(0)) { return "Todos los inmuebles ya tienen tramite"; } else { foreach (var item in vimp) { var tramite = bd.Tramites.Where(t => t.Banco == item.BANCO).First(); bandera = 0; if (tramite != null) { Tramites_Inmueble tra = new Tramites_Inmueble(); tra.id_Tramite = tramite.id; tra.Porcentaje = 0; tra.Id_Inmueble = item.REFERENCIA; var a = bd.Tramites_Inmueble.Add(tra); int estado = bd.SaveChanges(); if (estado > 0) { var actividadesxtramite = bd.VActxtramite .Where(t => t.Id_tramite == tramite.id) .OrderBy(t => t.Posicion).ToList(); foreach (var actividad in actividadesxtramite) { //sds Actividades_Inmueble actinmueble = new Actividades_Inmueble(); actinmueble.IdTraInmueble = a.id; actinmueble.Nombre = actividad.Actividad; actinmueble.Descripcion = actividad.Descripcion; actinmueble.Duracion = actividad.Duracion; actinmueble.Simultaneo = actividad.Simultaneo; if (actinmueble.Simultaneo == 1) { if (bandera2 == 2) { bandera2 = 1; } } actinmueble.Posicion = actividad.Posicion; actinmueble.IdActividad = actividad.Id_Actividad; if (bandera == 1) { actinmueble.Estado = 1; actinmueble.FechaInicio = null; actinmueble.FechaFin = null; if (bandera2 == 1) { actinmueble.FechaInicio = DateTime.Now; actinmueble.Estado = 3; if (actividad.Duracion != null) { actinmueble.FechaFin = DateTime.Now.AddDays(Convert.ToDouble(actividad.Duracion)); } bandera2 = 2; } else { bandera2 = 0; } } else { actinmueble.Estado = 3; actinmueble.FechaInicio = DateTime.Now; if (actividad.Duracion != null) { actinmueble.FechaFin = DateTime.Now.AddDays(Convert.ToDouble(actividad.Duracion)); } bandera2 = 2; } actinmueble.ActividadDependiente = actividad.Actividad_Dependiente; bd.Actividades_Inmueble.Add(actinmueble); bd.SaveChanges(); bandera = 1; } } else { return "Este banco no tiene tramites"; } } } // aca se registran los documentos var documentosxactividad = bd.VDocumentosActividades.ToList(); foreach (var documento in documentosxactividad) { Documento_ActInmueble docuinmueble = new Documento_ActInmueble(); docuinmueble.IdActividad = documento.idactividad; docuinmueble.Documento = null; docuinmueble.Nombre = documento.Nombre; docuinmueble.Fecha = null; docuinmueble.Usuario = null; bd.Documento_ActInmueble.Add(docuinmueble); bd.SaveChanges(); } return "Se han actualizado"; } } catch (Exception ex) { return mensaje = "No fue posible llevar a cabo el proceso" + ex; throw; } }
public string UpdateActInmueble(int i, int id,int idtramiteinmueble) { var bandera = 0; var bandera2 = 0; int? posicion = 0; try { //cambiamos el estado de la activadad completada var ctx = bd.Actividades_Inmueble.First(inm => inm.id == id); ctx.Estado = i; bd.SaveChanges(); //recorro toda la tabla actividad_inmueble para inicar la siguiente actividad List<Actividades_Inmueble> lisb = bd.Actividades_Inmueble.Where(t => t.IdTraInmueble == idtramiteinmueble).ToList(); foreach (var item in lisb) { Actividades_Inmueble entb = new Actividades_Inmueble(); if (bandera == 1) // esto es si es la actividad siguiente a la completada { if (item.Estado != 2) { // si es simultaneo se sigue recorriendo hasta queno sea simultaneo if (item.Simultaneo == 1) { bandera = 1; bandera2 = 2; var ctx2 = bd.Actividades_Inmueble.First(inm => inm.id == item.id); ctx2.FechaInicio = DateTime.Now; if (item.Duracion != null) { ctx2.FechaFin = DateTime.Now.AddDays(Convert.ToDouble(item.Duracion)); } ctx2.Estado = 3; bd.SaveChanges();// inicio la nueva actividad cambiando el estado a pendiente } else { if (bandera2 == 1) { var ctx2 = bd.Actividades_Inmueble.First(inm => inm.id == item.id); ctx2.FechaInicio = DateTime.Now; if (item.Duracion != null) { ctx2.FechaFin = DateTime.Now.AddDays(Convert.ToDouble(item.Duracion)); } ctx2.Estado = 3; bd.SaveChanges();// inicio la nueva actividad cambiando el estado a pendiente bandera2 = 2; } bandera = 2; } } } else { if (item.id == id) { bandera = 1; bandera2 = 1; posicion = item.Posicion; } } // validamos que la actividad sea dependiente de la actividad completada if(bandera == 2) { if (item.ActividadDependiente == posicion) { var ctx3 = bd.Actividades_Inmueble.First(inm => inm.id == item.id); ctx3.FechaInicio = DateTime.Now; if (item.Duracion != null) { ctx3.FechaFin = DateTime.Now.AddDays(Convert.ToDouble(item.Duracion)); } ctx3.Estado = 3; bd.SaveChanges(); bandera = 1; } else { bandera = 2; } } } // recorrer para ver si return mensaje = "Se actualizo el estado de manera exitosa"; } catch (Exception ex) { return mensaje = "No fue posible llevar a cabo el proceso" + ex; throw; } }