Example #1
0
        public MetaResponse SendMail(string CompanyCodeList)
        {
            try
            {
                string    strMsg  = "";
                DataTable dgvList = Utility.Utility_Component.JsonToDt(CompanyCodeList);

                for (int i = 0; i < dgvList.Rows.Count; i++)
                {
                    //cast to REQUEST_ID object
                    BOL_REQUEST_ID oREQUEST_ID = new BOL_REQUEST_ID();
                    oREQUEST_ID = Cast_REQUEST_ID(dgvList.Rows[i]);

                    REQUEST_ID DAL_REQUEST_ID = new REQUEST_ID(con);

                    if (!DAL_REQUEST_ID.IsAlreadyUpdated(oREQUEST_ID, out strMsg)) // If updated_at is not already modified
                    {
                        bool mailSuccess = PrepareAndSendMail(oREQUEST_ID);

                        if (mailSuccess)
                        {
                            //update email sent date
                            oREQUEST_ID.EMAIL_SEND_DATE = TEMP;
                            DAL_REQUEST_ID.UpdateMailDate(oREQUEST_ID, CURRENT_DATETIME, CURRENT_USER, out strMsg);
                            if (String.IsNullOrEmpty(strMsg))
                            {
                                //success message
                                dgvList.Rows[i]["EMAIL_SEND_DATE"] = UPDATED_AT_DATETIME;
                                ResponseUtility.ReturnMailSuccessMessage(dgvList.Rows[i], UPDATED_AT_DATETIME, CURRENT_DATETIME, CURRENT_USER);
                            }
                            else
                            {
                                //fail message
                                ResponseUtility.MailSendingFail(dgvList.Rows[i]);
                            }
                        }
                        else
                        {
                            ResponseUtility.MailSendingFail(dgvList.Rows[i]);
                        }
                    }
                    else
                    {
                        ResponseUtility.ReturnFailMessage(dgvList.Rows[i]);
                    }
                }
                response.Status = 1;
                response.Data   = Utility.Utility_Component.DtToJSon(dgvList, "Mail status");;
                timer.Stop();
                response.Meta.Duration = timer.Elapsed.TotalSeconds;
                return(response);
            }
            catch (Exception ex)
            {
                return(ResponseUtility.GetUnexpectedResponse(response, timer, ex));
            }
        }
        public MetaResponse SettingCompleteMail(string UsageInfoRegList)
        {
            try
            {
                string    msg     = "";
                DataTable dgvList = Utility.Utility_Component.JsonToDt(UsageInfoRegList);

                for (int i = 0; i < dgvList.Rows.Count; i++)
                {
                    USAGE_INFO_REGISTRATION oUSAGE_INFO_REG = new USAGE_INFO_REGISTRATION();
                    oUSAGE_INFO_REG = CAST_TO_USAGE_INFO_REGISTRATION(dgvList.Rows[i]);

                    REQUEST_DETAIL DAL_REQUEST_DETAIL = new REQUEST_DETAIL(con);
                    DAL_REQUEST_DETAIL.UpdateSystemSettingStatus(2, oUSAGE_INFO_REG.COMPNAY_NO_BOX, CURRENT_USER, CURRENT_DATETIME, out msg);

                    if (string.IsNullOrEmpty(msg))
                    {
                        bool mailSuccess = PrepareAndSendMail(oUSAGE_INFO_REG);

                        if (mailSuccess)
                        {
                            dgvList.Rows[i]["SYSTEM_SETTING_STATUS"] = 2;
                            ResponseUtility.ReturnMailSuccessMessage(dgvList.Rows[i], UPDATED_AT_DATETIME, CURRENT_DATETIME, CURRENT_USER);
                        }
                        else
                        {
                            ResponseUtility.MailSendingFail(dgvList.Rows[i]);
                        }
                    }
                    else
                    {
                        ResponseUtility.MailSendingFail(dgvList.Rows[i]);
                    }
                }

                response.Data = Utility.Utility_Component.DtToJSon(dgvList, "Mail status");;
                timer.Stop();
                response.Meta.Duration = timer.Elapsed.TotalSeconds;
                return(response);
            }
            catch (Exception ex)
            {
                return(ResponseUtility.GetUnexpectedResponse(response, timer, ex));
            }
        }
