public async Task <string> Create(AccountantDto model) { //var officer = _httpContextAccessor.HttpContext.User.Identity.Name; //if (officer == "SuperAdmin") //{ // officer = "Admin"; //} var user = new ApplicationUser { UserName = model.Email, SurName = model.SurName, Email = model.Email, FirstName = model.FirstName, OtherName = model.OtherName, MobileNo = model.MobileNo, Sex = model.Sex, Address = model.Address, EntityStatus = model.Status }; var result = await userManager.CreateAsync(user, model.Password); if (result.Succeeded) { await userManager.AddToRoleAsync(user, "Accountant"); Accountants accountant = new Accountants(); accountant.UserId = user.Id; accountant.SurName = model.SurName; accountant.FirstName = model.SurName; accountant.OtherName = model.OtherName; accountant.EmailAddress = model.Email; accountant.PhoneNo = model.PhoneNo; accountant.MobileNo = model.MobileNo; accountant.Sex = model.Sex; accountant.Address = model.Address; accountant.Status = model.Status; accountant.ProfilePicture = model.ProfilePicture; _context.Accountants.Add(accountant); await _context.SaveChangesAsync(); //var acctReg = await _context.Accountants.FirstOrDefaultAsync(x => x.UserId == user.Id); //string numberid = acctReg.Id.ToString("D3"); //acctReg.AccountantReg = "ACCT/" + numberid; //_context.Entry(acctReg).State = EntityState.Modified; //await _context.SaveChangesAsync(); return("true"); } var errors = result.Errors; var message = string.Join(",", errors); return(message); }
public async Task <IActionResult> Get(Guid id) { IGetAccountantDetailsQuery query = this.queryFactory.Create <IGetAccountantDetailsQuery>(); // Configured to contain all details including documents list AccountantDto result = await query.GetResultsAsync(new IdQueryParam(id)); return(Ok(result)); }
public async Task <IActionResult> NewAccountant(AccountantDto model, List <IFormFile> files) { var ee = ""; if (ModelState.IsValid) { try { string succed; succed = await _accountant.Create(model); if (succed == "true") { var user = await userManager.FindByNameAsync(model.Email); var user1 = await _context.Accountants.FirstOrDefaultAsync(x => x.UserId == user.Id); //try to update the Accountant Reg //Accountant Reg string numberid = user1.Id.ToString("D3"); user1.AccountantReg = "ACCT/" + numberid; //try to update the user profile pict //profile pic upload var fileName = await _upload.UploadFile(files, _env); user1.ProfilePicture = "/Uploads/" + fileName; _context.Entry(user1).State = EntityState.Modified; await _context.SaveChangesAsync(); TempData["success"] = "Accountant with Username " + model.Fullname + "Added Successfully"; return(RedirectToAction("NewAccountant")); } else { TempData["error1"] = succed; } } catch (Exception e) { ee = e.ToString(); } } var allErrors = ModelState.Values.SelectMany(v => v.Errors); TempData["error"] = "Creation of new Accountant not successful" + ee; return(View(model)); }
/// <summary> /// Gets accountant details /// </summary> /// <param name="parameter">Query parameter</param> /// <returns></returns> public async Task <AccountantDto> GetResultsAsync(IdQueryParam parameter) { Data.Models.Accountant accountant = await this .DataContext .Accountants .Include(mdl => mdl.DocumentsList) .AsNoTracking() .Where(mdl => !mdl.IsRemoved) .FirstAsync(mdl => mdl.Id == parameter.Id); AccountantDto result = Mapper.Map <AccountantDto>(accountant); return(result); }
public ActionResult Save(AccountantDto AccountantDto) { if (AccountantDto.Id == 0) { var accountant = Mapper.Map <Accountant>(AccountantDto); _context.Accountants.Add(accountant); } else { var _accountant = _context.Accountants.Single(c => c.Id == AccountantDto.Id); Mapper.Map(AccountantDto, _accountant); } _context.SaveChanges(); return(Redirect("Index")); }