示例#1
0
        public virtual async Task <AppDomainResult> ForgotPassword(string userName)
        {
            AppDomainResult appDomainResult = new AppDomainResult();
            bool            isValidEmail    = ValidateUserName.IsEmail(userName);
            bool            isValidPhone    = ValidateUserName.IsPhoneNumber(userName);

            // Kiểm tra đúng định dạng email và số điện thoại chưa
            if (!isValidEmail && !isValidPhone)
            {
                throw new AppException("Vui lòng nhập email hoặc số điện thoại!");
            }
            // Tạo mật khẩu mới
            // Kiểm tra email/phone đã tồn tại chưa?
            var userInfos = await this.userService.GetAsync(e => !e.Deleted &&
                                                            (e.UserName == userName ||
                                                             e.Email == userName ||
                                                             e.Phone == userName
                                                            )
                                                            );

            Users userInfo = null;

            if (userInfos != null && userInfos.Any())
            {
                userInfo = userInfos.FirstOrDefault();
            }
            if (userInfo == null)
            {
                throw new AppException("Số điện thoại hoặc email không tồn tại");
            }
            // Cấp mật khẩu mới
            var newPasswordRandom = RandomUtilities.RandomString(8);

            userInfo.Password = SecurityUtils.HashSHA1(newPasswordRandom);
            bool success = await this.userService.UpdateAsync(userInfo);

            if (success)
            {
                // Gửi mã qua Email
                if (isValidEmail)
                {
                    string emailBody = string.Format("<p>Your new password: {0}</p>", newPasswordRandom);
                    emailConfigurationService.Send("Change Password", new string[] { userInfo.Email }, null, null, new EmailContent()
                    {
                        Content = emailBody,
                        IsHtml  = true,
                    });
                }
                // Gửi SMS
                else if (isValidPhone)
                {
                }
            }
            return(appDomainResult);
        }
        public ActionResult <List <Consulta> > Get(string language_value)
        {
            random_str = ru.RandomString(8) + "|" + ru.CurrentDate();

            try
            {
                lista = con.Consulta(language_value);
            }
            catch (Exception e)
            {
            }
            return(lista);
        }
示例#3
0
        public ComplexObject GenerateRandomDefaultModel()
        {
            Array arrayOfEnum  = Enum.GetValues(typeof(ComplexObject.DefaultEnum));
            int   numberOfEnum = arrayOfEnum.Length;

            ComplexObject model = new ComplexObject()
            {
                Name        = RandomUtilities.RandomString(),
                Date        = RandomUtilities.RandomDate(),
                EnumDefault = (ComplexObject.DefaultEnum)arrayOfEnum.GetValue(RandomUtilities.RandomInteger() % numberOfEnum),
                Number      = RandomUtilities.RandomInteger(),
                LongNumber  = RandomUtilities.RandomDouble()
            };

            return(model);
        }
        /// <summary>
        /// Cập nhật thông trạng thái lịch hẹn (phiếu khám)
        /// </summary>
        /// <param name="updateExaminationStatus"></param>
        /// <returns></returns>
        public async Task <bool> UpdateExaminationStatus(UpdateExaminationStatus updateExaminationStatus)
        {
            bool result = false;
            int? action = null;
            var  existExaminationFormInfo = await Queryable.Where(e => e.Id == updateExaminationStatus.ExaminationFormId).FirstOrDefaultAsync();

            Expression <Func <ExaminationForms, object> >[] includeProperties = new Expression <Func <ExaminationForms, object> >[] { };
            if (existExaminationFormInfo != null)
            {
                if (updateExaminationStatus.Status.HasValue)
                {
                    existExaminationFormInfo.Status    = updateExaminationStatus.Status.Value;
                    existExaminationFormInfo.Updated   = DateTime.Now;
                    existExaminationFormInfo.UpdatedBy = updateExaminationStatus.CreatedBy;

                    switch (updateExaminationStatus.Status)
                    {
                    // Nếu trạng thái: đã xác nhận => lưu lại thông tin mã phiếu khám + lịch sử phiếu
                    case (int)CatalogueUtilities.ExaminationStatus.Confirmed:
                    {
                        action = (int)CatalogueUtilities.ExaminationAction.Confirm;
                        existExaminationFormInfo.Code = RandomUtilities.RandomString(6);
                        includeProperties             = new Expression <Func <ExaminationForms, object> >[]
                        {
                            x => x.Status,
                            x => x.Updated,
                            x => x.UpdatedBy,
                            x => x.Code,
                        };
                    }
                    break;

                    // Nếu trạng thái: đã xác nhận => lưu lại thông tin mã phiếu khám + lịch sử phiếu
                    case (int)CatalogueUtilities.ExaminationStatus.Canceled:
                    {
                        action            = (int)CatalogueUtilities.ExaminationAction.Cancel;
                        includeProperties = new Expression <Func <ExaminationForms, object> >[]
                        {
                            x => x.Status,
                            x => x.Updated,
                            x => x.UpdatedBy,
                        };
                    }
                    break;

                    // Nếu trạng thái: đã xác nhận tái khám => lưu lại ngày tái khám trong phiếu khám + lịch sử phiếu
                    case (int)CatalogueUtilities.ExaminationStatus.ConfirmedReExamination:
                    {
                        action = (int)CatalogueUtilities.ExaminationAction.ConfirmReExamination;
                        existExaminationFormInfo.ReExaminationDate = DateTime.Now;
                        includeProperties = new Expression <Func <ExaminationForms, object> >[]
                        {
                            x => x.Status,
                            x => x.Updated,
                            x => x.UpdatedBy,
                            x => x.ReExaminationDate
                        };
                    }
                    break;

                    default:
                        break;
                    }
                }
            }
            // Thêm lịch sử phiếu khám/lịch hẹn
            if (action.HasValue && updateExaminationStatus.Status.HasValue)
            {
                unitOfWork.Repository <ExaminationForms>().UpdateFieldsSave(existExaminationFormInfo, includeProperties);
                await unitOfWork.SaveAsync();
                await CreateExaminationHistory(updateExaminationStatus.ExaminationFormId, updateExaminationStatus.Status.Value, updateExaminationStatus.CreatedBy, updateExaminationStatus.Comment);

                result = true;
            }
            return(result);
        }