Ejemplo n.º 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            classSpd cspd = new classSpd();


            string   strLoginID = string.Empty;
            classSpd oSPD       = new classSpd();

            if (Session["IDLogin"] != null)
            {
                strLoginID = (string)Session["IDLogin"];
            }
            else
            {
                strLoginID = SetLabelWelcome();
            }
            msKaryawan       karyawan = oSPD.getKaryawan(strLoginID);
            dsSPDDataContext data     = new dsSPDDataContext();
            Int32            roleid   = (from k in data.msUsers
                                         where k.nrp == karyawan.nrp && (k.roleId == Konstan.SYSADMIN || k.roleId == Konstan.GA)
                                         select k.roleId).FirstOrDefault();

            if (!IsPostBack)
            {
                pnlForm.Visible = false;
                fillGV(txtFilterName.Text.Trim());
            }

            if (roleid == Konstan.GA || strLoginID.Contains("yudisss") || strLoginID.Contains("Syam005812") || roleid == Konstan.SYSADMIN)
            {
                pnlGrid.Visible = true;
                gvRole.Visible  = true;
            }
            else
            {
                pnlGrid.Visible = false;
                gvRole.Visible  = false;
            }

            userLoginID = !String.IsNullOrEmpty(strLoginID) ? strLoginID.Length > 10 ? strLoginID.Substring(0, 10).ToString() : strLoginID : "";
        }
Ejemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            classSpd cspd = new classSpd();


            string   strLoginID = string.Empty;
            classSpd oSPD       = new classSpd();

            if (Session["IDLogin"] != null)
            {
                strLoginID = (string)Session["IDLogin"];
            }
            else
            {
                strLoginID = SetLabelWelcome();
            }
            msKaryawan       karyawan = oSPD.getKaryawan(strLoginID);
            dsSPDDataContext data     = new dsSPDDataContext();
            Int32            roleid   = (from k in data.msUsers
                                         where k.nrp == karyawan.nrp && (k.roleId == Konstan.SYSADMIN || k.roleId == Konstan.GA)
                                         select k.roleId).FirstOrDefault();

            if (roleid == Konstan.GA || strLoginID.Contains("yudisss") || roleid == Konstan.SYSADMIN)
            {
                gvMasterHardship.Visible = true;
                btnTambah.Visible        = true;
            }
            else
            {
                gvMasterHardship.Visible = false;
                btnTambah.Visible        = false;
            }

            if (!IsPostBack)
            {
                inputForm.Visible = false;
                hfmode.Value      = "add";
                BindDropdowListPropinsi();
                BindGridMasterHardship();
            }
        }
Ejemplo n.º 3
0
        private bool ifga(string nrp)
        {
            bool returner = false;

            using (var ctx = new dsSPDDataContext())
            {
                try
                {
                    int role = ctx.msUsers.First(o => o.nrp.Equals(nrp)).roleId;
                    if (role == 17)
                    {
                        returner = true;
                    }
                }
                catch (Exception)
                {
                    returner = false;
                }
            }
            return(returner);
        }
Ejemplo n.º 4
0
        protected void btnResendAllNew_Click(object sender, EventArgs e)
        {
            using (var ctx = new dsSPDDataContext())
            {
                var query = (from o in ctx.trSPDs
                             where o.isSubmit == true &&
                             o.isCancel == null &&
                             o.isApproved == null &&
                             o.tglBerangkat > DateTime.Now
                             select o.noSPD).Distinct().ToList();

                foreach (var item in query)
                {
                    ProcessNew(item);
                    using (StreamWriter w = File.AppendText(@"E:\SPD\logNoSpdResendAll.txt"))
                    {
                        Log(item, w);
                    }
                }
            }
        }
Ejemplo n.º 5
0
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            dsSPDDataContext data = new dsSPDDataContext();
            msUser           user = new msUser();

            user.nrp    = cmbxUser.Value.ToString();
            user.roleId = Convert.ToInt32(cmbxUserRole.Value);
            try
            {
                data.msUsers.InsertOnSubmit(user);
                data.SubmitChanges();
                fillGridView(cmbxUser.Value.ToString());
            }
            catch (Exception ex)
            {
                Response.Write("Gagal dalam memasukkan data " + ex.Message);
            }
            finally
            {
                data.Dispose();
            }
        }
Ejemplo n.º 6
0
        private void fillGridView(object p)
        {
            dsSPDDataContext data = new dsSPDDataContext();
            string           nrp  = (string)p;
            var query             = (from u in data.msUsers
                                     join r in data.msRoles
                                     on u.roleId equals r.id
                                     join k in data.msKaryawans
                                     on u.nrp equals k.nrp
                                     where u.nrp == p.ToString()
                                     select new
            {
                nrp = u.nrp,
                nama = k.namaLengkap,
                roleid = r.id,
                role = r.namaRole
            });

            gvRole.DataSource = query.ToList();
            gvRole.DataBind();
            data.Dispose();
        }
Ejemplo n.º 7
0
        protected void btnSimpan_Click(object sender, EventArgs e)
        {
            dsSPDDataContext dss  = new dsSPDDataContext();
            string           mode = "add";

            mode = hfmode.Value.ToString();
            msCost cst = (from k in dss.msCosts where k.costId.ToString().Trim() == hfCostId.Value.Trim() select k).FirstOrDefault();

            if (cst == null)
            {
                msCost cost = new msCost();
                cost = fillK();
                dss.msCosts.InsertOnSubmit(cost);
                dss.SubmitChanges();
                dss.Dispose();
                clear_form();
                notif.Text = "Data berhasil disimpan";
                fillGV();
            }
            else
            {
                //clear_form();

                //if (mode == "add")
                //{
                //    notif.Text = "Simpan gagal : NRP Karyawan Sudah Terdaftar";
                //}
                //else
                //{
                fillEdit(ref cst);
                dss.SubmitChanges();
                dss.Dispose();
                clear_form();
                notif.Text = "Data berhasil disimpan";
                fillGV();
                //}
            }
        }
Ejemplo n.º 8
0
        protected void btnProsesNew_Click(object sender, EventArgs e)
        {
            using (var ctx = new dsSPDDataContext())
            {
                var users = from u in ctx.trSPDs where u.noSPD == txtNoSPD.Text || u.noSPD == TextBox1.Text || u.noSPD == TextBox2.Text ||
                            u.noSPD == TextBox3.Text || u.noSPD == TextBox4.Text || u.noSPD == TextBox5.Text ||
                            u.noSPD == TextBox6.Text || u.noSPD == TextBox7.Text || u.noSPD == TextBox8.Text ||
                            u.noSPD == TextBox9.Text || u.noSPD == TextBox10.Text || u.noSPD == TextBox11.Text ||
                            u.noSPD == TextBox12.Text || u.noSPD == TextBox13.Text || u.noSPD == TextBox14.Text ||
                            u.noSPD == TextBox15.Text || u.noSPD == TextBox16.Text || u.noSPD == TextBox17.Text ||
                            u.noSPD == TextBox18.Text || u.noSPD == TextBox19.Text || u.noSPD == TextBox20.Text ||
                            u.noSPD == TextBox21.Text || u.noSPD == TextBox22.Text || u.noSPD == TextBox23.Text ||
                            u.noSPD == TextBox24.Text || u.noSPD == TextBox25.Text || u.noSPD == TextBox26.Text ||
                            u.noSPD == TextBox27.Text || u.noSPD == TextBox28.Text || u.noSPD == TextBox29.Text select u;

                foreach (trSPD us in users)
                {
                    us.tglTerima = Convert.ToDateTime(txtTglTerima.Text);
                }

                try
                {
                    ctx.SubmitChanges();
                }
                catch (Exception)
                {
                    //errorMessageHidden.Add("Error Submit SPD, gangguan teknis");
                    //errorMessageHidden.Add(ex.Message);
                }
                finally
                {
                    lblSave.Visible = true;

                    btnProsesNew.Enabled = false;
                }
            }
            //  ProcessNew(txtNoSPD.Text);
        }
Ejemplo n.º 9
0
        protected void btnSimpan_Click(object sender, EventArgs e)
        {
            dsSPDDataContext dss  = new dsSPDDataContext();
            string           mode = "add";

            mode = hfmode.Value.ToString();
            msKaryawan kr = (from k in dss.msKaryawans where k.nrp.Trim() == txtNRP.Text.Trim() select k).FirstOrDefault();

            if (kr == null)
            {
                msKaryawan krs = new msKaryawan();
                krs = fillK();
                dss.msKaryawans.InsertOnSubmit(krs);
                dss.SubmitChanges();
                dss.Dispose();
                clear_form();
                notif.Text = "Data berhasil disimpan";
                fillGV();
            }
            else
            {
                //clear_form();

                if (mode == "add")
                {
                    notif.Text = "Simpan gagal : NRP Karyawan Sudah Terdaftar";
                }
                else
                {
                    fillEdit(ref kr);
                    dss.SubmitChanges();
                    dss.Dispose();
                    clear_form();
                    notif.Text = "Data berhasil disimpan";
                    fillGV();
                }
            }
        }
Ejemplo n.º 10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string   strLoginID = string.Empty;
            classSpd oSPD       = new classSpd();

            if (Session["IDLogin"] != null)
            {
                strLoginID = (string)Session["IDLogin"];
            }
            else
            {
                strLoginID = SetLabelWelcome();
            }
            msKaryawan       karyawan = oSPD.getKaryawan(strLoginID);
            dsSPDDataContext data     = new dsSPDDataContext();
            Int32            roleid   = (from k in data.msUsers
                                         where k.nrp == karyawan.nrp && (k.roleId == Konstan.SYSADMIN || k.roleId == Konstan.GA)
                                         select k.roleId).FirstOrDefault();

            if (roleid == Konstan.SYSADMIN || roleid == Konstan.GA || strLoginID.Contains("yudi"))
            {
                cmbxUser.Visible     = true;
                cmbxUserRole.Visible = true;
                gvRole.Visible       = true;
                btnAdd.Visible       = true;
                Label1.Visible       = true;
                Label2.Visible       = false;
            }
            else
            {
                cmbxUser.Visible     = false;
                cmbxUserRole.Visible = false;
                gvRole.Visible       = false;
                btnAdd.Visible       = false;
                Label1.Visible       = false;
                Label2.Visible       = true;
            }
        }
Ejemplo n.º 11
0
        private void fillGV(string filter)
        {
            dsSPDDataContext dsp = new dsSPDDataContext();

            if (!String.IsNullOrEmpty(filter))
            {
                var query = (from m in dsp.msRoles
                             select new { m.id, m.namaRole, m.status }
                             ).Where(o => o.status == true && o.namaRole.Contains(filter));
                gvRole.DataSource = query.ToList();
            }
            else
            {
                var query = (from m in dsp.msRoles
                             select new { m.id, m.namaRole, m.status }
                             ).Where(o => o.status == true);
                gvRole.DataSource = query.ToList();
            }

            gvRole.DataBind();
            dsp.Dispose();
            gvRole.Visible = true;
        }
Ejemplo n.º 12
0
        private bool isSec(string p, string x)
        {
            bool returner = false;

            using (var ctx = new dsSPDDataContext())
            {
                try
                {
                    var datadirect = ctx.msUsers.FirstOrDefault(o => o.nrp == x).roleId;
                    var data       = ctx.msUsers.FirstOrDefault(o => o.nrp == p).roleId;
                    if (data == 23 && (datadirect == 13 || datadirect == 14))
                    {
                        returner = true;
                    }
                }
                catch (Exception)
                {
                    returner = false;
                }
            }

            return(returner);
        }
Ejemplo n.º 13
0
        void bindFind()
        {
            using (var ctx = new dsSPDDataContext())
            {
                string filter = !string.IsNullOrEmpty(txtTglBerangkat.Text.Trim()) ? "tglBerangkat" : string.Empty;
                string param  = txtTglBerangkat.Text;
                //var data = ctx.sp_GetApprovalSPDAtasanLangsung(karyawan.nrp, filter, param).ToList();
                var data = ctx.sp_GetApprovalSPDAtasanLangsung(ConfigurationManager.AppSettings["NRPAtasan"].ToString(), filter, param).ToList();
                gvViewSPD.DataSource = data;
                gvViewSPD.DataBind();

                if (!data.Any())
                {
                    gvViewSPD.Visible  = false;
                    lblMessage.Visible = true;
                    lblMessage.Text    = "No data";
                }
                else
                {
                    gvViewSPD.Visible = true;
                }
            }
        }
Ejemplo n.º 14
0
        protected void btnFind_Click(object sender, EventArgs e)
        {
            dsSPDDataContext data         = new dsSPDDataContext();
            DateTime?        tglBerangkat = txtTglBerangkat.Text == "" ? null : convert(Convert.ToDateTime(txtTglBerangkat.Text));
            var query = from spd in data.trSPDs.AsEnumerable()
                        join keperluan in data.msKeperluans.AsEnumerable()
                        on spd.idKeperluan equals keperluan.id
                        where spd.noSPD == txtNoSPD.Text || spd.namaLengkap.ToUpper() == txtNamaLengkap.Text.ToUpper() || spd.tglBerangkat == tglBerangkat
                        select new
            {
                noSPD        = spd.noSPD,
                nrp          = spd.nrp,
                namaLengkap  = spd.namaLengkap,
                cabangTujuan = spd.companyCodeTujuan != null ? spd.companyCodeTujuan + " - " + spd.personelAreaTujuan + " - " + spd.pSubAreaTujuan : spd.tempatTujuanLain,
                keperluan    = keperluan.keperluan,
                tglBerangkat = spd.tglBerangkat.ToShortDateString(),
                tglKembali   = spd.tglKembali.ToShortDateString(),
                status       = spd.status.Split('-')[1]
            };

            gvViewSPD.DataSource = query;
            gvViewSPD.DataBind();
        }
