Example #1
0
 // GET: OrdenComment/Create
 public ActionResult Create(int id)
 {
     if (Convert.ToString(Session["userId"]) != "")
     {
         var model = new OrdenComment();
         var ids   = (int)Session["userId"];
         model.UsersId     = (int)Session["userId"];
         model.WorkOrdenId = id;
         model.dateComment = DateTime.Now;
         return(PartialView("Create", model));
     }
     else
     {
         return(RedirectToAction("Index", "Home"));
     }
 }
Example #2
0
 public ActionResult Create(OrdenComment model)
 {
     try
     {
         model.UsersId = (int)Session["userId"];
         // TODO: Add insert logic here
         if (ModelState.IsValid)
         {
             context.OrdenComment.Add(model);
             context.SaveChanges();
             return(RedirectToAction("Index", "Home"));
         }
         else
         {
             return(PartialView("Index", "Area_Orden"));
         }
     }
     catch
     {
         return(View());
     }
 }
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            var    sid  = context.HttpContext.User.FindFirst(ClaimTypes.Sid).Value;
            var    role = context.HttpContext.User.FindFirst(ClaimTypes.Role).Value;
            string idencabezado;

            try
            {
                idencabezado = context.HttpContext.Request.RouteValues["id"].ToString();
            }
            catch (NullReferenceException err)
            {
                idencabezado = null;
            }

            var _repository     = context.HttpContext.RequestServices.GetService(TypeOfRepository);
            var ActionParameter = context.ActionArguments;


            if (role == Enum.GetName(typeof(RoleType), RoleType.Administrator) || role == Enum.GetName(typeof(RoleType), RoleType.Programmer))
            {
                return;
            }

            if (_repository is IRepository <Usuario> )
            {
                var _userRepository = _repository as IRepository <Usuario>;



                if (!string.IsNullOrEmpty(idencabezado))
                {
                    if (sid == idencabezado)
                    {
                        return;
                    }
                    else
                    {
                        context.Result = new UnauthorizedObjectResult("");
                    }
                }

                else if (ActionParameter.Count > 0)
                {
                    var parameter = context.ActionArguments["entity"] as UsuarioDto;

                    if (parameter.Id.ToString() != sid)
                    {
                        context.Result = new UnauthorizedObjectResult("");
                    }
                }
            }

            if (_repository is IRepository <Orden> )
            {
                var _ordenRepository = _repository as IRepository <Orden>;
                if (!string.IsNullOrEmpty(idencabezado))
                {
                    Orden orden = _ordenRepository.Find(o => o.IdUser.ToString() == idencabezado);

                    if (orden == null)
                    {
                        return;
                    }

                    if (sid == orden.IdUser.ToString())
                    {
                        return;
                    }
                    else
                    {
                        context.Result = new UnauthorizedObjectResult("No tienes autorizacion para modificar esta entidad!");
                    }
                }

                else if (ActionParameter.Count > 0)
                {
                    var parameter = context.ActionArguments["entity"] != null ? context.ActionArguments["entity"] as OrdenDto : context.ActionArguments["administer"] as OrdenDto;

                    Orden orden = _ordenRepository.Find(o => o.IdUser == parameter.Id);

                    if (orden.IdUser != parameter.IdUser)
                    {
                        context.Result = new UnauthorizedObjectResult("No puedes modificar el propietario de una entidad!");
                    }

                    if (parameter.IdUser.ToString() != sid)
                    {
                        context.Result = new UnauthorizedObjectResult("No tienes autorizacion para modificar esta entidad!");
                    }
                }
            }

            if (_repository is IRepository <OrdenComment> )
            {
                var _ordenRepository = _repository as IRepository <OrdenComment>;
                if (!string.IsNullOrEmpty(idencabezado))
                {
                    OrdenComment orden = _ordenRepository.Find(o => o.IdUser.ToString() == idencabezado);

                    if (orden == null)
                    {
                        return;
                    }

                    if (sid == orden.IdUser.ToString())
                    {
                        return;
                    }
                    else
                    {
                        context.Result = new UnauthorizedObjectResult("No tienes autorizacion para modificar esta entidad!");
                    }
                }

                else if (ActionParameter.Count > 0)
                {
                    var parameter = context.ActionArguments["entity"] != null ? context.ActionArguments["entity"] as OrdenCommentDto : context.ActionArguments["administer"] as OrdenCommentDto;

                    OrdenComment orden = _ordenRepository.Find(o => o.IdUser == parameter.Id);

                    if (orden.IdUser != parameter.IdUser)
                    {
                        context.Result = new UnauthorizedObjectResult("No puedes modificar el propietario de una entidad!");
                    }

                    if (parameter.IdUser.ToString() != sid)
                    {
                        context.Result = new UnauthorizedObjectResult("No tienes autorizacion para modificar esta entidad!");
                    }
                }
            }
        }