예제 #1
0
        public static Company GetCompanyByCode(string CompanyID)
        {
            DbCompanyService dbComService = new DbCompanyService();
            DbCompany        dbCompany1   = dbComService.getCompanyByCode(CompanyID);

            DbCompany dbCompany = dbComService.FindByIdentity(dbCompany1.CompanyID);

            Company com = new Company();

            if (dbCompany != null)
            {
                com.CompanyID   = dbCompany.CompanyCode;
                com.CompanyName = dbCompany.CompanyName;
            }
            else
            {
                com.CompanyID   = "";
                com.CompanyName = "";
            }
            return(com);
        }
        protected void ctlCompanyField_OnObjectLookUpReturn(object sender, ObjectLookUpReturnArgs e)
        {
            if (e.ObjectReturn != null)
            {
                DbCompany company = (DbCompany)e.ObjectReturn;
                ctlCompanyField.CompanyID = company.CompanyID.ToString();
                ctlCostCenterField.ResetValue();
                ctlLocationField.ResetValue();
                ctlCostCenterField.CompanyId = company.CompanyID;
                ctlLocationField.CompanyId   = company.CompanyID;
                CompanyID = company.CompanyID;

                ctlCostCenterField.ReadOnly = false;
                ctlLocationField.ReadOnly   = false;
                ctlCostCenterField.CheckForReadOnly();
                ctlLocationField.CheckForReadOnly();
                ctlLocationField.DisableCompany = true;
                ctlUpdatePanelUserProfileForm.Update();
            }
            //string aaa = ctlUserPassword.Text;
        }
예제 #3
0
        private void ReceivedMethodChanged(object sender, EventArgs e)
        {
            if (ctlBankMethod.Checked)
            {
                long      workFlowID = UIHelper.ParseLong(Request["wfid"]);
                DbCompany comp       = ScgDbQueryProvider.DbCompanyQuery.FindByIdentity(
                    ScgeAccountingQueryProvider.SCGDocumentQuery.GetSCGDocumentByDocumentID(
                        WorkFlowQueryProvider.WorkFlowQuery.GetDocumentByWorkFlowID(
                            workFlowID).DocumentID).CompanyID.CompanyID);

                ctlKBankDetailPanel.Visible = true;
                ctlGLAccount.Text           = comp.DefaultGLAccount;
                ctlValueDate.Value          = DateTime.Today;
            }
            else
            {
                ctlKBankDetailPanel.Visible = false;
                ctlGLAccount.Text           = string.Empty;
                ctlValueDate.Value          = DateTime.Today;
            }
        }
예제 #4
0
        public long AddLetterDetail(SellingRequestLetterParameter moneyRequest, string letterNo)
        {
            //DbSellingRunningService.RetrieveNextSellingRunningNo(moneyRequest.CompanyCode, moneyRequest.Year);
            DbCompany company = ScgDbQueryProvider.DbCompanyQuery.getDbCompanyBankAccountByCompanyCode(moneyRequest.CompanyCode);

            DbSellingLetterDetail letterDetail = new DbSellingLetterDetail();

            letterDetail.AccountNo   = company.AccountNo;
            letterDetail.AccountType = company.AccountType;
            letterDetail.BuyingDate  = moneyRequest.RequestDate;
            letterDetail.CompanyName = company.CompanyName;
            letterDetail.LetterNo    = letterNo;
            letterDetail.BankName    = company.BankName;
            letterDetail.BankBranch  = company.BankBranch;
            letterDetail.CreBy       = UserAccount.UserID;
            letterDetail.CreDate     = DateTime.Now;
            letterDetail.UpdBy       = UserAccount.UserID;
            letterDetail.UpdDate     = DateTime.Now;

            return(ScgDbDaoProvider.DbSellingLetterDetailDao.Save(letterDetail));
        }
예제 #5
0
        public static Employee GetEmployee(long UserID)
        {
            SuUserService    suUserService = new SuUserService();
            SuUser           suUser        = suUserService.FindByIdentity(UserID);
            DbCompanyService dbComService  = new DbCompanyService();
            DbCompany        dbCompany     = dbComService.FindByIdentity(suUser.Company.CompanyID);

            Employee emp = new Employee();

            if (suUser != null)
            {
                emp.EmployeeID     = suUser.EmployeeCode;
                emp.EmployeeName   = suUser.EmployeeName;
                emp.UserName       = suUser.UserName;
                emp.CostCenterCode = suUser.CostCenterCode;
                emp.VendorCode     = suUser.VendorCode;
            }
            else
            {
                emp.EmployeeID     = string.Empty;
                emp.EmployeeName   = string.Empty;
                emp.UserName       = string.Empty;
                emp.CostCenterCode = string.Empty;
                emp.VendorCode     = string.Empty;
            }

            if (dbCompany != null)
            {
                emp.CompanyID   = dbCompany.CompanyCode;
                emp.CompanyName = dbCompany.CompanyName;
            }
            else
            {
                emp.CompanyID   = "";
                emp.CompanyName = "";
            }

            return(emp);
        }
예제 #6
0
        public static string DeleteCompany(Int32 id)
        {
            var result = DbCompany.Delete(id);

            return(result ? "OK" : "Error on deleting company!");
        }
