Esempio n. 1
0
        private Task OnValidateIdentityHandle(OAuthValidateIdentityContext context)
        {
            var Db = new WIKIDbContext();

            var             cache  = MemoryCache.Default;
            CacheItemPolicy policy = new CacheItemPolicy();

            policy.AbsoluteExpiration = DateTimeOffset.FromUnixTimeSeconds(60 * 30);

            var userId = Guid.Parse(context.Ticket.Identity.FindFirst("sub").Value);

            var obj = cache.Get(userId.ToString());

            if (obj == null)
            {
                var entity = Db.Account.Where(m => m.WUCC_UserId == userId).FirstOrDefault();
                if (entity == null)
                {
                    entity = new Account
                    {
                        WUCC_UserId = userId,
                        Department  = context.Ticket.Identity.Claims.FirstOrDefault(m => m.Type == "SalesDepartment").Value,
                        UserName    = context.Ticket.Identity.Name,
                        FullName    = context.Ticket.Identity.Claims.FirstOrDefault(m => m.Type == "FullName").Value,
                    };
                    Db.Account.Add(entity);
                }
                else
                {
                    entity.Department = context.Ticket.Identity.Claims.FirstOrDefault(m => m.Type == "SalesDepartment").Value;
                    entity.UserName   = context.Ticket.Identity.Name;
                    entity.FullName   = context.Ticket.Identity.Claims.FirstOrDefault(m => m.Type == "FullName").Value;
                }

                Db.SaveChanges();

                cache.Add(userId.ToString(), entity, policy);
            }



            return(Task.FromResult(0));
        }
Esempio n. 2
0
        public IHttpActionResult Create(ODataActionParameters parameters)
        {
            if (parameters["dto"] == null)
            {
                throw new Exception("输入参数错误");
            }

            var dto = parameters["dto"] as ViewLogDailyCreateInputDto;

            this.Validate(dto);
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var entity = dto.MapToEntity();

            Db.ViewLogDaily.Add(entity);
            Db.SaveChanges();


            return(Created(entity));
        }
Esempio n. 3
0
        public IHttpActionResult Create(ODataActionParameters parameters)
        {
            if (parameters["dto"] == null)
            {
                throw new Exception("输入参数错误");
            }

            var dto = parameters["dto"] as DocumentCreateInputDto;

            this.Validate(dto);
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var documentEntity = dto.MapToEntity();

            documentEntity.CreatedBy = User.Identity.Name;
            documentEntity.DocumentAttachmentList = new List <DocumentAttachment>();
            foreach (var item in dto.DocumentAttachments)
            {
                var attachmentEntity = item.MapToEntity();
                attachmentEntity.CreatedBy = User.Identity.Name;

                documentEntity.DocumentAttachmentList.Add(attachmentEntity);
            }

            using (var transaction = Db.Database.BeginTransaction())
            {
                try
                {
                    var contentEntity = documentEntity.MapToContent();
                    Db.Content.Add(contentEntity);
                    Db.SaveChanges();

                    documentEntity.Id = contentEntity.Id;
                    Db.Document.Add(documentEntity);

                    foreach (var t in dto.Tags)
                    {
                        var tag = new Tag
                        {
                            ContentId   = documentEntity.Id,
                            ContentType = ContentTypeEnum.Document.ToString(),
                            Value       = t
                        };
                        Db.Tag.Add(tag);
                    }

                    Db.SaveChanges();

                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw ex;
                }
            }
            return(Created(documentEntity));
        }
Esempio n. 4
0
        public IHttpActionResult Create(ODataActionParameters parameters)
        {
            if (parameters["dto"] == null)
            {
                throw new Exception("输入参数错误");
            }

            var dto = parameters["dto"] as QuestionCreateInputDto;

            this.Validate(dto);
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var questionEntity = dto.MapToEntity();

            questionEntity.CreatedBy = User.Identity.Name;
            foreach (var item in dto.Answers)
            {
                questionEntity.Answers.Add(new Answer {
                    Text = item, CreatedBy = User.Identity.Name
                });
            }

            using (var transaction = Db.Database.BeginTransaction())
            {
                try
                {
                    var contentEntity = questionEntity.MapToContent();
                    Db.Content.Add(contentEntity);
                    Db.SaveChanges();

                    questionEntity.Id = contentEntity.Id;
                    Db.Question.Add(questionEntity);

                    foreach (var t in dto.Tags)
                    {
                        var tag = new Tag
                        {
                            ContentId   = questionEntity.Id,
                            ContentType = ContentTypeEnum.Question.ToString(),
                            Value       = t
                        };
                        Db.Tag.Add(tag);
                    }

                    Db.SaveChanges();

                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw ex;
                }
            }


            return(Created(questionEntity));
        }