コード例 #1
0
        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"
            });
        }
コード例 #2
0
 public IHttpActionResult DeleteUser([FromBody] UserWithPackageAdvanceViewModel model)
 {
     return(Ok(_iuserCredientialRepository.DeleteUser(model)));
 }