コード例 #1
0
        public ActionResult CrearRequerimiento(Requerimiento requerimiento)
        {
            var errors = ModelState.Values.SelectMany(v => v.Errors);

            if (ModelState.IsValid)
            {
                var          estado        = db.EstadoRequerimiento.Where(p => p.nombre == "Pendiente Aprobación").SingleOrDefault();
                var          estadoDetalle = db.EstadoRequerimientoDetalle.Where(p => p.nombre == "Sin Aprobación").SingleOrDefault();
                DateTime     timeUtc       = DateTime.UtcNow;
                TimeZoneInfo cstZone       = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
                DateTime     cstTime       = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone);

                requerimiento.fechaCreacion       = cstTime;
                requerimiento.usuarioCreacion     = User.Identity.Name;
                requerimiento.fechaModificacion   = cstTime;
                requerimiento.EstadoRequerimiento = estado;

                db.Requerimientos.Add(requerimiento);
                //db.SaveChanges();


                foreach (var item in requerimiento.Detalles)
                {
                    item.estadoRequerimientoDetalleId = estadoDetalle.estadoRequerimientoDetalleId;
                    db.RequerimientoDetalles.Add(item);

                    var requerimientoDetalleEstadoRequerimientoDetalle = new RequerimientoDetalleEstadoRequerimientoDetalle();
                    requerimientoDetalleEstadoRequerimientoDetalle.RequerimientoDetalle         = item;
                    requerimientoDetalleEstadoRequerimientoDetalle.estadoRequerimientoDetalleId = estadoDetalle.estadoRequerimientoDetalleId;
                    requerimientoDetalleEstadoRequerimientoDetalle.usuarioCreacion = User.Identity.Name;
                    requerimientoDetalleEstadoRequerimientoDetalle.fechaCreacion   = cstTime;

                    db.RequerimientoDetalleEstadoRequerimientoDetalle.Add(requerimientoDetalleEstadoRequerimientoDetalle);
                }

                var requerimientoEstado = new RequerimientoEstadoRequerimiento();
                requerimientoEstado.Requerimiento = requerimiento;


                requerimientoEstado.estadoRequerimientoId = estado.estadoRequerimientoId;
                requerimientoEstado.usuarioCreacion       = User.Identity.Name;
                requerimientoEstado.fechaCreacion         = cstTime;

                db.RequerimientoEstadoRequerimiento.Add(requerimientoEstado);



                db.SaveChanges();



                //return View("Index");
                //return RedirectToAction("Index/" + requerimiento.tipoCompraId);
                return(RedirectToAction("Index"));
            }

            return(View(requerimiento));
        }
コード例 #2
0
        public ActionResult EditarRequerimiento(Requerimiento requerimiento)
        {
            var errors = ModelState.Values.SelectMany(v => v.Errors);

            if (ModelState.IsValid)
            {
                Requerimiento Requerimiento = db.Requerimientos.Find(requerimiento.requerimientoId);


                var          estado        = db.EstadoRequerimiento.Where(p => p.nombre == "Pendiente Aprobación").SingleOrDefault();
                var          estadoDetalle = db.EstadoRequerimientoDetalle.Where(p => p.nombre == "Sin Aprobación").SingleOrDefault();
                DateTime     timeUtc       = DateTime.UtcNow;
                TimeZoneInfo cstZone       = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
                DateTime     cstTime       = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone);

                //Actualiza Datos Requerimiento Existente
                Requerimiento.obraId              = requerimiento.obraId;
                Requerimiento.prioridadId         = requerimiento.prioridadId;
                Requerimiento.comentario          = requerimiento.comentario;
                Requerimiento.fechaModificacion   = cstTime;
                Requerimiento.EstadoRequerimiento = estado;

                //db.Requerimientos.Add(requerimiento);


                foreach (var item in Requerimiento.Detalles.Where(p => p.EstadoRequerimientoDetalle.descripcion == "Sin Aprobación").Where(p => p.requerimientoId == requerimiento.requerimientoId).ToList())
                {
                    var req = item;
                    foreach (var item2 in item.RequerimientoDetalleEstadosRequerimientoDetalle.ToList())
                    {
                        var reqDetalleEstado = item2;
                        db.RequerimientoDetalleEstadoRequerimientoDetalle.Remove(reqDetalleEstado);
                    }

                    db.RequerimientoDetalles.Remove(req);
                }


                //db.RequerimientoDetalles.RemoveRange(db.RequerimientoDetalles.Where(p => p.EstadoRequerimientoDetalle.descripcion == "Sin Aprobación").Where(p => p.requerimientoId == requerimiento.requerimientoId));


                foreach (var item in requerimiento.Detalles)
                {
                    item.estadoRequerimientoDetalleId = estadoDetalle.estadoRequerimientoDetalleId;
                    item.requerimientoId = requerimiento.requerimientoId;
                    db.RequerimientoDetalles.Add(item);

                    var requerimientoDetalleEstadoRequerimientoDetalle = new RequerimientoDetalleEstadoRequerimientoDetalle();
                    requerimientoDetalleEstadoRequerimientoDetalle.RequerimientoDetalle         = item;
                    requerimientoDetalleEstadoRequerimientoDetalle.estadoRequerimientoDetalleId = estadoDetalle.estadoRequerimientoDetalleId;
                    requerimientoDetalleEstadoRequerimientoDetalle.usuarioCreacion = User.Identity.Name;
                    requerimientoDetalleEstadoRequerimientoDetalle.fechaCreacion   = cstTime;

                    db.RequerimientoDetalleEstadoRequerimientoDetalle.Add(requerimientoDetalleEstadoRequerimientoDetalle);
                }

                //foreach (var item in requerimiento.Detalles)
                //{

                //    var requerimientoDetalleEstadoRequerimientoDetalle = new RequerimientoDetalleEstadoRequerimientoDetalle();
                //    requerimientoDetalleEstadoRequerimientoDetalle.RequerimientoDetalle = item;
                //    requerimientoDetalleEstadoRequerimientoDetalle.estadoRequerimientoDetalleId = estadoDetalle.estadoRequerimientoDetalleId;
                //    requerimientoDetalleEstadoRequerimientoDetalle.usuarioCreacion = User.Identity.Name;
                //    requerimientoDetalleEstadoRequerimientoDetalle.fechaCreacion = cstTime;

                //    db.RequerimientoDetalleEstadoRequerimientoDetalle.Add(requerimientoDetalleEstadoRequerimientoDetalle);
                //}



                try
                {
                    db.SaveChanges();
                }
                catch (DbEntityValidationException ex)
                {
                    StringBuilder sb = new StringBuilder();

                    foreach (var failure in ex.EntityValidationErrors)
                    {
                        sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType());
                        foreach (var error in failure.ValidationErrors)
                        {
                            sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage);
                            sb.AppendLine();
                        }
                    }

                    throw new DbEntityValidationException(
                              "Entity Validation Failed - errors follow:\n" +
                              sb.ToString(), ex
                              ); // Add the original exception as the innerException
                }
                catch (Exception ex)
                {
                }



                //return View("Index");
                //return RedirectToAction("Index/" + requerimiento.tipoCompraId);
                return(RedirectToAction("Index"));
            }

            return(View(requerimiento));
        }
