public IActionResult Register([FromBody] UserDto userDto) { // map dto to entity var userReq = _mapper.Map <AcUser>(userDto); string newPassword; if (userDto.GenPassword) { newPassword = Functions.RandString(8); } else { newPassword = userDto.LoginPassword; } try { // check if admin AcUser user = new AcUser(); if (userDto.UsrEmail != null) { user = _userService.Create(userReq, newPassword); if (userDto.GenPassword) { _mailService.Send(user.UsrEmail, "Your password is: " + newPassword, "Mobilisis User Account"); } } else { List <AcTrigger> trgs = _triggerService.GetByValue(userDto.PhoneNumber); if (trgs.Count > 0) { throw new AppException("Phone number already exists."); } userReq.UsrEmail = "guest-" + userDto.PhoneNumber; userReq.UsrName = "guest-" + userDto.PhoneNumber; userReq.UsrActivity = 1; user = _userService.Create(userReq, newPassword); _triggerService.Create(user.UsrId, "Sms", userDto.PhoneNumber, 1); _triggerService.Create(user.UsrId, "Phone", userDto.PhoneNumber, 1); AcAccess acs = _accessService.Create(new AccessDto { ObjId = userDto.guestObjId, UsrId = user.UsrId, ValidFrom = userDto.guestValidFrom, ValidTo = userDto.guestValidTo }); _mailService.SendSMS(userDto.PhoneNumber, "You were added access to following object: " + acs.AcsObj.ObjName); // send sms } return(Ok(user.UsrId)); } catch (AppException ex) { // return error message if there was an exception return(BadRequest(new { message = ex.Message })); } }
public IActionResult Update([FromBody] AccessDto acs) { try { // save AcAccess acsNew = _accessService.Update(acs); return(Ok(acsNew.AcsId)); } catch (AppException ex) { // return error message if there was an exception return(BadRequest(new { message = ex.Message })); } }
public IActionResult Create([FromBody] AccessDto trgDto) { try { // if admin AcAccess acs = _accessService.Create(trgDto); return(Ok(acs.AcsId)); } catch (AppException ex) { // return error message if there was an exception return(BadRequest(new { message = ex.Message })); } }
public AcAccess Update(AccessDto acs) { AcAccess acsUp = new AcAccess { AcsId = acs.AcsId, AcsValidFrom = acs.ValidFrom, AcsValidTo = acs.ValidTo, AcsOpeningCounter = acs.Counter != null ? acs.Counter : -1, AcsUsrId = acs.UsrId, AcsProId = acs.ProId != null ? acs.ProId : (from pro in _context.AcProfil where pro.ProName == "guest" select pro.ProId).SingleOrDefault(), AcsObjId = acs.ObjId }; _context.AcAccess.Update(acsUp); _context.SaveChanges(); return(acsUp); }
public AcAccess Create(AccessDto acs) { AcAccess acsNew = new AcAccess { AcsValidFrom = acs.ValidFrom, AcsValidTo = acs.ValidTo, AcsOpeningCounter = acs.Counter != null ? acs.Counter : -1, AcsUsrId = acs.UsrId, AcsProId = acs.ProId != null ? acs.ProId : (from pro in _context.AcProfil where pro.ProName == "guest" select pro.ProId).SingleOrDefault(), AcsObjId = acs.ObjId }; _context.AcAccess.Add(acsNew); _context.SaveChanges(); acsNew.AcsObj = (from obj in _context.AcObject where obj.ObjId == acsNew.AcsObjId select obj) .SingleOrDefault(); return(acsNew); }