public static sysGlobalClass.CResutlWebMethod SaveData(CSaveData data)
    {
        sysGlobalClass.CResutlWebMethod result = new sysGlobalClass.CResutlWebMethod();
        PTTGC_EPIEntities db = new PTTGC_EPIEntities();

        if (UserAcc.UserExpired())
        {
            result.Status = SystemFunction.process_SessionExpired;
        }
        else
        {
            int nProductID = 0;
            Func <string, int?, bool> CheckDuplicateName = (name, id) =>
            {
                bool Isdup = false;
                var  q     = db.TM_Emission_OtherProduct.Where(w => (id.HasValue ? w.nProductID != id : true) && w.sName == name && w.cDel == "N");
                Isdup = q.Any();
                return(Isdup);
            };

            if (string.IsNullOrEmpty(data.sProductID)) // NEW
            {
                nProductID = db.TM_Emission_OtherProduct.Any() ? db.TM_Emission_OtherProduct.Max(m => m.nProductID) + 1 : 1;
                TM_Emission_OtherProduct t = new TM_Emission_OtherProduct();

                if (!CheckDuplicateName(data.sName, null))
                {
                    t.nProductID = nProductID;
                    t.sName      = data.sName.Trim();
                    t.cActive    = data.sStatus;
                    t.cDel       = "N";
                    t.nAddBy     = UserAcc.GetObjUser().nUserID;
                    t.dAdd       = DateTime.Now;
                    t.nUpdateBy  = UserAcc.GetObjUser().nUserID;
                    t.dUpdate    = DateTime.Now;
                    db.TM_Emission_OtherProduct.Add(t);
                }
                else
                {
                    result.Msg    = "Duplicate Name !";
                    result.Status = SystemFunction.process_Failed;
                    return(result);
                }
            }
            else
            {
                nProductID = int.Parse(data.sProductID);
                if (!CheckDuplicateName(data.sName, nProductID))
                {
                    var Query = db.TM_Emission_OtherProduct.FirstOrDefault(w => w.nProductID == nProductID);
                    if (Query != null)
                    {
                        Query.sName     = data.sName.Trim();
                        Query.cActive   = data.sStatus;
                        Query.cDel      = "N";
                        Query.nUpdateBy = UserAcc.GetObjUser().nUserID;
                        Query.dUpdate   = DateTime.Now;
                    }
                }
                else
                {
                    result.Msg    = "Duplicate Name !";
                    result.Status = SystemFunction.process_Failed;
                    return(result);
                }
            }
            db.SaveChanges();
            result.Status = SystemFunction.process_Success;
        }
        return(result);
    }
