Пример #1
0
        public void WriteInformation(string message, AddPersonDTO personToReturn = null, PetDTO petToReturn = null)
        {
            _logger.LogInformation("Message:" + message);

            switch (message)
            {
            case "New pet added":
                _logger.LogInformation("Pet:" +
                                       petToReturn.PetId + "," +
                                       petToReturn.Name + "," +
                                       petToReturn.NickName + "," +
                                       petToReturn.PetTypeId + "," +
                                       petToReturn.PersonId + "," +
                                       petToReturn.CreateDate);
                break;

            case "New person added":
                _logger.LogInformation("Person:" +
                                       personToReturn.PersonId + "," +
                                       personToReturn.FirstName + "," +
                                       personToReturn.MIddleName + "," +
                                       personToReturn.LastName + "," +
                                       personToReturn.Age + "," +
                                       personToReturn.City + "," +
                                       personToReturn.DateOfBirth);
                break;

            default:
                break;
            }
        }
Пример #2
0
        public async Task <ActionResult <AddPersonDTO> > AddPersonAsync(AddPersonDTO person)
        {
            // Log Api call.  Could be moved to database for future anayltics.
            _log.WriteInformation("Controller:Persons,API:AddPerson,DateTime:" + DateTime.Now.ToString());

            try
            {
                var personEntity = _mapper.Map <Entities.Person>(person);      // Map to entity.
                await _familyDemoAPIv2Repository.AddPerson(personEntity);      // Add.

                var personToReturn = _mapper.Map <AddPersonDTO>(personEntity); // Map to DTO.

                // Log addition of new person.
                _log.WriteInformation("New person added", personToReturn, null);

                // Return person added.
                //return Ok(personToReturn);

                // Return link in header.
                return(CreatedAtRoute("GetPerson",
                                      new { personToReturn.PersonId },
                                      personToReturn));
            }
            catch (Exception ex) {
                _log.WriteError(ex.Message, ex.InnerException);
                return(NoContent());
            }
        }
