public ResponseModel DeleteUser(UserWithPackageAdvanceViewModel model) { try { var localActiveStatus = DbContext.Set <UserActiveStatus>().Local.FirstOrDefault(c => c.UserCredentialId == model.Id); if (localActiveStatus != null) { DbContext.Entry(localActiveStatus).State = System.Data.Entity.EntityState.Detached; } var userActiveStatus = DbContext.UserActiveStatus.Where(r => r.UserCredentialId == model.Id).FirstOrDefault(); if (userActiveStatus != null) { DbContext.Entry(userActiveStatus).State = System.Data.Entity.EntityState.Deleted; } var localWeekDayOff = DbContext.Set <UserWeekDayOff>().Local.FirstOrDefault(c => c.UserId == model.Id); if (localWeekDayOff != null) { DbContext.Entry(localWeekDayOff).State = System.Data.Entity.EntityState.Detached; } var userWeekDayOff = DbContext.UserWeekDayOff.Where(r => r.UserId == model.Id).FirstOrDefault(); if (userWeekDayOff != null) { DbContext.Entry(userWeekDayOff).State = System.Data.Entity.EntityState.Deleted; } var local = DbContext.Set <UserWithPackage>().Local.FirstOrDefault(c => c.UserCrediantialId == model.Id); if (local != null) { DbContext.Entry(local).State = System.Data.Entity.EntityState.Detached; } var userPackage = DbContext.UserWithPackage.Where(r => r.UserCrediantialId == model.Id).FirstOrDefault(); if (userPackage != null) { DbContext.Entry(userPackage).State = System.Data.Entity.EntityState.Deleted; } var userCrediantialDetail = DbContext.UserCredientialDetail.Where(r => r.UserCredentialId == model.Id).FirstOrDefault(); if (userCrediantialDetail != null) { DbContext.Entry(userCrediantialDetail).State = System.Data.Entity.EntityState.Deleted; } DbContext.SaveChanges(); var userCrediantial = DbContext.UserCredentials.Where(r => r.Id == model.Id).FirstOrDefault(); DbContext.Entry(userCrediantial).State = System.Data.Entity.EntityState.Deleted; DbContext.SaveChanges(); DbContext.SaveChanges(); } catch (Exception ex) { return(new ResponseModel { Success = false, Message = "User can not be delete. Employee is using on transaction." }); } return(new ResponseModel { Success = true, Message = "Success" }); }
public IHttpActionResult DeleteUser([FromBody] UserWithPackageAdvanceViewModel model) { return(Ok(_iuserCredientialRepository.DeleteUser(model))); }