Exemplo n.º 1
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="wfd"></param>
        /// <returns></returns>
        private string buildWaiverSetby(WaiverFinalDecision wfd, Int64 setBy, WaiverStatusLatest currentStatus,long uid)
        {
            string setby_user = this.getUserNameById(uid);
            StringBuilder sb = new StringBuilder("update WAIVER_STATUS set ");
            //RL
            if (!string.IsNullOrEmpty(wfd.rl) && !wfd.rl.Equals(currentStatus.rl)  )
            {
                sb.Append("rl='" + wfd.rl + "',  rl_setby=" + setBy + ", dt_rl=sysdate ,rl_sb_userid='" + setby_user + "' ");
                addActionLog(uid, currentStatus.case_Id, "Updating WW rl Status for " +currentStatus.midn_Id+" : "+wfd.rl , "WAIVER STATUS", currentStatus.midn_Id);
            }
            else if (string.IsNullOrEmpty(wfd.rl) &&  !isSameNullEmpty(wfd.rl,currentStatus.rl) )// !wfd.rl.Equals(currentStatus.rl))
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" rl=null, rl_setby=null, dt_rl=sysdate , rl_sb_userid=null ");
                addActionLog(uid, currentStatus.case_Id, "Clearing rl Status for " + currentStatus.midn_Id + " : " + wfd.rl, "WAIVER STATUS", currentStatus.midn_Id);
            }

            //UL
            if (!string.IsNullOrEmpty(wfd.ul) && !wfd.ul.Equals(currentStatus.ul))
            {
                if (sb.Length>26){ sb.Append(", ");  }
                sb.Append("ul='" + wfd.ul + "',  ul_setby=" + setBy + ", dt_ul=sysdate ,ul_sb_userid='" + setby_user + "' ");
                addActionLog(uid, currentStatus.case_Id, "Updating WW ul Status for " + currentStatus.midn_Id + " : " + wfd.ul, "WAIVER STATUS", currentStatus.midn_Id);
            }
            else if (string.IsNullOrEmpty(wfd.ul) && !isSameNullEmpty(wfd.ul, currentStatus.ul))//!wfd.ul.Equals(currentStatus.ul))
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" ul=null, ul_setby=null, dt_ul=sysdate, ul_sb_userid=null ");
                addActionLog(uid, currentStatus.case_Id, "Clearing ul Status for " + currentStatus.midn_Id + " : " + wfd.ul, "WAIVER STATUS", currentStatus.midn_Id);
            }

            //SWO
            if (!string.IsNullOrEmpty(wfd.swo) && !wfd.swo.Equals(currentStatus.swo))
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" swo='" + wfd.swo + "', swo_setby=" + setBy + ", dt_swo=sysdate ,swo_sb_userid='" + setby_user + "' ");
                addActionLog(uid, currentStatus.case_Id, "Updating WW swo Status for " + currentStatus.midn_Id + " : " + wfd.swo, "WAIVER STATUS", currentStatus.midn_Id);
            }
            else if (string.IsNullOrEmpty(wfd.swo) && !isSameNullEmpty(wfd.swo, currentStatus.swo))// !wfd.swo.Equals(currentStatus.swo))
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" swo=null, swo_setby=null, dt_swo=sysdate , swo_sb_userid=null ");
                addActionLog(uid, currentStatus.case_Id, "Clearing swo Status for " + currentStatus.midn_Id + " : " + wfd.swo, "WAIVER STATUS", currentStatus.midn_Id);
            }

            //USMC
            if (!string.IsNullOrEmpty(wfd.usmc) && !wfd.usmc.Equals(currentStatus.usmc))
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" usmc='" + wfd.usmc + "',  usmc_setby=" + setBy + ", dt_usmc=sysdate ,usmc_sb_userid='" + setby_user + "' ");
                addActionLog(uid, currentStatus.case_Id, "Updating WW usmc Status for " + currentStatus.midn_Id + " : " + wfd.usmc, "WAIVER STATUS", currentStatus.midn_Id);
            }
            else if (string.IsNullOrEmpty(wfd.usmc) &&  !isSameNullEmpty(wfd.usmc,currentStatus.usmc) )//!wfd.usmc.Equals(currentStatus.usmc) &&
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" usmc=null, usmc_setby=null, dt_usmc=sysdate , usmc_sb_userid=null ");
                addActionLog(uid, currentStatus.case_Id, "Clearing usmc Status for " + currentStatus.midn_Id + " : " + wfd.usmc, "WAIVER STATUS", currentStatus.midn_Id);
            }

            //NUKE
            if (!string.IsNullOrEmpty(wfd.nuke) &&    !wfd.nuke.Equals(currentStatus.nuke)  )
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" nuke='" + wfd.nuke + "',  nuke_setby=" + setBy + ", dt_nuke=sysdate ,nuke_sb_userid='" + setby_user + "' ");
                addActionLog(uid, currentStatus.case_Id, "Updating SDW nuke Status for " + currentStatus.midn_Id + " : " + wfd.nuke, "WAIVER STATUS", currentStatus.midn_Id);
            }
            else if (string.IsNullOrEmpty(wfd.nuke) &&  !isSameNullEmpty(wfd.nuke,currentStatus.nuke) )
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" nuke=null, nuke_setby=null, dt_nuke=sysdate , nuke_sb_userid=null ");
                addActionLog(uid, currentStatus.case_Id, "Clearing nuke Status for " + currentStatus.midn_Id + " : " + wfd.nuke, "WAIVER STATUS", currentStatus.midn_Id);
            }
            //SUB
            if (!string.IsNullOrEmpty(wfd.sub) && !wfd.sub.Equals(currentStatus.sub))
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" sub='" + wfd.sub + "', sub_setby=" + setBy + ", dt_sub=sysdate ,sub_sb_userid='" + setby_user + "' ");
                addActionLog(uid, currentStatus.case_Id, "Updating SDW sub Status for " + currentStatus.midn_Id + " : " + wfd.sub, "WAIVER STATUS", currentStatus.midn_Id);
            }
            else if (string.IsNullOrEmpty(wfd.sub) && !isSameNullEmpty(wfd.sub, currentStatus.sub))//!wfd.sub.Equals(currentStatus.sub))
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" sub=null, sub_setby=null, dt_sub=sysdate , sub_sb_userid=null ");
                addActionLog(uid, currentStatus.case_Id, "Clearing sub Status for " + currentStatus.midn_Id + " : " + wfd.sub, "WAIVER STATUS", currentStatus.midn_Id);
            }
            //SPECWAR
            if (!string.IsNullOrEmpty(wfd.specwar) && !wfd.specwar.Equals(currentStatus.specwar))
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" specwar='" + wfd.specwar + "', specwar_setby=" + setBy + ", dt_specwar=sysdate ,specwar_sb_userid='" + setby_user + "' ");
                addActionLog(uid, currentStatus.case_Id, "Updating SDW specwar Status for " + currentStatus.midn_Id + " : " + wfd.specwar, "WAIVER STATUS", currentStatus.midn_Id);
            }
            else if (string.IsNullOrEmpty(wfd.specwar) && !isSameNullEmpty(wfd.specwar, currentStatus.specwar))// !wfd.specwar.Equals(currentStatus.specwar))
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" specwar=null, specwar_setby=null, dt_specwar=sysdate , specwar_sb_userid=null ");
                addActionLog(uid, currentStatus.case_Id, "Clearing specwar Status for " + currentStatus.midn_Id + " : " + wfd.specwar, "WAIVER STATUS", currentStatus.midn_Id);
            }

            //DIVE
            if (!string.IsNullOrEmpty(wfd.dive) && !wfd.dive.Equals(currentStatus.dive))
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" dive='" + wfd.dive + "',  dive_setby=" + setBy + ", dt_dive=sysdate ,dive_sb_userid='" + setby_user + "' ");
                addActionLog(uid, currentStatus.case_Id, "Updating SDW dive Status for " + currentStatus.midn_Id + " : " + wfd.dive, "WAIVER STATUS", currentStatus.midn_Id);
            }
            else if (string.IsNullOrEmpty(wfd.dive) && !isSameNullEmpty(wfd.dive, currentStatus.dive))// !wfd.dive.Equals(currentStatus.dive))
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" dive=null, dive_setby=null, dt_dive=sysdate , dive_sb_userid=null ");
                addActionLog(uid, currentStatus.case_Id, "Clearing dive Status for " + currentStatus.midn_Id + " : " + wfd.dive, "WAIVER STATUS", currentStatus.midn_Id);
            }

            //REAB
            if (!string.IsNullOrEmpty(wfd.reab) && !wfd.reab.Equals(currentStatus.reab))
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" reab='" + wfd.reab + "', reab_setby=" + setBy + ", dt_reab=sysdate ,reab_sb_userid='" + setby_user + "' ");
                addActionLog(uid, currentStatus.case_Id, "Updating reab Status for " + currentStatus.midn_Id + " : " + wfd.reab, "WAIVER STATUS", currentStatus.midn_Id);
            }
            else if (string.IsNullOrEmpty(wfd.reab) && !isSameNullEmpty(wfd.reab, currentStatus.reab))// !wfd.reab.Equals(currentStatus.reab))
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" reab=null, reab_setby=null, dt_reab=sysdate , reab_sb_userid=null ");
                addActionLog(uid, currentStatus.case_Id, "Clearing reab Status for " + currentStatus.midn_Id + " : " + wfd.reab, "WAIVER STATUS", currentStatus.midn_Id);
            }
            //SNFO
            if (!string.IsNullOrEmpty(wfd.snfo) && !wfd.snfo.Equals(currentStatus.snfo))
            {
                if (sb.Length > 26 ){ sb.Append(", "); }
                sb.Append(" snfo='" + wfd.snfo + "', snfo_setby=" + setBy + ", dt_snfo=sysdate ,snfo_sb_userid='" + setby_user + "' ");
                addActionLog(uid, currentStatus.case_Id, "Updating snfo Status for " + currentStatus.midn_Id + " : " + wfd.snfo, "WAIVER STATUS", currentStatus.midn_Id);
            }
            else if (string.IsNullOrEmpty(wfd.snfo) && !isSameNullEmpty(wfd.snfo, currentStatus.snfo))// !wfd.snfo.Equals(currentStatus.snfo))
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" snfo=null, snfo_setby=null, dt_snfo=sysdate, snfo_sb_userid=null ");
                addActionLog(uid, currentStatus.case_Id, "Clearing snfo Status for " + currentStatus.midn_Id + " : " + wfd.snfo, "WAIVER STATUS", currentStatus.midn_Id);
            }
            //SNA
            if (!string.IsNullOrEmpty(wfd.sna) && !wfd.sna.Equals(currentStatus.sna))
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" sna='" + wfd.sna + "', sna_setby=" + setBy + ", dt_sna=sysdate ,sna_sb_userid='" + setby_user + "' ");
                addActionLog(uid, currentStatus.case_Id, "Updating sna Status for " + currentStatus.midn_Id + " : " + wfd.sna, "WAIVER STATUS", currentStatus.midn_Id);
            }
            else if (string.IsNullOrEmpty(wfd.sna) && !isSameNullEmpty(wfd.sna, currentStatus.sna))// !wfd.sna.Equals(currentStatus.sna))
            {
                if (sb.Length > 26) { sb.Append(", "); }
                sb.Append(" sna=null, sna_setby=null, dt_sna=sysdate, sna_sb_userid=null ");
                addActionLog(uid, currentStatus.case_Id, "Clearing sna Status for " + currentStatus.midn_Id + " : " + wfd.sna, "WAIVER STATUS", currentStatus.midn_Id);
            }

            sb.Append(  " where midn_id=:m and case_Id=:z") ;
            return sb.ToString();
        }