예제 #7
0
        public void Initialize(string mode, long id)
        {
            Mode      = mode.ToString();
            PbDataSet = new DBPbDataSet();
            ctlMainCurrencyDropdown.DataSource     = SsDbQueryProvider.DbCurrencyQuery.FindAll(); //GetCurrencyLangByCurrencyID();//currencyId, UserAccount.CurrentLanguageID);
            ctlMainCurrencyDropdown.DataTextField  = "Symbol";
            ctlMainCurrencyDropdown.DataValueField = "CurrencyID";
            ctlMainCurrencyDropdown.DataBind();
            ctlMainCurrencyDropdown.Items.Insert(0, new ListItem("Please Select", string.Empty));
            PBID = id;
            if (mode.Equals(FlagEnum.EditFlag))
            {
                Dbpb pb = ScgDbQueryProvider.DbPBQuery.FindByIdentity(PBID);
                ctlPBCode.Text         = pb.PBCode;
                ctlPettyCashLimit.Text = UIHelper.BindDecimal(pb.PettyCashLimit.ToString());
                ctlSupplementary.Text  = pb.Supplementary;
                ctlActive.Checked      = pb.Active;
                DbCompany company = ScgDbQueryProvider.DbCompanyQuery.getDbCompanyByCompanyCode(pb.CompanyCode);
                if (company != null)
                {
                    ctlCompanyField.SetValue(company.CompanyID);
                }
                ctlPBEditorGrid.DataCountAndBind();
                IList <DbPBCurrency> list = ScgDbQueryProvider.DbPBCurrencyQuery.FindPBCurrencyByPBID(PBID);
                ctlRepOffice.Checked = pb.RepOffice;

                if (pb.MainCurrencyID.HasValue && pb.MainCurrencyID.Value != 0)
                {
                    ctlMainCurrencyDropdown.SelectedValue = pb.MainCurrencyID.ToString();
                }

                //loop add to dataset
                foreach (DbPBCurrency pbCurrency in list)
                {
                    DBPbDataSet.DbPBCurrencyRow row = PbDataSet.DbPBCurrency.NewDbPBCurrencyRow();
                    row.ID         = pbCurrency.ID;
                    row.PBID       = pbCurrency.PBID;
                    row.CurrencyID = pbCurrency.CurrencyID;
                    row.CreBy      = pbCurrency.CreBy;
                    row.CreDate    = pbCurrency.CreDate;
                    row.UpdBy      = pbCurrency.UpdBy;
                    row.UpdDate    = pbCurrency.UpdDate;
                    row.UpdPgm     = pbCurrency.UpdPgm;
                    PbDataSet.DbPBCurrency.AddDbPBCurrencyRow(row);
                }
                PbDataSet.AcceptChanges();
                BindLocalCurrency();

                ctlPBUpdatePanel.Update();
            }
            else if (mode.ToString() == FlagEnum.NewFlag)
            {
                ResetValue();
                ctlCompanyField.ResetValue();
            }

            if (ctlRepOffice.Checked)
            {
                ctlMainCurrencyLabel.Visible       = true;
                ctlMainCurrencyDropdown.Visible    = true;
                ctlLocalCurrencyLabel.Visible      = true;
                ctlLocalCurrencyDropdown.Visible   = true;
                ctlAddLocalCurrencyButton.Visible  = true;
                ctlPBLocalCurrencyGridview.Visible = true;
            }
            else
            {
                ctlMainCurrencyLabel.Visible       = false;
                ctlMainCurrencyDropdown.Visible    = false;
                ctlLocalCurrencyLabel.Visible      = false;
                ctlLocalCurrencyDropdown.Visible   = false;
                ctlAddLocalCurrencyButton.Visible  = false;
                ctlPBLocalCurrencyGridview.Visible = false;
            }
        }
예제 #8
0
        protected void ctlAdd_Click(object sender, ImageClickEventArgs e)
        {
            Dbpb pb = new Dbpb();

            if (Mode.Equals(FlagEnum.EditFlag))
            {
                pb.Pbid = PBID;
            }

            pb.PBCode        = ctlPBCode.Text;
            pb.Supplementary = ctlSupplementary.Text;
            pb.Active        = ctlActive.Checked;
            pb.UpdBy         = UserAccount.UserID;
            pb.UpdDate       = DateTime.Now;
            pb.UpdPgm        = UserAccount.CurrentLanguageCode;
            pb.CreDate       = DateTime.Now;
            pb.CreBy         = UserAccount.UserID;
            pb.CurrencyID    = UIHelper.ParseLong(ctlMainCurrencyDropdown.SelectedValue);
            pb.RepOffice     = ctlRepOffice.Checked;
            if (!string.IsNullOrEmpty(ctlMainCurrencyDropdown.SelectedValue))
            {
                pb.MainCurrencyID = UIHelper.ParseShort(ctlMainCurrencyDropdown.SelectedValue);
            }
            try
            {
                pb.PettyCashLimit = UIHelper.ParseDouble(ctlPettyCashLimit.Text);
                DbCompany com = ScgDbQueryProvider.DbCompanyQuery.FindByIdentity(UIHelper.ParseLong(ctlCompanyField.CompanyID));
                pb.CompanyCode = com.CompanyCode;
                pb.CompanyID   = com;
            }
            catch (Exception)
            {
                Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors();
                errors.AddError("PB.Error", new ErrorMessage("Check For Petty Cash Limit or Company Code."));
                ValidationErrors.MergeErrors(errors);
                return;
            }
            try
            {
                // save or update PB
                if (Mode.Equals(FlagEnum.EditFlag))
                {
                    DbPBService.UpdatePB(pb, PbDataSet);
                }
                else
                {
                    long PBId = DbPBService.AddPB(pb, PbDataSet);
                    pb.Pbid = PBId;
                }

                // save or update PBlang
                IList <DbpbLang> list = new List <DbpbLang>();

                foreach (GridViewRow row in ctlPBEditorGrid.Rows)
                {
                    short languageId = UIHelper.ParseShort(ctlPBEditorGrid.DataKeys[row.RowIndex]["LanguageID"].ToString());

                    TextBox  Description = row.FindControl("ctrDescription") as TextBox;
                    TextBox  Comment     = (TextBox)row.FindControl("ctrComment") as TextBox;
                    CheckBox Active      = (CheckBox)row.FindControl("ctlActive") as CheckBox;

                    //comment by oum 02/06/2009
                    //ไม่ต้อง check description is null or empty เพราะว่าไม่ใช่ require field
                    //if ((!string.IsNullOrEmpty(Description.Text)))
                    //{
                    DbpbLang pbLang = new DbpbLang();
                    pbLang.Active      = Active.Checked;
                    pbLang.CreBy       = UserAccount.UserID;
                    pbLang.CreDate     = DateTime.Now;
                    pbLang.Description = Description.Text;
                    pbLang.Comment     = Comment.Text;
                    pbLang.LanguageID  = new DbLanguage(languageId);
                    pbLang.PBID        = pb;
                    pbLang.UpdBy       = UserAccount.UserID;
                    pbLang.UpdDate     = DateTime.Now;
                    pbLang.UpdPgm      = UserAccount.CurrentLanguageCode;
                    list.Add(pbLang);
                    //}
                }

                if (Mode.Equals(FlagEnum.EditFlag))
                {
                    DbPBLangService.UpdatePBLang(list);
                }
                if (Mode.Equals(FlagEnum.NewFlag))
                {
                    DbPBLangService.AddPBLang(list);
                }

                Notify_Ok(sender, e);
            }
            catch (ServiceValidationException ex)
            {
                this.ValidationErrors.MergeErrors(ex.ValidationErrors);
            }
            //}
        }
