コード例 #1
0
ファイル: StaffService.cs プロジェクト: arbobrovsky/WebStaff
        public async Task <StaffCreateViewModel> CreateStaff()
        {
            var positions      = new List <PositionViewModel>();
            var ranks          = new List <RankViewModel>();
            var SubDepartments = new List <SubDepartmentViewModel>();

            foreach (var item in _dataManager.Positiond.GetPositions())
            {
                positions.Add(new PositionViewModel {
                    positionId = item.PositionId, Name = item.Name
                });
            }
            foreach (var item in await _dataManager.Rank.GetRanks())
            {
                ranks.Add(new RankViewModel {
                    RankId = item.RankId, Name = item.Name
                });
            }

            foreach (var item in await _dataManager.SubDepartment.GetSubDepartment())
            {
                SubDepartments.Add(new SubDepartmentViewModel {
                    SubDepartmentId = item.SubDepartmentId, Name = item.Name
                });
            }

            var result = new StaffCreateViewModel {
                Position = positions, Rank = ranks, SubDepartmen = SubDepartments
            };

            return(result);
        }
コード例 #2
0
        // STAFF REGISTRATION (IF ADMIN)
        public IActionResult Create()
        {
            // sets action for create view form submission
            ViewData["FormAction"] = "Create";

            StaffCreateViewModel model = GetStaffCreateViewModel();

            return(View(model));
        }
コード例 #3
0
        public async Task <IActionResult> CreateStaff(StaffCreateViewModel create)
        {
            if (ModelState.IsValid)
            {
                await _serviceManager.Staff.SaveToDbStaff(create);
            }
            var model = await _serviceManager.Staff.CreateStaff();

            return(View(model));
        }
コード例 #4
0
ファイル: Person.cs プロジェクト: tgr484/kiddywee
 public static Person Create(StaffCreateViewModel model, Guid organizationId)
 {
     return(new Person()
     {
         FirstName = model.FirstName,
         LastName = model.LastName,
         DateOfBirth = model.DateOfBirth,
         OrganizationId = organizationId,
     });
 }
コード例 #5
0
        // DISPLAY OPEN FIELDS TO EDIT (IF ADMIN)
        public IActionResult Edit(int?id)
        {
            Staff     staff     = _context.Staff.Find(id);
            StaffLink staffLink = _context.StaffLink.Find(id);

            StaffCreateViewModel model = GetStaffCreateViewModel();

            model.Staff           = staff;
            model.Staff.StaffLink = staffLink;

            return(View(model));
        }
コード例 #6
0
ファイル: StaffService.cs プロジェクト: arbobrovsky/WebStaff
 public async Task SaveToDbStaff(StaffCreateViewModel staff)
 {
     var result = new Staff
     {
         First          = staff.First,
         Second         = staff.Second,
         MiddleName     = staff.MiddleName,
         PositionId     = staff.PositionId,
         RankId         = staff.RankId,
         SubDepartmenId = staff.SubDepartmenId
     };
     await _dataManager.Staff.SaveStaff(result);
 }
コード例 #7
0
ファイル: PersonController.cs プロジェクト: tgr484/kiddywee
        public async Task <IActionResult> CreateStaff()
        {
            var classes = await _unitOfWork.Classes.GetAsync(x => x.OrganizationId == _organizationId);

            var organizations = await _unitOfWork.Organizations.GetAsync();

            StaffCreateViewModel model = new StaffCreateViewModel()
            {
                Classes = classes, Organizations = organizations
            };

            return(View(model));
        }
コード例 #8
0
ファイル: StaffService.cs プロジェクト: arbobrovsky/WebStaff
 public async Task SaveStaffToDb(StaffCreateViewModel model)
 {
     var result = new Staff
     {
         StaffId        = model.StaffId,
         First          = model.First,
         Second         = model.Second,
         MiddleName     = model.MiddleName,
         PositionId     = model.PositionId,
         RankId         = model.RankId,
         SubDepartmenId = model.SubDepartmenId
     };
     await _dataManager.Staff.SaveStaff(result);
 }