Exemplo n.º 2
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="midnId"></param>
        /// <param name="caseId"></param>
        /// <param name="rl"></param>
        /// <param name="ul"></param>
        /// <param name="swo"></param>
        /// <param name="usmc"></param>
        /// <param name="nuke"></param>
        /// <param name="sub"></param>
        /// <param name="specwar"></param>
        /// <param name="reab"></param>
        /// <param name="snfo"></param>
        /// <param name="sna"></param>
        /// <returns></returns>
        internal int updateWaiverStatusById(string midnId, string caseId, string userId, string rl, string ul, string swo, string usmc, string nuke,
                string sub, string specwar, string reab, string snfo, string sna, string dive,WaiverFinalDecision wfd)
        {
            Int64 id = Convert.ToInt64(midnId);
            Int64 case_Id = Convert.ToInt64(caseId);
            Int64 user_Id = Convert.ToInt64(userId);
            string sql = "";
            //WaiverStatusLatest currentStatus = this.getWaiverStatusByCaseId(case_Id);
            WaiverStatusLatest currentStatus = getWaiverStatusByCidUid(case_Id, id);

            Int64 setBy=1;
            if (Roles.IsUserInRole("WaiverAdmin") || Roles.IsUserInRole("CA") ){
                setBy=1;
            }
            else if (Roles.IsUserInRole("CCMO"))
            {
                setBy=3;
            }

            var data =0;
            var dataUpdate=0;
            if (!existsWaiverStatusById(midnId))
            {
                string setby_user = this.getUserNameById(user_Id);
                //u r a...i m z
                //    sql = "update WAIVER_STATUS set dt_updated=sysdate,user_id=:u,  rl=:r, ul=:a, swo=:b, usmc=:c, nuke=:d, " +
                //            "  sub=:e, specwar=:f, reab=:g, snfo=:h, sna=:i ,dive=:w " +
                //                                        " where midn_id=:m and case_Id=:z";
                // u r a..i m z
                sql = "insert into WAIVER_STATUS  (waiver_status_id,  user_id, rl,ul,swo,usmc,nuke,sub,specwar,reab,snfo,sna, dive, midn_id, case_id ) " +
                    //  ", rl_setby, ul_setby, swo_setby,usmc_setby, nuke_setby, sub_setby, specwar_setby, dive_setby, reab_setby, snfo_setby, sna_setby ) "+
                        " values  ( waiver_seq.nextval, :u, :r, :a, :b, :c, :d,  :e, :f, :g, :h, :i, :w, :m, :z )";
                     //,:rl_sb, :ul_sb, :swo_sb, :usmc_sb,:nuke_sb, :sub_sb, :specwar_sb, :dive_sb, :reab_sb, :snfo_sb, :sna_sb  ) ";
                using (MedMidsContext db = new MedMidsContext())
                {
                    data = db.Database.ExecuteSqlCommand(sql,

                      new OracleParameter(":u", user_Id),
                      new OracleParameter(":r", rl),
                      new OracleParameter(":a", ul),
                      new OracleParameter(":b", swo),
                      new OracleParameter(":c", usmc),
                      new OracleParameter(":d", nuke),
                      new OracleParameter(":e", sub),
                      new OracleParameter(":f", specwar),
                      new OracleParameter(":g", reab),
                      new OracleParameter(":h", snfo),
                      new OracleParameter(":i", sna),
                      new OracleParameter(":w", dive),
                      new OracleParameter(":m", id),
                      new OracleParameter(":z", case_Id)
                        /*    ,
                            new OracleParameter("rl_sb",setBy),
                            new OracleParameter("ul_sb",setBy),
                            new OracleParameter("swo_sb",setBy),
                            new OracleParameter("usmc_sb",setBy),
                            new OracleParameter("nuke_sb",setBy),
                            new OracleParameter("sub_sb",setBy),
                            new OracleParameter("specwar_sb",setBy),
                            new OracleParameter("dive_sb",setBy),
                            new OracleParameter("reab_sb",setBy),
                            new OracleParameter("snfo_sb",setBy),
                            new OracleParameter("sna_sb",setBy)
                          */

                      );
                    string comma = "";
                    StringBuilder sb = new StringBuilder("update waiver_status set ");
                    if (sb.Length > 26) { comma = " , "; }
                    if (!string.IsNullOrEmpty(rl)) sb.Append(comma + " dt_rl=sysdate, rl_sb_userid='" + setby_user + "' , rl_setby=" + setBy);
                    if (sb.Length > 26) { comma = " , "; }
                    if (!string.IsNullOrEmpty(ul)) sb.Append(comma + " dt_ul=sysdate, ul_sb_userid='" + setby_user + "' , ul_setby=" + setBy);
                    if (sb.Length > 26) { comma = " , "; }
                    if (!string.IsNullOrEmpty(swo)) sb.Append(comma + " dt_swo=sysdate, swo_sb_userid='" + setby_user + "' , swo_setby=" + setBy);
                    if (sb.Length > 26) { comma = " , "; }
                    if (!string.IsNullOrEmpty(usmc)) sb.Append(comma + " dt_usmc=sysdate, usmc_sb_userid='" + setby_user + "' , usmc_setby=" + setBy);
                    if (sb.Length > 26) { comma = " , "; }
                    if (!string.IsNullOrEmpty(nuke)) sb.Append(comma + " dt_nuke=sysdate, nuke_sb_userid='" + setby_user + "' , nuke_setby=" + setBy);
                    if (sb.Length > 26) { comma = " , "; }
                    if (!string.IsNullOrEmpty(sub)) sb.Append(comma + " dt_sub=sysdate, sub_sb_userid='" + setby_user + "' , sub_setby=" + setBy);
                    if (sb.Length > 26) { comma = " , "; }
                    if (!string.IsNullOrEmpty(specwar)) sb.Append(comma + " dt_specwar=sysdate, specwar_sb_userid='" + setby_user + "' , specwar_setby=" + setBy);
                    if (sb.Length > 26) { comma = " , "; }
                    if (!string.IsNullOrEmpty(reab)) sb.Append(comma + " dt_reab=sysdate, reab_sb_userid='" + setby_user + "' , reab_setby=" + setBy);
                    if (sb.Length > 26) { comma = " , "; }
                    if (!string.IsNullOrEmpty(snfo)) sb.Append(comma + " dt_snfo=sysdate, snfo_sb_userid='" + setby_user + "' , snfo_setby=" + setBy);
                    if (sb.Length > 26) { comma = " , "; }
                    if (!string.IsNullOrEmpty(sna)) sb.Append(comma + " dt_sna=sysdate, sna_sb_userid='" + setby_user + "' , sna_setby=" + setBy);
                    if (sb.Length > 26) { comma = " , "; }
                    if (!string.IsNullOrEmpty(dive)) sb.Append(comma + " dt_dive=sysdate, dive_sb_userid='" + setby_user + "' , dive_setby=" + setBy);

                    sb.Append(" where midn_id=" + id + " and case_id=0 ");
                    var resinit = db.Database.ExecuteSqlCommand(sb.ToString());
                }
            }
            else
            {
                string sql2 = buildWaiverSetby(wfd, setBy,   currentStatus, user_Id);
                using (MedMidsContext db = new MedMidsContext())
                {
                    dataUpdate = db.Database.ExecuteSqlCommand(sql2,
                      new OracleParameter(":m", id),
                    new OracleParameter(":z", case_Id)
                    );
                }
            }

            logger.Debug("Update/Insert Waiver_status " + data + ":" + dataUpdate);
            return 1;
        }