예제 #9
0
 public CompaniesController(IConfiguration configuration)
 {
     this._confugration     = configuration;
     this._connectionString = this._confugration.GetConnectionString("CompanyAPI");
     this.db = new DbCompany(this._confugration);
 }
        protected void ctlInsert_Click1(object sender, ImageClickEventArgs e)
        {
            try
            {
                if (Mode == FlagEnum.NewFlag)
                {
                    #region Insert
                    user                               = new SuUser();
                    user.UserName                      = ctlUserProfileId.Text;
                    user.PeopleID                      = ctlUserProfilePeopleId.Text;
                    user.SetFailTime                   = UIHelper.ParseShort(ctlSetFailTime.Text);
                    user.EmployeeCode                  = ctlUserProfileEmployeeCode.Text;
                    user.EmployeeName                  = ctlUserProfileEmployeeName.Text;
                    user.SMSApproveOrReject            = ctlApproveRecject.Checked;
                    user.SMSReadyToReceive             = ctlToReceive.Checked;
                    user.MobilePhoneNo                 = ctlUserProfileMobilePhoneNo.Text;
                    user.SectionName                   = ctlUserProfileSectionName.Text;
                    user.PersonalLevel                 = ctlUserProfilePersonalLevel.Text;
                    user.PersonalDescription           = ctlUserProfilePersonalLevelDescription.Text;
                    user.PersonalGroup                 = ctlUserProfilePersonalGroup.Text;
                    user.PersonalLevelGroupDescription = ctlUserProfilePersonalGroupDescription.Text;
                    user.PositionName                  = ctlUserProfilePositionName.Text;
                    user.PhoneNo                       = ctlUserProfilePhoneNo.Text;
                    user.Email                         = ctlUserProfileEmail.Text;
                    user.ApprovalFlag                  = ctlUserProfileApprovalFlag.Checked;
                    user.Active                        = ctlUserProfileActive.Checked;
                    user.Language                      = new SS.DB.DTO.DbLanguage(UIHelper.ParseShort(ctlCmbLanguage.SelectedValue));
                    user.ChangePassword                = ctlChangePassword.Checked;
                    user.IsAdUser                      = ctlIsAdUser.Checked;
                    user.VendorCode                    = ctlVendorCode.Text;
                    user.EmailActive                   = ctlEmailActive.Checked;

                    DbCompany com = ScgDbQueryProvider.DbCompanyQuery.FindByIdentity(UIHelper.ParseLong(ctlCompanyField.CompanyID));
                    if (com != null)
                    {
                        user.CompanyCode = com.CompanyCode;
                        user.Company     = com;
                    }
                    if (ctlLocationField.LocationID != null)
                    {
                        DbLocation location = ScgDbQueryProvider.DbLocationQuery.FindProxyByIdentity(ctlLocationField.LocationID.Value);
                        if (location != null)
                        {
                            user.LocationCode = location.LocationCode;
                            user.Location     = location;
                        }
                    }
                    DbCostCenter cost = ScgDbQueryProvider.DbCostCenterQuery.FindByIdentity(UIHelper.ParseLong(ctlCostCenterField.CostCenterId));
                    if (cost != null)
                    {
                        user.CostCenter     = cost;
                        user.CostCenterCode = cost.CostCenterCode;
                    }
                    if (ctlSupervisor.UserID != null)
                    {
                        SuUser su = QueryProvider.SuUserQuery.FindProxyByIdentity(ctlSupervisor.UserID.Value);
                        if (su != null)
                        {
                            user.Supervisor = su.Userid;
                        }
                    }
                    user.UpdBy   = UserAccount.UserID;
                    user.UpdDate = DateTime.Now;
                    user.CreBy   = UserAccount.UserID;
                    user.CreDate = DateTime.Now;
                    user.UpdPgm  = UserAccount.CurrentProgramCode;

                    // ========== Add code for control password same as Password Policy by Anuwat S on 23/04/2009 ==========
                    if (!string.IsNullOrEmpty(ctlUserPassword.Text))
                    {
                        user.Password = Encryption.Md5Hash(ctlUserPassword.Text);
                    }
                    user.AllowPasswordChangeDate = DateTime.Now.AddDays(ParameterServices.MinPasswordAge);
                    user.PasswordExpiryDate      = DateTime.Now.AddDays(ParameterServices.MaxPasswordAge);

                    if (ctlLockUser.Checked)
                    {
                        user.FailTime = user.SetFailTime;
                    }
                    else
                    {
                        user.FailTime = 0;
                    }

                    // ======== End add code for control password same as Password Policy by Anuwat S on 23/04/2009 ========

                    SuUserService.SaveUserProfile(user);

                    // ========== Add code for control password same as Password Policy by Anuwat S on 23/04/2009 ==========
                    SCGEmailService.SendEmailEM08(user.Userid, ctlUserPassword.Text);
                    #endregion Insert
                }
                else if (Mode == FlagEnum.EditFlag)
                {
                    #region Edit
                    user                               = QueryProvider.SuUserQuery.FindByIdentity(UserID);
                    user.UserName                      = ctlUserProfileId.Text;
                    user.PeopleID                      = ctlUserProfilePeopleId.Text;
                    user.SetFailTime                   = UIHelper.ParseShort(ctlSetFailTime.Text);
                    user.EmployeeCode                  = ctlUserProfileEmployeeCode.Text;
                    user.EmployeeName                  = ctlUserProfileEmployeeName.Text;
                    user.SMSApproveOrReject            = ctlApproveRecject.Checked;
                    user.SMSReadyToReceive             = ctlToReceive.Checked;
                    user.MobilePhoneNo                 = ctlUserProfileMobilePhoneNo.Text;
                    user.SectionName                   = ctlUserProfileSectionName.Text;
                    user.PersonalLevel                 = ctlUserProfilePersonalLevel.Text;
                    user.PersonalDescription           = ctlUserProfilePersonalLevelDescription.Text;
                    user.PersonalGroup                 = ctlUserProfilePersonalGroup.Text;
                    user.PersonalLevelGroupDescription = ctlUserProfilePersonalGroupDescription.Text;
                    user.PositionName                  = ctlUserProfilePositionName.Text;
                    user.PhoneNo                       = ctlUserProfilePhoneNo.Text;
                    user.Email                         = ctlUserProfileEmail.Text;
                    user.ApprovalFlag                  = ctlUserProfileApprovalFlag.Checked;
                    user.Active                        = ctlUserProfileActive.Checked;
                    user.Language                      = new SS.DB.DTO.DbLanguage(UIHelper.ParseShort(ctlCmbLanguage.SelectedValue));
                    user.ChangePassword                = ctlChangePassword.Checked;
                    user.IsAdUser                      = ctlIsAdUser.Checked;
                    user.VendorCode                    = ctlVendorCode.Text;
                    user.EmailActive                   = ctlEmailActive.Checked;

                    DbCompany com = ScgDbQueryProvider.DbCompanyQuery.FindByIdentity(UIHelper.ParseLong(ctlCompanyField.CompanyID));
                    if (com != null)
                    {
                        user.CompanyCode = com.CompanyCode;
                        user.Company     = com;
                    }
                    if (ctlLocationField.LocationID != null)
                    {
                        DbLocation location = ScgDbQueryProvider.DbLocationQuery.FindProxyByIdentity(ctlLocationField.LocationID.Value);
                        if (location != null)
                        {
                            user.LocationCode = location.LocationCode;
                            user.Location     = location;
                        }
                    }
                    DbCostCenter cost = ScgDbQueryProvider.DbCostCenterQuery.FindByIdentity(UIHelper.ParseLong(ctlCostCenterField.CostCenterId));
                    if (cost != null)
                    {
                        user.CostCenter     = cost;
                        user.CostCenterCode = cost.CostCenterCode;
                    }
                    if (ctlSupervisor.UserID != null)
                    {
                        SuUser su = QueryProvider.SuUserQuery.FindProxyByIdentity(ctlSupervisor.UserID.Value);
                        if (su != null)
                        {
                            user.Supervisor = su.Userid;
                        }
                    }
                    user.UpdBy   = UserAccount.UserID;
                    user.UpdDate = DateTime.Now;
                    user.CreBy   = UserAccount.UserID;
                    user.CreDate = DateTime.Now;

                    user.UpdPgm = UserAccount.CurrentProgramCode;

                    // ========== Add code for control password same as Password Policy by Anuwat S on 23/04/2009 ==========
                    if ((int.Parse(ctlOriginFailTime.Value) <= (user.FailTime) && !ctlLockUser.Checked) ||
                        !user.SetFailTime.Equals(short.Parse(ctlOriginFailTime.Value)))
                    {
                        user.FailTime = 0;  // Unlock user
                    }
                    else if (ctlLockUser.Checked)
                    {
                        user.FailTime = user.SetFailTime;   // Still lock user
                    }
                    // ========== Add code for control password same as Password Policy by Anuwat S on 23/04/2009 ==========

                    //SuUserService.SaveOrUpdate(user);
                    SuUserService.UpdateUserProfile(user);

                    #endregion Edit
                }



                // ========== Add code for control password same as Password Policy by Anuwat S on 23/04/2009 ==========
                IList <SuPasswordHistory> passwordHistoryList = QueryProvider.SuPasswordHistoryQuery.FindActiveByUserId(user.Userid);
                foreach (SuPasswordHistory passwordHist in passwordHistoryList)
                {
                    passwordHist.Active  = false;
                    passwordHist.UpdBy   = UserAccount.UserID;
                    passwordHist.UpdDate = DateTime.Now;
                    passwordHist.UpdPgm  = ProgramCode;
                    SuPasswordHistoryService.SaveOrUpdate(passwordHist);
                }
                // ========== Add code for control password same as Password Policy by Anuwat S on 23/04/2009 ==========
                if (Notify_Ok != null)
                {
                    Notify_Ok(sender, e);
                }

                Alert(GetMessage("SaveSuccessFully"));
            }
            catch (ServiceValidationException ex)
            {
                ValidationErrors.MergeErrors(ex.ValidationErrors);
                ctlUpdatePanelUserProfileForm.Update();
            }
        }
        /// <summary>
        /// Deseriliazes a singular Jobs with childrem.
        /// This method is not fully completed and should be used with caution.
        /// </summary>
        /// <param name="jsonString">Serialized data contain information about job and its children</param>
        /// <returns>A deserialized Jobs object</returns>
        private Job Deserialize(string jsonString)
        {
            DbJob db = new DbJob();
            Dictionary <string, object> dict = JsonConvert.DeserializeObject <Dictionary <string, object> >(jsonString);

            System.Diagnostics.Debug.WriteLine("DeserializeApiData. Printing Key Value:");

            string[] keys = dict.Keys.ToArray();

            Job j = new Job();

            j.companies   = new List <Company>();
            j.jobTypes    = new List <JobType>();
            j.locations   = new List <Location>();
            j.studyGroups = new List <StudyGroup>();

            CompaniesController cp = new CompaniesController();

            foreach (var key in keys)
            {
                System.Diagnostics.Debug.WriteLine("key: " + key);
                System.Diagnostics.Debug.WriteLine("value: " + dict[key].ToString());

                /*
                 * if (!key.Equals("companies") || !key.Equals("courses") || !key.Equals("degrees")
                 || !key.Equals("jobTypes") || !key.Equals("studyGroup")) {} */
                if (key.Equals("uuid"))
                {
                    j.uuid = dict[key].ToString();
                }
                if (key.Equals("title"))
                {
                    j.title = dict[key].ToString();
                }

                if (key.Equals("description"))
                {
                    j.description = dict[key].ToString();
                }

                if (key.Equals("webpage"))
                {
                    j.webpage = dict[key].ToString();
                }

                if (key.Equals("expiryDate"))
                {
                    DateTime dateTime = (DateTime)dict[key];
                    j.expiryDate = long.Parse(dateTime.ToString("yyyyMMddHHmmss"));
                }

                if (key.Equals("modified"))
                {
                    DateTime dateTime = (DateTime)dict[key];
                    j.modified = long.Parse(dateTime.ToString("yyyyMMddHHmmss"));
                }


                if (key.Equals("published"))
                {
                    DateTime dateTime = (DateTime)dict[key];
                    j.published = long.Parse(dateTime.ToString("yyyyMMddHHmmss"));
                }


                if (key.Equals("companies"))
                {
                    CompaniesController cc        = new CompaniesController();
                    DbCompany           dbCompany = new DbCompany();
                    IEnumerable         companies = (IEnumerable)dict[key];
                    //Newtonsoft.Json.Linq.JArray'
                    System.Diagnostics.Debug.WriteLine("companies created");
                    foreach (var comp in companies)
                    {
                        System.Diagnostics.Debug.WriteLine("foreach initiated");
                        Dictionary <string, object> companyDict = JsonConvert.DeserializeObject <Dictionary <string, object> >(comp.ToString());
                        Company company = cc.DeserializeCompany(companyDict);
                        System.Diagnostics.Debug.WriteLine("DeserializeOneJobs: company.id: " + company.id);
                        j.companies.Add(company);
                        dbCompany.UpdateCompany(company);
                        System.Diagnostics.Debug.WriteLine("DeserializeOneJobs: After j.companies.Add(company)");
                        string jobUuid = dict["uuid"].ToString();
                        dbCompany.InsertCompanyJob(company.id, jobUuid);
                    }
                }

                if (key.Equals("studyGroups"))
                {
                    IEnumerable studyGroups = (IEnumerable)dict[key];
                    //Newtonsoft.Json.Linq.JArray'
                    System.Diagnostics.Debug.WriteLine("studyGroups created");
                    DbStudyGroup dbStudyGroup = new DbStudyGroup();
                    foreach (var studyGroup in studyGroups)
                    {
                        System.Diagnostics.Debug.WriteLine("foreach initiated");
                        Dictionary <string, object> studyGroupDict = JsonConvert.DeserializeObject <Dictionary <string, object> >(studyGroup.ToString());

                        StudyGroup sg = new StudyGroup();
                        if (studyGroupDict.ContainsKey("id"))
                        {
                            sg.id = studyGroupDict["id"].ToString();
                        }

                        if (studyGroupDict.ContainsKey("name"))
                        {
                            sg.name = studyGroupDict["name"].ToString();
                        }

                        j.studyGroups.Add(sg);

                        string jobUuid = dict["uuid"].ToString();
                        dbStudyGroup.InsertStudyGroupJob(sg.id, jobUuid);
                    }
                }

                if (key.Equals("locations"))
                {
                    IEnumerable locations = (IEnumerable)dict[key];
                    //Newtonsoft.Json.Linq.JArray'
                    DbLocation dbLocation = new DbLocation();
                    System.Diagnostics.Debug.WriteLine("location created");
                    foreach (var location in locations)
                    {
                        System.Diagnostics.Debug.WriteLine("foreach initiated");
                        Dictionary <string, object> locationDict = JsonConvert.DeserializeObject <Dictionary <string, object> >(location.ToString());
                        Location loc = new Location();
                        if (locationDict.ContainsKey("id"))
                        {
                            loc.id = locationDict["id"].ToString();
                            System.Diagnostics.Debug.WriteLine("location id: " + loc.id);
                        }

                        if (locationDict.ContainsKey("name"))
                        {
                            loc.name = locationDict["name"].ToString();
                        }

                        dbLocation.InsertLocation(loc);
                        j.locations.Add(loc);
                        string jobUuid = dict["uuid"].ToString();
                        dbLocation.InsertLocationJob(loc.id, jobUuid);
                    }
                }


                if (key.Equals("jobTypes"))
                {
                    IEnumerable jobTypes = (IEnumerable)dict[key];
                    //Newtonsoft.Json.Linq.JArray'
                    DbJobType dbJobType = new DbJobType();
                    System.Diagnostics.Debug.WriteLine("jobTypes created");
                    foreach (var jobType in jobTypes)
                    {
                        System.Diagnostics.Debug.WriteLine("foreach initiated");
                        Dictionary <string, object> jtDict = JsonConvert.DeserializeObject <Dictionary <string, object> >(jobType.ToString());

                        JobType jt = new JobType();
                        if (jtDict.ContainsKey("id"))
                        {
                            jt.id = jtDict["id"].ToString();
                        }

                        if (jtDict.ContainsKey("name"))
                        {
                            jt.name = jtDict["name"].ToString();
                        }

                        dbJobType.InsertJobType(jt);

                        System.Diagnostics.Debug.WriteLine("before j.jobTypes.Add(jt);");
                        j.jobTypes.Add(jt);

                        string jobUuid = dict["uuid"].ToString();
                        dbJobType.InsertJobTypeJob(jt.id, jobUuid);
                    }
                }
            }
            db.UpdateJob(j);
            return(j);
        }