コード例 #9
0
ファイル: PersonController.cs プロジェクト: tgr484/kiddywee
        public async Task <IActionResult> CreateStaff(StaffCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                var person = Person.Create(model, _organizationId.Value);
                await _unitOfWork.People.Insert(person);

                var personResult = await _unitOfWork.SaveAsync();

                if (personResult.Succeeded)
                {
                    if (model.Files.Any())
                    {
                        foreach (var f in model.Files)
                        {
                            var medicalInfo = FileInfo.Create(f, _userId, DAL.Enum.EnumFileType.MedicalInfo, person.Id);
                            await _unitOfWork.FileInfos.Insert(medicalInfo);
                        }
                        await _unitOfWork.SaveFileAsync();
                    }


                    var staffInfo = StaffInfo.Create(model, _userId);
                    staffInfo.OrganizationId = _organizationId.Value;
                    await _unitOfWork.StaffInfos.Insert(staffInfo);

                    var staffInfoResult = await _unitOfWork.SaveAsync();

                    if (staffInfoResult.Succeeded)
                    {
                        person.StaffInfoId = staffInfo.Id;
                        foreach (var item in model.ClassId)
                        {
                            var personToClass = PersonToClass.Create(person.Id, item, _userId);
                            await _unitOfWork.PersonToClasses.Insert(personToClass);
                        }
                        await _unitOfWork.SaveAsync();
                    }
                }

                return(Redirect(Request.Headers["Referer"].ToString()));
            }
            return(View(model));
        }
コード例 #10
0
        public async Task <IActionResult> Create(Staff staff)
        {
            StaffCreateViewModel model = GetStaffCreateViewModel();

            model.Staff = staff;

            if (!ModelState.IsValid)
            {
                return(View(model)
                       .WithWarning("Something's Not Right", "Check the form"));
            }

            // Create hashed pw from user input
            string hashed_pw = SecurePasswordHasherHelper.Hash(staff.Password);

            // prepare output parameters for SQL query
            CreateOutputParams(
                staff,
                hashed_pw,
                out SqlParameter messageParam,
                out SqlParameter staffCreatedParam,
                out Staff _staff);

            // attempt registration of new user with UserManager
            IdentityResult result = await UserManager.CreateAsync(_staff, hashed_pw).ConfigureAwait(false);

            if (result.Succeeded)
            {
                // link role and staffType to newly created user
                await createStaffLink(staff, _staff).ConfigureAwait(false);

                staffCreatedParam.Value = 1; // set staff creation success flag
            }
            else
            {
                // executes stpAssignStaff Stored Procedure as fallback linking method
                ExecStpAssignStaff(staff, hashed_pw, messageParam, staffCreatedParam);
            }

            // determine redirect action
            return(await ReturnRedirectCreate(staff, messageParam, staffCreatedParam));
        }
コード例 #11
0
ファイル: StaffInfo.cs プロジェクト: tgr484/kiddywee
 public static StaffInfo Create(StaffCreateViewModel model, string createdBy)
 {
     return(new StaffInfo()
     {
         CheckInTime = model.CheckInTime,
         CheckOutTime = model.CheckOutTime,
         ChildAbuseCert = model.ChildAbuseCert,
         CreatedById = createdBy,
         EmploymentType = model.EmploymentType,
         FingerPrinting = model.FingerPrinting,
         FirstAidTraining = model.FirstAidTraining,
         OrganizationId = model.OrganizationId,
         PhoneNumber = model.PhoneNumber,
         PhoneNumberDigitPin = model.PhoneNumberDigitPin,
         PromedicalFormDueDate = model.PromedicalFormDueDate,
         Salary = model.Salary,
         SalaryType = model.SalaryType,
         Schedule = model.Schedule?.Select(x => Convert.ToInt32(x)).ToList(),
         Scr = model.Scr,
         StaffRole = model.StaffRole,
     });
 }