コード例 #3
0
        public ActionResult Disapprove(Requerimiento requerimiento)
        {
            var errors = ModelState.Values.SelectMany(v => v.Errors);

            Requerimiento Requerimiento = db.Requerimientos.Find(requerimiento.requerimientoId);

            DateTime     timeUtc       = DateTime.UtcNow;
            TimeZoneInfo cstZone       = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
            DateTime     cstTime       = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone);
            var          estado        = db.EstadoRequerimiento.Where(p => p.nombre == "Aprobación Rechazada").SingleOrDefault();;
            var          estadoDetalle = db.EstadoRequerimientoDetalle.Where(p => p.nombre == "Aprobación Rechazada").SingleOrDefault();


            var estadoList = new string[] { "Sin Aprobación", "Aprobación Rechazada" };

            if (Requerimiento.Detalles.Where(p => estadoList.Contains(p.EstadoRequerimientoDetalle.nombre)).Count() != requerimiento.Detalles.Count())
            {
                //if (Requerimiento.EstadoRequerimiento.nombre != "Aprobado Parcial")
                //{
                estado = db.EstadoRequerimiento.Where(p => p.nombre == "Rechazado Parcial").SingleOrDefault();
                //}
            }

            Requerimiento.estadoRequerimientoId = estadoDetalle.estadoRequerimientoDetalleId;

            var requerimientoEstado        = new RequerimientoEstadoRequerimiento();
            var requerimientoDetalleEstado = new RequerimientoDetalleEstadoRequerimientoDetalle();

            requerimientoEstado.Requerimiento = Requerimiento;


            requerimientoEstado.requerimientoId       = requerimiento.requerimientoId;
            requerimientoEstado.estadoRequerimientoId = estado.estadoRequerimientoId;
            requerimientoEstado.usuarioCreacion       = User.Identity.Name;
            requerimientoEstado.fechaCreacion         = cstTime;
            Requerimiento.estadoRequerimientoId       = estado.estadoRequerimientoId;

            //Actualiza datos en Requerimiento
            requerimientoEstado.Requerimiento.estadoRequerimientoId = estado.estadoRequerimientoId;
            requerimientoEstado.Requerimiento.usuarioModificacion   = User.Identity.Name;
            requerimientoEstado.Requerimiento.fechaModificacion     = cstTime;

            db.RequerimientoEstadoRequerimiento.Add(requerimientoEstado);

            foreach (var item in requerimiento.Detalles)
            {
                var requerimientoDetalleEstadoRequerimientoDetalle = new RequerimientoDetalleEstadoRequerimientoDetalle();
                requerimientoDetalleEstadoRequerimientoDetalle.requerimientoDetalleId       = item.requerimientoDetalleId;
                requerimientoDetalleEstadoRequerimientoDetalle.estadoRequerimientoDetalleId = estadoDetalle.estadoRequerimientoDetalleId;
                requerimientoDetalleEstadoRequerimientoDetalle.usuarioCreacion = User.Identity.Name;
                requerimientoDetalleEstadoRequerimientoDetalle.fechaCreacion   = cstTime;
                RequerimientoDetalle RequerimientoDetalle = db.RequerimientoDetalles.Find(item.requerimientoDetalleId);
                RequerimientoDetalle.estadoRequerimientoDetalleId = estadoDetalle.estadoRequerimientoDetalleId;
                requerimientoDetalleEstadoRequerimientoDetalle.RequerimientoDetalle = RequerimientoDetalle;
                db.RequerimientoDetalleEstadoRequerimientoDetalle.Add(requerimientoDetalleEstadoRequerimientoDetalle);
            }

            try
            {
                db.SaveChanges();
            }
            catch (DbEntityValidationException ex)
            {
                StringBuilder sb = new StringBuilder();

                foreach (var failure in ex.EntityValidationErrors)
                {
                    sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType());
                    foreach (var error in failure.ValidationErrors)
                    {
                        sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage);
                        sb.AppendLine();
                    }
                }

                throw new DbEntityValidationException(
                          "Entity Validation Failed - errors follow:\n" +
                          sb.ToString(), ex
                          );
            }
            return(RedirectToAction("IndexApprove"));
        }