예제 #12
0
        public SearchCriteria BuildCriteria()
        {
            SearchCriteria criteria = new SearchCriteria();
            string         role     = string.Empty;

            criteria.DocumentTypeID = UIHelper.ParseLong(ctlRequestType.SelectedValue);
            if (!string.IsNullOrEmpty(this.DisplayName))
            {
                criteria.Status         = this.DisplayName;
                ctlStatus.SelectedValue = this.DisplayName;
            }
            else
            {
                criteria.Status = ctlStatus.SelectedValue;
            }
            if (!ctlRole.SelectedValue.Equals("ALL"))
            {
                role = ctlRole.SelectedValue;
            }
            criteria.Role = role;
            if (!string.IsNullOrEmpty(ctlCompanyTextboxAutoComplete.CompanyCode))
            {
                DbCompany dbCom = ScgDbQueryProvider.DbCompanyQuery.getDbCompanyByCompanyCode(ctlCompanyTextboxAutoComplete.CompanyCode);
                if (dbCom != null)
                {
                    criteria.CompanyID = dbCom.CompanyID;
                }
            }

            criteria.RequestNo       = ctlRequestNo.Text;
            criteria.CreatorID       = UIHelper.ParseLong(ctlUserAutoCompleteLookupCreator.EmployeeID);
            criteria.RequesterID     = UIHelper.ParseLong(ctlUserAutoCompleteLookupRequester.EmployeeID);
            criteria.Receiver        = UIHelper.ParseLong(ctlUserAutoCompleteLookupReceiver.EmployeeID);
            criteria.RequestDateFrom = ctlRequestDateFrom.DateValue;
            criteria.RequestDateTo   = ctlRequestDateTo.DateValue;
            criteria.Subject         = ctlSubject.Text;
            criteria.AmountFrom      = UIHelper.ParseDouble(ctlAmountFrom.Text);
            criteria.AmountTo        = UIHelper.ParseDouble(ctlAmountTo.Text);
            criteria.UserID          = UserAccount.UserID;
            criteria.FlagQuery       = "AccountantPayment";
            criteria.FlagSearch      = FlagSearch.ToString();
            criteria.FlagJoin        = FlagJoin.ToString();
            criteria.LanguageID      = UserAccount.CurrentLanguageID;
            criteria.ReferneceNo     = ctlRefenenceNo.Text;
            criteria.ServiceTeamID   = UIHelper.ParseLong(ctlServiceTeam.SelectedValue);
            criteria.PBID            = UIHelper.ParseLong(ctlPB.SelectedValue);
            criteria.SearchType      = this.SearchType;
            criteria.MutipleApprove  = ctlCheckboxMultipleApprove.Checked;
            criteria.SelcetseHrFrom  = selecteHrFrom.Checked;

            if (ImageCheckBox.Checked)
            {
                criteria.ImageOption.Add(ImageOptionCriteria.Image);
            }
            if (HardCopyCheckBox.Checked)
            {
                criteria.ImageOption.Add(ImageOptionCriteria.HardCopy);
            }
            if (ImageHardCopy.Checked)
            {
                criteria.ImageOption.Add(ImageOptionCriteria.ImageHardCopy);
            }
            return(criteria);
        }
        public void ValidateSCGDocument(SCGDocument document, bool haveReceiver, bool haveApprover)
        {
            Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors();
            // DocumentSubTypeID = ใบของบประมาณระหว่างงวด. Not use in eAccounting.
            // Must specific Approver.
            if (document.CompanyID == null)
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("CompanyIsRequired"));
            }
            else
            {
                DbCompany company = ScgDbQueryProvider.DbCompanyQuery.FindByIdentity(document.CompanyID.CompanyID);
                if (company == null)
                {
                    errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("CompanyIsRequired"));
                }
            }
            if (document.PaymentMethodID == 39)
            {
                if (document.RequesterID.Userid != document.ReceiverID.Userid)
                {
                    errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("ReceiverCannotBeDifferentRequester"));
                }
            }

            if (string.IsNullOrEmpty(document.Subject))
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("SubjectIsRequired"));
            }

            if (haveReceiver)
            {
                if (document.ReceiverID == null)
                {
                    errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("ReceiverIsRequired"));
                }
                else
                {
                    SuUser receiver = QueryProvider.SuUserQuery.FindByIdentity(document.ReceiverID.Userid);

                    if (document.ReceiverID == null)
                    {
                        errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("ReceiverIsRequired"));
                    }
                }
            }

            if (haveApprover)
            {
                if (document.ApproverID == null)
                {
                    errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("ApproverIsRequired"));
                }
                else
                {
                    SuUser approver = QueryProvider.SuUserQuery.FindByIdentity(document.ApproverID.Userid);

                    if (approver == null)
                    {
                        errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("ApproverIsRequired"));
                    }
                }
            }

            if (document.RequesterID == null)
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("RequesterIsRequired"));
            }
            else
            {
                SuUser requester = QueryProvider.SuUserQuery.FindByIdentity(document.RequesterID.Userid);

                if (requester == null)
                {
                    errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("RequesterIsRequired"));
                }
            }
            //add new field
            //IList<object> advanceEditableField = AvAdvanceDocumentService.GetEditableFields(document.DocumentID, null);
            IList <object> expenseEditableField    = FnExpenseDocumentService.GetEditableFields(document.DocumentID);
            IList <object> remittanceEditableField = FnRemittanceService.GetEditableFields(document.DocumentID);

            if (/*advanceEditableField.Contains(AdvanceFieldGroup.VerifyDetail) ||*/ expenseEditableField.Contains(ExpenseFieldGroup.VerifyDetail) || remittanceEditableField.Contains(RemittanceFieldGroup.VerifyDetail))
            {
                if (string.IsNullOrEmpty(document.BranchCode))
                {
                    errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("BranchCodeIsRequired"));
                }
                //if (!document.PaymentMethodID.HasValue)
                //{
                //    errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("PaymentMethodID_IsRequired"));
                //}
                if (!document.PostingDate.HasValue)
                {
                    errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("PostingDateIsRequired"));
                }
                if (!document.BaseLineDate.HasValue)
                {
                    errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("BaseLineDateIsRequired"));
                }
            }
            if (!errors.IsEmpty)
            {
                throw new ServiceValidationException(errors);
            }
        }