Пример #3
0
        public async Task <string> Add2(AddPersonDTO value)
        {
            СоздатьФизЛицоResponse query = null;

            try
            {
                query = await service.СоздатьФизЛицоAsync(
                    value.FIO,
                    value.City,
                    value.Email,
                    value.Position,
                    value.BirthDay,
                    value.Education,
                    value.Expirience,
                    value.Address,
                    value.Phone
                    );
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            return([email protected]);
        }
Пример #4
0
 /// <summary>
 /// 添加人员
 /// </summary>
 /// <param name="dto">添加人员信息</param>
 /// <returns></returns>
 public HttpResponseMessage Post(AddPersonDTO personDTO)
 {
     try
     {
         return(ResponseWrapper.SuccessResponse(repository.AddPerson(personDTO, p => true)));
     }
     catch (Exception e)
     {
         return(ResponseWrapper.ExceptionResponse(e));
     }
 }
Пример #5
0
 /// <summary>
 /// 添加人员
 /// </summary>
 /// <param name="dto">添加人员信息</param>
 /// <returns></returns>
 public HttpResponseMessage Post(AddPersonDTO personDTO)
 {
     try
     {
         var user   = UserHelper.GetCurrentUser();
         var person = repository.AddPerson(personDTO, p => p.InstituteId == user.InstId);
         return(ResponseWrapper.SuccessResponse(person));
     }
     catch (Exception e)
     {
         return(ResponseWrapper.ExceptionResponse(e));
     }
 }
Пример #6
0
        public HttpResponseMessage AddDepartAdmin(AddPersonDTO personDTO)
        {
            try
            {
                var result = repository.AddDepartAdmin(personDTO);

                //系统管理员任命院管理员
                //通知打点:发给用户
                //_noticeService.AddNotice(
                //    _noticeService.GetUserIdByPersonId(personDTO.PersonId.Value), 108);

                return(ResponseWrapper.SuccessResponse(result));
            }
            catch (Exception e)
            {
                return(ResponseWrapper.ExceptionResponse(e));
            }
        }
Пример #7
0
        /// <summary>
        /// 添加用户(人员)
        /// </summary>
        /// <param name="personDTO"></param>
        /// <returns></returns>
        public GetPersonDTO AddPerson(AddPersonDTO personDTO, Func <Person, bool> privilege)
        {
            using (var ctx = new AspodesDB())
            {
                //检查人员信息重复添加
                if (ctx.Persons.Any(p => p.IDCard == personDTO.IDCard))
                {
                    throw new OtherException("人员信息已经存在");
                }
                //检查用户是否已经存在
                if (ctx.Users.Any(u => u.UserId == personDTO.Email))
                {
                    throw new OtherException("邮箱已注册");
                }

                Person person = Mapper.Map <Person>(personDTO);

                //操作人是否有添加该用户的权限
                if (!privilege(person))
                {
                    throw new UnauthorizationException();
                }

                using (var transaction = ctx.Database.BeginTransaction())
                {
                    try
                    {
                        //添加进数据库
                        CompletePersonInfo(person);
                        var newPerson = AddPerson(ctx, person);
                        transaction.Commit();

                        return(Mapper.Map <GetPersonDTO>(newPerson));
                    }
                    catch (Exception e)
                    {
                        transaction.Rollback();
                        throw e;
                    }
                }
            }
        }
Пример #8
0
        /// <summary>
        /// 添加院管理员
        /// </summary>
        /// <param name="personDTO"></param>
        /// <returns></returns>
        public GetPersonDTO AddDepartAdmin(AddPersonDTO personDTO)
        {
            //人员属于农科院
            personDTO.InstituteId = 1;
            using (var ctx = new AspodesDB())
            {
                //是否检查人员信息重复添加
                var old = ctx.Persons.FirstOrDefault(p => p.IDCard == personDTO.IDCard);
                if (null != old)
                {
                    ResponseWrapper.ExceptionResponse(new OtherException("人员已经存在"));
                }

                using (var transaction = ctx.Database.BeginTransaction())
                {
                    try
                    {
                        //添加人员
                        Person person = Mapper.Map <Person>(personDTO);
                        person.Name   = person.FirstName + person.LastName;
                        person.Status = "C";
                        Person newPerson = ctx.Persons.Add(person);
                        ctx.SaveChanges();
                        //添加用户
                        User user = new User
                        {
                            UserId   = newPerson.Email,
                            IDCard   = newPerson.IDCard,
                            Name     = newPerson.Name,
                            PersonId = newPerson.PersonId,
                            //Password = HashHelper.IntoMd5(newPerson.IDCard.Substring(newPerson.IDCard.Length - 6, 6)),
                            Password    = HashHelper.IntoMd5("123456"),
                            InstituteId = newPerson.InstituteId
                        };
                        User newUser = ctx.Users.Add(user);
                        //添加用户角色
                        Model.Authorize authorize = new Model.Authorize()
                        {
                            UserId = newUser.UserId,
                            RoleId = 1
                        };
                        ctx.Authorizes.Add(authorize);

                        Model.Authorize departAdmin = new Model.Authorize()
                        {
                            UserId = newUser.UserId,
                            RoleId = 3
                        };
                        ctx.Authorizes.Add(departAdmin);

                        var instAdmins = from au in ctx.Authorizes
                                         where au.RoleId == 2 && au.User.InstituteId == 1
                                         select au.UserId;
                        if (instAdmins.Count() == 0)
                        {
                            Model.Authorize instAdmin = new Model.Authorize()
                            {
                                UserId = newUser.UserId,
                                RoleId = 2
                            };
                            ctx.Authorizes.Add(instAdmin);

                            var inst = ctx.Institutes.FirstOrDefault(i => i.InstituteId == 1);
                            inst.ContactId = newUser.UserId;
                        }
                        ctx.SaveChanges();
                        transaction.Commit();
                        return(Mapper.Map <GetPersonDTO>(newPerson));
                    }
                    catch (Exception e)
                    {
                        transaction.Rollback();
                        throw e;
                    }
                }
            }
        }