public void Add(Portafolio myObject) { var systemDate = DateTime.Now; //CREAR PROPUESTA var propuesta = new PropuestaBalanceo(); propuesta.NumPropuesta = GetId(systemDate.Year, systemDate.Month); propuesta.PortafolioId = myObject.Id; propuesta.CreateDate = systemDate; propuesta.EstadoId = (int)Enums.EstadoType.Pendiente; propuesta.UserId = myObject.UserId; propuesta.PropuestaBalanceoDetalles = new List <PropuestaBalanceoDetalle>(); foreach (var solicitud in myObject.PropuestaBalanceoDetalleViews) { propuesta.PropuestaBalanceoDetalles.Add(new PropuestaBalanceoDetalle { SolicitudRecursoDetalleId = solicitud.SolicitudRecursoId, Quantity = solicitud.Quantity }); } var buRecurso = new BuRecurso(); var buSolicitudRecurso = new BuSolicitudRecurso(); var buSolicitudRecursoDetalle = new BuSolicitudRecursoDetalle(); var buAlmacenRecurso = new BuAlmacenRecurso(); var solicitudRecursoDetalles = new List <SolicitudRecursoDetalle>(); var almacenRecursos = new List <AlmacenRecurso>(); foreach (var solicitudView in myObject.PropuestaBalanceoDetalleViews) { var solicitudRecurso = buSolicitudRecursoDetalle.GetById(solicitudView.SolicitudRecursoId); solicitudRecurso.Recurso = buRecurso.GetById(solicitudRecurso.RecursoId); //CHECK CANTIDAD ATENDIDA SOLICITUD if ((solicitudRecurso.QuantityAttended + solicitudView.Quantity) > solicitudRecurso.Quantity) { throw new Exception($"La cantidad atendida ({solicitudRecurso.QuantityAttended}) mas la cantidad a asignar ({solicitudView.Quantity}) es mayor ({solicitudRecurso.QuantityAttended + solicitudView.Quantity}) a la cantidad solicitada ({solicitudRecurso.Quantity}) del recurso: {solicitudRecurso.Recurso.Id} - {solicitudRecurso.Recurso.Name}."); } solicitudRecurso.QuantityAttended += solicitudView.Quantity; solicitudRecursoDetalles.Add(solicitudRecurso); //CHECK CANTIDAD COMPROMETIDA ALMACEN RECURSO var almacenRecurso = buAlmacenRecurso.Get(x => x.AlmacenId.Equals(1) && x.RecursoId.Equals(solicitudRecurso.RecursoId)); if ((almacenRecurso.StockCommitted + solicitudView.Quantity) > almacenRecurso.Stock) { throw new Exception($"El stock comprometido ({almacenRecurso.StockCommitted}) mas la cantidad a asignar ({solicitudView.Quantity}) es mayor ({almacenRecurso.StockCommitted + solicitudView.Quantity}) a el stock ({almacenRecurso.Stock}) del recurso: {solicitudRecurso.Recurso.Id} - {solicitudRecurso.Recurso.Name}."); } almacenRecurso.StockCommitted += solicitudView.Quantity; almacenRecursos.Add(almacenRecurso); } Add(propuesta); foreach (var solicitudRecursoDetalle in solicitudRecursoDetalles) { buSolicitudRecursoDetalle.Update(solicitudRecursoDetalle); } foreach (var almacenRecurso in almacenRecursos) { buAlmacenRecurso.Update(almacenRecurso); } }
public async Task <bool> DeletePortafolio(Portafolio value) { context.Remove(value); await context.SaveChangesAsync(); return(true); }
public async Task <Portafolio> AddPortafolio(Portafolio value) { await context.Portafolio.AddAsync(value); context.SaveChanges(); return(value); }
public ActionResult Edit([Bind(Include = "Id,NumDocument,Name,Description,Presupuesto,StarDate,FinalDate,CategoriaComponenteId,PrioridadId,EstadoId,ResponsableId,TipoDuracionId,Duracion,CreateDate,EditDate,UserId,Programas,Proyectos,Documentos")] Portafolio portafolio) { try { if (portafolio.Proyectos == null && portafolio.Programas == null) { throw new Exception("Necesita seleccionar programas y/o proyectos."); } if (string.IsNullOrEmpty(portafolio.Name)) { throw new Exception("Necesita ingresar un nombre para el portafolio."); } new BuPortafolio().Update(portafolio); TempData["Message"] = "Message: La operación se realizó satisfactoriamente."; return(RedirectToAction("Index")); } catch (Exception e) { ViewBag.ErrorMessage = $"Error Message: {e.Message}"; } LoadViewBags(null); return(View(portafolio)); }
public ActionResult DeleteConfirmed(int id) { Portafolio portafolio = db.Portafolio.Find(id); db.Portafolio.Remove(portafolio); db.SaveChanges(); return(RedirectToAction("Portafolio", "Admin", new { mensaje = "PRODUCTO ELIMINADO CON EXITO" })); }
public CandidateTextInfoSource(User user, Candidate candidate, Portafolio portafolio) { this.User = user; this.Candidate = candidate; this.Portafolio = portafolio; }
public ActionResult CreateBalanceo([Bind(Include = "Id,NumDocument,Name,Description,CreateDate,EditDate,CategoriaComponenteId,PrioridadId,EstadoId,ResponsableId,Remark,PropuestaBalanceoDetalleViews")] Portafolio portafolio) { try { //VERIFICAR QUE HAY SOLICITUDES if (portafolio.PropuestaBalanceoDetalleViews == null) { throw new Exception("No hay solicitudes para este portafolio."); } //VERIFICAR QUE NO SE REPITAN Y QUE TENGAN CANTIDAD ASIGNADA var propuestaDetalle = new List <PropuestaBalanceoDetalleView>(); foreach (var solicitud in portafolio.PropuestaBalanceoDetalleViews) { var propuesta = propuestaDetalle.Find(x => x.SolicitudRecursoId.Equals(solicitud.SolicitudRecursoId)); if (propuesta == null) { if (solicitud.Quantity > 0) { propuestaDetalle.Add(solicitud); } } } //VERIFICAR QUE HAY SOLICITUDES CON CANTIDAD ASIGNADA if (propuestaDetalle.Count().Equals(0)) { throw new Exception("No hay solicitudes para este portafolio."); } portafolio.PropuestaBalanceoDetalleViews = propuestaDetalle; portafolio.UserId = User.Identity.GetUserName(); //GRABAR PROPUESTA var buPropuestaBalanceo = new BuPropuestaBalanceo(); buPropuestaBalanceo.Add(portafolio); TempData["Message"] = "Message: La operación se realizó satisfactoriamente."; return(RedirectToAction("IndexBalanceo", "Portafolios")); } catch (Exception e) { ViewBag.ErrorMessage = $"Error Message: {e.Message}"; } portafolio = GetPortafolio(portafolio.Id, false); return(View(portafolio)); }
public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Portafolio portafolio = db.Portafolio.Find(id); if (portafolio == null) { return(HttpNotFound()); } autoMapPortafolioModel = map.Map <Portafolio, PortafolioPartialModel>(portafolio); return(View(autoMapPortafolioModel)); }
static void Main(string[] args) { //MiBiblioteca.PrimeraClase MiBiblioteca.PrimeraEntidad unaEntidad = new MiBiblioteca.PrimeraEntidad(); try { int numeroUno = 0; int numeroDos = 10; //float resultado = numeroDos / numeroUno; //Excepcion //string dato = Console.ReadLine(); //numeroDos = int.Parse(dato); //Documento.ImprimirStatic(); Portafolio unPortafolio = new Portafolio(); Documento unDocumento = new Documento(); unPortafolio.listado.Add(unDocumento); //Exception nueva = new Exception( unPortafolio.ImprimirPortafolio(); } catch (FormatException ex) { //ingrese un numero Console.WriteLine(ex.Message); } catch (DivideByZeroException ex) { //el segundo no puede ser cero Console.WriteLine(ex.Message); } catch (ImprimirException ex) { Console.WriteLine(ex.Message + ex.usuario); } catch (Exception ex) { Console.WriteLine(ex.Message); //throw; } }
public ActionResult AddCreate([Bind(Include = "NombreProducto, Detalles, Precio")] PortafolioPartialModel autoMapPortafolioModel) { HttpPostedFileBase file = Request.Files[0]; if (ModelState.IsValid) { autoMapPortafolioModel.Fotos64 = file; byte[] foto = autoMapPortafolioModel.GetByte64File; Portafolio model = new Portafolio(); model.Foto = foto; model.NombreProducto = autoMapPortafolioModel.NombreProducto; model.Detalles = autoMapPortafolioModel.Detalles; model.Precio = autoMapPortafolioModel.Precio; db.Portafolio.Add(model); db.SaveChanges(); } return(RedirectToAction("Portafolio", "Admin", new { mensaje = "PRODUCTO REGISTRADO CON EXITO" })); }
public void LoadViewBags(Portafolio portafolio) { ViewBag.CategoriaComponenteId = portafolio == null ? new SelectList(new BuCategoriaComponente().GetAll().OrderBy(x => x.Name), "Id", "Name") : new SelectList(new BuCategoriaComponente().GetAll().OrderBy(x => x.Name), "Id", "Name", portafolio.CategoriaComponenteId); ViewBag.PrioridadId = portafolio == null ? new SelectList(new BuPrioridad().GetAll().OrderBy(x => x.Name), "Id", "Name") : new SelectList(new BuPrioridad().GetAll().OrderBy(x => x.Name), "Id", "Name", portafolio.PrioridadId); ViewBag.ResponsableId = portafolio == null ? new SelectList(new BuTrabajador().GetAll().OrderBy(x => x.Nombres), "Id", "FullName") : new SelectList(new BuTrabajador().GetAll().OrderBy(x => x.Nombres), "Id", "FullName", portafolio.ResponsableId); ViewBag.ResponsableIdDocumento = new SelectList(new BuTrabajador().GetAll().OrderBy(x => x.Nombres), "Id", "FullName"); ViewBag.Responsables = new SelectList(new BuTrabajador().GetAll().OrderBy(x => x.Nombres), "Id", "FullName"); ViewBag.ProgramaId = new SelectList(new BuPrograma().GetAllAvailable().OrderBy(x => x.NumAndName), "Id", "NumAndName"); ViewBag.ProyectoId = new SelectList(new BuProyecto().GetAllAvailable().OrderBy(x => x.NumAndName), "Id", "NumAndName"); }
public async Task <Portafolio> UpdatePortafolio(Portafolio value) { context.Update(value); context.SaveChanges(); return(await context.Portafolio.FirstOrDefaultAsync(i => i.Id == value.Id)); }
public void Add(Portafolio myObject) { try { var systemDate = DateTime.Now; myObject.NumDocument = GetId(systemDate.Year, systemDate.Month); myObject.CreateDate = systemDate; myObject.EditDate = systemDate; myObject.EstadoId = (int)Enums.EstadoType.EnEjecucion; var proyectosIdList = myObject.Proyectos?.Select(x => x.Id).ToList() ?? new List <int>(); myObject.Proyectos = null; var programasIdList = myObject.Programas?.Select(x => x.Id).ToList() ?? new List <int>(); myObject.Programas = null; //GET PROYECTOS AND PROGRAMAS var proyectos = new BuProyecto().GetMany(p => proyectosIdList.Contains(p.Id)); var programas = new BuPrograma().GetMany(p => programasIdList.Contains(p.Id)); //GET TIPODURACIONID myObject.TipoDuracionId = proyectos?.First().TipoDuracionId ?? programas.First().TipoDuracionId; //GET FIRST DATE var fechas = new List <DateTime>(); if (proyectos != null) { fechas.AddRange(proyectos.Select(x => x.StarDate).Distinct()); } if (programas != null) { fechas.AddRange(programas.Select(x => x.StarDate).Distinct()); } myObject.StarDate = fechas.OrderBy(x => x).First(); //GET LAST DATE fechas = new List <DateTime>(); if (proyectos != null) { fechas.AddRange(proyectos.Select(x => x.FinalDate).Distinct()); } if (programas != null) { fechas.AddRange(programas.Select(x => x.FinalDate).Distinct()); } myObject.FinalDate = fechas.OrderBy(x => x).Last(); //GET DURACION myObject.Duracion = (myObject.FinalDate - myObject.StarDate).Days; _repository.Add(myObject); _unitOfWork.Commit(); var id = Get(x => x.NumDocument.Equals(myObject.NumDocument)).Id; //UPDATE PROYECTOS new BuProyecto().UpdatePortafolioId(id, proyectosIdList); //UPDATE PROGRAMAS new BuPrograma().UpdatePortafolioId(id, programasIdList); } catch (Exception ex) { throw new Exception(ex.Message); } }
public void Update(Portafolio myObject) { try { var systemDate = DateTime.Now; myObject.EditDate = systemDate; var proyectosIdList = myObject.Proyectos?.Select(x => x.Id).ToList() ?? new List <int>(); myObject.Proyectos = null; var programasIdList = myObject.Programas?.Select(x => x.Id).ToList() ?? new List <int>(); myObject.Programas = null; //GET PROYECTOS AND PROGRAMAS var proyectos = new BuProyecto().GetMany(p => proyectosIdList.Contains(p.Id)); var programas = new BuPrograma().GetMany(p => programasIdList.Contains(p.Id)); //GET TIPODURACIONID myObject.TipoDuracionId = proyectos?.First().TipoDuracionId ?? programas.First().TipoDuracionId; //GET FIRST DATE var fechas = new List <DateTime>(); if (proyectos != null) { fechas.AddRange(proyectos.Select(x => x.StarDate).Distinct()); } if (programas != null) { fechas.AddRange(programas.Select(x => x.StarDate).Distinct()); } myObject.StarDate = fechas.OrderBy(x => x).First(); //GET LAST DATE fechas = new List <DateTime>(); if (proyectos != null) { fechas.AddRange(proyectos.Select(x => x.FinalDate).Distinct()); } if (programas != null) { fechas.AddRange(programas.Select(x => x.FinalDate).Distinct()); } myObject.FinalDate = fechas.OrderBy(x => x).Last(); //GET DURACION myObject.Duracion = (myObject.FinalDate - myObject.StarDate).Days; myObject.Documentos = new BuDocumento().GetMany(x => x.PortafolioId.HasValue && x.PortafolioId.Value.Equals(myObject.Id)).ToList(); var documentosIdList = myObject.Documentos?.Select(x => x.Id).ToList(); myObject.Documentos = null; _repository.Update(myObject); _unitOfWork.Commit(); //PROYECTOS var buProyecto = new BuProyecto(); buProyecto.ClearPortafolioId(myObject.Id); buProyecto.UpdatePortafolioId(myObject.Id, proyectosIdList); //PROGRAMAS var buPrograma = new BuPrograma(); buPrograma.ClearPortafolioId(myObject.Id); buPrograma.UpdatePortafolioId(myObject.Id, programasIdList); //DOCUMENTOS var buDocumento = new BuDocumento(); buDocumento.ClearPortafolioId(myObject.Id); buDocumento.UpdatePortafolioId(myObject.Id, documentosIdList); } catch (Exception ex) { throw new Exception(ex.Message); } }