예제 #14
0
        public Object RequestData(int startRow, int pageSize, string sortExpression)
        {
            DbCompany company = GetCompanyCriteria();

            return(ScgDbQueryProvider.DbCompanyQuery.GetCompanyList(company, UserAccount.CurrentLanguageID, FlagActive, startRow, pageSize, sortExpression));
        }
        /// <summary>
        /// Deserializes a singular Project with children objects.
        /// </summary>
        /// <param name="jsonString">Serialized data contain information about project and its children</param>
        /// <returns>A deserialized Project object</returns>
        private Project Deserialize(string jsonString)
        {
            DbProject db = new DbProject();
            Dictionary <string, object> dict = JsonConvert.DeserializeObject <Dictionary <string, object> >(jsonString);

            System.Diagnostics.Debug.WriteLine("DeserializeApiData. Printing Key Value:");
            string[] keys = dict.Keys.ToArray();
            Project  p    = new Project();

            p.companies   = new List <Company>();
            p.courses     = new List <Course>();
            p.studyGroups = new List <StudyGroup>();
            p.jobTypes    = new List <JobType>();

            foreach (var key in keys)
            {
                System.Diagnostics.Debug.WriteLine("key: " + key);
                System.Diagnostics.Debug.WriteLine("value: " + dict[key].ToString());

                /*
                 * if (!key.Equals("companies") || !key.Equals("courses") || !key.Equals("degrees")
                 || !key.Equals("jobTypes") || !key.Equals("studyGroup")) {} */
                if (key.Equals("uuid"))
                {
                    p.uuid = dict[key].ToString();
                }
                if (key.Equals("title"))
                {
                    p.title = dict[key].ToString();
                }

                /*
                 * if (key.Equals("description"))
                 * {
                 *  p.description = dict[key].ToString();
                 * }
                 */

                if (key.Equals("webpage"))
                {
                    p.webpage = dict[key].ToString();
                }
                if (key.Equals("published"))
                {
                    DateTime dateTime = (DateTime)dict[key];
                    p.published = long.Parse(dateTime.ToString("yyyyMMddHHmmss"));
                }

                if (key.Equals("modified"))
                {
                    DateTime dateTime = (DateTime)dict[key];
                    p.modified = long.Parse(dateTime.ToString("yyyyMMddHHmmss"));
                }

                if (key.Equals("companies"))
                {
                    // if not true then company already exist and needs to be updated.
                    CompaniesController cc        = new CompaniesController();
                    DbCompany           dbCompany = new DbCompany();
                    IEnumerable         companies = (IEnumerable)dict[key];
                    //`Newtonsoft.Json.Linq.JArray'
                    System.Diagnostics.Debug.WriteLine("companies created");
                    foreach (var comp in companies)
                    {
                        System.Diagnostics.Debug.WriteLine("foreach initiated");
                        Dictionary <string, object> companyDict = JsonConvert.DeserializeObject <Dictionary <string, object> >(comp.ToString());
                        Company company = cc.DeserializeCompany(companyDict);
                        System.Diagnostics.Debug.WriteLine("Deserialize: company.id: " + company.id);
                        p.companies.Add(company);
                        dbCompany.UpdateCompany(company);
                        System.Diagnostics.Debug.WriteLine("Deserialize: After j.companies.Add(company)");
                        string projectUuid = dict["uuid"].ToString();
                        dbCompany.InsertCompanyProject(company.id, projectUuid);
                    }
                }

                if (key.Equals("courses"))
                {
                    DbCourse    dbCourse = new DbCourse();
                    IEnumerable courses  = (IEnumerable)dict[key];
                    //Newtonsoft.Json.Linq.JArray'
                    System.Diagnostics.Debug.WriteLine("location created");
                    foreach (var course in courses)
                    {
                        System.Diagnostics.Debug.WriteLine("foreach initiated");
                        Dictionary <string, object> courseDict =
                            JsonConvert.DeserializeObject <Dictionary <string, object> >(course.ToString());

                        Course co = new Course();
                        if (courseDict.ContainsKey("id"))
                        {
                            co.id = courseDict["id"].ToString();
                            System.Diagnostics.Debug.WriteLine("Course id: " + co.id);
                        }

                        if (courseDict.ContainsKey("name"))
                        {
                            co.name = courseDict["name"].ToString();
                        }

                        dbCourse.InsertCourse(co);
                        p.courses.Add(co);
                        string projectUuid = dict["uuid"].ToString();
                        dbCourse.InsertCourseProject(co.id, projectUuid);
                    }
                }

                if (key.Equals("studyGroups"))
                {
                    DbStudyGroup dbStudyGroup = new DbStudyGroup();
                    IEnumerable  studyGroups  = (IEnumerable)dict[key];
                    //Newtonsoft.Json.Linq.JArray'
                    System.Diagnostics.Debug.WriteLine("studyGroups created");
                    foreach (var studyGroup in studyGroups)
                    {
                        System.Diagnostics.Debug.WriteLine("foreach initiated");
                        Dictionary <string, object> studyGroupDict = JsonConvert.DeserializeObject <Dictionary <string, object> >(studyGroup.ToString());


                        StudyGroup sg = new StudyGroup();
                        if (studyGroupDict.ContainsKey("id"))
                        {
                            sg.id = studyGroupDict["id"].ToString();
                        }

                        if (studyGroupDict.ContainsKey("name"))
                        {
                            sg.name = studyGroupDict["name"].ToString();
                        }

                        p.studyGroups.Add(sg);

                        string projectUuid = dict["uuid"].ToString();
                        dbStudyGroup.InsertStudyGroupProject(sg.id, projectUuid);
                    }
                }

                /*
                 * if (key.Equals("approvedCourses"))
                 * {
                 *
                 *  Same as companies implementation
                 *
                 * }
                 *
                 * if (key.Equals("degrees"))
                 * {
                 *
                 *  Same as companies implementation
                 *
                 * }
                 */
                if (key.Equals("jobTypes"))
                {
                    DbJobType   dbJobType = new DbJobType();
                    IEnumerable jobTypes  = (IEnumerable)dict[key];
                    //Newtonsoft.Json.Linq.JArray'
                    System.Diagnostics.Debug.WriteLine("jobTypes created");
                    foreach (var jobType in jobTypes)
                    {
                        System.Diagnostics.Debug.WriteLine("foreach initiated");
                        Dictionary <string, object> jtDict = JsonConvert.DeserializeObject <Dictionary <string, object> >(jobType.ToString());

                        JobType jt = new JobType();
                        if (jtDict.ContainsKey("id"))
                        {
                            jt.id = jtDict["id"].ToString();
                        }

                        if (jtDict.ContainsKey("name"))
                        {
                            jt.name = jtDict["name"].ToString();
                        }

                        dbJobType.InsertJobType(jt);
                        System.Diagnostics.Debug.WriteLine("before p.jobTypes.Add(jt);");
                        p.jobTypes.Add(jt);

                        string projectUuid = dict["uuid"].ToString();
                        dbJobType.InsertJobTypeProject(jt.id, projectUuid);
                    }
                }
            }
            db.UpdateProject(p);
            return(p);
        }
