using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

/// <summary>
/// از این کلاس برای بررسی نام کاربری و کلمه عبور کاربران استفاده می شود
/// </summary>
public class Class_LoginUsers
{
    private long int_UserID = 0;
    private int int_UserTypeID = 0;
    private String Str_UserName = String.Empty;
    private String Str_PwsOdUser = String.Empty;
    private String Str_UserTypeDescription = String.Empty;
    private String Str_NameOfUser = String.Empty;
    private String Str_SnameOfUser = String.Empty;
    private Boolean Bln_IsLogedIn = Boolean.Parse("false");

    /// <summary>
    /// متد سازنده کلاس . بعد از این متد باید متد 
    /// UDF_CheckUserValidation()
    /// فراخوانی شود
    /// </summary>
    /// <param name="_UserName"></param>
    /// <param name="_Password"></param>
	public Class_LoginUsers(String _UserName , String _Password)
	{
        Str_UserName = _UserName.Trim();
        Str_PwsOdUser = _Password.Trim();
	}

    /// <summary>
    /// متد بررسی نام کاربری و کلمه عبور
    /// </summary>
    public void UDF_CheckUserValidation()
    {
        LSC_WareHouseDataContext Lsc_GetLogin = new LSC_WareHouseDataContext();
        try
        {
            tblUser LogedCkeck = Lsc_GetLogin.tblUsers.Single(n => n.UserName.Trim() == Str_UserName.Trim() && n.UsersPswa.Trim() == Str_PwsOdUser.Trim() && n.UserIsActive == true);
            if (LogedCkeck.UserName == "")
            {
                Bln_IsLogedIn = Boolean.Parse("false");
            }
            else
            {//در این بخش در صورتی که مشخصات کاربری صحیح باشد برخی از اطلاعات کاربر در فیلدهای کلاس مقدار دهی می شوند
                Bln_IsLogedIn = Boolean.Parse("true");
                int_UserID = LogedCkeck.RowID;
                int_UserTypeID = LogedCkeck.tblUserType.UserTypeID;
                Str_PwsOdUser = String.Empty;
                Str_UserTypeDescription = LogedCkeck.tblUserType.UserTypeDescription;
                Str_NameOfUser = LogedCkeck.NameOfUser;
                Str_SnameOfUser = LogedCkeck.SnameOfUser;
                System.Web.HttpContext.Current.Session.Add("UserTypeID", LogedCkeck.UserTypeID);
            }
        }
        catch
        {
            Bln_IsLogedIn = Boolean.Parse("false");
        }
    }

    public Boolean Is_LogedIn
    {
        get
        {
            return Bln_IsLogedIn;
        }
    }

    public String Str_NameSname
    {
        get
        {
            return Str_NameOfUser + " " + Str_SnameOfUser;
        }
    }
}
