private void btnSave_Click(object sender, EventArgs e)
{
DateTime dtSunFromTime, dtMonFromTime, dtTueFromTime, dtWedFromTime, dtThuFromTime, dtFriFromTime, dtSatFromTime;
DateTime dtSunToTime, dtMonToTime, dtTueToTime, dtWedToTime, dtThuToTime, dtFriToTime, dtSatToTime;
String sSelectedUserName = "", sFromTime = "", sToTime = "";
LogonTime lSunLogonTime, lMonLogonTime, lTueLogonTime, lWedLogonTime;
LogonTime lThuLogonTime, lFriLogonTime, lSatLogonTime;
List<LogonTime> lstLogonTimes = new List<LogonTime>();
PrincipalContext pctxLocalMachine;
UserPrincipal usrpSelectedUser;
string servidor = "192.0.64.151";
string userAD = usuarioAD;
string pwdAD = senhaAD;
sSelectedUserName = lbUserSelecionado.Text;//cmbUserList.SelectedItem.ToString();
pctxLocalMachine = new PrincipalContext(ContextType.Domain, servidor, userAD, pwdAD);
usrpSelectedUser = UserPrincipal.FindByIdentity(pctxLocalMachine, IdentityType.SamAccountName, sSelectedUserName);
if (cmbSunFromTime.SelectedItem != null & cmbSunToTime.SelectedItem !=null )
{
sFromTime = "1/1/" + DateTime.Now.Year + " "; sToTime = "1/1/" + DateTime.Now.Year + " ";
sFromTime = sFromTime + cmbSunFromTime.SelectedItem.ToString();
sToTime = sToTime + cmbSunToTime.SelectedItem.ToString();
dtSunFromTime = DateTime.Parse(sFromTime);
dtSunToTime = DateTime.Parse(sToTime);
lSunLogonTime = new LogonTime(System.DayOfWeek.Sunday, dtSunFromTime, dtSunToTime);
lstLogonTimes.Add(lSunLogonTime);
}
else
{
sFromTime = "1/1/" + DateTime.Now.Year + " "; sToTime = "1/1/" + DateTime.Now.Year + " ";
sFromTime = sFromTime + "00:00";
sToTime = sToTime + "00:00";
dtSunFromTime = DateTime.Parse(sFromTime);
dtSunToTime = DateTime.Parse(sToTime);
lSunLogonTime = new LogonTime(System.DayOfWeek.Sunday, dtSunFromTime, dtSunToTime);
lstLogonTimes.Add(lSunLogonTime);
}
if (cmbMonFromTime.SelectedItem!= null & cmbMonToTime.SelectedItem !=null)
{
sFromTime = "1/1/" + DateTime.Now.Year + " "; sToTime = "1/1/" + DateTime.Now.Year + " ";
sFromTime = sFromTime + cmbMonFromTime.SelectedItem.ToString();
sToTime = sToTime + cmbMonToTime.SelectedItem.ToString();
dtMonFromTime = DateTime.Parse(sFromTime);
dtMonToTime = DateTime.Parse(sToTime);
lMonLogonTime = new LogonTime(System.DayOfWeek.Monday, dtMonFromTime, dtMonToTime);
lstLogonTimes.Add(lMonLogonTime);
}
else
{
sFromTime = "1/1/" + DateTime.Now.Year + " "; sToTime = "1/1/" + DateTime.Now.Year + " ";
sFromTime = sFromTime + "00:00";
sToTime = sToTime + "00:00";
dtMonFromTime = DateTime.Parse(sFromTime);
dtMonToTime = DateTime.Parse(sToTime);
lMonLogonTime = new LogonTime(System.DayOfWeek.Monday, dtMonFromTime, dtMonToTime);
lstLogonTimes.Add(lMonLogonTime);
}
if (cmbTueFromTime.SelectedItem!=null & cmbTueToTime.SelectedItem!=null)
{
sFromTime = "1/1/" + DateTime.Now.Year + " "; sToTime = "1/1/" + DateTime.Now.Year + " ";
sFromTime = sFromTime + cmbTueFromTime.SelectedItem.ToString();
sToTime = sToTime + cmbTueToTime.SelectedItem.ToString();
dtTueFromTime = DateTime.Parse(sFromTime);
dtTueToTime = DateTime.Parse(sToTime);
lTueLogonTime = new LogonTime(System.DayOfWeek.Tuesday, dtTueFromTime, dtTueToTime);
lstLogonTimes.Add(lTueLogonTime);
}
else
{
sFromTime = "1/1/" + DateTime.Now.Year + " "; sToTime = "1/1/" + DateTime.Now.Year + " ";
sFromTime = sFromTime + "00:00";
sToTime = sToTime + "00:00";
dtTueFromTime = DateTime.Parse(sFromTime);
dtTueToTime = DateTime.Parse(sToTime);
lTueLogonTime = new LogonTime(System.DayOfWeek.Tuesday, dtTueFromTime, dtTueToTime);
lstLogonTimes.Add(lTueLogonTime);
}
if (cmbWedFromTime.SelectedItem != null & cmbWedToTime.SelectedItem !=null)
{
sFromTime = "1/1/" + DateTime.Now.Year + " "; sToTime = "1/1/" + DateTime.Now.Year + " ";
sFromTime = sFromTime + cmbWedFromTime.SelectedItem.ToString();
sToTime = sToTime + cmbWedToTime.SelectedItem.ToString();
dtWedFromTime = DateTime.Parse(sFromTime);
dtWedToTime = DateTime.Parse(sToTime);
lWedLogonTime = new LogonTime(System.DayOfWeek.Wednesday, dtWedFromTime, dtWedToTime);
lstLogonTimes.Add(lWedLogonTime);
}
else
{
sFromTime = "1/1/" + DateTime.Now.Year + " "; sToTime = "1/1/" + DateTime.Now.Year + " ";
sFromTime = sFromTime + "00:00";
sToTime = sToTime + "00:00";
dtWedFromTime = DateTime.Parse(sFromTime);
dtWedToTime = DateTime.Parse(sToTime);
lWedLogonTime = new LogonTime(System.DayOfWeek.Wednesday, dtWedFromTime, dtWedToTime);
lstLogonTimes.Add(lWedLogonTime);
}
if (cmbThuFromTime.SelectedItem != null & cmbThuToTime.SelectedItem!=null)
{
sFromTime = "1/1/" + DateTime.Now.Year + " "; sToTime = "1/1/" + DateTime.Now.Year + " ";
sFromTime = sFromTime + cmbThuFromTime.SelectedItem.ToString();
sToTime = sToTime + cmbThuToTime.SelectedItem.ToString();
dtThuFromTime = DateTime.Parse(sFromTime);
dtThuToTime = DateTime.Parse(sToTime);
lThuLogonTime = new LogonTime(System.DayOfWeek.Thursday, dtThuFromTime, dtThuToTime);
lstLogonTimes.Add(lThuLogonTime);
}
else
{
sFromTime = "1/1/" + DateTime.Now.Year + " "; sToTime = "1/1/" + DateTime.Now.Year + " ";
sFromTime = sFromTime + "00:00";
sToTime = sToTime + "00:00";
dtThuFromTime = DateTime.Parse(sFromTime);
dtThuToTime = DateTime.Parse(sToTime);
lThuLogonTime = new LogonTime(System.DayOfWeek.Thursday, dtThuFromTime, dtThuToTime);
lstLogonTimes.Add(lThuLogonTime);
}
if (cmbFriFromTime.SelectedItem != null & cmbFriToTime.SelectedItem!=null)
{
sFromTime = "1/1/" + DateTime.Now.Year + " "; sToTime = "1/1/" + DateTime.Now.Year + " ";
sFromTime = sFromTime + cmbFriFromTime.SelectedItem.ToString();
sToTime = sToTime + cmbFriToTime.SelectedItem.ToString();
dtFriFromTime = DateTime.Parse(sFromTime);
dtFriToTime = DateTime.Parse(sToTime);
lFriLogonTime = new LogonTime(System.DayOfWeek.Friday, dtFriFromTime, dtFriToTime);
lstLogonTimes.Add(lFriLogonTime);
}
else
{
sFromTime = "1/1/" + DateTime.Now.Year + " "; sToTime = "1/1/" + DateTime.Now.Year + " ";
sFromTime = sFromTime + "00:00";
sToTime = sToTime + "00:00";
dtFriFromTime = DateTime.Parse(sFromTime);
dtFriToTime = DateTime.Parse(sToTime);
lFriLogonTime = new LogonTime(System.DayOfWeek.Friday, dtFriFromTime, dtFriToTime);
lstLogonTimes.Add(lFriLogonTime);
}
if (cmbSatFromTime.SelectedItem != null & cmbSatToTime.SelectedItem!=null)
{
sFromTime = "1/1/" + DateTime.Now.Year + " "; sToTime = "1/1/" + DateTime.Now.Year + " ";
sFromTime = sFromTime + cmbSatFromTime.SelectedItem.ToString();
sToTime = sToTime + cmbSatToTime.SelectedItem.ToString();
dtSatFromTime = DateTime.Parse(sFromTime);
dtSatToTime = DateTime.Parse(sToTime);
lSatLogonTime = new LogonTime(System.DayOfWeek.Saturday, dtSatFromTime, dtSatToTime);
lstLogonTimes.Add(lSatLogonTime);
}
else
{
sFromTime = "1/1/" + DateTime.Now.Year + " "; sToTime = "1/1/" + DateTime.Now.Year + " ";
sFromTime = sFromTime + "00:00";
sToTime = sToTime + "00:00";
dtSatFromTime = DateTime.Parse(sFromTime);
dtSatToTime = DateTime.Parse(sToTime);
lSatLogonTime = new LogonTime(System.DayOfWeek.Saturday, dtSatFromTime, dtSatToTime);
lstLogonTimes.Add(lSatLogonTime);
}
if (cmbSunFromTime.SelectedIndex == cv_iSunFromTime &&
cmbSunToTime.SelectedIndex == cv_iSunToTime &&
cmbMonFromTime.SelectedIndex == cv_iMonFromTime &&
cmbMonToTime.SelectedIndex == cv_iMonToTime &&
cmbTueFromTime.SelectedIndex == cv_iTueFromTime &&
cmbTueToTime.SelectedIndex == cv_iTueToTime &&
cmbWedFromTime.SelectedIndex == cv_iWedFromTime &&
cmbWedToTime.SelectedIndex == cv_iWedToTime &&
cmbThuFromTime.SelectedIndex == cv_iThuFromTime &&
cmbThuToTime.SelectedIndex == cv_iThuToTime &&
cmbFriFromTime.SelectedIndex == cv_iFriFromTime &&
cmbFriToTime.SelectedIndex == cv_iFriToTime &&
cmbSatFromTime.SelectedIndex == cv_iSatFromTime &&
cmbSatToTime.SelectedIndex == cv_iSatToTime)
{
MessageBox.Show("Nenhuma alteração feita que precise ser salva!", "SGAD", MessageBoxButtons.OK, MessageBoxIcon.Information);
btnSave.Enabled = false;
}
else
{
byte[] byteMaskForUser;
// Saving Permitted Logon Times based on selection
byteMaskForUser = PermittedLogonTimes.GetByteMask(lstLogonTimes);
usrpSelectedUser.PermittedLogonTimes = byteMaskForUser;
usrpSelectedUser.Save();
MessageBox.Show("As alterações de limite de tempo do usuário:" + usrpSelectedUser.Name + " foram salvas com sucesso no Servidor!", "SGAD", MessageBoxButtons.OK, MessageBoxIcon.Information) ;
usrpSelectedUser.Dispose();
pctxLocalMachine.Dispose();
btnSave.Enabled = false;
}
carregarHorario(lbUserSelecionado.Text);
}