Ejemplo n.º 15
0
        private void CancelSPD(trSPD dataSpd, string nrp, string nospd)
        {
            using (var ctx = new dsSPDDataContext())
            {
                dataSpd               = ctx.trSPDs.FirstOrDefault(o => o.noSPD == nospd);
                dataSpd.status        = "SPD Cancel";
                dataSpd.isCancel      = true;
                dataSpd.diubahOleh    = nrp;
                dataSpd.diubahTanggal = DateTime.Now;
                dataSpd.isCancelDate  = DateTime.Now;

                // get data claim
                var dataClaim = ctx.trClaims.FirstOrDefault(o => o.noSPD == nospd);
                if (dataClaim != null)
                {
                    dataClaim.status        = "SPD Cancel";
                    dataClaim.isCancel      = true;
                    dataClaim.diubahOleh    = nrp;
                    dataClaim.diubahTanggal = DateTime.Now;
                    dataClaim.isCancelDate  = DateTime.Now;
                }

                ctx.SubmitChanges();

                // get all approval
                var approval = ctx.ApprovalStatus.Where(o => o.NoSPD == nospd).ToList();

                //get all people has been approve
                var approvalHasApproved = approval.Where(o => o.Status != null).Distinct().ToList();

                //send email to all people has been approved
                foreach (var item in approvalHasApproved)
                {
                    EmailCore.InformasiCancelSPD(item.NrpApproval, dataSpd.noSPD, dataSpd);
                }
            }
        }
Ejemplo n.º 16
0
        protected void lbEdit_Click(object sender, EventArgs e)
        {
            dsSPDDataContext dss       = new dsSPDDataContext();
            LinkButton       link      = (LinkButton)sender;
            GridViewRow      gv        = (GridViewRow)(link.NamingContainer);
            Label            id        = (Label)gv.FindControl("id");
            Label            idPlafon  = (Label)gv.FindControl("idPlafon");
            string           jenisSPD  = gv.Cells[1].Text;
            string           wilayah   = gv.Cells[2].Text;
            string           golongan  = gv.Cells[3].Text;
            string           plafon    = gv.Cells[4].Text;
            string           harga     = gv.Cells[5].Text;
            string           deskripsi = gv.Cells[6].Text;
            string           status    = gv.Cells[7].Text.ToUpper();
            var x = (from m in dss.msGolonganPlafons
                     where m.id.ToString().Trim() == id.Text.Trim()
                     select m).FirstOrDefault();

            fill_form(ref x, jenisSPD, wilayah, golongan, idPlafon.Text, status);
            hfmode.Value = "edit";

            pnlForm.Visible = true;
            pnlGrid.Visible = false;
        }