コード例 #12
0
        public async Task <IHttpActionResult> Createstaff()
        {
            ResponseDataDTO <staff> response = new ResponseDataDTO <staff>();

            try
            {
                var path = Path.GetTempPath();

                if (!Request.Content.IsMimeMultipartContent("form-data"))
                {
                    throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.UnsupportedMediaType));
                }

                MultipartFormDataStreamProvider streamProvider = new MultipartFormDataStreamProvider(path);

                await Request.Content.ReadAsMultipartAsync(streamProvider);

                // save file
                string fileName = "";
                foreach (MultipartFileData fileData in streamProvider.FileData)
                {
                    fileName = (FileExtension.SaveFileOnDisk(fileData));
                }
                #region ["Check null"]

                if (streamProvider.FormData["sta_fullname"] == null)
                {
                    response.Code    = HttpCode.INTERNAL_SERVER_ERROR;
                    response.Message = "Họ và tên không được để trống";
                    response.Data    = null;
                    return(Ok(response));
                }
                if (streamProvider.FormData["sta_username"] == null)
                {
                    response.Code    = HttpCode.INTERNAL_SERVER_ERROR;
                    response.Message = "Tên đăng nhập không được để trống";
                    response.Data    = null;
                    return(Ok(response));
                }
                if (streamProvider.FormData["sta_password"] == null)
                {
                    response.Code    = HttpCode.INTERNAL_SERVER_ERROR;
                    response.Message = "Mật khẩu không được để trống";
                    response.Data    = null;
                    return(Ok(response));
                }

                if (streamProvider.FormData["sta_mobile"] == null)
                {
                    response.Code    = HttpCode.INTERNAL_SERVER_ERROR;
                    response.Message = "Số điện thoại không được để trống";
                    response.Data    = null;
                    return(Ok(response));
                }

                if (streamProvider.FormData["sta_status"] == null)
                {
                    response.Code    = HttpCode.INTERNAL_SERVER_ERROR;
                    response.Message = "Trạng thái không được để trống";
                    response.Data    = null;
                    return(Ok(response));
                }

                if (streamProvider.FormData["department_id"] == null)
                {
                    response.Code    = HttpCode.INTERNAL_SERVER_ERROR;
                    response.Message = "Phòng ban không được để trống";
                    response.Data    = null;
                    return(Ok(response));
                }


                if (streamProvider.FormData["position_id"] == null)
                {
                    response.Code    = HttpCode.INTERNAL_SERVER_ERROR;
                    response.Message = "Chức vụ không được để trống";
                    response.Data    = null;
                    return(Ok(response));
                }
                if (streamProvider.FormData["add_province"] == null)
                {
                    response.Code    = HttpCode.INTERNAL_SERVER_ERROR;
                    response.Message = "Tinh/Thanh pho không được để trống";
                    response.Data    = null;
                    return(Ok(response));
                }
                if (streamProvider.FormData["add_district"] == null)
                {
                    response.Code    = HttpCode.INTERNAL_SERVER_ERROR;
                    response.Message = "Quan/Huyen không được để trống";
                    response.Data    = null;
                    return(Ok(response));
                }
                if (streamProvider.FormData["add_ward"] == null)
                {
                    response.Code    = HttpCode.INTERNAL_SERVER_ERROR;
                    response.Message = "Xa/Phuong không được để trống";
                    response.Data    = null;
                    return(Ok(response));
                }
                #endregion

                #region ["Check exits"]
                if (!check_department(Convert.ToInt32(streamProvider.FormData["department_id"])))
                {
                    response.Code    = HttpCode.NOT_FOUND;
                    response.Message = "Khong co ma phong ban trong csdl!";
                    response.Data    = null;
                    return(Ok(response));
                }
                if (!check_position(Convert.ToInt32(Convert.ToInt32(streamProvider.FormData["position_id"]))))
                {
                    response.Code    = HttpCode.NOT_FOUND;
                    response.Message = "Khong co ma bo phan trong csdl!";
                    response.Data    = null;
                    return(Ok(response));
                }
                if (!check_grouprole(Convert.ToInt32(streamProvider.FormData["group_role_id"])))
                {
                    response.Code    = HttpCode.NOT_FOUND;
                    response.Message = "Khong co ma nhom quyen trong csdl!";
                    response.Data    = null;
                    return(Ok(response));
                }

                #endregion
                // get data from formdata những trường bắt buộc
                StaffCreateViewModel StaffCreateViewModel = new StaffCreateViewModel
                {
                    sta_fullname = Convert.ToString(streamProvider.FormData["sta_fullname"]),
                    //sta_code = Convert.ToString(streamProvider.FormData["sta_code"]),
                    sta_username = Convert.ToString(streamProvider.FormData["sta_username"]),
                    sta_password = Convert.ToString(streamProvider.FormData["sta_password"]),
                    sta_email    = Convert.ToString(streamProvider.FormData["sta_email"]),

                    sta_aboutme            = Convert.ToString(streamProvider.FormData["sta_aboutme"]),
                    sta_mobile             = Convert.ToString(streamProvider.FormData["sta_mobile"]),
                    sta_identity_card      = Convert.ToString(streamProvider.FormData["sta_identity_card"]),
                    sta_address            = Convert.ToString(streamProvider.FormData["sta_address"]),
                    sta_hometown           = Convert.ToString(streamProvider.FormData["sta_hometown"]),
                    sta_reason_to_end_work = Convert.ToString(streamProvider.FormData["sta_reason_to_end_work"]),
                    sta_note = Convert.ToString(streamProvider.FormData["sta_note"]),

                    department_id   = Convert.ToInt32(streamProvider.FormData["department_id"]),
                    group_role_id   = Convert.ToInt32(streamProvider.FormData["group_role_id"]),
                    social_id       = Convert.ToInt32(streamProvider.FormData["social_id"]),
                    position_id     = Convert.ToInt32(streamProvider.FormData["position_id"]),
                    sta_leader_flag = Convert.ToByte(streamProvider.FormData["sta_leader_flag"]),



                    sta_status = Convert.ToByte(streamProvider.FormData["sta_status"]),
                    sta_sex    = Convert.ToByte(streamProvider.FormData["sta_sex"]),
                };
                //Kiểm tra các trường rằng buộc
                if (check_username_email(StaffCreateViewModel.sta_username, StaffCreateViewModel.sta_email))
                {
                    response.Code    = HttpCode.NOT_FOUND;
                    response.Message = "Da co username '" + StaffCreateViewModel.sta_username + "' hoac email '" + StaffCreateViewModel.sta_email + "' trong csdl";
                    response.Data    = null;
                    return(Ok(response));
                }
                //md5
                if (StaffCreateViewModel.sta_email != null)
                {
                    if (CheckEmail.IsValidEmail(StaffCreateViewModel.sta_email) == false)
                    {
                        response.Message = "Định dạng email không hợp lệ !";
                        response.Data    = null;
                        return(Ok(response));
                    }
                }

                //check_phone_number

                if (CheckNumber.IsPhoneNumber(StaffCreateViewModel.sta_mobile) == false)
                {
                    response.Message = "Số điện thoại không hợp lệ";
                    response.Data    = null;
                    return(Ok(response));
                }
                //Bắt các truongf còn lại
                //check datetime

                if (streamProvider.FormData["sta_birthday"] == null)
                {
                    StaffCreateViewModel.sta_birthday = null;
                }
                else
                {
                    StaffCreateViewModel.sta_birthday = Convert.ToDateTime(streamProvider.FormData["sta_birthday"]);
                }

                if (streamProvider.FormData["sta_identity_card_date"] == null)
                {
                    StaffCreateViewModel.sta_identity_card_date = null;
                }
                else
                {
                    StaffCreateViewModel.sta_identity_card_date = Convert.ToDateTime(streamProvider.FormData["sta_identity_card_date"]);
                }
                if (streamProvider.FormData["sta_end_work_date"] == null)
                {
                    StaffCreateViewModel.sta_end_work_date = null;
                }
                else
                {
                    StaffCreateViewModel.sta_end_work_date = Convert.ToDateTime(streamProvider.FormData["sta_end_work_date"]);
                }
                if (streamProvider.FormData["sta_start_work_date"] == null)
                {
                    StaffCreateViewModel.sta_start_work_date = null;
                }
                else
                {
                    StaffCreateViewModel.sta_start_work_date = Convert.ToDateTime(streamProvider.FormData["sta_start_work_date"]);
                }


                if (streamProvider.FormData["sta_created_date"] == null)
                {
                    StaffCreateViewModel.sta_created_date = DateTime.Now;
                }
                //Lấy ra bản ghi cuối cùng tạo mã code
                var x = _staffservice.GetLast();

                StaffCreateViewModel.sta_code = Utilis.CreateCode("KH", x.sta_id, 7);
                // mapping view model to entity
                var createdstaff = _mapper.Map <staff>(StaffCreateViewModel);
                createdstaff.sta_thumbnai = fileName;
                createdstaff.sta_password = StaffCreateViewModel.sta_password;

                // save new staff
                _staffservice.Create(createdstaff);
                var get_last_id = _staffservice.GetLast();
                //Create address
                AddressCreateViewModel addressCreateViewModel = new AddressCreateViewModel
                {
                    add_province = Convert.ToString(streamProvider.FormData["add_province"]),

                    add_district = Convert.ToString(streamProvider.FormData["add_district"]),
                    add_ward     = Convert.ToString(streamProvider.FormData["add_ward"]),
                };
                addressCreateViewModel.staff_id = get_last_id.sta_id;
                var createAddress = _mapper.Map <address>(addressCreateViewModel);
                _addressService.Create(createAddress);

                // return response
                response.Code    = HttpCode.OK;
                response.Message = MessageResponse.SUCCESS;
                response.Data    = createdstaff;
                return(Ok(response));
            }
            catch (Exception ex)
            {
                response.Code    = HttpCode.INTERNAL_SERVER_ERROR;
                response.Message = ex.Message;
                response.Data    = null;

                return(Ok(response));
            }
        }