Ejemplo n.º 2
0
    public static sysGlobalClass.CResutlWebMethod SaveData(CSaveData data)
    {
        sysGlobalClass.CResutlWebMethod result = new sysGlobalClass.CResutlWebMethod();
        if (!UserAcc.UserExpired())
        {
            PTTGC_EPIEntities db = new PTTGC_EPIEntities();

            Func <string, int?, bool> CheckDuplicateName = (name, id) =>
            {
                bool Isdup = false;
                var  q     = db.mTCompany.Where(w => (id.HasValue ? w.ID != id : true) && w.Name == name && w.cDel == "N");
                Isdup = q.Any();
                return(Isdup);
            };
            Func <string, int?, bool> CheckDuplicateCode = (code, id) =>
            {
                bool Isdup = false;
                var  q     = db.mTCompany.Where(w => (id.HasValue ? w.ID != id : true) && w.sCode == code && w.cDel == "N");
                Isdup = q.Any();
                return(Isdup);
            };
            string sCompID = data.sCompID.STCDecrypt();
            if (!string.IsNullOrEmpty(sCompID))
            {
                int nCompID = sCompID.toIntNullToZero();
                if (!CheckDuplicateName(data.sCompName, nCompID))
                {
                    if (!CheckDuplicateCode(data.sCode, nCompID))
                    {
                        var query = db.mTCompany.FirstOrDefault(w => w.ID == nCompID);
                        if (query != null)
                        {
                            query.Name        = data.sCompName.Trims();
                            query.sCode       = data.sCode.Trims();
                            query.Description = data.sDesc;
                            query.cActive     = data.sStatus;
                            query.dUpdate     = DateTime.Now;
                            query.UpdateID    = UserAcc.GetObjUser().nUserID;
                            if (data.sStatus == "N")
                            {
                                query.sRemark = data.sRemark.Trims();
                            }
                            else
                            {
                                query.sRemark = "";
                            }
                            db.SaveChanges();
                            result.Status = SystemFunction.process_Success;
                        }
                        else
                        {
                            result.Status = SystemFunction.process_Failed;
                            result.Msg    = "Not found data !";
                        }
                    }
                    else
                    {
                        result.Msg    = "Duplicate SAP code !";
                        result.Status = SystemFunction.process_Failed;
                    }
                }
                else
                {
                    result.Msg    = "Duplicate company name !";
                    result.Status = SystemFunction.process_Failed;
                }
            }
            else
            {
                if (!CheckDuplicateName(data.sCompName, null))
                {
                    if (!CheckDuplicateCode(data.sCode, null))
                    {
                        int       nCompID = db.mTCompany.Any() ? db.mTCompany.Max(x => x.ID) + 1 : 1;
                        mTCompany t       = new mTCompany();
                        t.ID          = nCompID;
                        t.Name        = data.sCompName.Trims();
                        t.sCode       = data.sCode.Trims();
                        t.Description = data.sDesc;
                        t.cActive     = data.sStatus;
                        if (data.sStatus == "N")
                        {
                            t.sRemark = data.sRemark.Trims();
                        }
                        t.CreateID = UserAcc.GetObjUser().nUserID;
                        t.dCreate  = DateTime.Now;
                        t.UpdateID = UserAcc.GetObjUser().nUserID;
                        t.dUpdate  = DateTime.Now;
                        t.cDel     = "N";
                        db.mTCompany.Add(t);
                        db.SaveChanges();
                        result.Status = SystemFunction.process_Success;
                    }
                    else
                    {
                        result.Msg    = "Duplicate SAP code !";
                        result.Status = SystemFunction.process_Failed;
                    }
                }
                else
                {
                    result.Msg    = "Duplicate company name !";
                    result.Status = SystemFunction.process_Failed;
                }
            }
        }
        else
        {
            result.Status = SystemFunction.process_SessionExpired;
        }
        return(result);
    }
    public static sysGlobalClass.CResutlWebMethod SaveData(CSaveData data)
    {
        sysGlobalClass.CResutlWebMethod result = new sysGlobalClass.CResutlWebMethod();
        PTTGC_EPIEntities db = new PTTGC_EPIEntities();

        if (UserAcc.UserExpired())
        {
            result.Status = SystemFunction.process_SessionExpired;
        }
        else
        {
            Func <string, int?, bool> CheckDuplicateName = (name, id) =>
            {
                bool Isdup = false;
                var  q     = db.mTUser.Where(w => (id.HasValue ? w.ID != id : true) && w.Username == name);
                Isdup = q.Any();
                return(Isdup);
            };

            if (!string.IsNullOrEmpty(data.sUserID))
            {
                int nUserID = data.sUserID.toIntNullToZero();

                var query = db.mTUser.FirstOrDefault(w => w.ID == nUserID);
                if (query != null)
                {
                    if (query.cUserType == "0") //Employee_GC
                    {
                        if (!CheckDuplicateName(data.sUserCode, nUserID))
                        {
                            query.Firstname = data.sName.Trim();
                            query.Email     = data.sEmail.Trim();
                            query.Company   = data.sOrg.Trim();
                            //query.sUserCode = data.sUserCode.Trim();
                            //query.Username = data.sUserCode.Trim();
                        }
                        else
                        {
                            result.Msg    = "Duplicate Employee Code !";
                            result.Status = SystemFunction.process_Failed;
                            return(result);
                        }
                    }
                    else //Employee_Other
                    {
                        if (!CheckDuplicateName(data.sUsername, nUserID))
                        {
                            query.Username  = data.sUsername.Trim();
                            query.Email     = data.sEmail.Trim();
                            query.Company   = data.sOrg.Trim();
                            query.Firstname = data.sName.Trim();
                            query.Lastname  = data.sSurName.Trim();
                            if (!string.IsNullOrEmpty(data.sPassword))
                            {
                                query.Password        = STCrypt.encryptMD5(data.sPassword.Trim());
                                query.PasswordEncrypt = STCrypt.Encrypt(data.sPassword.Trim());
                            }
                        }
                        else
                        {
                            result.Msg    = "Duplicate Username !";
                            result.Status = SystemFunction.process_Failed;
                            return(result);
                        }
                    }
                    query.nUpdateID = UserAcc.GetObjUser().nUserID;
                    query.dUpdate   = DateTime.Now;

                    db.SaveChanges();
                    result.Status = SystemFunction.process_Success;
                }
            }
            else
            {
                result.Status = SystemFunction.process_Failed;
                result.Msg    = "Not found data !";
                return(result);
            }
        }

        return(result);
    }