Ejemplo n.º 17
0
        internal void sendMail(trSPD spd, string To, msKaryawan kar)
        {
            System.Net.Mail.MailMessage email = new System.Net.Mail.MailMessage();
            StringBuilder    emailMessage     = new StringBuilder();
            StringBuilder    emailMessageFrom = new StringBuilder();
            StringBuilder    Content          = new StringBuilder();
            dsSPDDataContext data             = new dsSPDDataContext();
            var Atasan = (from k in data.msKaryawans
                          where k.nrp == spd.nrpAtasan
                          select k);
            //nrp ilang
            msKaryawan Tujuan = new msKaryawan();

            Tujuan = (from k in data.msKaryawans
                      where k.nrp == spd.nrpApprovalTujuan
                      select k).SingleOrDefault();
            msKaryawan Pengirim = new msKaryawan();

            Pengirim = (from k in data.msKaryawans
                        where k.nrp == spd.nrp
                        select k).FirstOrDefault();
            if (kar.nrp == "99999999")
            {
                Pengirim = kar;
                //Pengirim.nrp = kar.nrp;
                //Pengirim.job = kar.job;
                //Pengirim.golongan = kar.golongan;
                Pengirim.email = spd.email;
            }

            //hardcode untuk TRAC HO yang melakukan SPD, GAnya masi ke yulia
            if (Pengirim.kodePA == "1000")
            {
                Pengirim.kodePA = "1";
            }
            if (Pengirim.kodePSubArea == "1000")
            {
                Pengirim.kodePSubArea = "1";
            }
            var gaAsal = (from k in data.msKaryawans
                          join u in data.msUsers on k.nrp equals u.nrp
                          where u.roleId == 17 && k.coCd == Pengirim.coCd && k.kodePA == Pengirim.kodePA && k.kodePSubArea == Pengirim.kodePSubArea
                          select k);
            //msKaryawan atasanGaAsal = (from k in data.msKaryawans
            //                           where k.nrp == gaAsal.nrpAtasan
            //                           select k).SingleOrDefault();
            var KasirAsal = (from k in data.msKaryawans
                             join u in data.msUsers on k.nrp equals u.nrp
                             where u.roleId == 20 && k.coCd == Pengirim.coCd && k.kodePA == Pengirim.kodePA && k.kodePSubArea == Pengirim.kodePSubArea
                             select k);
            var FinanceAsal = (from k in data.msKaryawans
                               join u in data.msUsers on k.nrp equals u.nrp
                               where u.roleId == 19 && k.coCd == Pengirim.coCd && k.kodePA == Pengirim.kodePA && k.kodePSubArea == Pengirim.kodePSubArea
                               select k);

            trClaim claim = new trClaim();

            claim = (from c in data.trClaims
                     where c.noSPD == spd.noSPD
                     select c).FirstOrDefault();


            if (To == "Extend")
            {
                email.Subject = "Extend SPD " + spd.noSPD + "-" + spd.namaLengkap;
                string mailAddress = string.Empty;
                string NamaLengkap = string.Empty;
                foreach (msKaryawan item in Atasan)
                {
                    mailAddress += item.email.Trim() + ",";
                    NamaLengkap += item.namaLengkap + "/";
                }
                mailAddress = mailAddress.Remove(mailAddress.Length - 1);
                NamaLengkap = NamaLengkap.Remove(NamaLengkap.Length - 1);
                email.To.Add(mailAddress);
                email.Bcc.Add("*****@*****.**");
                emailMessage.Append(string.Format("Kepada Yth, "));
                emailMessage.Append("<br />");
                emailMessage.Append(string.Format("Bapak/Ibu {0}", NamaLengkap));
                emailMessage.Append("<br />");
                emailMessage.Append("<br />");
                emailMessage.Append(string.Format("Bapak/Ibu {0} telah melakukan <b>Extend SPD</b> dengan rincian sebagai berikut : ", spd.namaLengkap));
                emailMessage.Append("<br />");
                Content = ContentBodymail(Content, spd, null, kar);
                emailMessage.Append(Content);
                emailMessage.Append("Terima kasih.");
                emailMessage.Append("<br />");
                emailMessage.Append(string.Format("<b style='color: red;'>Catatan : E-mail ini dikirim otomatis oleh Sistem Pembuatan SPD.Tidak perlu membalas E-mail ini </b>"));
                //send extend mail here
            }
            else
            {
                if (spd.status.Split('-')[0] == "2")
                {
                    email.Subject = "Approval SPD " + spd.noSPD + "-" + spd.namaLengkap;
                    string mailAddress = string.Empty;
                    string NamaLengkap = string.Empty;

                    foreach (var item in gaAsal)
                    {
                        mailAddress += item.email.Trim() + ",";
                        NamaLengkap += item.namaLengkap + "/";
                    }

                    foreach (msKaryawan item in Atasan)
                    {
                        mailAddress += item.email.Trim() + ",";
                        NamaLengkap += item.namaLengkap + "/";
                    }
                    mailAddress = mailAddress.Remove(mailAddress.Length - 1);
                    NamaLengkap = NamaLengkap.Remove(NamaLengkap.Length - 1);
                    email.To.Add(mailAddress);
                    email.Bcc.Add("*****@*****.**");
                    emailMessage.Append(string.Format("Kepada Yth, "));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Bapak/Ibu {0}", NamaLengkap));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Bapak/Ibu {0} telah mengirim <b>Request Approval SPD</b> dengan rincian sebagai berikut : ", spd.namaLengkap));
                    emailMessage.Append("<br />");
                    Content = ContentBodymail(Content, spd, null, kar);
                    emailMessage.Append(Content);
                    emailMessage.Append("Apabila Bapak/ Ibu berada di kantor bisa menggunakan link dibawah ini untuk melakukan approve/reject Request Claim SPD tersebut");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<a href='http://trac54/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2}'>Approve</a>", spd.noSPD, "atasan", "spd"));
                    emailMessage.Append(" ");
                    emailMessage.Append("|");
                    emailMessage.Append(" ");
                    emailMessage.Append(string.Format("<a href='http://trac54/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2}'>Reject</a>", spd.noSPD, "atasan", "spd"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append("Jika link di atas tidak dapat diklik, copy dan gunakan URL dibawah ini di browser: ");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Approve : http://trac54/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2} ", spd.noSPD, "atasan", "spd"));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Reject : http://trac54/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2} ", spd.noSPD, "atasan", "spd"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append("Apabila Bapak/ Ibu berada di luar kantor bisa menggunakan link dibawah ini ");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<a href='http://118.97.80.12/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2}'>Approve</a>", spd.noSPD, "atasan", "spd"));
                    emailMessage.Append(" ");
                    emailMessage.Append("|");
                    emailMessage.Append(" ");
                    emailMessage.Append(string.Format("<a href='http://118.97.80.12/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2}'>Reject</a>", spd.noSPD, "atasan", "spd"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append("Jika link di atas tidak dapat diklik, copy dan gunakan URL dibawah ini di browser: ");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Approve : http://118.97.80.12/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2} ", spd.noSPD, "atasan", "spd"));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Reject : http://118.97.80.12/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2} ", spd.noSPD, "atasan", "spd"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<b style='color: red;'>Catatan : E-mail ini dikirim otomatis oleh Sistem Pembuatan SPD.Tidak perlu membalas E-mail ini </b>"));
                }

                else if ((spd.status.Split('-')[0] == "3" || spd.status.Split('-')[0] == "6" || spd.status.Split('-')[0] == "7" || spd.status.Split('-')[0] == "8" || spd.status.Split('-')[0] == "9" ||
                          spd.status.Split('-')[0] == "12" || spd.status.Split('-')[0] == "13") && To == "Pembuat")
                {
                    email.Subject = "Informasi SPD " + spd.noSPD + "-" + spd.namaLengkap;
                    email.To.Add(Pengirim.email.Trim());
                    email.Bcc.Add("*****@*****.**");
                    emailMessage.Append(string.Format("Kepada Yth, "));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Bapak/Ibu {0}", Pengirim.namaLengkap));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Status Request SPD Bapak/Ibu {0} adalah <b>{1}</b>.Berikut ini rincian SPD tersebut :  ", spd.namaLengkap, spd.status.Split('-')[1]));
                    emailMessage.Append("<br />");
                    Content = ContentBodymail(Content, spd, null, kar);
                    emailMessage.Append(Content);
                    emailMessage.Append("Terima kasih.");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<b style='color: red;'>Catatan : E-mail ini dikirim otomatis oleh Sistem Pembuatan SPD.Tidak perlu membalas E-mail ini </b>"));
                }
                else if ((spd.status.Split('-')[0] == "3" || spd.status.Split('-')[0] == "6") && To == "GA")
                {
                    email.Subject = "Informasi SPD " + spd.noSPD + "-" + spd.namaLengkap;
                    string mailAddress = string.Empty;
                    string NamaLengkap = string.Empty;
                    foreach (var item in gaAsal)
                    {
                        mailAddress += item.email.Trim() + ",";
                        NamaLengkap += item.namaLengkap + "/";
                    }
                    mailAddress = mailAddress.Remove(mailAddress.Length - 1);
                    NamaLengkap = NamaLengkap.Remove(NamaLengkap.Length - 1);
                    email.To.Add(mailAddress);
                    email.Bcc.Add("*****@*****.**");
                    emailMessage.Append(string.Format("Kepada Yth, "));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Bapak/Ibu {0}", NamaLengkap));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");

                    emailMessage.Append(string.Format("Status Request SPD Bapak/Ibu {0} <b>Sudah Disetujui atasan</b>. Mohon bantuannya untuk mencarikan tiket dengan rincian sebagai berikut :  ", spd.namaLengkap, spd.status.Split('-')[1]));
                    emailMessage.Append("<br />");
                    Content = ContentBodymail(Content, spd, null, kar);
                    emailMessage.Append(Content);
                    emailMessage.Append("Terima kasih.");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<b style='color: red;'>Catatan : E-mail ini dikirim otomatis oleh Sistem Pembuatan SPD.Tidak perlu membalas E-mail ini </b>"));
                }
                else if ((spd.status.Split('-')[0] == "3" || spd.status.Split('-')[0] == "6") && To == "Tujuan")
                {
                    email.Subject = "Approval SPD " + spd.noSPD + "-" + spd.namaLengkap;
                    email.To.Add(Tujuan.email.Trim());
                    email.Bcc.Add("*****@*****.**");
                    emailMessage.Append(string.Format("Kepada Yth, "));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Bapak/Ibu {0}", Tujuan.namaLengkap));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");

                    emailMessage.Append(string.Format("Bapak/Ibu {0}, telah mengirim <b>Request Approval SPD atasan tempat tujuan</b> dengan rincian sebagai berikut : ", spd.namaLengkap));
                    emailMessage.Append("<br />");
                    Content = ContentBodymail(Content, spd, null, kar);
                    emailMessage.Append(Content);
                    emailMessage.Append("Apabila Bapak/ Ibu berada di kantor bisa menggunakan link dibawah ini untuk melakukan approve/reject Request Claim SPD tersebut");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<a href='http://trac54/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2}'>Approve</a>", spd.noSPD, "tujuan", "spd"));
                    emailMessage.Append(" ");
                    emailMessage.Append("|");
                    emailMessage.Append(" ");
                    emailMessage.Append(string.Format("<a href='http://trac54/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2}'>Reject</a>", spd.noSPD, "tujuan", "spd"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append("Jika link di atas tidak dapat diklik, copy dan gunakan URL dibawah ini di browser: ");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Approve : http://trac54/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2} ", spd.noSPD, "tujuan", "spd"));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Reject : http://trac54/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2} ", spd.noSPD, "tujuan", "spd"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append("Apabila Bapak/ Ibu berada di luar kantor bisa menggunakan link dibawah ini ");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<a href='http://118.97.80.12/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2}'>Approve</a>", spd.noSPD, "tujuan", "spd"));
                    emailMessage.Append(" ");
                    emailMessage.Append("|");
                    emailMessage.Append(" ");
                    emailMessage.Append(string.Format("<a href='http://118.97.80.12/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2}'>Reject</a>", spd.noSPD, "tujuan", "spd"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append("Jika link di atas tidak dapat diklik, copy dan gunakan URL dibawah ini di browser: ");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Approve : http://118.97.80.12/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2}", spd.noSPD, "tujuan", "spd"));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Reject : http://118.97.80.12/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2}", spd.noSPD, "tujuan", "spd"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append("*Catatan : Mohon lakukan approval apabila karyawan yang melakukan SPD sudah tiba di tempat tujuan");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<b style='color: red;'>**Catatan : E-mail ini dikirim otomatis oleh Sistem Pembuatan SPD.Tidak perlu membalas E-mail ini </b>"));
                }
                else if (spd.status.Split('-')[0] == "11")
                {
                    string mailAddress = string.Empty;
                    string NamaLengkap = string.Empty;
                    foreach (var item in Atasan)
                    {
                        mailAddress += item.email.Trim() + ",";
                        NamaLengkap += item.namaLengkap + "/";
                    }
                    mailAddress   = mailAddress.Remove(mailAddress.Length - 1);
                    NamaLengkap   = NamaLengkap.Remove(NamaLengkap.Length - 1);
                    email.Subject = "Approval Claim " + spd.noSPD + "-" + spd.namaLengkap;
                    email.To.Add(mailAddress);
                    email.Bcc.Add("*****@*****.**");
                    emailMessage.Append(string.Format("Kepada Yth, "));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Bapak/Ibu {0}", NamaLengkap));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");

                    emailMessage.Append(string.Format("Bapak/Ibu {0} telah mengirim <b>Request Approval Claim SPD</b> dengan rincian sebagai berikut : ", spd.namaLengkap));
                    emailMessage.Append("<br />");
                    Content = ContentBodymail(Content, spd, claim, kar);
                    emailMessage.Append(Content);
                    emailMessage.Append("Apabila Bapak/ Ibu berada di kantor bisa menggunakan link dibawah ini untuk melakukan approve/reject Request Claim SPD tersebut");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<a href='http://trac54/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2}'>Approve</a>", spd.noSPD, "atasan", "claim"));
                    emailMessage.Append(" ");
                    emailMessage.Append("|");
                    emailMessage.Append(" ");
                    emailMessage.Append(string.Format("<a href='http://trac54/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2}'>Reject</a>", spd.noSPD, "atasan", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("Jika link di atas tidak dapat diklik, copy dan gunakan URL dibawah ini di browser: ");
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Approve : http://trac54/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2}", spd.noSPD, "atasan", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Reject : http://trac54/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2}", spd.noSPD, "atasan", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append("Apabila Bapak/ Ibu berada di luar kantor bisa menggunakan link dibawah ini ");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<a href='http://118.97.80.12/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2}'>Approve</a>", spd.noSPD, "atasan", "claim"));
                    emailMessage.Append(" ");
                    emailMessage.Append("|");
                    emailMessage.Append(" ");
                    emailMessage.Append(string.Format("<a href='http://118.97.80.12/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2}'>Reject</a>", spd.noSPD, "atasan", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append("Jika link di atas tidak dapat diklik, copy dan gunakan URL dibawah ini di browser: ");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Approve : http://118.97.80.12/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2}", spd.noSPD, "atasan", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Reject : http://118.97.80.12/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2}", spd.noSPD, "atasan", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<b style='color: red;'>Catatan : E-mail ini dikirim otomatis oleh Sistem Pembuatan SPD.Tidak perlu membalas E-mail ini </b>"));
                }
                else if ((spd.status.Split('-')[0] == "14" || spd.status.Split('-')[0] == "15" || spd.status.Split('-')[0] == "16" || spd.status.Split('-')[0] == "17" ||
                          spd.status.Split('-')[0] == "18" || spd.status.Split('-')[0] == "19" || spd.status.Split('-')[0] == "20" || spd.status.Split('-')[0] == "26" || spd.status.Split('-')[0] == "27") && To == "Pembuat")
                {
                    email.Subject = "Info Claim " + spd.noSPD + "-" + spd.namaLengkap;
                    email.To.Add(Pengirim.email.Trim());
                    email.Bcc.Add("*****@*****.**");
                    emailMessage.Append(string.Format("Kepada Yth, "));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Bapak/Ibu {0}", Pengirim.namaLengkap));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");

                    emailMessage.Append(string.Format("Status Request Claim SPD Bapak/Ibu {0} adalah <b>{1}</b>.Berikut ini rincian Claim SPD tersebut:  ", spd.namaLengkap, spd.status.Split('-')[1]));
                    emailMessage.Append("<br />");
                    Content = ContentBodymail(Content, spd, claim, kar);
                    emailMessage.Append(Content);
                    emailMessage.Append("Terima kasih.");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<b style='color: red;'>Catatan : E-mail ini dikirim otomatis oleh Sistem Pembuatan SPD.Tidak perlu membalas E-mail ini </b>"));
                }
                else if ((spd.status.Split('-')[0] == "16") && To == "GA")
                {
                    string mailAddress = string.Empty;
                    string NamaLengkap = string.Empty;
                    foreach (var item in gaAsal)
                    {
                        mailAddress += item.email.Trim() + ",";
                        NamaLengkap += item.namaLengkap + "/";
                    }
                    mailAddress   = mailAddress.Remove(mailAddress.Length - 1);
                    NamaLengkap   = NamaLengkap.Remove(NamaLengkap.Length - 1);
                    email.Subject = "Approval Claim " + spd.noSPD + "-" + spd.namaLengkap;
                    email.To.Add(mailAddress);
                    email.Bcc.Add("*****@*****.**");
                    emailMessage.Append(string.Format("Kepada Yth, "));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Bapak/Ibu {0}", NamaLengkap));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");

                    emailMessage.Append(string.Format("Status Request SPD Bapak/Ibu {0} <b>Sudah Di-Approve atasan</b> dengan rincian sebagai berikut :  ", spd.namaLengkap, spd.status.Split('-')[1]));
                    emailMessage.Append("<br />");
                    Content = ContentBodymail(Content, spd, claim, kar);
                    emailMessage.Append(Content);
                    emailMessage.Append("Apabila Bapak/ Ibu berada di kantor bisa menggunakan link dibawah ini untuk melakukan approve/reject Request Claim SPD tersebut");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<a href='http://trac54/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2}'>Approve</a>", spd.noSPD, "ga", "claim"));
                    emailMessage.Append(" ");
                    emailMessage.Append("|");
                    emailMessage.Append(" ");
                    emailMessage.Append(string.Format("<a href='http://trac54/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2}'>Reject</a>", spd.noSPD, "ga", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append("Jika link di atas tidak dapat diklik, copy dan gunakan URL dibawah ini di browser: ");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Approve : http://trac54/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2}", spd.noSPD, "ga", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Reject : http://trac54/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2}", spd.noSPD, "ga", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append("Apabila Bapak/ Ibu berada di luar kantor bisa menggunakan link dibawah ini ");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<a href='http://118.97.80.12/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2}'>Approve</a>", spd.noSPD, "ga", "claim"));
                    emailMessage.Append(" ");
                    emailMessage.Append("|");
                    emailMessage.Append(" ");
                    emailMessage.Append(string.Format("<a href='http://118.97.80.12/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2}'>Reject</a>", spd.noSPD, "ga", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append("Jika link di atas tidak dapat diklik, copy dan gunakan URL dibawah ini di browser: ");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Approve : http://118.97.80.12/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2}", spd.noSPD, "ga", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Reject : http://118.97.80.12/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2}", spd.noSPD, "ga", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<b style='color: red;'>Catatan : E-mail ini dikirim otomatis oleh Sistem Pembuatan SPD.Tidak perlu membalas E-mail ini </b>"));
                }
                else if ((spd.status.Split('-')[0] == "17") && To == "finance")
                {
                    string mailAddress = string.Empty;
                    string NamaLengkap = string.Empty;
                    foreach (var item in FinanceAsal)
                    {
                        mailAddress += item.email.Trim() + ",";
                        NamaLengkap += item.namaLengkap + "/";
                    }
                    mailAddress   = mailAddress.Remove(mailAddress.Length - 1);
                    NamaLengkap   = NamaLengkap.Remove(NamaLengkap.Length - 1);
                    email.Subject = "Approval Claim " + spd.noSPD + "-" + spd.namaLengkap;
                    email.To.Add(mailAddress);
                    email.Bcc.Add("*****@*****.**");
                    emailMessage.Append(string.Format("Kepada Yth, "));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Bapak/Ibu {0}", NamaLengkap));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");

                    emailMessage.Append(string.Format("Status Request SPD Bapak/Ibu {0} <b>Sudah Di-Approve GA</b> dengan rincian sebagai berikut :  ", spd.namaLengkap, spd.status.Split('-')[1]));
                    emailMessage.Append("<br />");
                    Content = ContentBodymail(Content, spd, claim, kar);
                    emailMessage.Append(Content);
                    emailMessage.Append("Apabila Bapak/ Ibu berada di kantor bisa menggunakan link dibawah ini untuk melakukan approve/reject Request Claim SPD tersebut");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<a href='http://trac54/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2}'>Approve</a>", spd.noSPD, "finance", "claim"));
                    emailMessage.Append(" ");
                    emailMessage.Append("|");
                    emailMessage.Append(" ");
                    emailMessage.Append(string.Format("<a href='http://trac54/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2}'>Reject</a>", spd.noSPD, "finance", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append("Jika link di atas tidak dapat diklik, copy dan gunakan URL dibawah ini di browser: ");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Approve : http://trac54/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2}", spd.noSPD, "finance", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Reject : http://trac54/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2}", spd.noSPD, "finance", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append("Apabila Bapak/ Ibu berada di luar kantor bisa menggunakan link dibawah ini ");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<a href='http://118.97.80.12/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2}'>Approve</a>", spd.noSPD, "finance", "claim"));
                    emailMessage.Append(" ");
                    emailMessage.Append("|");
                    emailMessage.Append(" ");
                    emailMessage.Append(string.Format("<a href='http://118.97.80.12/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2}'>Reject</a>", spd.noSPD, "finance", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append("Jika link di atas tidak dapat diklik, copy dan gunakan URL dibawah ini di browser: ");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Approve : http://118.97.80.12/SPD/approvalSPD.ashx?conf=approve&nospd={0}&subject={1}&type={2}", spd.noSPD, "finance", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Reject : http://118.97.80.12/SPD/approvalSPD.ashx?conf=reject&nospd={0}&subject={1}&type={2}", spd.noSPD, "finance", "claim"));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<b style='color: red;'>Catatan : E-mail ini dikirim otomatis oleh Sistem Pembuatan SPD.Tidak perlu membalas E-mail ini </b>"));
                }
                else if ((spd.status.Split('-')[0] == "26") && To == "kasir")
                {
                    string mailAddress = string.Empty;
                    string NamaLengkap = string.Empty;
                    foreach (var item in KasirAsal)
                    {
                        mailAddress += item.email.Trim() + ",";
                        NamaLengkap += item.namaLengkap + "/";
                    }
                    mailAddress   = mailAddress.Remove(mailAddress.Length - 1);
                    NamaLengkap   = NamaLengkap.Remove(NamaLengkap.Length - 1);
                    email.Subject = "Approval Claim " + spd.noSPD + "-" + spd.namaLengkap;
                    email.To.Add(mailAddress);
                    email.Bcc.Add("*****@*****.**");
                    emailMessage.Append(string.Format("Kepada Yth, "));
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("Bapak/Ibu {0}", NamaLengkap));
                    emailMessage.Append("<br />");
                    emailMessage.Append("<br />");

                    emailMessage.Append(string.Format("Status Request SPD Bapak/Ibu {0} <b>Sudah Di-Approve Finance</b> dengan rincian sebagai berikut :  ", spd.namaLengkap, spd.status.Split('-')[1]));
                    emailMessage.Append("<br />");
                    Content = ContentBodymail(Content, spd, claim, kar);
                    emailMessage.Append(Content);
                    emailMessage.Append("Terima kasih.");
                    emailMessage.Append("<br />");
                    emailMessage.Append(string.Format("<b style='color: red;'>Catatan : E-mail ini dikirim otomatis oleh Sistem Pembuatan SPD.Tidak perlu membalas E-mail ini </b>"));
                }
            }



            #region Unused
            //else if ((spd.status.Split('-')[0] == "17") && To == "GA")
            //{
            //    email.Subject = "Informasi Claim";
            //    //next to do
            //    //email.To.Add(Atasan.email);
            //    emailMessage.Append(string.Format("Kepada Yth, "));
            //    emailMessage.Append("<br />");
            //    emailMessage.Append(string.Format("Bapak/Ibu {0}", Atasan.namaLengkap));
            //    emailMessage.Append("<br />");
            //    emailMessage.Append("<br />");


            //    emailMessage.Append(string.Format("Status Request SPD Bapak/Ibu {0} Sudah Di-Approve atasan dengan rincian sebagai berikut :  ", spd.namaLengkap, spd.status.Split('-')[1]));
            //    emailMessage.Append("<br />");
            //    Content = ContentBodymail(Content, spd, null);
            //    emailMessage.Append(Content);
            //    emailMessage.Append("Terima kasih.");
            //    emailMessage.Append("<br />");
            //    emailMessage.Append(string.Format("<b style='color: red;'>Catatan : E-mail ini dikirim otomatis oleh Sistem Pembuatan SPD.Tidak perlu membalas E-mail ini </b>"));
            //}
            //else if ((spd.status.Split('-')[0] == "20") && To == "GA")
            //{
            //    email.Subject = "Informasi Claim";
            //    //next to do
            //    //email.To.Add(Atasan.email);
            //    emailMessage.Append(string.Format("Kepada Yth, "));
            //    emailMessage.Append("<br />");
            //    emailMessage.Append(string.Format("Bapak/Ibu {0}", Atasan.namaLengkap));
            //    emailMessage.Append("<br />");
            //    emailMessage.Append("<br />");


            //    emailMessage.Append(string.Format("Status Request SPD Bapak/Ibu {0} Sudah Di-Approve atasan dengan rincian sebagai berikut :  ", spd.namaLengkap, spd.status.Split('-')[1]));
            //    emailMessage.Append("<br />");
            //    Content = ContentBodymail(Content, spd, null);
            //    emailMessage.Append(Content);
            //    emailMessage.Append("Terima kasih.");
            //    emailMessage.Append("<br />");
            //    emailMessage.Append(string.Format("<b style='color: red;'>Catatan : E-mail ini dikirim otomatis oleh Sistem Pembuatan SPD.Tidak perlu membalas E-mail ini </b>"));
            //}
            #endregion


            email.From = new System.Net.Mail.MailAddress("*****@*****.**");

            email.Priority   = System.Net.Mail.MailPriority.High;
            email.Body       = emailMessage.ToString();
            email.IsBodyHtml = true;
            System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();
            smtp.Send(email);
        }
Ejemplo n.º 18
0
        //add by martha
        protected void btncari_Click(object sender, EventArgs e)
        {
            string paramField = DropDownList1.Text.Trim() == "--Select--" ? "" : DropDownList1.Text.Trim();
            string a          = DropDownList1.SelectedValue;


            if (a == "No")
            {
                using (var ctx = new dsSPDDataContext())
                {
                    string filter = !string.IsNullOrEmpty(txtcari.Text.Trim()) ? "noSPD" : string.Empty;
                    string param  = txtcari.Text;
                    var    data   = ctx.sp_GetApprovalSPDAtasanLangsung(karyawan.nrp, filter, param).ToList();
                    gvViewSPD.DataSource = data;
                    gvViewSPD.DataBind();
                }
            }
            else if (a == "Nama")
            {
                using (var ctx = new dsSPDDataContext())
                {
                    string filter = !string.IsNullOrEmpty(txtcari.Text.Trim()) ? "namaLengkap" : string.Empty;
                    string param  = txtcari.Text;
                    var    data   = ctx.sp_GetApprovalSPDAtasanLangsung(karyawan.nrp, filter, param).ToList();

                    gvViewSPD.DataSource = data;
                    gvViewSPD.DataBind();
                }
            }
            else if (a == "BPHUM")
            {
                using (var ctx = new dsSPDDataContext())
                {
                    string filter = !string.IsNullOrEmpty(txtcari.Text.Trim()) ? "BPHUM" : string.Empty;
                    string param  = txtcari.Text;
                    var    data   = ctx.sp_GetApprovalSPDAtasanLangsung(karyawan.nrp, filter, param).ToList();
                    gvViewSPD.DataSource = data;
                    gvViewSPD.DataBind();
                }
            }
            else if (a == "ErrorBPHUM")
            {
                using (var ctx = new dsSPDDataContext())
                {
                    string filter = !string.IsNullOrEmpty(txtcari.Text.Trim()) ? "ErrorBPHUM" : string.Empty;
                    string param  = txtcari.Text;
                    var    data   = ctx.sp_GetApprovalSPDAtasanLangsung(karyawan.nrp, filter, param).ToList();
                    gvViewSPD.DataSource = data;
                    gvViewSPD.DataBind();
                }
            }
            else
            {
                using (var ctx = new dsSPDDataContext())
                {
                    var data = ctx.sp_GetApprovalSPDAtasanLangsung(karyawan.nrp, string.Empty, string.Empty).ToList();
                    gvViewSPD.DataSource = data;
                    gvViewSPD.DataBind();
                }
            }
        }
Ejemplo n.º 19
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            using (var ctx = new dsSPDDataContext())
            {
                List <string> errorMessageHidden = new List <string>();
                trSPD         spd = ctx.trSPDs.FirstOrDefault(o => o.noSPD == hiddenSPD.Value);

                if (spd == null)
                {
                    errorMessageHidden.Add("Data SPD tidak ditemukan");
                }
                if (string.IsNullOrEmpty(hiddenNrpAtasan.Value))
                {
                    errorMessageHidden.Add("Data approval atasan tidak ditemukan");
                }

                trClaim claim = ctx.trClaims.FirstOrDefault(o => o.noSPD == spd.noSPD);
                if (claim != null)
                {
                    claim.ApprovedAtasanBy  = spd.trClaim.ApprovedAtasanBy;
                    claim.ApprovedGABy      = spd.trClaim.ApprovedGABy;
                    claim.ApprovedFinanceBy = spd.trClaim.ApprovedFinanceBy;

                    claim.isApprovedAtasan      = spd.trClaim.isApprovedAtasan;
                    claim.isApprovedAtasanDate  = spd.trClaim.isApprovedAtasanDate;
                    claim.isApprovedFinance     = spd.trClaim.isApprovedFinance;
                    claim.isApprovedFinanceDate = spd.trClaim.isApprovedFinanceDate;
                    claim.isApprovedGA          = spd.trClaim.isApprovedGA;
                    claim.isApprovedGADate      = spd.trClaim.isApprovedGADate;
                    claim.isCancel     = spd.trClaim.isCancel;
                    claim.isCancelDate = spd.trClaim.isCancelDate;
                    claim.isSubmit     = spd.trClaim.isSubmit;
                    claim.isSubmitDate = spd.trClaim.isSubmitDate;
                    claim.status       = spd.trClaim.status;
                }

                if (errorMessageHidden.Count == 0 && claim == null)
                {
                    claim               = new trClaim();
                    claim.noSPD         = hiddenSPD.Value;
                    claim.dibuatOleh    = karyawan.nrp;
                    claim.dibuatTanggal = DateTime.Now;
                    claim.status        = "Saved";
                    claim.nrpAtasan     = hiddenNrpAtasan.Value;
                    ctx.trClaims.InsertOnSubmit(claim);
                }


                // convert ke integer
                var kursInt           = Convert.ToInt32(txtKurs.Text);
                var uangMakan         = Convert.ToInt32(UangMakan.Text);
                var uangSaku          = Convert.ToInt32(UangSaku.Text);
                var tiket             = Convert.ToInt32(Tiket.Text);
                var hotel             = Convert.ToInt32(Hotel.Text);
                var laundry           = Convert.ToInt32(Laundry.Text);
                var komunikasi        = Convert.ToInt32(Komunikasi.Text);
                var airPortTax        = Convert.ToInt32(AirPortTax.Text);
                var bbm               = Convert.ToInt32(BBM.Text);
                var tol               = Convert.ToInt32(Tol.Text);
                var taxi              = Convert.ToInt32(Taxi.Text);
                var parkir            = Convert.ToInt32(Parkir.Text);
                var tunjanganKejauhan = Convert.ToInt32(Tunjangankejauhan.Text);//9 oktober 2018
                var biayaLainlain     = Convert.ToInt32(BiayaLainlain.Text);
                var total             =
                    uangMakan +
                    uangSaku +
                    tiket +
                    hotel +
                    laundry +
                    komunikasi +
                    airPortTax +
                    bbm +
                    tol +
                    taxi +
                    parkir +
                    tunjanganKejauhan +
                    biayaLainlain;
                var uangMuka = Convert.ToInt64(UangMuka.Text);

                claim.biayaMakan            = uangMakan;
                claim.uangSaku              = uangSaku;
                claim.tiket                 = tiket;
                claim.hotel                 = hotel;
                claim.BBM                   = bbm;
                claim.tol                   = tol;
                claim.taxi                  = taxi;
                claim.airportTax            = airPortTax;
                claim.laundry               = laundry;
                claim.parkir                = parkir;
                claim.komunikasi            = komunikasi;
                claim.UangTunjanganKejauhan = tunjanganKejauhan; // 9 oktober 2018
                claim.ketLainLain           = txtKeteranganBiayaLainlain.Text;
                claim.biayaLainLain         = biayaLainlain;
                claim.total                 = total;
                claim.kurs                  = kursInt;
                claim.diubahOleh            = karyawan.nrp;
                claim.diubahTanggal         = DateTime.Now;
                spd.uangMuka                = uangMuka.ToString();
                if (ifga(karyawan.nrp))
                {
                    spd.costCenter = DdlCostCenter.SelectedValue;
                }

                //update 26 september 2018
                claim.uangSaku_cek             = cbUangSaku.Checked;
                claim.hotelTanpaPenginapan_cek = cbHotelTanpaPenginapan.Checked;//


                claim.tiket_cek = cbTiket.Checked;
                claim.hotel_cek = cbHotel.Checked;

                claim.laundry_cek    = cbLaundry.Checked;
                claim.komunikasi_cek = cbKomunikasi.Checked;
                claim.airportTax_cek = cbAirPortTax.Checked;
                claim.BBM_cek        = cbBBM.Checked;
                claim.tol_cek        = cbTol.Checked;
                claim.taxi_cek       = cbTaxi.Checked;
                claim.parkir_cek     = cbParkir.Checked;

                string rgPattern = "[\\\\\\/:\\*\\?\"\'<>|]";
                Regex  objRegEx  = new Regex(rgPattern);
                if (fuDoc.HasFile)
                {
                    string uploadDirbpkb = spd.noSPD + "_1_" + System.IO.Path.GetFileName(fuDoc.PostedFile.FileName);

                    string strBaseLocation = Server.MapPath("Attach") + "\\" + objRegEx.Replace(uploadDirbpkb, "");
                    fuDoc.PostedFile.SaveAs(strBaseLocation);
                    string nama = objRegEx.Replace(uploadDirbpkb, "");

                    claim.urlBoardingPass = nama;
                }
                if (fuDoc1.HasFile)
                {
                    string uploadDirbpkb1   = spd.noSPD + "_2_" + System.IO.Path.GetFileName(fuDoc1.PostedFile.FileName);
                    string strBaseLocation1 = Server.MapPath("Attach") + "\\" + objRegEx.Replace(uploadDirbpkb1, "");
                    fuDoc1.PostedFile.SaveAs(strBaseLocation1);
                    string nama1 = objRegEx.Replace(uploadDirbpkb1, "");


                    claim.urlBoardingPass1 = nama1;
                }

                try
                {
                    ctx.SubmitChanges();
                }
                catch (Exception ex)
                {
                    errorMessageHidden.Add("Gagal save claim|" + ex.Message.ToString());
                    errorMessageHidden.Add(ex.Message);
                }
                finally
                {
                    pnlSuccess.Visible = true;
                    pnlError.Visible   = false;
                    lblSuccess.Text   += "Claim Berhasil di Save" + Environment.NewLine;
                    if (ifga(karyawan.nrp))
                    {
                        lblSuccess.Text += "Jika submit diclick (GA), maka proses approval akan diulang dari awal.";
                    }
                    btnSave.Enabled   = false;
                    btnReset.Disabled = true;

                    //ian 2015-04-10
                    if (claim != null)
                    {
                        if (claim.isSubmit == true)
                        {
                            btnSubmit.Enabled = false;
                        }
                        if (claim.isSubmit == null)
                        {
                            btnSubmit.Enabled = true;
                        }
                    }
                    else
                    {
                        btnSubmit.Enabled = true;
                    }
                    //end


                    if (ifga(karyawan.nrp))
                    {
                        if (claim.uangSaku_cek == true || claim.tiket_cek == true || claim.hotel_cek == true || claim.laundry_cek == true || claim.komunikasi_cek == true || claim.airportTax_cek == true || claim.BBM_cek == true || claim.tol_cek == true || claim.taxi_cek == true || claim.parkir_cek == true)
                        {
                            msKaryawan kary = new msKaryawan();
                            if (spd.nrp == "99999999")
                            {
                                kary.EMail        = spd.email;
                                kary.nrp          = spd.nrp;
                                kary.namaLengkap  = spd.namaLengkap;
                                kary.golongan     = "III";
                                kary.Job          = spd.jabatan;
                                kary.posisi       = spd.jabatan;
                                kary.coCd         = "1";
                                kary.kodePSubArea = "1";
                                kary.kodePA       = "1";
                            }
                            else
                            {
                                kary = (from kar in ctx.msKaryawans
                                        where kar.nrp == spd.nrp
                                        select kar).First();
                            }

                            classSpd oSpd = new classSpd();
                            oSpd.sendMailClaim(claim, kary, spd);
                        }
                    }
                }

                if (errorMessageHidden.Count() > 0)
                {
                    errorMessage.DataSource = errorMessageHidden;
                    errorMessage.DataBind();

                    pnlError.Visible   = true;
                    pnlSuccess.Visible = false;
                    btnSubmit.Enabled  = false;
                }
            }
        }
Ejemplo n.º 20
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["IDLogin"] == null || Session["noSPD"] == null)
            {
                Response.Redirect("frmHome.aspx");
            }


            strID               = (string)Session["IDLogin"];
            karyawan            = oSPD.getKaryawan(strID);
            Session["nrpLogin"] = karyawan.nrp;

            if (string.IsNullOrEmpty(karyawan.nrp))
            {
                Response.Redirect("frmHome.aspx");
            }

            using (var ctx = new dsSPDDataContext())
            {
                var spd = ctx.trSPDs.FirstOrDefault(o => o.noSPD == Session["noSPD"].ToString());

                var spdApprovals = ctx.ApprovalStatus
                                   .Where(m => m.NoSPD == spd.noSPD)
                                   .OrderBy(m => m.IndexLevel);

                var spdApproval = new ApprovalStatus();

                foreach (var approval in spdApprovals)
                {
                    var msKaryawan = ctx.msKaryawans
                                     .Where(m => m.nrp == approval.NrpApproval)
                                     .Where(m => m.statusKaryawan == "Active")
                                     .FirstOrDefault();

                    if (msKaryawan != null)
                    {
                        spdApproval = approval;

                        break;
                    }
                }

                if (spdApproval == null)
                {
                    lblEmpty.Text += "Data approval tidak ditemukan ," + Environment.NewLine;
                }

                if (spd == null)
                {
                    lblEmpty.Text += "Data tidak ditemukan ," + Environment.NewLine;
                }
                else
                {
                    if (spd.isApproved != true)
                    {
                        lblEmpty.Text += "Spd rejected ," + Environment.NewLine;
                    }

                    if (spd.isCancel == true)
                    {
                        lblEmpty.Text += "Spd Canceled ," + Environment.NewLine;
                    }
                }


                if (string.IsNullOrEmpty(lblEmpty.Text))
                {
                    lblEmpty.Visible  = false;
                    DetailSPD.Visible = true;
                    if (!IsPostBack)
                    {
                        switch (userType(karyawan.nrp))
                        {
                        case 17:     // GA
                            PnlCostCenter.Visible = true;
                            break;

                        default:
                            break;
                        }

                        hiddenSPD.Value       = spd.noSPD;
                        hiddenNrpAtasan.Value = spdApproval.NrpApproval;
                        isLuarNegeri.Checked  = false;

                        kurs.Visible = false;
                        HideResult(false);

                        // kalo tujuan keluar negeri result dalam rupiah dan juga input kurs dimunculin,
                        // input kurs default nilainya 1, karena akan dikalikan untuk hasil yang akan di entri ke database
                        if (spd.Tujuan.ToLower().Contains("luar negeri"))
                        {
                            isLuarNegeri.Checked = true;
                            kurs.Visible         = true;
                            HideResult(true);
                        }

                        GenerateContent(spd);
                    }
                }
                else
                {
                    lblEmpty.Visible  = true;
                    DetailSPD.Visible = false;
                }
            }
        }
Ejemplo n.º 21
0
        protected void gvList_Sorting(object sender, GridViewSortEventArgs e)
        {
            string sortDir = string.Empty;

            if (Session["Sort"] == null)
            {
                sortDir = "DESC";
            }
            else if (Session["Sort"].ToString() == "ASC")
            {
                sortDir = "DESC";
            }
            else
            {
                sortDir = "ASC";
            }
            Session["Sort"]    = sortDir;
            Session["SortCol"] = e.SortExpression;

            //string Ses = Session["dtbl"].ToString();
            string SortCol = Session["SortCol"].ToString();

            string paramField = DropDownList2.Text.Trim() == "--Select--" ? "" : DropDownList2.Text.Trim();

            //string a = DropDownList1.SelectedValue;
            if (paramField == "" && SortCol == "" && sortDir == "")
            {
                using (var ctx = new dsSPDDataContext())
                {
                    var data = (from p in ctx.trSPDs
                                let u = ctx.msKaryawans.Select(x => x.nrp)
                                        where u.Contains(p.nrp) && p.nrp.Trim() == karyawan.nrp
                                        select new
                    {
                        noSPD = p.noSPD,
                        nrp = p.nrp,
                        namaLengkap = p.namaLengkap,
                        tujuan = p.companyCodeTujuan != null ? p.companyCodeTujuan + " - " + p.personelAreaTujuan + " - " + p.pSubAreaTujuan : p.tempatTujuanLain,
                        Keperluan = p.ketKeperluan != null ? p.msKeperluan.keperluan : p.ketKeperluan,
                        tglBerangkat = p.tglBerangkat,
                        tglKembali = p.tglKembali,
                        isCancel = p.isCancel,
                        status = p.status,
                        isApproved = p.isApproved,
                        tglExpired = p.tglExpired
                    }).OrderByDescending(o => o.noSPD).OrderByDescending(o => o.tglBerangkat).ToList();
                    gvList.DataSource = data;
                    gvList.DataBind();
                }
            }
            else if ((paramField != "" && SortCol != "" && sortDir != ""))
            {
                using (var ctx = new dsSPDDataContext())
                {
                    var data = (from p in ctx.trSPDs
                                let u = ctx.msKaryawans.Select(x => x.nrp)
                                        where u.Contains(p.nrp)
                                        select new
                    {
                        noSPD = p.noSPD,
                        nrp = p.nrp,
                        namaLengkap = p.namaLengkap,
                        tujuan = p.companyCodeTujuan != null ? p.companyCodeTujuan + " - " + p.personelAreaTujuan + " - " + p.pSubAreaTujuan : p.tempatTujuanLain,
                        Keperluan = p.ketKeperluan != null ? p.msKeperluan.keperluan : p.ketKeperluan,
                        tglBerangkat = p.tglBerangkat,
                        tglKembali = p.tglKembali,
                        isCancel = p.isCancel,
                        status = p.status,
                        tglExpired = p.tglExpired
                    }).OrderBy(o => SortCol + "" + sortDir).ToList();

                    string Ses = DropDownList2.SelectedValue;
                    if (Ses == "No")
                    {
                        string paramValue = txtcari1.Text;
                        data = data.Where(o => o.noSPD.Contains(paramValue)).ToList();
                        gvList.DataSource = data;
                        gvList.DataBind();
                    }
                    else if (Ses == "Nama")
                    {
                        string paramValue = txtcari1.Text;
                        data = data.Where(o => o.namaLengkap.Contains(paramValue)).ToList();
                        gvList.DataSource = data;
                        gvList.DataBind();
                    }
                    else if (Ses == "Status")
                    {
                        string paramValue = ddlstatus1.SelectedValue;
                        data = data.Where(o => o.status.Contains(paramValue)).ToList();
                        gvList.DataSource = data;
                        gvList.DataBind();
                    }
                    else if (Ses == "TglBerangkat")
                    {
                        string paramValueawal  = txtTglBerangkatAwal1.Text;
                        var    Dateawal        = Convert.ToDateTime(paramValueawal);
                        string paramValueakhir = txtTglBerangkatAkhir1.Text;
                        var    Dateakhir       = Convert.ToDateTime(paramValueakhir);
                        data = data.Where(o => o.tglBerangkat.CompareTo(Dateawal) >= 0 && o.tglBerangkat.CompareTo(Dateakhir) <= 0).ToList();
                        gvList.DataSource = data;
                        gvList.DataBind();
                    }
                }
            }
            else if ((paramField == "" && SortCol != "" && sortDir != ""))
            {
                using (var ctx = new dsSPDDataContext())
                {
                    var data = (from p in ctx.trSPDs
                                let u = ctx.msKaryawans.Select(x => x.nrp)
                                        where u.Contains(p.nrp) && p.nrp.Trim() == karyawan.nrp
                                        select new
                    {
                        noSPD = p.noSPD,
                        nrp = p.nrp,
                        namaLengkap = p.namaLengkap,
                        tujuan = p.companyCodeTujuan != null ? p.companyCodeTujuan + " - " + p.personelAreaTujuan + " - " + p.pSubAreaTujuan : p.tempatTujuanLain,
                        Keperluan = p.ketKeperluan != null ? p.msKeperluan.keperluan : p.ketKeperluan,
                        tglBerangkat = p.tglBerangkat,
                        tglKembali = p.tglKembali,
                        isCancel = p.isCancel,
                        status = p.status,
                        tglExpired = p.tglExpired
                    }).OrderBy(o => SortCol + "" + sortDir).ToList();
                    gvList.DataSource = data;
                    gvList.DataBind();
                }
            }
        }
Ejemplo n.º 22
0
        private void ubahStatusClaim(string strNoSpd, string stat, string subject, HttpContext ctx)
        {
            string           role = string.Empty, Approver = string.Empty;
            dsSPDDataContext data    = new dsSPDDataContext();
            bool             sending = false;
            trSPD            oSpd    = (from spd in data.trSPDs
                                        where spd.noSPD == strNoSpd
                                        select spd).First();
            trClaim oClaim = (from spd in data.trClaims
                              where spd.noSPD == strNoSpd
                              select spd).First();
            msKaryawan kary = new msKaryawan();

            if (oSpd.nrp != "99999999")
            {
                kary = (from kar in data.msKaryawans
                        where kar.nrp == oSpd.nrp
                        select kar).FirstOrDefault();
            }
            else
            {
                kary.EMail        = oSpd.email;
                kary.nrp          = oSpd.nrp;
                kary.namaLengkap  = oSpd.namaLengkap;
                kary.golongan     = "III";
                kary.Job          = oSpd.jabatan;
                kary.posisi       = oSpd.jabatan;
                kary.coCd         = "1";
                kary.kodePSubArea = "1";
                kary.kodePA       = "1";
            }
            if (subject.ToLower().Trim() == "atasan")
            {
                if (stat.ToLower().Trim() == "approve")
                {
                    if (oSpd.status.Split('-')[0] == "11")
                    {
                        oClaim.status = "16-Claim Approve (Atasan)";
                        oSpd.status   = "16-Claim Approve (Atasan)";
                        ctx.Response.Write("Berhasil di approve");
                        sending = true;
                    }
                    else
                    {
                        ctx.Response.Write("Claim sudah berhasil Di approve sebelumnya");
                        sending = false;
                    }
                }
                else
                {
                    if (oSpd.status.Split('-')[0] == "11")
                    {
                        oClaim.status = "14-Claim Tolak (Atasan)";
                        oSpd.status   = "14-Claim Tolak (Atasan)";
                        ctx.Response.Write("Berhasil di reject");
                        sending = true;
                    }
                    else
                    {
                        ctx.Response.Write("Claim sudah berhasil ditolak sebelumnya");
                        sending = false;
                    }
                }
                role     = "1";
                Approver = oSpd.nrpAtasan;
            }
            else if (subject.ToLower().Trim() == "ga")
            {
                if (stat.ToLower().Trim() == "approve")
                {
                    if (oSpd.status.Split('-')[0] == "16")
                    {
                        oClaim.status = "17-Claim Approve (GA)";
                        oSpd.status   = "17-Claim Approve (GA)";
                        ctx.Response.Write("Berhasil di approve");
                        sending = true;
                    }
                    else
                    {
                        ctx.Response.Write("Claim sudah berhasil di-approve sebelumnya");
                        sending = false;
                    }
                }
                else
                {
                    if (oSpd.status.Split('-')[0] == "16")
                    {
                        oClaim.status = "15-Claim Tolak (GA)";
                        oSpd.status   = "15-Claim Tolak (GA)";
                        ctx.Response.Write("Berhasil di reject");
                        sending = true;
                    }
                    else
                    {
                        ctx.Response.Write("Claim sudah berhasil di-reject sebelumnya");
                        sending = false;
                    }
                }
                role     = "17";
                Approver = oSpd.nrpAtasan;
            }
            else if (subject.ToLower().Trim() == "finance")
            {
                if (stat.ToLower().Trim() == "approve")
                {
                    if (oSpd.status.Split('-')[0] == "17")
                    {
                        oClaim.status = "26-Finance Approve";
                        oSpd.status   = "26-Finance Approve";
                        ctx.Response.Write("Berhasil di approve");
                        sending = true;
                    }
                    else
                    {
                        ctx.Response.Write("Claim sudah berhasil di-Approve sebelumnya");
                        sending = false;
                    }
                }
                else
                {
                    if (oSpd.status.Split('-')[0] == "17")
                    {
                        oClaim.status = "27-Finance Tolak";
                        oSpd.status   = "27-Finance Tolak";
                        ctx.Response.Write("Berhasil di reject");
                        sending = true;
                    }
                    else
                    {
                        ctx.Response.Write("Claim sudah berhasil di-reject sebelumnya");
                        sending = false;
                    }
                }
                role     = "19";
                Approver = oSpd.nrpAtasan;
            }
            else if (subject.ToLower().Trim() == "kasir")
            {
                if (oSpd.status.Split('-')[0] == "26")
                {
                    oClaim.status = "20-Claim Close";
                    oSpd.status   = "20-Claim Close";
                    ctx.Response.Write("Berhasil di Close");
                    sending = true;
                }
                else
                {
                    ctx.Response.Write("Claim sudah berhasil di-Close sebelumnya");
                    sending = false;
                }
                role     = "20";
                Approver = oSpd.nrpAtasan;
            }
            //data.SubmitChanges();

            if (sending)
            {
                classSpd          oClassSPD = new classSpd();
                trApprovalHistory ah        = new trApprovalHistory();
                ah.noSPD            = strNoSpd;
                ah.idRole           = role;
                ah.statusApproval   = oSpd.status;
                ah.nrpApprover      = Approver;
                ah.approvalDatetime = DateTime.Now;
                data.trApprovalHistories.InsertOnSubmit(ah);
                data.SubmitChanges();


                switch (oSpd.status.Split('-')[0])
                {
                case "2":
                    oClassSPD.sendMail(oSpd, "Atasan", kary);
                    break;

                case "3":
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    oClassSPD.sendMail(oSpd, "GA", kary);
                    oClassSPD.sendMail(oSpd, "Tujuan", kary);
                    break;

                case "6":
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    oClassSPD.sendMail(oSpd, "GA", kary);
                    oClassSPD.sendMail(oSpd, "Tujuan", kary);
                    break;

                case "8":
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    break;

                case "9":
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    break;

                case "12":
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    break;

                case "13":
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    break;

                case "14":
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    break;

                case "16":
                    oClassSPD.sendMail(oSpd, "GA", kary);
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    break;

                case "15":
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    break;

                case "17":
                    oClassSPD.sendMail(oSpd, "finance", kary);
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    break;

                case "27":
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    break;

                case "26":
                    //oClassSPD.sendMail(oSpd, "kasir", kary);
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    break;

                case "20":
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    break;
                }
            }

            data.Dispose();
        }
Ejemplo n.º 23
0
        protected void btnSimpan_Click(object sender, EventArgs e)
        {
            dsSPDDataContext dss  = new dsSPDDataContext();
            string           mode = "add";

            mode = hfmode.Value.ToString();
            if (mode == "add")
            {
                msGolonganPlafon cst = (from k in dss.msGolonganPlafons
                                        where k.id.ToString().Trim() == hdnRoleID.Value
                                        select k).FirstOrDefault();
                if (cst == null)
                {
                    msGolonganPlafon role = new msGolonganPlafon();
                    role.jenisSPD      = ddlJenisSPD.SelectedValue.ToString();
                    role.wilayah       = ddlWilayah.SelectedValue.ToString();
                    role.golongan      = ddlGolongan.SelectedValue.ToString();
                    role.idPlafon      = Convert.ToInt32(ddlPlafon.SelectedValue.ToString());
                    role.harga         = Convert.ToInt32(txtHarga.Text);
                    role.deskripsi     = txtNrp.Text.Trim();
                    role.status        = cmbUser.SelectedValue.ToString() == "AKTIF" ? "aktif" : "tidak aktif";
                    role.dibuatOleh    = userLoginID;
                    role.dibuatTanggal = DateTime.Now;
                    role.diubahOleh    = userLoginID;
                    role.diubahTanggal = DateTime.Now;

                    dss.msGolonganPlafons.InsertOnSubmit(role);
                    dss.SubmitChanges();
                    dss.Dispose();
                    //clear_form();
                    notif.Text = "Data berhasil disimpan";
                    //fillGV("");
                }
                else
                {
                    notif.Text = "Data sudah terdaftar";
                }
            }
            ////mode edit gadipake
            else if (mode == "edit")
            {
                msGolonganPlafon cst = (from k in dss.msGolonganPlafons
                                        where k.id.ToString().Trim() == hdnRoleID.Value
                                        select k).FirstOrDefault();
                cst.id            = Convert.ToInt32(hdnRoleID.Value);
                cst.jenisSPD      = ddlJenisSPD.SelectedValue.ToString();
                cst.wilayah       = ddlWilayah.SelectedValue.ToString();
                cst.golongan      = ddlGolongan.SelectedValue.ToString();
                cst.idPlafon      = Convert.ToInt32(ddlPlafon.SelectedValue.ToString());
                cst.harga         = Convert.ToInt32(txtHarga.Text);
                cst.deskripsi     = txtNrp.Text.Trim();
                cst.diubahOleh    = userLoginID;
                cst.diubahTanggal = DateTime.Now;
                cst.status        = cmbUser.SelectedValue.ToString() == "AKTIF" ? "aktif" : "tidak aktif";
                dss.SubmitChanges();
                dss.Dispose();
                notif.Text = "Data berhasil disimpan";
                //}
            }
            fillGV(txtFilterName.Text.Trim());
        }
Ejemplo n.º 24
0
        public static void sendEmailNew(
            string nrpApproval,
            string subject,
            string tamplate,
            trSPD spd,
            string claimApprove,
            string statusClaim,
            string urltarget,
            string indexLevel)
        {
            using (dsSPDDataContext ctx = new dsSPDDataContext())
            {
                //informasi approver
                var approval = ctx.msKaryawans.FirstOrDefault(o => o.nrp == nrpApproval);

                //informasi requestor
                var karyawan = ctx.msKaryawans.FirstOrDefault(o => o.nrp == spd.nrp);

                var informasiApproval = ctx.ApprovalStatus.Where(o => o.NoSPD == spd.noSPD);

                string trtd = string.Empty;

                foreach (var item in informasiApproval.OrderBy(o => o.IndexLevel))
                {
                    string statusApp = "Belum diapprove";

                    if (item.Status != null)
                    {
                        if (item.Status.Value == true)
                        {
                            statusApp = "Approved";
                        }
                        else
                        {
                            statusApp = "Rejected";
                        }
                    }
                    ;

                    var modifiedDate = item.ModifiedDate != null?item.ModifiedDate.Value.ToString("dd MMMM yyyy HH:mm") : "-";

                    trtd +=
                        "<tr>" +
                        "<td>" + item.IndexLevel.ToString() + "</td>" +
                        "<td>" + item.ApprovalRule.Deskripsi + "</td>" +
                        "<td>" + item.Nama + "</td>" +
                        "<td>" + modifiedDate + "</td>" +
                        "<td>" + statusApp + "</td>" +
                        "</tr>";
                }
                ;

                var tamplatesSPD = "<table><tr><th>No</th><th colspan='3' style='text-align:center;'>Detail Data</th><th>Status</th></tr>" + trtd + "</table>";

                EspdEmail espdEmail = new EspdEmail();

                //encrypt nrp
                espdEmail.nCrypt = Encrypto.Encrypt(nrpApproval);

                //encrypt email
                string toAddress = "";
                if (spd.nrp.Equals("99999999"))
                {
                    espdEmail.eCrypt = Encrypto.Encrypt(string.IsNullOrEmpty(spd.email) ? "" : spd.email);
                    if (tamplate.ToLower().Contains("informasi") || tamplate.ToLower().Contains("notifexpired"))
                    {
                        toAddress = string.IsNullOrEmpty(spd.email) ? "" : spd.email;
                    }
                    else
                    {
                        toAddress = approval.EMail;
                    }
                }

                //
                //
                else
                {
                    espdEmail.eCrypt = Encrypto.Encrypt(approval.EMail);
                    toAddress        = approval.EMail;
                }

                //encrypt nospd
                espdEmail.sCrypt = Encrypto.Encrypt(spd.noSPD);

                espdEmail.NoSPD        = spd.noSPD;
                espdEmail.approverName = approval.namaLengkap;

                espdEmail.spdRequester         = spd.namaLengkap;
                espdEmail.nrpRequester         = spd.nrp;
                espdEmail.statusName           = (string.IsNullOrEmpty(statusClaim) == true ? spd.status : statusClaim);
                espdEmail.noHp                 = spd.NoHP;
                espdEmail.golongan             = spd.idGolongan;
                espdEmail.jabatan              = spd.jabatan;
                espdEmail.organisasiUnit       = karyawan.organisasiUnit;
                espdEmail.companyCode          = karyawan.companyCode;
                espdEmail.personalArea         = karyawan.personelArea;
                espdEmail.personelSubArea      = karyawan.pSubArea;
                espdEmail.costCenterPembebanan = spd.costCenter;
                espdEmail.tempatTujuan         = !string.IsNullOrEmpty(spd.tempatTujuanLain) ? spd.Tujuan + " - " + spd.tempatTujuanLain : spd.Tujuan + " - " + spd.companyCodeTujuan + " - " + spd.personelAreaTujuan + " - " + spd.pSubAreaTujuan;
                espdEmail.keperluan            = spd.msKeperluan.keperluan + " - " + spd.ketKeperluan;
                espdEmail.tanggalBerangkat     = spd.tglBerangkat.ToString("dd MMMM yyyy");
                espdEmail.jamBerangkat         = spd.jamBerangkat;
                espdEmail.menitBerangkat       = spd.menitBerangkat;
                espdEmail.tanggalKembali       = spd.tglKembali.ToString("dd MMMM yyyy");
                espdEmail.jamKembali           = spd.jamKembali;
                espdEmail.menitKembali         = spd.menitKembali;
                espdEmail.angkutan             = spd.idAngkutan != null ? spd.msAngkutan.nama : spd.angkutanLain;
                espdEmail.hotel                = spd.penginapan;

                espdEmail.spdStatusList = tamplatesSPD;

                espdEmail.claimApprove = claimApprove;
                espdEmail.alasan       = spd.Alasan;
                string sqlFormattedDate = spd.tglExpired.HasValue
                ? spd.tglExpired.Value.ToString("dd MMMM yyyy")
                : "<not available>";

                espdEmail.tglExpired = sqlFormattedDate;
                espdEmail.uangMuka   = spd.uangMuka;
                espdEmail.BPHUM      = spd.BPHUM;
                try
                {
                    TimeSpan Jumlahhari = spd.tglKembali - spd.tglBerangkat;
                    TimeSpan tambahan   = TimeSpan.FromDays(1);
                    Jumlahhari         += tambahan;
                    espdEmail.totalDays = Jumlahhari.Days.ToString();
                }
                catch (Exception)
                {
                    espdEmail.totalDays = "Undetected";
                }


                if (urltarget.ToLower().Contains("claim"))
                {
                    var dc = ctx.trClaims.FirstOrDefault(o => o.noSPD == spd.noSPD);
                    #region claim
                    var uangmuka = (string.IsNullOrEmpty(spd.uangMuka) ? 0 : int.Parse(spd.uangMuka));
                    espdEmail.CbiayaMakan = dc.biayaMakan.ToString("#,###");
                    espdEmail.CuangSaku   = dc.uangSaku.ToString("#,###");
                    espdEmail.Ctiket      = dc.tiket.ToString("#,###");
                    espdEmail.Chotel      = dc.hotel.ToString("#,###");
                    espdEmail.CBBM        = dc.BBM.ToString("#,###");
                    espdEmail.Ctol        = dc.tol.ToString("#,###");
                    espdEmail.Ctaxi       = dc.taxi.ToString("#,###");
                    espdEmail.CairportTax = dc.airportTax.ToString("#,###");
                    espdEmail.Claundry    = dc.laundry.ToString("#,###");
                    espdEmail.Cparkir     = dc.parkir.ToString("#,###");
                    espdEmail.Ckomunikasi = dc.komunikasi != null?dc.komunikasi.Value.ToString("#,###") : "";

                    espdEmail.CbiayaLainLain = dc.biayaLainLain.ToString("#,###");
                    espdEmail.CtotalClaim    = dc.total.ToString("#,###");
                    espdEmail.CuangMuka      = uangmuka.ToString("#,###");
                    espdEmail.Cpenyelesaian  = (dc.total - uangmuka).ToString("#,###");
                    espdEmail.CtotalClaim    = dc.total.ToString("#,###");
                    espdEmail.CBPHClaim      = dc.BPHClaim;
                    #endregion
                }

                string urlSource =
                    "?nCrypt=" + espdEmail.nCrypt +
                    "&eCrypt=" + espdEmail.eCrypt +
                    "&sCrypt=" + espdEmail.sCrypt +
                    "&ClaimApprove=" + espdEmail.claimApprove +
                    "&index=" + indexLevel +
                    "&Action=";

                string urlAction         = "http://trac39/SPD/" + urltarget + ".ashx" + urlSource;
                string urlActionExternal = "http://118.97.80.12/SPD/" + urltarget + ".ashx" + urlSource;
                espdEmail.DetailURL      = "http://118.97.80.12/SPD/" + "newFormRequestDetail.aspx?encrypt=" + espdEmail.sCrypt;
                espdEmail.DetailClaimURL = "http://118.97.80.12/SPD/" + "newFormRequestDetailClaim.aspx?encrypt=" + espdEmail.sCrypt;

                espdEmail.ApproveUrl         = urlAction + Encrypto.Encrypt("approve");
                espdEmail.RejectUrl          = urlAction + Encrypto.Encrypt("reject");
                espdEmail.ApproveUrlExternal = urlActionExternal + Encrypto.Encrypt("approve");
                espdEmail.RejectUrlExternal  = urlActionExternal + Encrypto.Encrypt("reject");

                //send to requestor and approval
                string body = EmailCore.PrepareMailBodyWith(tamplate, espdEmail);

                //cc
                string ccAddress = "";
                if (toAddress.ToLower() == "*****@*****.**")
                {
                    ccAddress = "[email protected],[email protected],[email protected]";
                }

                if (toAddress.ToLower() == "*****@*****.**")
                {
                    ccAddress = "*****@*****.**";
                }

                if (toAddress.ToLower() == "*****@*****.**")
                {
                    ccAddress = "[email protected],[email protected]";
                }

                if (toAddress.ToLower() == "*****@*****.**")
                {
                    ccAddress = "*****@*****.**";
                }

                //for date 16-Maret-2015 till 20-Maret-2015
                //for date 20-April-2015 till 25-April-2015
                //for date 18-Mei-2015 till 22-Mei-2015
                //for date 19-September-2015 till the end
                // if (toAddress.ToLower() == "*****@*****.**")
                // {
                // //    //toAddress = "*****@*****.**";
                //     toAddress = "*****@*****.**";

                //}

                string bccAddress = "";

                Helper hp = new Helper();

                if (indexLevel.Contains("1"))
                {
                    bccAddress = "[email protected],";
                    DataSet dsCheckBcc = hp.wsEmail("spd");
                    if (dsCheckBcc.Tables[0].Rows.Count > 0)
                    {
                        DataRow  drCheckBcc = dsCheckBcc.Tables[0].Rows[0];
                        DataView dvCheckBcc = new DataView(dsCheckBcc.Tables[0]);
                        for (int i = 0; i < dvCheckBcc.Count; i++)
                        {
                            bccAddress += drCheckBcc.Table.Rows[i][0].ToString();
                            bccAddress += ",";
                        }
                        bccAddress = bccAddress.Remove(bccAddress.Length - 1);
                    }
                }
                else if (statusClaim.Contains("Menunggu approval atasan"))
                {
                    bccAddress = "[email protected],";
                    DataSet dsCheckBcc = hp.wsEmail("claim");
                    if (dsCheckBcc.Tables[0].Rows.Count > 0)
                    {
                        DataRow  drCheckBcc = dsCheckBcc.Tables[0].Rows[0];
                        DataView dvCheckBcc = new DataView(dsCheckBcc.Tables[0]);
                        for (int i = 0; i < dvCheckBcc.Count; i++)
                        {
                            bccAddress += drCheckBcc.Table.Rows[i][0].ToString();
                            bccAddress += ",";
                        }
                        bccAddress = bccAddress.Remove(bccAddress.Length - 1);
                    }
                }
                else
                {
                    bccAddress = "*****@*****.**";
                }
                //for production try TO DO
                //EmailCore.SendMail(toAddress, ccAddress, bccAddress, subject, body);
                //end for production
            }
        }
Ejemplo n.º 25
0
        protected void gvDirect_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            string paramField = DropDownList1.Text.Trim() == "--Select--" ? "" : DropDownList1.Text.Trim();
            string a          = DropDownList1.SelectedValue;

            using (var ctx = new dsSPDDataContext())
            {
                var data = (from p in ctx.trSPDs
                            let u = ctx.msUsers.Where(x => x.roleId == 14 || x.roleId == 13).Select(x => x.nrp)
                                    where u.Contains(p.nrp)
                                    select new
                {
                    noSPD = p.noSPD,
                    nrp = p.nrp,
                    namaLengkap = p.namaLengkap,
                    tujuan = p.companyCodeTujuan != null ? p.companyCodeTujuan + " - " + p.personelAreaTujuan + " - " + p.pSubAreaTujuan : p.tempatTujuanLain,
                    keperluan = p.idKeperluan != null ? p.msKeperluan.keperluan : p.keperluanLain,
                    tglBerangkat = p.tglBerangkat,
                    tglKembali = p.tglKembali,
                    isCancel = p.isCancel,
                    status = p.status,
                    tglExpired = p.tglExpired
                }).OrderByDescending(o => o.noSPD).OrderByDescending(o => o.tglBerangkat).ToList();
                if (a == "No")
                {
                    string paramValue = txtcari.Text;
                    data = data.Where(o => o.noSPD.Contains(paramValue)).ToList();
                    gvDirect.PageIndex  = e.NewPageIndex;
                    gvDirect.DataSource = data;
                    gvDirect.DataBind();
                }
                else if (a == "Nama")
                {
                    string paramValue = txtcari.Text;
                    data = data.Where(o => o.namaLengkap.Contains(paramValue)).ToList();
                    gvDirect.PageIndex  = e.NewPageIndex;
                    gvDirect.DataSource = data;
                    gvDirect.DataBind();
                }
                else if (a == "Status")
                {
                    string paramValue = ddlstatus.SelectedValue;
                    data = data.Where(o => o.status.Contains(paramValue)).ToList();
                    gvDirect.PageIndex  = e.NewPageIndex;
                    gvDirect.DataSource = data;
                    gvDirect.DataBind();
                }
                else if (a == "TglBerangkat")
                {
                    if (txtTglBerangkatAwal.Text != string.Empty && txtTglBerangkatAkhir.Text != string.Empty)
                    {
                        string paramValueawal  = txtTglBerangkatAwal.Text;
                        var    Dateawal        = Convert.ToDateTime(paramValueawal);
                        string paramValueakhir = txtTglBerangkatAkhir.Text;
                        var    Dateakhir       = Convert.ToDateTime(paramValueakhir);
                        data = data.Where(o => o.tglBerangkat.CompareTo(Dateawal) >= 0 && o.tglBerangkat.CompareTo(Dateakhir) <= 0).ToList();
                        gvDirect.PageIndex  = e.NewPageIndex;
                        gvDirect.DataSource = data;
                        gvDirect.DataBind();
                    }
                    else
                    {
                        string paramValue = txtcari.Text;
                        data = data.Where(o => o.namaLengkap.Contains(paramValue)).ToList();
                        gvDirect.PageIndex  = e.NewPageIndex;
                        gvDirect.DataSource = data;
                        gvDirect.DataBind();
                    }
                }
                else
                {
                    gvDirect.PageIndex = e.NewPageIndex;
                    bindDirect();
                }
            }
        }
Ejemplo n.º 26
0
        public void Execute(IJobExecutionContext context)
        {
            using (var ctx = new dsSPDDataContext())
            {
                // ngga bis diembed ke template jadi manual
                var spd = (from p in ctx.trSPDs
                           where
                           (p.tglBerangkat.Date - DateTime.Now.Date).Days >= 0 &&
                           p.isSubmit == true && p.isCancel == null && p.noSPD NotFinit select p).ToList();

                var nospd = (from p in spd select p.noSPD).Distinct();

                var approval = (from p in ctx.ApprovalStatus
                                where nospd.Contains(p.NoSPD) && p.Status == null
                                group p by p.NoSPD
                                into groups
                                select groups.OrderBy(p => p.IndexLevel).First()).ToList();

                var nrpApproval = (from p in approval
                                   group p by p.NrpApproval
                                   into groups
                                   select groups.OrderBy(p => p.IndexLevel).First().NrpApproval).Distinct().ToList();

                foreach (var item in nrpApproval)
                {
                    var nama = approval.FirstOrDefault(o => o.NrpApproval == item).Nama;

                    var datatoSend = (from p in approval
                                      join o in spd on p.NoSPD equals o.noSPD
                                      where p.NrpApproval == item
                                      select new Expired
                    {
                        NoSPD = o.noSPD,
                        Nama = o.namaLengkap,
                        TglBerangkat = o.tglBerangkat,
                        Keperluan = o.msKeperluan.keperluan + " - " + o.ketKeperluan + " - " + o.keperluanLain
                    }).ToList();

                    if (datatoSend.Count != 0 || datatoSend != null)
                    {
                        using (var smtpClient = new SmtpClient())
                        {
                            string data = string.Empty;

                            string trtd = string.Empty;
                            foreach (var detail in datatoSend.OrderBy(o => o.TglBerangkat.Date))
                            {
                                string urlExternal = "http://118.97.80.12/SPD/" + "newFormRequestDetail.aspx?encrypt=" + Encrypto.Encrypt(detail.NoSPD);
                                string urlInternal = "http://trac39/SPD/" + "newFormRequestDetail.aspx?encrypt=" + Encrypto.Encrypt(detail.NoSPD);
                                trtd +=
                                    "<tr style='border:1px solid #eee;'>" +
                                    "<td style='border:1px solid #dedede;padding:5px;'>" + detail.NoSPD + "</td>" +
                                    "<td style='border:1px solid #dedede;padding:5px;'>" + detail.Nama + "</td>" +
                                    "<td style='border:1px solid #dedede;padding:5px;'>" + detail.Keperluan + "</td>" +
                                    "<td style='border:1px solid #dedede;padding:5px;'>" + detail.TglBerangkat.ToString("dd MMMM yyyy") + " <b>(H-" + (detail.TglBerangkat.Date - DateTime.Now.Date).Days.ToString() + ")</b></td>" +
                                    "<td style='border:1px solid #dedede;padding:5px;'><a href='" + urlInternal + "'>Internal</a>&nbsp;|&nbsp;<a href='" + urlExternal + "'>External</a></td>" +
                                    "</tr>";
                            }

                            data += "<h4 style='color: #1b809e; border-bottom: 1px solid #eee;'>Kepada Yth " + nama + "</h4>" + "<br/>Berikut adalah data Approval yang masih outstanding per tanggal " + DateTime.Now.ToString("dd MMMM yyyy") + "<br/><br/>" +
                                    "<table style='border-color: #eee;border-collapse: collapse;border-width: 1px;color: #333333;'>" +
                                    "<tr style='border-width: 1px;padding: 8px;border-style: solid;border-color: #eee;background-color: #dedede;'>" +
                                    "<th style='border:1px solid #fff;padding:5px;'>No</th>" +
                                    "<th style='border:1px solid #fff;padding:5px;'>Nama</th>" +
                                    "<th style='border:1px solid #fff;padding:5px;'>Keperluan</th>" +
                                    "<th style='border:1px solid #fff;padding:5px;'>Tgl Berangkat</th>" +
                                    "<th style='border:1px solid #fff;padding:5px;'>Link</th>" +
                                    "</tr>" +
                                    trtd +
                                    "</table><br/><br/><br/>" +
                                    "Terima kasih. <br/>" +
                                    "Catatan : Internal (jika berada di kantor) dan External (jika berada di luar kantor)<br/>" +
                                    "<span style='color: #FF0000'><b>E-mail ini dikirim otomatis oleh Sistem Pembuatan SPD.Tidak perlu membalas E-mail ini</b></span>";

                            SmtpSection section = (SmtpSection)ConfigurationManager.GetSection("system.net/mailSettings/smtp");
                            MailMessage message = new MailMessage
                            {
                                Sender     = new MailAddress(section.From), // on Behave of When From differs
                                From       = new MailAddress(section.From),
                                Subject    = "Claim SPD dengan nomor" + nospd + "Expired ",
                                Body       = data,
                                IsBodyHtml = true,
                            };

                            var    getEmail = approval.FirstOrDefault(o => o.NrpApproval == item);
                            string email    = string.Empty;
                            email = getEmail != null ? getEmail.Email : string.Empty;

                            if (!string.IsNullOrEmpty(email))
                            {
                                if (email.ToLower() == "*****@*****.**")
                                {
                                    email = "*****@*****.**";
                                }
                                message.To.Add(email);
                                message.Bcc.Add("*****@*****.**");

                                //message.To.Add("*****@*****.**");
                                //message.To.Add("*****@*****.**");

                                smtpClient.Send(message);
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 27
0
        void bindFindList()
        {
            dsSPDDataContext data = new dsSPDDataContext();

            try
            {
                if (txtTglSpd.Text == "" || txtTglSpd == null)
                {
                    var query = (from spd in data.trSPDs
                                 where spd.noSPD.Contains(txtNoSpd.Text) &&
                                 spd.namaLengkap.Contains(txtNama.Text) &&
                                 spd.nrp.Contains(txtNrp.Text) && (spd.statusUM.Equals(DropDownList1.SelectedValue) ||
                                                                   spd.statusUM.Equals(null))
                                 select new
                    {
                        noSPD = spd.noSPD,
                        nrp = spd.nrp,
                        namaLengkap = spd.namaLengkap,
                        uangMuka = spd.uangMuka,
                        tglPenyelesaian = spd.tglPenyelesaian,
                        status = spd.statusUM              //spd.status
                    }).OrderByDescending(spd => spd.noSPD).ToList();
                    grvList.DataSource = query;
                    grvList.DataBind();
                    if (!query.Any())
                    {
                        Panel5.Visible = true;
                    }
                    else
                    {
                        Panel5.Visible = true;
                    }
                    data.Dispose();
                }
                else
                {
                    DateTime str   = Convert.ToDateTime(txtTglSpd.Text);
                    var      query = (from spd in data.trSPDs
                                      where spd.noSPD.Contains(txtNoSpd.Text) &&
                                      spd.namaLengkap.Contains(txtNama.Text) &&
                                      spd.nrp.Contains(txtNrp.Text) &&
                                      (spd.statusUM.Equals(DropDownList1.SelectedValue) ||
                                       spd.statusUM.Equals("")) &&
                                      (spd.tglPenyelesaian >= str && spd.tglPenyelesaian <= str)
                                      select new
                    {
                        noSPD = spd.noSPD,
                        nrp = spd.nrp,
                        namaLengkap = spd.namaLengkap,
                        uangMuka = spd.uangMuka,
                        tglPenyelesaian = spd.tglPenyelesaian,
                        status = spd.statusUM
                    }).OrderByDescending(spd => spd.noSPD).ToList();
                    grvList.DataSource = query;
                    grvList.DataBind();
                    if (!query.Any())
                    {
                        Panel5.Visible = true;
                    }
                    else
                    {
                        Panel5.Visible = true;
                    }
                    data.Dispose();
                }
            }
            catch (Exception ex)
            {
                //Response.Write(ex.Message);
            }
        }
Ejemplo n.º 28
0
        protected void GenerateContent(trSPD spd)
        {
            using (var ctx = new dsSPDDataContext())
            {
                // set label info spd
                lblnoSPD.Text       = spd.noSPD;
                lblnamaLengkap.Text = spd.namaLengkap;
                lblGolongan.Text    = spd.idGolongan;
                lblJabatan.Text     = spd.jabatan;

                lblTglBerangkat.Text   = spd.tglBerangkat.ToString("dd MMMM yyyy");
                lblJamberangkat.Text   = spd.jamBerangkat;
                lblMenitBerangkat.Text = spd.menitBerangkat;

                lblTglKembali.Text    = spd.tglKembali.ToString("dd MMMM yyyy");
                lblJamKembali.Text    = spd.jamKembali;
                lblMenitKembali.Text  = spd.menitKembali;
                lblKeperluan.Text     = spd.msKeperluan.keperluan;
                lblKetKeperluan.Text  = spd.ketKeperluan;
                lblKeperluanLain.Text = spd.keperluanLain;

                // get informasi plafon buat spd ini
                var GolonganPlafon = ctx.msGolonganPlafons.Where(
                    q => q.golongan.Equals(spd.idGolongan) &&
                    q.jenisSPD.ToLower().Equals(spd.Tujuan) &&
                    q.wilayah.ToLower().Equals(spd.WilayahTujuan));

                // itung jumlah hari
                TimeSpan Jumlahhari = new TimeSpan();
                Jumlahhari = spd.tglKembali - spd.tglBerangkat;

                TimeSpan tambahan = TimeSpan.FromDays(1);
                Jumlahhari        += tambahan;
                lblJumlahHari.Text = Jumlahhari.Days.ToString();

                DdlCostCenter.SelectedValue = spd.costCenter;

                // kalo nginep, dan bukan nginep dihotel enable input nilai hotel by golongan plafon
                if (Jumlahhari.Days > 1 && spd.isHotel != null)
                {
                    if (!spd.isHotel.Value || !spd.penginapan.ToLower().Equals("disediakan"))
                    {
                        var UangHotel = GolonganPlafon.FirstOrDefault(o => o.idPlafon == 6) != null?GolonganPlafon.FirstOrDefault(o => o.idPlafon == 6).harga.Value *Jumlahhari.Days : 0;

                        txtHotel.Enabled = true;
                        txtHotel.Text    = UangHotel.ToString();
                    }
                }
                else
                {
                    txtHotel.Enabled = false;
                }

                // informasi uang makan dari plafon
                var UangMakan = GolonganPlafon.FirstOrDefault(o => o.idPlafon == 1);
                txtUangMakan.Text     = (UangMakan != null ? UangMakan.harga.Value * Jumlahhari.Days : 0).ToString();
                lblUangMakan.Text     = (UangMakan != null ? UangMakan.harga.Value : 0).ToString();
                lblHariUangMakan.Text = lblJumlahHari.Text;

                // informasi uang saku dari plafon
                var UangSaku = GolonganPlafon.FirstOrDefault(o => o.idPlafon == 2);
                txtUangSaku.Text     = (UangSaku != null ? UangSaku.harga.Value * Jumlahhari.Days : 0).ToString();
                lblUangSaku.Text     = (UangSaku != null ? UangSaku.harga.Value : 0).ToString();
                lblHariUangSaku.Text = lblJumlahHari.Text;

                // informasi laundri
                var Laundy = GolonganPlafon.FirstOrDefault(o => o.idPlafon == 7);
                //LaundryMaxHidden.Value = "0";
                // bisa londri minimal 3 malam nginap
                if (Laundy != null && Jumlahhari.Days > 2)
                {
                    //LaundryMaxHidden.Value = (Laundy.harga.Value * (Jumlahhari.Days - 2)).ToString();
                    laundryActual.Value = (Laundy.deskripsi != null ? Laundy.deskripsi : "");
                }

                // kalo tiket dicarikan disabled input tiket
                if (spd.tiket.ToLower().Contains("dicarikan"))
                {
                    txtTiket.ReadOnly = true;
                }

                // informasi uang muka, kenapa dikasih hidden, ada kebutuhan untuk menghitung jika luarnegeri
                UangMuka.Text = (string.IsNullOrEmpty(spd.uangMuka) == true ? "0" : spd.uangMuka);

                //informasi harga tunjangan kejauhan
                //int tunjanganKejauhan = spd.HargaTunjangan == null ? 0 : spd.HargaTunjangan.Value;
                //Tunjangankejauhan.Text = tunjanganKejauhan.ToString();

                if (spd.HardshipID != null)
                {
                    SqlCommand cmd = new SqlCommand("Select Harga from Hardship where Id = " + spd.HardshipID + "", new SqlConnection(ConfigurationManager.AppSettings["SPDConnectionString1"]));
                    cmd.Connection.Open();
                    SqlDataReader Reader;
                    Reader = cmd.ExecuteReader();
                    while (Reader.Read())
                    {
                        Tunjangankejauhan.Text = Reader["Harga"].ToString();
                    }
                }

                // eksekusi ui
                var claim = ctx.trClaims.FirstOrDefault(o => o.noSPD == spd.noSPD);
                if (claim != null)
                {
                    BindClaim(claim);

                    cbUangSaku.Checked             = claim.uangSaku_cek != null ? claim.uangSaku_cek.Value : false;                         //28 september 2018
                    cbHotelTanpaPenginapan.Checked = claim.hotelTanpaPenginapan_cek != null ? claim.hotelTanpaPenginapan_cek.Value : false; //28 september 2018

                    cbTiket.Checked      = claim.tiket_cek != null ? claim.tiket_cek.Value : false;
                    cbHotel.Checked      = claim.hotel_cek != null ? claim.hotel_cek.Value : false;
                    cbLaundry.Checked    = claim.laundry_cek != null ? claim.laundry_cek.Value : false;
                    cbKomunikasi.Checked = claim.komunikasi_cek != null ? claim.komunikasi_cek.Value : false;
                    cbAirPortTax.Checked = claim.airportTax_cek != null ? claim.airportTax_cek.Value : false;
                    cbBBM.Checked        = claim.BBM_cek != null ? claim.BBM_cek.Value : false;
                    cbTol.Checked        = claim.tol_cek != null ? claim.tol_cek.Value : false;
                    cbTaxi.Checked       = claim.taxi_cek != null ? claim.taxi_cek.Value : false;
                    cbParkir.Checked     = claim.parkir_cek != null ? claim.parkir_cek.Value : false;
                }

                if (ifga(karyawan.nrp))
                {
                    txtUangMakan.ReadOnly = false;
                    txtUangSaku.ReadOnly  = false;
                    txtTiket.ReadOnly     = false;
                    txtHotel.ReadOnly     = false;
                    txtUangMuka.ReadOnly  = false;

                    txtUangMakan.Enabled = true;
                    txtUangSaku.Enabled  = true;
                    txtTiket.Enabled     = true;
                    txtHotel.Enabled     = true;
                    txtUangMuka.Enabled  = true;

                    txtTunjanganKejauhan.ReadOnly = false;
                    txtTunjanganKejauhan.Enabled  = true;

                    cbUangSaku.Visible             = true; //26 september 2018
                    cbHotelTanpaPenginapan.Visible = true; //26 september 2018


                    cbTiket.Visible      = true;
                    cbHotel.Visible      = true;
                    cbLaundry.Visible    = true;
                    cbKomunikasi.Visible = true;
                    cbAirPortTax.Visible = true;
                    cbBBM.Visible        = true;
                    cbTol.Visible        = true;
                    cbTaxi.Visible       = true;
                    cbParkir.Visible     = true;
                }
            }
            GeneralFunction(null, null);
        }
Ejemplo n.º 29
0
        private void ubahStatusSPD(string strNoSpd, string stat, string subject, HttpContext ctx)
        {
            string           role = string.Empty, Approver = string.Empty;
            bool             sending = false;
            dsSPDDataContext data    = new dsSPDDataContext();
            trSPD            oSpd    = (from spd in data.trSPDs
                                        where spd.noSPD == strNoSpd
                                        select spd).FirstOrDefault();
            msKaryawan kary = new msKaryawan();

            if (oSpd.nrp != "99999999")
            {
                kary = (from kar in data.msKaryawans
                        where kar.nrp == oSpd.nrp
                        select kar).FirstOrDefault();
            }
            //Ditambahkan oleh martha
            else if (oSpd.nrp == "2950")
            {
                kary.EMail        = "*****@*****.**";
                kary.nrp          = oSpd.nrp;
                kary.namaLengkap  = oSpd.namaLengkap;
                kary.golongan     = "III";
                kary.Job          = oSpd.jabatan;
                kary.posisi       = oSpd.jabatan;
                kary.coCd         = "1";
                kary.kodePSubArea = "1";
                kary.kodePA       = "1";
            }
            else
            {
                kary.EMail        = oSpd.email;
                kary.nrp          = oSpd.nrp;
                kary.namaLengkap  = oSpd.namaLengkap;
                kary.golongan     = "III";
                kary.Job          = oSpd.jabatan;
                kary.posisi       = oSpd.jabatan;
                kary.coCd         = "1";
                kary.kodePSubArea = "1";
                kary.kodePA       = "1";
            }
            if (subject.ToLower().Trim() == "atasan")
            {
                if (stat.ToLower().Trim() == "approve")
                {
                    if (oSpd.status.Split('-')[0] == "2")
                    {
                        oSpd.status = "3-Atasan Approve";
                        ctx.Response.Write("Berhasil di approve");
                        sending = true;
                    }
                    else
                    {
                        ctx.Response.Write("SPD Sudah Diapprove sebelumnya");
                        sending = false;
                    }
                }
                else
                {
                    if (oSpd.status.Split('-')[0] == "2")
                    {
                        oSpd.status = "12-SPD Tolak (Atasan)";
                        ctx.Response.Write("Berhasil di reject");
                        sending = true;
                    }
                    else
                    {
                        ctx.Response.Write("SPD Sudah di tolak sebelumnya");
                        sending = false;
                    }
                }
                role     = "1";
                Approver = oSpd.nrpAtasan;
            }
            else if (subject.ToLower().Trim() == "tujuan")
            {
                if (oSpd.tglBerangkat.Date > DateTime.Now.Date)
                {
                    ctx.Response.Write("SPD belum bisa approve/reject karena tanggal berangkat harus sesudah atau sama dengan hari ini");
                    sending = false;
                    return;
                }
                if (stat.ToLower().Trim() == "approve")
                {
                    if (oSpd.status.Split('-')[0] == "3")
                    {
                        oSpd.status = "7-Tempat Tujuan Approve";
                        ctx.Response.Write("Berhasil di approve");
                        sending = true;
                    }
                    else
                    {
                        ctx.Response.Write("SPD Sudah Diapprove sebelumnya");
                        sending = false;
                    }
                }
                else
                {
                    if (oSpd.status.Split('-')[0] == "3")
                    {
                        oSpd.status = "13-SPD Tolak (Tujuan)";
                        ctx.Response.Write("Berhasil di reject");
                        sending = true;
                    }
                    else
                    {
                        ctx.Response.Write("SPD sudah ditolak sebelumnya");
                        sending = false;
                    }
                }
                role     = "2";
                Approver = oSpd.nrpApprovalTujuan;
            }

            if (sending)
            {
                trApprovalHistory ah = new trApprovalHistory();
                ah.noSPD            = strNoSpd;
                ah.idRole           = role;
                ah.statusApproval   = oSpd.status;
                ah.nrpApprover      = Approver;
                ah.approvalDatetime = DateTime.Now;
                data.trApprovalHistories.InsertOnSubmit(ah);
                data.SubmitChanges();

                classSpd oClassSPD = new classSpd();

                switch (oSpd.status.Split('-')[0])
                {
                case "2":
                    oClassSPD.sendMail(oSpd, "Atasan", kary);
                    break;

                case "3":
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    oClassSPD.sendMail(oSpd, "Tujuan", kary);
                    oClassSPD.sendMail(oSpd, "GA", kary);
                    break;

                case "6":
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    oClassSPD.sendMail(oSpd, "Tujuan", kary);
                    oClassSPD.sendMail(oSpd, "GA", kary);
                    break;

                case "7":
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    break;

                case "8":
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    break;

                case "9":
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    break;

                case "12":
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    break;

                case "13":
                    oClassSPD.sendMail(oSpd, "Pembuat", kary);
                    break;
                }
            }


            data.Dispose();
        }
Ejemplo n.º 30
0
        protected void btncari1_Click(object sender, EventArgs e)
        {
            string paramField = DropDownList2.Text.Trim() == "--Select--" ? "" : DropDownList2.Text.Trim();
            string a          = DropDownList2.SelectedValue;


            using (var ctx = new dsSPDDataContext())
            {
                var data = (from p in ctx.trSPDs
                            let u = ctx.msKaryawans.Select(x => x.nrp)
                                    where u.Contains(p.nrp) && p.nrp.Trim() == karyawan.nrp
                                    select new
                {
                    noSPD = p.noSPD,
                    nrp = p.nrp,
                    namaLengkap = p.namaLengkap,
                    tujuan = p.companyCodeTujuan != null ? p.companyCodeTujuan + " - " + p.personelAreaTujuan + " - " + p.pSubAreaTujuan : p.tempatTujuanLain,
                    Keperluan = p.ketKeperluan != null ? p.msKeperluan.keperluan : p.ketKeperluan,
                    tglBerangkat = p.tglBerangkat,
                    tglKembali = p.tglKembali,
                    isCancel = p.isCancel,
                    status = p.status,
                    isApproved = p.isApproved,
                    tglExpired = p.tglExpired
                }).OrderByDescending(o => o.noSPD).OrderByDescending(o => o.tglBerangkat).ToList();

                if (a == "No")
                {
                    string paramValue = txtcari1.Text;
                    data = data.Where(o => o.noSPD.Contains(paramValue)).ToList();
                    gvList.DataSource = data;
                    gvList.DataBind();
                    Session["dtbl"] = "No";
                }
                else if (a == "Nama")
                {
                    string paramValue = txtcari1.Text;
                    data = data.Where(o => o.namaLengkap.Contains(paramValue)).ToList();
                    gvList.DataSource = data;
                    gvList.DataBind();
                    Session["dtbl"] = "Nama";
                }
                else if (a == "Status")
                {
                    string paramValue = ddlstatus1.SelectedValue;
                    data = data.Where(o => o.status.Contains(paramValue)).ToList();
                    gvList.DataSource = data;
                    gvList.DataBind();
                    Session["dtbl"] = "Status";
                }
                else if (a == "TglBerangkat")
                {
                    if (txtTglBerangkatAwal1.Text != string.Empty && txtTglBerangkatAkhir1.Text != string.Empty)
                    {
                        string paramValueawal  = txtTglBerangkatAwal1.Text;
                        var    Dateawal        = Convert.ToDateTime(paramValueawal);
                        string paramValueakhir = txtTglBerangkatAkhir1.Text;
                        var    Dateakhir       = Convert.ToDateTime(paramValueakhir);
                        data = data.Where(o => o.tglBerangkat.CompareTo(Dateawal) >= 0 && o.tglBerangkat.CompareTo(Dateakhir) <= 0).ToList();
                        gvList.DataSource = data;
                        gvList.DataBind();
                    }
                    else
                    {
                        string paramValue = txtcari1.Text;
                        data = data.Where(o => o.namaLengkap.Contains(paramValue)).ToList();
                        gvList.DataSource = data;
                        gvList.DataBind();
                    }
                }
            }
        }