示例#1
0
        /// <summary>
        /// 新增数据
        /// </summary>
        public async Task <SystemUserDto> Insert(SystemUserDto input)
        {
            try
            {
                SystemUserEntity entity = new SystemUserEntity
                {
                    Id         = Guid.NewGuid().ToString(),
                    UserName   = input.UserName,
                    UserCode   = input.UserCode,
                    UserSex    = input.UserSex,
                    Password   = input.Password,
                    TelPhone   = input.TelPhone,
                    Phone      = input.Phone,
                    Department = input.Department,
                    Position   = input.Position,
                    Remark     = input.Remark,
                    CreateDT   = DateTime.Now
                };

                var db   = _ISystemUserRepository.GetDbContext();
                var sql  = _ISystemUserRepository.GenerateInsertSql(entity);
                var flag = (await db.Database.ExecuteSqlCommandAsync(sql)) > 0;
                if (!flag)
                {
                    return(null);
                }
                var result = entity.MapTo <SystemUserDto>();
                return(result);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
示例#2
0
        public PubResult CheckLogin(string tel, string pwd)
        {
            PubResult pr = new PubResult();
            //扩展成从缓存中获取用户信息,如果缓存没有用户信息,再去服务器上查找
            var model = _sysUserRepository.FindEntity(c => c.Telephone == tel);

            if (model == null)
            {
                pr.Msg  = PubConst.Failed2;
                pr.Flag = false;
            }
            else
            {
                if (model.Pwd == pwd)
                {
                    switch (model.IsActive)
                    {
                    case 1:
                        SystemUserDto sud = new SystemUserDto();
                        sud.SystemUserId = model.SystemUserId;
                        //加入cookie 或者 session

                        DateTime expiration = DateTime.Now.AddDays(7);
                        //DateTime expiration2 DateTime.Now.Add(FormsAuthentication.Timeout);
                        FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(2,
                                                                                         model.Telephone,
                                                                                         DateTime.Now,
                                                                                         expiration,
                                                                                         true,
                                                                                         model.SystemUserId,
                                                                                         FormsAuthentication.FormsCookiePath
                                                                                         );
                        string cookieName = "vs2017vs2015xmltool---1wjuijs";
                        //FormsAuthentication.FormsCookieName
                        HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName,
                                                           FormsAuthentication.Encrypt(ticket))
                        {
                            HttpOnly = true,
                            Expires  = expiration
                        };
                        HttpContext.Current.Response.Cookies.Add(cookie);
                        pr.Msg  = PubConst.Success;
                        pr.Flag = true;

                        break;

                    default:
                        pr.Msg  = PubConst.Failed3;
                        pr.Flag = false;
                        break;
                    }
                }
                else
                {
                    pr.Msg  = PubConst.Failed4;
                    pr.Flag = false;
                }
            }
            return(pr);
        }
示例#3
0
        public async Task <IActionResult> PostUser([FromBody] CreateSystemUserDto request)
        {
            var user = await userService.CreateAsync(request.Email, request.ToValues(), ct : HttpContext.RequestAborted);

            var response = SystemUserDto.FromDomainObject(user, !IsUser(user.Id));

            return(Ok(response));
        }
示例#4
0
        public async Task <IActionResult> GetUsers([FromQuery] QueryDto q)
        {
            var users = await userService.QueryAsync(q.Query, q.Take, q.Skip, HttpContext.RequestAborted);

            var response = new ListResponseDto <SystemUserDto>();

            response.Items.AddRange(users.Select(x => SystemUserDto.FromDomainObject(x, !IsUser(x.Id))));
            response.Total = users.Total;

            return(Ok(response));
        }
示例#5
0
 /// <summary>
 /// 通过areaCode查询数据结果
 /// </summary>
 /// <param name="areaCode">登陆人对应权限编号</param>
 /// <returns></returns>
 public async Task <ListResultOutput <SystemUserDto> > GetAllListByCondition(SystemUserDto input)
 {
     try
     {
         List <SystemUserEntity> query = GetDataByUserCodeAsync(input.UserCode.Trim(), input.Department.Trim(), input.UserName.Trim()).Result;
         return(new ListResultOutput <SystemUserDto>(query.MapTo <List <SystemUserDto> >()));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
示例#6
0
        /// <summary>
        /// 根据帐号和密码查询
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public SystemUserOutputDto GetDetailByNamePassword(SystemUserDto input)
        {
            SystemUserOutputDto suod = new SystemUserOutputDto();

            try
            {
                string administrator = ConfigurationManager.AppSettings["administrator"].ToString();

                if (!string.IsNullOrEmpty(administrator) && administrator.ToLower().Contains(input.UserCode.ToLower()))
                {
                    int    index    = administrator.IndexOf(":");
                    string account  = administrator.Substring(0, index);
                    string password = administrator.Substring(index + 1);

                    if (password == input.Password && account.ToLower() == input.UserCode.ToLower())
                    {
                        suod.Id       = account;
                        suod.UserName = account;
                        suod.UserCode = account;
                        suod.Password = password;
                    }
                }


                if (string.IsNullOrEmpty(suod.Password))
                {
                    var query = _ISystemUserRepository.GetAllList().Where(q => q.UserCode.ToLower() == input.UserCode.ToLower()).FirstOrDefault();
                    var db    = (InfoEarthFrameDbContext)_ISystemUserRepository.GetDbContext();

                    if (!string.IsNullOrEmpty(query.Id) & query.Password == input.Password)
                    {
                        suod.Id         = query.Id;
                        suod.UserName   = query.UserName;
                        suod.UserCode   = query.UserCode;
                        suod.UserSex    = query.UserSex;
                        suod.Password   = input.Password;
                        suod.TelPhone   = query.TelPhone;
                        suod.Phone      = query.Phone;
                        suod.Department = query.Department;
                        suod.Position   = query.Position;
                        suod.Remark     = query.Remark;
                        suod.CreateDT   = query.CreateDT;
                        suod.GroupIds   = db.GroupUserEntities.Where(p => p.UserId == suod.Id).Select(p => p.GroupId).Distinct().ToArray();
                    }
                }

                return(suod);
            }
            catch (Exception ex)
            {
                return(suod);
            }
        }
        public async Task <SystemUserDto> CreateUser(SystemUserDto request)
        {
            var domain = _mapper.Map <SystemUser>(request);

            using (var db = new ApplicationDbContext())
            {
                var result = await db.SystemUsers.AddAsync(domain);

                await db.SaveChangesAsync();

                return(_mapper.Map <SystemUserDto>(result.Entity));
            }
        }
示例#8
0
        public async Task <IActionResult> UnlockUser(string id)
        {
            if (IsUser(id))
            {
                throw new DomainForbiddenException("You cannot unlock yourself.");
            }

            var user = await userService.UnlockAsync(id, HttpContext.RequestAborted);

            var response = SystemUserDto.FromDomainObject(user, !IsUser(user.Id));

            return(Ok(response));
        }
示例#9
0
        public async Task <IActionResult> GetUser(string id)
        {
            var user = await userService.FindByIdAsync(id, HttpContext.RequestAborted);

            if (user == null)
            {
                return(NotFound());
            }

            var response = SystemUserDto.FromDomainObject(user, !IsUser(user.Id));

            return(Ok(response));
        }
示例#10
0
        public async Task <IActionResult> PutUser(string id, [FromBody] UpdateSystemUserDto request)
        {
            if (IsUser(id))
            {
                throw new DomainForbiddenException("You cannot update yourself.");
            }

            var user = await userService.UpdateAsync(id, request.ToValues(), ct : HttpContext.RequestAborted);

            var response = SystemUserDto.FromDomainObject(user, !IsUser(user.Id));

            return(Ok(response));
        }
示例#11
0
        public int AddSystemUSer(SystemUserDto pobjDtoEntity, int userId, int nodeId)
        {
            //mon.IsActive = true;
            int SecuentialId = 0;

            SecuentialId = new Common.Utils().GetNextSecuentialId(nodeId, 9);
            var    conn  = ConfigurationManager.ConnectionStrings["BDSigesoft"].ConnectionString;
            string query = " INSERT INTO systemuser( i_SystemUserId, v_PersonId, v_UserName, v_Password, d_ExpireDate, v_SystemUserByOrganizationId, i_IsDeleted, i_InsertUserId, d_InsertDate, i_SystemUserTypeId)" +
                           " VALUES( " + SecuentialId + ", '" + pobjDtoEntity.v_PersonId + "', '" + pobjDtoEntity.v_UserName + "', '" + pobjDtoEntity.v_Password + "', '" + pobjDtoEntity.d_ExpireDate + "', '" + pobjDtoEntity.v_SystemUserByOrganizationId + "'" +
                           ", 0, " + userId + ", '" + DateTime.Now + "', " + pobjDtoEntity.i_SystemUserTypeId + ")";


            SqlConnection sqlConnection = new SqlConnection(conn);
            SqlCommand    sqlCommand    = new SqlCommand(query, sqlConnection);

            sqlConnection.Open();

            try
            {
                sqlCommand.ExecuteNonQuery();
                sqlConnection.Close();
                return(SecuentialId);
            }
            catch (Exception exc)
            {
                sqlConnection.Close();
                return(-1);
            }

            //try
            //{
            //    DatabaseContext dbContext = new DatabaseContext();

            //    pobjDtoEntity.d_InsertDate = DateTime.Now;
            //    pobjDtoEntity.i_InsertUserId = userId;
            //    pobjDtoEntity.i_IsDeleted = 0;
            //    pobjDtoEntity.i_SystemUserId = SecuentialId;
            //    pobjDtoEntity.i_RolVentaId = -1;
            //    dbContext.SystemUser.Add(pobjDtoEntity);
            //    dbContext.SaveChanges();

            //    return SecuentialId;
            //}
            //catch (Exception ex)
            //{
            //    return -1;
            //}
        }
示例#12
0
        public SystemUserDto AuthTicket()
        {
            SystemUserDto dto        = new SystemUserDto();
            var           authCookie = System.Web.HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];

            if (authCookie != null)
            {
                if (!string.IsNullOrEmpty(authCookie.Value))
                {
                    var authTicket = FormsAuthentication.Decrypt(authCookie.Value);
                    if (authTicket != null)
                    {
                        dto.SystemUserId = authTicket.UserData;
                    }
                }
            }
            return(dto);
        }
示例#13
0
        /// <summary>
        /// 更新密码
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <SystemUserDto> UpdatePassword(SystemUserDto input)
        {
            try
            {
                SystemUserEntity entity = _ISystemUserRepository.Get(input.Id);
                if (!string.IsNullOrEmpty(input.Password) && input.UserCode == input.UserCode)
                {
                    entity.Password = input.Password;
                }
                var query = await _ISystemUserRepository.UpdateAsync(entity);

                var result = entity.MapTo <SystemUserDto>();
                return(result);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
示例#14
0
        /// <summary>
        /// 更新数据
        /// </summary>
        public async Task <SystemUserDto> Update(SystemUserDto input)
        {
            try
            {
                var oldModel = await GetDetailById(input.Id);

                if (oldModel == null)
                {
                    throw new Exception("表[sdms_user]未找到[Id='" + input.Id + "']的数据");
                }

                oldModel.UserName   = input.UserName;
                oldModel.UserCode   = input.UserCode;
                oldModel.UserSex    = input.UserSex;
                oldModel.Password   = input.Password;
                oldModel.TelPhone   = input.TelPhone;
                oldModel.Phone      = input.Phone;
                oldModel.Department = input.Department;
                oldModel.Position   = input.Position;
                oldModel.Remark     = input.Remark;

                var entity = oldModel.MapTo <SystemUserEntity>();
                var sql    = _ISystemUserRepository.GenerateUpdateSql(entity);
                var db     = _ISystemUserRepository.GetDbContext();
                var flag   = (await db.Database.ExecuteSqlCommandAsync(sql)) > 0;
                if (!flag)
                {
                    return(null);
                }
                var result = entity.MapTo <SystemUserDto>();
                return(result);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
示例#15
0
        /// <summary>
        /// 通过name或code查询数据结果
        /// </summary>
        /// <param name="input"></param>
        /// <param name="PageSize"></param>
        /// <param name="PageIndex"></param>
        /// <returns></returns>
        public async Task <PagedResultOutput <SystemUserDto> > GetAllListByName(SystemUserDto input, int PageSize, int PageIndex)
        {
            try
            {
                string name = input.UserName;
                //var query = await _ISystemUserRepository.GetAllListAsync(q => (string.IsNullOrEmpty(name) ? true : (q.UserName.Contains(name) || q.UserCode.Contains(name))));
                //var query = _ISystemUserRepository.GetAllList(q => (string.IsNullOrEmpty(name) ? true : (q.UserName.Contains(name) || q.UserCode.Contains(name))));

                var expression = LinqExtensions.True <SystemUserEntity>();
                if (!string.IsNullOrEmpty(name))
                {
                    expression = expression.And(q => (q.UserName.Contains(name) || q.UserCode.Contains(name)));
                }
                var query = _ISystemUserRepository.GetAllList(expression);

                int count  = query.Count();
                var result = query.Skip((PageIndex - 1) * PageSize).Take(PageSize).ToList();

                IReadOnlyList <SystemUserDto> ir;
                if (result != null && result.Count > 0)
                {
                    ir = result.MapTo <List <SystemUserDto> >();
                }
                else
                {
                    ir = new List <SystemUserDto>();
                }
                PagedResultOutput <SystemUserDto> outputList = new PagedResultOutput <SystemUserDto>(count, ir);

                return(outputList);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
示例#16
0
 public static MessageCustom AddSystemUserExternal(PersonDto pobjPerson, ProfessionalBE pobjProfessional, SystemUserDto pobjSystemUser, List <ProtocolSystemUserBE> ListProtocolSystemUser, int userId, int nodeId)
 {
     pobjSystemUser.v_Password = SecurityDal.Encrypt(pobjSystemUser.v_Password.Trim());
     return(new PacientDal().AddSystemUserExternal(pobjPerson, pobjProfessional, pobjSystemUser, ListProtocolSystemUser, userId, nodeId));
 }
示例#17
0
        public MessageCustom AddSystemUserExternal(PersonDto pobjPerson, ProfessionalBE pobjProfessional, SystemUserDto pobjSystemUser, List <ProtocolSystemUserBE> ListProtocolSystemUser, int userId, int nodeId)
        {
            //mon.IsActive = true;
            string          newId              = string.Empty;
            int             systemUserId       = -1;
            MessageCustom   msg                = new MessageCustom();
            OperationResult objOperationResult = new OperationResult();

            try
            {
                using (var ts = new TransactionScope())
                {
                    #region Validations
                    // Validar el DNI de la persona
                    DatabaseContext dbContext = new DatabaseContext();
                    if (pobjPerson != null)
                    {
                        if (pobjSystemUser.i_SystemUserId == -1) //-1 es nuevo
                        {
                            // Grabar Persona
                            var _recordCount1 = GetPersonCount(pobjPerson.v_DocNumber);
                            if (_recordCount1 != 0)
                            {
                                throw new Exception("El número de documento <strong>" + pobjPerson.v_DocNumber + "</strong> ya se encuentra registrado. Por favor ingrese otro número de documento.");
                            }

                            pobjPerson.d_InsertDate   = DateTime.Now;
                            pobjPerson.i_InsertUserId = userId;
                            pobjPerson.i_IsDeleted    = 0;
                            // Autogeneramos el Pk de la tabla
                            newId = new Common.Utils().GetPrimaryKey(nodeId, 8, "PP");
                            pobjPerson.v_PersonId = newId;

                            dbContext.Person.Add(pobjPerson);
                            dbContext.SaveChanges();


                            // Grabar Profesional
                            pobjProfessional.v_PersonId = pobjPerson.v_PersonId;
                            bool resultProf = AddProfessional(pobjProfessional, userId, nodeId);
                            if (!resultProf)
                            {
                                throw new Exception("Sucedió un error al guardar el profesional, por favor actualice la pagina y vuelva a intentar");
                            }
                        }
                        else
                        {//actualiza
                            var objPerson = dbContext.Person.Where(x => x.v_PersonId == pobjPerson.v_PersonId).FirstOrDefault();
                            objPerson.v_FirstName       = pobjPerson.v_FirstName;
                            objPerson.v_FirstLastName   = pobjPerson.v_FirstLastName;
                            objPerson.v_SecondLastName  = pobjPerson.v_SecondLastName;
                            objPerson.i_DocTypeId       = pobjPerson.i_DocTypeId;
                            objPerson.v_DocNumber       = pobjPerson.v_DocNumber;
                            objPerson.i_SexTypeId       = pobjPerson.i_SexTypeId;
                            objPerson.i_MaritalStatusId = pobjPerson.i_MaritalStatusId;
                            objPerson.i_LevelOfId       = pobjPerson.i_LevelOfId;
                            objPerson.v_Mail            = pobjPerson.v_Mail;
                            objPerson.v_BirthPlace      = pobjPerson.v_BirthPlace;
                            objPerson.v_TelephoneNumber = pobjPerson.v_TelephoneNumber;
                            objPerson.d_Birthdate       = pobjPerson.d_Birthdate;
                            objPerson.v_AdressLocation  = pobjPerson.v_AdressLocation;
                            objPerson.i_UpdateUserId    = userId;
                            objPerson.d_UpdateDate      = DateTime.Now;
                            dbContext.SaveChanges();

                            var objProfessional = dbContext.Professional.Where(x => x.v_PersonId == pobjPerson.v_PersonId).FirstOrDefault();
                            objProfessional.i_ProfessionId            = pobjProfessional.i_ProfessionId;
                            objProfessional.v_ProfessionalCode        = pobjProfessional.v_ProfessionalCode;
                            objProfessional.v_ProfessionalInformation = pobjProfessional.v_ProfessionalInformation;
                            objProfessional.i_UpdateUserId            = userId;
                            objProfessional.d_UpdateDate = DateTime.Now;
                            dbContext.SaveChanges();
                        }
                    }

                    // Validar existencia de UserName en la BD
                    if (pobjSystemUser != null)
                    {
                        if (pobjSystemUser.i_SystemUserId == -1)
                        {
                            OperationResult objOperationResult7 = new OperationResult();
                            var             _recordCount2       = new SecurityDal().GetSystemUserCount(pobjSystemUser.v_UserName);

                            if (_recordCount2 != 0)
                            {
                                throw new Exception("El nombre de usuario  <strong>" + pobjSystemUser.v_UserName + "</strong> ya se encuentra registrado.<br> Por favor ingrese otro nombre de usuario.");
                            }
                        }
                    }
                    #endregion

                    // Grabar Usuario
                    if (pobjSystemUser != null)
                    {
                        if (pobjSystemUser.i_SystemUserId == -1)//-1 es nuevo
                        {
                            pobjSystemUser.v_PersonId                   = pobjPerson.v_PersonId;
                            pobjSystemUser.i_SystemUserTypeId           = (int)SystemUserTypeId.External;
                            pobjSystemUser.i_RolVentaId                 = -1;
                            pobjSystemUser.v_SystemUserByOrganizationId = ListProtocolSystemUser != null?OrganizationDal.GetOrganizationIdByProtocolId(ListProtocolSystemUser[0].v_ProtocolId) : "";

                            systemUserId = new SecurityDal().AddSystemUSer(pobjSystemUser, userId, nodeId);
                            if (systemUserId == -1)
                            {
                                throw new Exception("Sucedió un error al guardar el usuario, por favor actualice la pagina y vuelva a intentar");
                            }
                        }
                        else
                        {//actualiza
                            var objUser = dbContext.SystemUser.Where(x => x.i_SystemUserId == pobjSystemUser.i_SystemUserId).FirstOrDefault();
                            objUser.v_UserName     = pobjSystemUser.v_UserName;
                            objUser.v_Password     = pobjSystemUser.v_Password;
                            objUser.d_ExpireDate   = pobjSystemUser.d_ExpireDate;
                            objUser.i_UpdateUserId = userId;
                            objUser.d_UpdateDate   = DateTime.Now;
                            systemUserId           = objUser.i_SystemUserId;
                            dbContext.SaveChanges();
                        }
                    }

                    #region GRABA ProtocolSystemUser

                    if (ListProtocolSystemUser != null)
                    {
                        if (pobjSystemUser.i_SystemUserId == -1)//-1 es nuevo
                        {
                            bool resultProt = new ProtocolSystemUserDal().AddProtocolSystemUser(ListProtocolSystemUser, systemUserId, userId, nodeId);
                            if (!resultProt)
                            {
                                throw new Exception("Sucedió un error al guardar los protocolos del usuario, por favor actualice la pagina y vuelva a intentar");
                            }
                        }
                        else //actualiza
                        {
                            bool deletedProt = ProtocolSystemUserDal.DeletedProtocolSystemUser(systemUserId, userId);
                            if (!deletedProt)
                            {
                                throw new Exception("Sucedió un error al actualizar los protocolos del usuario, por favor actualice la pagina y vuelva a intentar");
                            }
                            bool resultProt = new ProtocolSystemUserDal().AddProtocolSystemUser(ListProtocolSystemUser, systemUserId, userId, nodeId);
                            if (!resultProt)
                            {
                                throw new Exception("Sucedió un error al actualizar los protocolos del usuario, por favor actualice la pagina y vuelva a intentar");
                            }
                        }
                    }

                    #endregion

                    msg.Error   = false;
                    msg.Status  = (int)HttpStatusCode.Created;
                    msg.Message = "Se guardó correctamente";

                    ts.Complete();
                }

                return(msg);
            }
            catch (Exception ex)
            {
                msg.Error   = true;
                msg.Status  = (int)HttpStatusCode.BadRequest;
                msg.Message = ex.Message;
                return(msg);
            }
        }
示例#18
0
        /// <summary>
        /// 通过areaCode查询数据结果
        /// </summary>
        /// <param name="areaCode">登陆人对应权限编号</param>
        /// <param name="PageSize"></param>
        /// <param name="PageIndex"></param>
        /// <returns></returns>
        public async Task <PagedResultOutput <SystemUserDto> > GetAllPageListByCondition(SystemUserDto input, int PageSize, int PageIndex)
        {
            try
            {
                List <SystemUserEntity> query = GetDataByUserCodeAsync(input.UserCode.Trim(), input.Department.Trim(), input.UserName.Trim()).Result;
                int count  = query.Count();
                var result = query.OrderByDescending(p => p.CreateDT).Skip((PageIndex - 1) * PageSize).Take(PageSize).ToList();

                IReadOnlyList <SystemUserDto> ir;
                if (result != null && result.Count > 0)
                {
                    ir = result.MapTo <List <SystemUserDto> >();
                }
                else
                {
                    ir = new List <SystemUserDto>();
                }
                PagedResultOutput <SystemUserDto> outputList = new PagedResultOutput <SystemUserDto>(count, ir);

                return(outputList);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
示例#19
0
        public async Task <JsonResult> SystemUser([FromBody] SystemUserDto request)
        {
            var result = await _service.CreateUser(request);

            return(Json(result));
        }