Example #3
0
        public MetaResponse SendMail(string ClientCertificateList)
        {
            try
            {
                string    strMsg          = "";
                bool      mailSuccess     = false;
                ArrayList company_no_boxs = new ArrayList();

                DataTable dgvList = Utility.Utility_Component.JsonToDt(ClientCertificateList);

                List <string> l_SentMail = new List <string>();

                for (int i = 0; i < dgvList.Rows.Count; i++)
                {
                    DataRow dr = dgvList.Rows[i];
                    string  l_COMPANY_NO_BOX = dr["COMPANY_NO_BOX"].ToString();

                    var certificate_list = dgvList.AsEnumerable().Where(row => row.Field <string>("COMPANY_NO_BOX") == l_COMPANY_NO_BOX).Select(s => s.Field <string>("CLIENT_CERTIFICATE_NO")).ToArray();


                    BOL_CLIENT_CERTIFICATE oCLIENT_CERTIFICATE = new BOL_CLIENT_CERTIFICATE();

                    oCLIENT_CERTIFICATE = Cast_CLIENT_CERTIFICATE(dr);  //check method
                    BOL_REQUEST_DETAIL oREQUEST_DETAIL = new BOL_REQUEST_DETAIL();
                    oREQUEST_DETAIL = Cast_REQUEST_DETAIL(dr);


                    CLIENT_CERTIFICATE DAL_CLIENT_CERTIFICATE = new CLIENT_CERTIFICATE(con);

                    if (l_SentMail.Where(x => x == l_COMPANY_NO_BOX).ToList().Count <= 0)
                    {
                        l_SentMail.Add(l_COMPANY_NO_BOX);

                        mailSuccess = PrepareAndSendMail(certificate_list, oREQUEST_DETAIL.COMPANY_NAME, oREQUEST_DETAIL.CLIENT_CERTIFICATE_SEND_EMAIL_ADDRESS, oCLIENT_CERTIFICATE.EXPIRATION_DATE, oCLIENT_CERTIFICATE.PASSWORD, oCLIENT_CERTIFICATE.FY);

                        if (mailSuccess)
                        {
                            //update email sent date
                            DAL_CLIENT_CERTIFICATE.EmailButtonUpdate(oCLIENT_CERTIFICATE, UPDATED_AT_DATETIME, CURRENT_DATETIME, CURRENT_USER, out strMsg);

                            if (String.IsNullOrEmpty(strMsg))
                            {
                                //success
                                dr["DISTRIBUTION_DATE"] = UPDATED_AT_DATETIME;
                                ResponseUtility.ReturnMailSuccessMessage(dr, UPDATED_AT_DATETIME, CURRENT_DATETIME, CURRENT_USER);
                            }
                            else
                            {
                                //already use in another process
                                ResponseUtility.ReturnFailMessage(dr);
                            }
                        }
                        else
                        {
                            //fail message
                            ResponseUtility.MailSendingFail(dr);
                        }
                    }
                    else
                    {
                        //update email sent date
                        DAL_CLIENT_CERTIFICATE.EmailButtonUpdate(oCLIENT_CERTIFICATE, UPDATED_AT_DATETIME, CURRENT_DATETIME, CURRENT_USER, out strMsg);

                        if (String.IsNullOrEmpty(strMsg))
                        {
                            //success
                            dr["DISTRIBUTION_DATE"] = UPDATED_AT_DATETIME;
                            ResponseUtility.ReturnMailSuccessMessage(dr, UPDATED_AT_DATETIME, CURRENT_DATETIME, CURRENT_USER);
                        }
                        else
                        {
                            //already use in another process
                            ResponseUtility.ReturnFailMessage(dr);
                        }
                    }
                }

                response.Data = Utility.Utility_Component.DtToJSon(dgvList, "Mail status");;
                timer.Stop();
                response.Meta.Duration = timer.Elapsed.TotalSeconds;
                return(response);
            }
            catch (Exception ex)
            {
                return(ResponseUtility.GetUnexpectedResponse(response, timer, ex));
            }
        }