예제 #16
0
        protected void ctlInsert_Click1(object sender, ImageClickEventArgs e)
        {
            DbInternalOrder io;

            try
            {
                if (Mode.Equals(FlagEnum.EditFlag))
                {
                    io = ScgDbQueryProvider.DbIOQuery.FindByIdentity(IOID);
                }
                else
                {
                    io          = new DbInternalOrder();
                    io.IONumber = ctlIONumber.Text;
                }


                io.IOType       = ctlIOType.Text;
                io.IOText       = ctlIOText.Text;
                io.Active       = ctlIOActive.Checked;
                io.BusinessArea = ctlBusinessArea.Text;
                io.ProfitCenter = ctlProfitCenter.Text;

                DbCostCenter cost = ScgDbQueryProvider.DbCostCenterQuery.FindByIdentity(UIHelper.ParseLong(ctlCostCenterField.CostCenterId));
                if (cost != null)
                {
                    io.CostCenterID   = cost.CostCenterID;
                    io.CostCenterCode = cost.CostCenterCode;
                }

                DbCompany com = ScgDbQueryProvider.DbCompanyQuery.FindByIdentity(UIHelper.ParseLong(ctlCompanyField.CompanyID));
                if (com != null)
                {
                    io.CompanyID   = com.CompanyID;
                    io.CompanyCode = com.CompanyCode;
                }

                io.CreBy   = UserAccount.UserID;
                io.CreDate = DateTime.Now;
                io.UpdBy   = UserAccount.UserID;
                io.UpdDate = DateTime.Now;
                io.UpdPgm  = UserAccount.CurrentLanguageCode;

                if (!string.IsNullOrEmpty(ctlCalEffectiveDate.DateValue))
                {
                    try
                    {
                        io.EffectiveDate = UIHelper.ParseDate(ctlCalEffectiveDate.DateValue).Value;
                    }
                    catch {}
                }
                else
                {
                    io.EffectiveDate = null;
                }

                if (!string.IsNullOrEmpty(ctlCalLastDisplayDate.DateValue))
                {
                    try
                    {
                        io.ExpireDate = UIHelper.ParseDate(ctlCalLastDisplayDate.DateValue).Value;
                    }
                    catch { }
                }
                else
                {
                    io.ExpireDate = null;
                }

                CheckDataValueUpdate(io);
                if (Mode.Equals(FlagEnum.EditFlag))
                {
                    DbIOService.UpdateIO(io);
                }
                else
                {
                    DbIOService.AddIO(io);
                }
                Notify_Ok(sender, e);
            }
            catch (ServiceValidationException ex)
            {
                this.ValidationErrors.MergeErrors(ex.ValidationErrors);
            }

            catch (NullReferenceException)
            {
                //Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors();
                //errors.AddError("InternalOrder.Error", new ErrorMessage("CostCenter and Company Require."));
                //ValidationErrors.MergeErrors(errors);
                //return;
            }
        }