Beispiel #1
0
 public BlockModelApproveViewModel GetApproval(Guid id)
 {
     using (new TransactionScope(TransactionScopeOption.Suppress))
     {
         var d = new NKDC(_users.ApplicationConnectionString, null);
         var m = new BlockModelApproveViewModel();
         m.BlockModelID    = id;
         m.BlockModelAlias = (from a in d.BlockModels.Where(a => a.BlockModelID == id && a.Version == 0).DefaultIfEmpty() select a.Alias).FirstOrDefault();
         var ps = (from md in d.BlockModelMetadatas.Where(md => md.BlockModelID == id && md.IsColumnData == false && md.ParameterID != _privateService.NKD_GUID_LOG)
                   join p in d.Parameters on md.ParameterID equals p.ParameterID
                   select new { md.BlockModelMetadataID, p.ParameterName, md.BlockModelMetadataText }).OrderBy(x => x.ParameterName);
         m.Parameters = new Dictionary <Guid, Tuple <string, string> >();
         foreach (var x in ps)
         {
             m.Parameters.Add(x.BlockModelMetadataID, new Tuple <string, string>(x.ParameterName, x.BlockModelMetadataText));
         }
         var o = (from a in d.BlockModelMetadatas.Where(a => a.BlockModelMetadataText != null && a.BlockModelID == id && a.ParameterID == _privateService.NKD_GUID_LOG && a.Version == 0)
                  orderby a.VersionUpdated descending
                  select a.BlockModelMetadataText);
         m.Updates = new List <Occurrence>();
         foreach (var x in o)
         {
             m.Updates.Add(x.Deserialize <Occurrence>());
         }
         m.Updates = m.Updates.OrderByDescending(x => x.Occurred).ToList();
         return(m);
     }
 }
        public ActionResult AuthoriseModel(BlockModelApproveViewModel m, string submit)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    if (!Services.Authorizer.Authorize(Permissions.ManageProjects, T("Couldn't update model.")))
                    {
                        return(new HttpUnauthorizedResult());
                    }

                    if (submit == "Approve")
                    {
                        if (ModelState.IsValid)
                        {
                            var note = string.Format("Model [Name: {0} ID: ({1})] was approved by ({2}).", m.BlockModelAlias, m.BlockModelID, Services.WorkContext.CurrentUser.UserName);
                            BlockModelService.ApproveModel(m.BlockModelID.Value, getCurrentUserID(), note);
                            Logger.Information(note);
                        }
                    }
                    else if (submit == "Notify")
                    {
                        var error = string.Format("Model [Name: {0} ID: ({1})] was not approved by ({2}).", m.BlockModelAlias, m.BlockModelID, Services.WorkContext.CurrentUser.UserName);
                        BlockModelService.DenyModel(m.BlockModelID.Value, getCurrentUserID(), error);
                        Logger.Information(error);
                    }
                    return(RedirectToAction("ModelsToAuthoriseList"));
                }
                catch (Exception e)
                {
                    ViewData["EditError"] = e.Message;
                }
            }
            else
            {
                ViewData["EditError"] = "Please, correct all errors.";
            }
            return(RedirectToAction("AuthoriseModel", new { id = m.BlockModelID }));
        }