{"version":3,"file":"main.js","mappings":"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AAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;EACG,IAAI,EAAE,IAAI;EACV,MAAM,EAAE;CACV,EACD;E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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,4HAA4H,UAAU,YAAY,aAAa,WAAW,YAAY,aAAa,qDAAqD,qBAAqB,2BAA2B,0BAA0B,sBAAsB,4BAA4B,gCAAgC,KAAK,mBAAmB;AACpb;AACA;;;;;;;;;;;ACdA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,mKAAmK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,UAAU,MAAM,KAAK,YAAY,aAAa,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,aAAa,MAAM,KAAK,YAAY,aAAa,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,aAAa,MAAM,KAAK,UAAU,KAAK,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,aAAa,aAAa,aAAa,aAAa,WAAW,YAAY,QAAQ,KAAK,YAAY,aAAa,WAAW,MAAM,KAAK,YAAY,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,aAAa,aAAa,OAAO,KAAK,YAAY,aAAa,wCAAwC,kCAAkC,KAAK,iBAAiB,kCAAkC,KAAK,mBAAmB,kCAAkC,KAAK,gBAAgB,uBAAuB,KAAK,kBAAkB,6CAA6C,yCAAyC,KAAK,uBAAuB,kCAAkC,KAAK,kBAAkB,kCAAkC,KAAK,kBAAkB,kCAAkC,KAAK,uBAAuB,6CAA6C,KAAK,qBAAqB,6CAA6C,KAAK,wBAAwB,6CAA6C,KAAK,sBAAsB,6CAA6C,KAAK,yBAAyB,6CAA6C,KAAK,uBAAuB,6CAA6C,KAAK,yBAAyB,6CAA6C,KAAK,uBAAuB,6CAA6C,KAAK,wBAAwB,6CAA6C,KAAK,sBAAsB,6CAA6C,KAAK,uBAAuB,6CAA6C,KAAK,qBAAqB,6CAA6C,KAAK,gPAAgP,kCAAkC,KAAK,gBAAgB,kDAAkD,mDAAmD,KAAK,6EAA6E,uCAAuC,oCAAoC,KAAK,iCAAiC,qCAAqC,KAAK,mBAAmB,mCAAmC,kCAAkC,KAAK,gBAAgB,mBAAmB,OAAO,wBAAwB,4BAA4B,SAAS,yBAAyB,wCAAwC,UAAU,0BAA0B,wCAAwC,UAAU,qBAAqB,uCAAuC,+BAA+B,0CAA0C,6BAA6B,+BAA+B,2BAA2B,6BAA6B,SAAS,wBAAwB,oCAAoC,kCAAkC,mBAAmB,KAAK,qBAAqB,qCAAqC,KAAK,wBAAwB,oCAAoC,KAAK,yBAAyB,6CAA6C,KAAK,6BAA6B,gCAAgC,0BAA0B,0BAA0B,KAAK,0BAA0B,gCAAgC,2BAA2B,KAAK,mBAAmB;AAC3wI;AACA;;;;;;;;;;;ACxIA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,mKAAmK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,UAAU,MAAM,KAAK,YAAY,aAAa,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,aAAa,MAAM,KAAK,YAAY,aAAa,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,aAAa,MAAM,KAAK,UAAU,KAAK,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,aAAa,aAAa,aAAa,aAAa,WAAW,YAAY,QAAQ,KAAK,YAAY,aAAa,WAAW,MAAM,KAAK,YAAY,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,aAAa,aAAa,OAAO,KAAK,YAAY,aAAa,wCAAwC,kCAAkC,KAAK,iBAAiB,kCAAkC,KAAK,mBAAmB,kCAAkC,KAAK,gBAAgB,uBAAuB,KAAK,kBAAkB,6CAA6C,yCAAyC,KAAK,uBAAuB,kCAAkC,KAAK,kBAAkB,kCAAkC,KAAK,kBAAkB,kCAAkC,KAAK,uBAAuB,6CAA6C,KAAK,qBAAqB,6CAA6C,KAAK,wBAAwB,6CAA6C,KAAK,sBAAsB,6CAA6C,KAAK,yBAAyB,6CAA6C,KAAK,uBAAuB,6CAA6C,KAAK,yBAAyB,6CAA6C,KAAK,uBAAuB,6CAA6C,KAAK,wBAAwB,6CAA6C,KAAK,sBAAsB,6CAA6C,KAAK,uBAAuB,6CAA6C,KAAK,qBAAqB,6CAA6C,KAAK,gPAAgP,kCAAkC,KAAK,gBAAgB,kDAAkD,mDAAmD,KAAK,6EAA6E,uCAAuC,oCAAoC,KAAK,iCAAiC,qCAAqC,KAAK,mBAAmB,mCAAmC,kCAAkC,KAAK,gBAAgB,mBAAmB,OAAO,wBAAwB,4BAA4B,SAAS,yBAAyB,wCAAwC,UAAU,0BAA0B,wCAAwC,UAAU,qBAAqB,uCAAuC,+BAA+B,0CAA0C,6BAA6B,+BAA+B,2BAA2B,6BAA6B,SAAS,wBAAwB,oCAAoC,kCAAkC,mBAAmB,KAAK,qBAAqB,mCAAmC,KAAK,wBAAwB,oCAAoC,KAAK,yBAAyB,6CAA6C,KAAK,6BAA6B,gCAAgC,0BAA0B,0BAA0B,KAAK,0BAA0B,gCAAgC,2BAA2B,KAAK,mBAAmB;AACzwI;AACA;;;;;;;;;;;ACxIA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,0JAA0J,UAAU,KAAK,KAAK,UAAU,KAAK,KAAK,YAAY,WAAW,YAAY,WAAW,sCAAsC,mBAAmB,OAAO,uBAAuB,kBAAkB,OAAO,iBAAiB,kDAAkD,wBAAwB,0BAA0B,uBAAuB,KAAK,mBAAmB;AAC5gB;AACA;;;;;;;;;;;AClBA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,gIAAgI,YAAY,aAAa,aAAa,WAAW,YAAY,WAAW,UAAU,KAAK,KAAK,YAAY,aAAa,aAAa,WAAW,YAAY,WAAW,UAAU,8EAA8E,qCAAqC,6BAA6B,uBAAuB,4BAA4B,sBAAsB,yBAAyB,iBAAiB,eAAe,KAAK,mDAAmD,qCAAqC,6BAA6B,uBAAuB,4BAA4B,oBAAoB,yBAAyB,iBAAiB,eAAe,KAAK,mBAAmB;AAC11B;AACA;;;;;;;;;;;ACxBA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,4HAA4H,KAAK,UAAU,YAAY,MAAM,MAAM,YAAY,MAAM,KAAK,YAAY,MAAM,KAAK,UAAU,KAAK,KAAK,YAAY,wDAAwD,mBAAmB,4CAA4C,OAAO,+CAA+C,iCAAiC,OAAO,SAAS,iCAAiC,OAAO,oDAAoD,mBAAmB,KAAK,gCAAgC,iCAAiC,KAAK,mBAAmB;AACpqB;AACA;;;;;;;;;;;ACxBA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA,yDAAyD;AACzD,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,4IAA4I,QAAQ,MAAM,UAAU,MAAM,KAAK,YAAY,WAAW,YAAY,aAAa,aAAa,WAAW,UAAU,UAAU,MAAM,KAAK,UAAU,yCAAyC,gBAAgB,qBAAqB,kBAAkB,wBAAwB,wBAAwB,KAAK,cAAc,8BAA8B,qBAAqB,0BAA0B,qFAAqF,2BAA2B,kBAAkB,mBAAmB,sBAAsB,KAAK,cAAc,qBAAqB,KAAK,uBAAuB;AACtwB;AACA;;;;;;;;;;;AC1BA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAA0F;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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CA;;;;;;;;;;;ACvBA;AACA,4CAA4C,mBAAO,CAAC,8EAAmE;AACvH,kCAAkC,mBAAO,CAAC,uEAA4D;AACtG;AACA;AACA;AACA;AACA,CAAC,OAAO,mHAAmH,YAAY,gCAAgC,8BAA8B,KAAK,mBAAmB;AAC7N;AACA;;;;;;;;;;;ACTA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,iFAAsE;AAC1H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,8EAAmE;AACvH,kCAAkC,mBAAO,CAAC,uEAA4D;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,gIAAgI,MAAM,gBAAgB,UAAU,MAAM,MAAM,YAAY,MAAM,MAAM,YAAY,MAAM,MAAM,YAAY,MAAM,MAAM,YAAY,MAAM,MAAM,YAAY,MAAM,MAAM,YAAY,MAAM,MAAM,YAAY,MAAM,MAAM,YAAY,MAAM,MAAM,YAAY,MAAM,MAAM,YAAY,MAAM,MAAM,YAAY,MAAM,MAAM,YAAY,MAAM,MAAM,KAAK,YAAY,aAAa,WAAW,YAAY,aAAa,WAAW,UAAU,UAAU,MAAM,KAAK,YAAY,aAAa,WAAW,YAAY,aAAa,WAAW,UAAU,UAAU,KAAK,UAAU,UAAU,MAAM,KAAK,YAAY,MAAM,MAAM,KAAK,YAAY,aAAa,MAAM,KAAK,UAAU,KAAK,KAAK,YAAY,MAAM,KAAK,UAAU,MAAM,KAAK,UAAU,MAAM,KAAK,UAAU,KAAK,KAAK,UAAU,MAAM,MAAM,UAAU,KAAK,MAAM,UAAU,MAAM,KAAK,UAAU,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,aAAa,WAAW,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,aAAa,WA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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/JSON/COVIDTandC.ts","./src/app/JSON/COVIDVisits.ts","./src/app/JSON/HeaderDetails.ts","./src/app/JSON/IPTandC.ts","./src/app/JSON/LTCFTypes.ts","./src/app/JSON/MaxImmunizers.ts","./src/app/JSON/Menu.ts","./src/app/JSON/MinImmunizers.ts","./src/app/JSON/NoClientInterestOptions.ts","./src/app/JSON/SiteRequiredFields.ts","./src/app/JSON/States.ts","./src/app/JSON/UniversalTandC-2022.ts","./src/app/JSON/UniversalTandC-2023.ts","./src/app/JSON/UniversalTandC-2024.ts","./src/app/JSON/UniversalTandC-2025.ts","./src/app/JSON/UniversalTandC.ts","./src/app/JSON/adminsInformation.ts","./src/app/JSON/covidClinicType.ts","./src/app/JSON/footerMenu.ts","./src/app/JSON/hintMessages.ts","./src/app/JSON/localFields.ts","./src/app/JSON/outReachType.ts","./src/app/JSON/outReachTypePCA.ts","./src/app/JSON/pcaDetailsFields.ts","./src/app/JSON/pcaStartEndDates.ts","./src/app/JSON/schedulerDefaultValues.ts","./src/app/JSON/startEndDatesForReports.ts","./src/app/JSON/thankyouMessage.ts","./src/app/JSON/userLoginData.ts","./src/app/alert.service.ts","./src/app/alert/alert.component.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/config-files/ClinicalRequirements.ts","./src/app/config-files/UserRole.ts","./src/app/config-files/blocked-immunizations.ts","./src/app/config-files/config-settings.ts","./src/app/config-files/error-messages.ts","./src/app/guards/admin.route.guard.ts","./src/app/guards/can-deactivate/can-deactivate.guard.ts","./src/app/guards/can-deactivate/component-can-deactivate.ts","./src/app/guards/form-can-deactivate/form-can-deactivate.ts","./src/app/guards/home.route.gaurd.ts","./src/app/guards/navigationDeactivate/navigation-can-deactivate.ts","./src/app/lookup.service.ts","./src/app/models/ActivityReport.ts","./src/app/models/AddBusiness.ts","./src/app/models/Alert.ts","./src/app/models/CorporateTrackerSchedulerClinics.ts","./src/app/models/DistrictCompliance.ts","./src/app/models/FollowUp.ts","./src/app/models/FollowUpDetailsList.ts","./src/app/models/HighLevelCompliance.ts","./src/app/models/HighLevelStatus.ts","./src/app/models/Immunization-check.ts","./src/app/models/ImmunizationFinance.ts","./src/app/models/JsFluOppContactStatusModel.ts","./src/app/models/MinimumShotExceptions.ts","./src/app/models/MovePatientsBetweenPatientGroupsModel.ts","./src/app/models/OutReachPrograms.ts","./src/app/models/OutreachOpportunity.ts","./src/app/models/PCAContractAgreementModel.ts","./src/app/models/PotentialLocalBusiness.ts","./src/app/models/RestrictedClinicsAndOpportunitiesReport.ts","./src/app/models/ScheduledAppointment.ts","./src/app/models/ScheduledClinicStatus.ts","./src/app/models/ScheduledClinics.ts","./src/app/models/ScheduledEventsReport.ts","./src/app/models/SearchCuraPatientPatientGroupsModel.ts","./src/app/models/TestingEvents.ts","./src/app/models/UnsubscribeEmailData.ts","./src/app/models/UpdateSchedulerSiteDesign.ts","./src/app/models/UserAccessLog.ts","./src/app/models/UserProfileModel.ts","./src/app/models/VaccinePurchase.ts","./src/app/models/WeeklyVaccinePurchasing.ts","./src/app/models/WorkflowMonitor.ts","./src/app/models/cancelSchedulledClinics.ts","./src/app/models/charityProgram.ts","./src/app/models/client-info.ts","./src/app/models/clinicDetailsDelete.ts","./src/app/models/clinicDetailsUpdate.ts","./src/app/models/clinicassignment.ts","./src/app/models/community-outreach-v1.ts","./src/app/models/contract.ts","./src/app/models/dashboard.ts","./src/app/models/duplicatebusiness.ts","./src/app/models/encryptDecrypt.ts","./src/app/models/eventDetails.ts","./src/app/models/globalvariables.ts","./src/app/models/local-clinic-details.ts","./src/app/models/localLeads.ts","./src/app/models/localLeadsSave.ts","./src/app/models/logData.ts","./src/app/models/opportunities.ts","./src/app/models/pcaTandC-release2.ts","./src/app/models/pcaTandC.ts","./src/app/models/pcaTestingEventDetails.ts","./src/app/models/pcaclinic.ts","./src/app/models/schedulerRegistrationDetails.ts","./src/app/models/schedulerUserInfo.ts","./src/app/models/schedulevent.ts","./src/app/models/storeCompliance.ts","./src/app/models/storeProfile.ts","./src/app/models/thankyouData.ts","./src/app/models/userAccessLink.ts","./src/app/models/userInfo.ts","./src/app/models/userLoginInfo.ts","./src/app/models/voucherFormData.ts","./src/app/modules/admin/admin.module.ts","./src/app/modules/admin/components/client-scheduler-appt-tracker/client-scheduler-appt-tracker.component.ts","./src/app/modules/admin/components/corporate-scheduler-preview/corporate-scheduler-preview.component.ts","./src/app/modules/admin/components/corporate-scheduler/corporate-scheduler.component.ts","./src/app/modules/admin/components/corporate-store-appt-tracker/corporate-store-appt-tracker.component.ts","./src/app/modules/admin/components/corporateuploader/corporateuploader.component.ts","./src/app/modules/admin/components/corporateuploaderstatus/corporateuploaderstatus.component.ts","./src/app/modules/admin/components/dropped-store-reassignments/dropped-store-reassignments.component.ts","./src/app/modules/admin/components/groupidsuploader/groupidsuploader.component.ts","./src/app/modules/admin/components/immunization-check/add-edit-immunization-check/add-edit-immunization-check.component.ts","./src/app/modules/admin/components/immunization-check/immunization-check.component.ts","./src/app/modules/admin/components/patient-reassignment/patient-reassignment.component.ts","./src/app/modules/admin/components/scheduler-landing/scheduler-landing.component.ts","./src/app/modules/admin/components/storeUploader/services/storeprofileuploader.service.ts","./src/app/modules/admin/components/storeUploader/store-profile-upload-complete/store-profile-upload-complete.component.ts","./src/app/modules/admin/components/storeUploader/storeprofilereportandupdate/storeprofilereportandupdate.component.ts","./src/app/modules/admin/components/storeUploader/storeprofileuploader/storeprofileuploader.component.ts","./src/app/modules/admin/components/storeUploader/storeprofileuploaderstatus/storeprofileuploaderstatus.component.ts","./src/app/modules/admin/components/storeUploader/updatestoreprofile/updatestoreprofile.component.ts","./src/app/modules/admin/components/storeUploader/uploadstoreprofiles/uploadstoreprofiles.component.ts","./src/app/modules/admin/components/user-profile/add-user/add-user.component.ts","./src/app/modules/admin/components/user-profile/edit-user/edit-user.component.ts","./src/app/modules/admin/components/user-profile/user-profile.component.ts","./src/app/modules/admin/components/walgreens-scheduler-confirmation/walgreens-scheduler-confirmation.component.ts","./src/app/modules/admin/components/walgreens-scheduler-registration/walgreens-scheduler-registration.component.ts","./src/app/modules/admin/services/corporateuploader.service.ts","./src/app/modules/admin/services/groupiduploader.service.ts","./src/app/modules/admin/services/immunization-check.service.ts","./src/app/modules/admin/services/patientgroup.service.ts","./src/app/modules/admin/services/preview.service.ts","./src/app/modules/admin/services/schedulerregistration.service.ts","./src/app/modules/admin/services/user-profile.service.ts","./src/app/modules/auth/auth.module.ts","./src/app/modules/auth/components/landing/landing.component.ts","./src/app/modules/auth/components/login/login.component.ts","./src/app/modules/auth/components/signout/signout.component.ts","./src/app/modules/auth/components/unauthorize/unauthorize.component.ts","./src/app/modules/auth/components/userauthentication/userauthentication.component.ts","./src/app/modules/auth/services/encrypt-link.service.ts","./src/app/modules/clinicdetails/clinicdetails.module.ts","./src/app/modules/clinicdetails/components/clinicdetailsstatus/clinicdetailsstatus.component.ts","./src/app/modules/clinicdetails/components/equity-event-details/equity-event-details.component.ts","./src/app/modules/clinicdetails/components/local-clinic-details/local-clinic-details.component.ts","./src/app/modules/clinicdetails/pipes/clinicUnique.pipe.ts","./src/app/modules/clinicdetails/services/clinicdetails.service.ts","./src/app/modules/common/GlobalErrorHandler.ts","./src/app/modules/common/app-common-session.ts","./src/app/modules/common/application-settings.ts","./src/app/modules/common/common.module.ts","./src/app/modules/common/components/covid-contact-us/covid-contact-us.component.ts","./src/app/modules/common/components/field-error-display/field-error-display.component.ts","./src/app/modules/common/components/footer/footer.component.ts","./src/app/modules/common/components/header/header.component.ts","./src/app/modules/common/components/immz-contact-us/immz-contact-us.component.ts","./src/app/modules/common/components/invalid-contract/invalid-contract.component.ts","./src/app/modules/common/components/ltcf-contact-us-locations/ltcf-contact-us-locations.component.ts","./src/app/modules/common/components/ltcf-contact-us/ltcf-contact-us.component.ts","./src/app/modules/common/components/masterlayout/masterlayout.component.ts","./src/app/modules/common/components/popupHints/popuphints.component.ts","./src/app/modules/common/components/previous-client-interest/previous-client-interest.component.ts","./src/app/modules/common/components/reusable.module.ts","./src/app/modules/common/components/store-opportunity/store-opportunity.component.ts","./src/app/modules/common/components/store-responds-yes-or-no/store-responds-yes-or-no.component.ts","./src/app/modules/common/services/authentication.service.ts","./src/app/modules/common/services/headerservice.service.ts","./src/app/modules/common/services/potential-client-interest.service.ts","./src/app/modules/common/services/safehtml.pipe.ts","./src/app/modules/contractaggreement/Helpers/ValidationHandler.ts","./src/app/modules/contractaggreement/components/approveagreement-2022/approveagreement.component-2022.ts","./src/app/modules/contractaggreement/components/approveagreement-2023/approveagreement.component-2023.ts","./src/app/modules/contractaggreement/components/approveagreement-2024/approveagreement-2024.component.ts","./src/app/modules/contractaggreement/components/approveagreement/approveagreement.component.ts","./src/app/modules/contractaggreement/components/businesscontactpage/businesscontactpage.component.ts","./src/app/modules/contractaggreement/components/charity-locations-list/charity-locations-list.component.ts","./src/app/modules/contractaggreement/components/charity-locations/charity-locations.component.ts","./src/app/modules/contractaggreement/components/communityoutreach/communityoutreach.component.ts","./src/app/modules/contractaggreement/components/contact-us-locations/contact-us-location.component.ts","./src/app/modules/contractaggreement/components/contact-us/contact-us.component.ts","./src/app/modules/contractaggreement/components/contact-us/stateCodenName.ts","./src/app/modules/contractaggreement/components/contract-agreement-2022/agreement.component-2022.ts","./src/app/modules/contractaggreement/components/contract-agreement-2023/agreement.component-2023.ts","./src/app/modules/contractaggreement/components/contract-agreement-2024/agreement.component-2024.ts","./src/app/modules/contractaggreement/components/contract-agreement/agreement.component.ts","./src/app/modules/contractaggreement/components/contract-locations-list/locations-list.component.ts","./src/app/modules/contractaggreement/components/contract-locations/locations.component.ts","./src/app/modules/contractaggreement/components/contract-pharmacy-info/witness.component.ts","./src/app/modules/contractaggreement/components/contractapprove/contractapprove.component.ts","./src/app/modules/contractaggreement/components/equityevents/equityevents.component.ts","./src/app/modules/contractaggreement/components/immunizations/immunizations.component.ts","./src/app/modules/contractaggreement/components/local-contracts/contract.component.ts","./src/app/modules/contractaggreement/components/maintenance/maintenance.component.ts","./src/app/modules/contractaggreement/components/thankyou/thankyou.component.ts","./src/app/modules/contractaggreement/components/unsubscribe/unsubscribe.component.ts","./src/app/modules/contractaggreement/components/viewcontract-agreement-2022/viewcontract-agreement.component-2022.ts","./src/app/modules/contractaggreement/components/viewcontract-agreement-2023/viewcontract-agreement.component-2023.ts","./src/app/modules/contractaggreement/components/viewcontract-agreement-2024/viewcontract-agreement-2024.component.ts","./src/app/modules/contractaggreement/components/viewcontract-agreement/viewcontract-agreement.component.ts","./src/app/modules/contractaggreement/contractagreement.module.ts","./src/app/modules/contractaggreement/pipes/CustomGroupBy.pipe.ts","./src/app/modules/contractaggreement/pipes/location-number.pipe.ts","./src/app/modules/contractaggreement/pipes/time-to-date.pipe.ts","./src/app/modules/contractaggreement/pipes/unique.pipe.ts","./src/app/modules/contractaggreement/services/contractapprove.service.ts","./src/app/modules/contractaggreement/services/lead-opportunities.service.ts","./src/app/modules/contractaggreement/services/outreach-program.service.ts","./src/app/modules/contractaggreement/services/unsubscribe.service.ts","./src/app/modules/contractaggreement/workflow/workflow-guard.service.ts","./src/app/modules/contractaggreement/workflow/workflow.model.ts","./src/app/modules/contractaggreement/workflow/workflow.service.ts","./src/app/modules/home/Services/chartService.ts","./src/app/modules/home/Services/dashboard-service.service.ts","./src/app/modules/home/Services/leadsAwaitingResponse.ts","./src/app/modules/home/charts/charts.component.ts","./src/app/modules/home/charts/oppourtunities-requiring-action/oppourtunities-requiring-action.component.ts","./src/app/modules/home/charts/priority-oppourtunities-requiring-action/priority-oppourtunities-requiring-action.component.ts","./src/app/modules/home/dashboard/dashboard.component.ts","./src/app/modules/home/home.module.ts","./src/app/modules/home/leadsIntake/action/action.component.ts","./src/app/modules/patientcareadvocacy/Services/add-testing-organization.service.ts","./src/app/modules/patientcareadvocacy/Services/pcacontract-agreement.service.ts","./src/app/modules/patientcareadvocacy/Services/pcadetailsservice.service.ts","./src/app/modules/patientcareadvocacy/components/addpca/addpca.component.ts","./src/app/modules/patientcareadvocacy/components/asolula/asolula.component.ts","./src/app/modules/patientcareadvocacy/components/csslula/csslula.component.ts","./src/app/modules/patientcareadvocacy/components/govlula-agreement/govlula-agreement.component.ts","./src/app/modules/patientcareadvocacy/components/lula-contract-agreement-for-user-release2/lula-contract-agreement-for-user-release2.component.ts","./src/app/modules/patientcareadvocacy/components/lula-contract-agreement-for-user/lula-contract-agreement-for-user.component.ts","./src/app/modules/patientcareadvocacy/components/opolula/opolula.component.ts","./src/app/modules/patientcareadvocacy/components/pca-agreement-Release2/pca-agreement-Release2.component.ts","./src/app/modules/patientcareadvocacy/components/pca-agreement/pca-agreement.component.ts","./src/app/modules/patientcareadvocacy/components/pca-immunizations/pca-immunizations.component.ts","./src/app/modules/patientcareadvocacy/components/pca-location-list/pca-location-list.component.ts","./src/app/modules/patientcareadvocacy/components/pca-location/pca-location.component.ts","./src/app/modules/patientcareadvocacy/components/pca-pharmacy-info/pca-pharmacy-info.component.ts","./src/app/modules/patientcareadvocacy/components/pcadetails/pcadetails.component.ts","./src/app/modules/patientcareadvocacy/components/pcadetailsteps/pcadetailsteps.component.ts","./src/app/modules/patientcareadvocacy/components/rhd-contract-agreement-release2/rhd-contract-agreement-release2.component.ts","./src/app/modules/patientcareadvocacy/components/rhd-contract-agreement/rhd-contract-agreement.component.ts","./src/app/modules/patientcareadvocacy/patientcareadvocacy.module.ts","./src/app/modules/patientcareadvocacy/services/pca-contracts.service.ts","./src/app/modules/reports/components/activityreport/activityreport.component.ts","./src/app/modules/reports/components/contact-us-report/contact-us-report.component.ts","./src/app/modules/reports/components/covid-contact-us-report/covid-contact-us-report.component.ts","./src/app/modules/reports/components/covid-groupidassignmentreport/covid-groupidassignmentreport.component.ts","./src/app/modules/reports/components/covid-highlevelstatusreportrt/covid-highlevelstatusreportrt.component.ts","./src/app/modules/reports/components/covid-minimumshotexceptions-report/covid-minimumshotexceptions-report.component.ts","./src/app/modules/reports/components/covid-opp-statusreport/covid-opp-statusreport.component.ts","./src/app/modules/reports/components/covid-revised-clinicdates/covid-revised-clinicdates.component.ts","./src/app/modules/reports/components/covid-vaccine-purchasing-report/covid-vaccine-purchasing-report.component.ts","./src/app/modules/reports/components/covid-weekly-vaccine-purchase-report/covid-weekly-vaccine-purchase-report.component.ts","./src/app/modules/reports/components/covidclinicsreport/covidclinicsreport.component.ts","./src/app/modules/reports/components/covidimmunizationfinancereport/covidimmunizationfinancereport.component.ts","./src/app/modules/reports/components/data-stats-reporting/data-stats-reporting.component.ts","./src/app/modules/reports/components/districtcompliancereport/districtcompliancereport.component.ts","./src/app/modules/reports/components/flu-hcs-actions-items-ip/flu-hcs-actions-items-ip.component.ts","./src/app/modules/reports/components/flu-opportunities-contact-status/flu-opportunities-contact-status.component.ts","./src/app/modules/reports/components/groupidassignmentreport/groupidassignmentreport.component.ts","./src/app/modules/reports/components/hcs-actions-items-ip/hcs-actions-items-ip.component.ts","./src/app/modules/reports/components/highlevelcompliance/highlevelcompliance.component.ts","./src/app/modules/reports/components/highlevelstatusreport/highlevelstatusreport.component.ts","./src/app/modules/reports/components/immunizationfinancereport/immunizationfinancereport.component.ts","./src/app/modules/reports/components/initiatedcontractsreport/initiatedcontractsreport.component.ts","./src/app/modules/reports/components/ltcf-contact-us-report/ltcf-contact-us-report.component.ts","./src/app/modules/reports/components/minimumshotexceptions/minimumshotexceptions.component.ts","./src/app/modules/reports/components/pcaactionitems/pcaactionitems.component.ts","./src/app/modules/reports/components/potentiallocalbusinesslist/potentiallocalbusinesslist.component.ts","./src/app/modules/reports/components/potentionallocalbusinessandcontactstatus/potentionallocalbusinessandcontactstatus.component.ts","./src/app/modules/reports/components/restrictedstateclinics/restrictedstateclinics.component.ts","./src/app/modules/reports/components/revisedclinicdates/revisedclinicdates.component.ts","./src/app/modules/reports/components/scheduleclinicreport/scheduledclinicsreport.component.ts","./src/app/modules/reports/components/scheduled-covid-clinics-report/scheduled-covid-clinics-report.component.ts","./src/app/modules/reports/components/scheduledApptsRepForReminderEmail/scheduledApptsRepForReminderEmail.component.ts","./src/app/modules/reports/components/scheduledappointmentsreport/scheduledappointmentsreport.component.ts","./src/app/modules/reports/components/scheduledclinicstatus/scheduledclinicstatus.component.ts","./src/app/modules/reports/components/scheduledeventsreport/scheduledeventsreport.component.ts","./src/app/modules/reports/components/scheduler-appttracking/scheduler-appttracking.component.ts","./src/app/modules/reports/components/servicefeesreport/servicefeesreport.component.ts","./src/app/modules/reports/components/storecompliancereport/storecompliancereport.component.ts","./src/app/modules/reports/components/testingeventsreport/testingeventsreport.component.ts","./src/app/modules/reports/components/useraccesslog/useraccesslog.component.ts","./src/app/modules/reports/components/vaccinepurchasingreport/vaccinepurchasingreport.component.ts","./src/app/modules/reports/components/weeklygroupidassignmentsreport/weeklygroupidassignments.component.ts","./src/app/modules/reports/components/weeklyvaccinepuchasingreport/weeklyvaccinepurchase.component.ts","./src/app/modules/reports/components/workflowmonitorreport/workflowmonitorreport.component.ts","./src/app/modules/reports/globals.ts","./src/app/modules/reports/reports.module.ts","./src/app/modules/reports/services/actionitemsandmetrics.service.ts","./src/app/modules/reports/services/activityreport.services.ts","./src/app/modules/reports/services/commonservices.service.ts","./src/app/modules/reports/services/covidclinics.service.ts","./src/app/modules/reports/services/datastatsreporting.service.ts","./src/app/modules/reports/services/districtcompliance.service.ts","./src/app/modules/reports/services/flu-opportunities-contact-status.service.ts","./src/app/modules/reports/services/groupidassignmentreport.services.ts","./src/app/modules/reports/services/highlevelcompliance.service.ts","./src/app/modules/reports/services/highlevelstatus.service.ts","./src/app/modules/reports/services/immunizationfinance.service.ts","./src/app/modules/reports/services/initiatedcontracts.service.ts","./src/app/modules/reports/services/minimumshotexceptions.service.ts","./src/app/modules/reports/services/potential-local-business.service.ts","./src/app/modules/reports/services/potentiallocalbusinesslist.service.ts","./src/app/modules/reports/services/restrictedstateclinics.service.ts","./src/app/modules/reports/services/revisedclinicdatesandvolumes.service.ts","./src/app/modules/reports/services/scheduledAppointments.service.ts","./src/app/modules/reports/services/scheduledclinicsreport.services.ts","./src/app/modules/reports/services/scheduledclinicstatus.service.ts","./src/app/modules/reports/services/scheduledeventsreport.services.ts","./src/app/modules/reports/services/storecompliancereport.service.ts","./src/app/modules/reports/services/testingevents.service.ts","./src/app/modules/reports/services/useraccess.service.ts","./src/app/modules/reports/services/vaccinepurchasing.services.ts","./src/app/modules/reports/services/weeklygroupidassignments.service.ts","./src/app/modules/reports/services/weeklyvaccinepurchase.service.ts","./src/app/modules/reports/services/workflowmonitor.service.ts","./src/app/modules/resources/components/favorites/favorites.component.ts","./src/app/modules/resources/components/immunization-program-email-template/immunization-program-email-template.component.ts","./src/app/modules/resources/components/immunization/immunization.component.ts","./src/app/modules/resources/components/patient-care-advocacy-email-template/patient-care-advocacy-email-template.component.ts","./src/app/modules/resources/components/pcaresources/pcaresources.component.ts","./src/app/modules/resources/components/senior-outreach-email-template/senior-outreach-email-template.component.ts","./src/app/modules/resources/components/senioroutreach/senioroutreach.component.ts","./src/app/modules/resources/components/trainingvideos/trainingvideos.component.ts","./src/app/modules/resources/components/video-player/video-player.component.ts","./src/app/modules/resources/components/vis/vis.component.ts","./src/app/modules/resources/components/viss/viss.component.ts","./src/app/modules/resources/resources.module.ts","./src/app/modules/resources/services/resourcecount.service.ts","./src/app/modules/store/components/contactlog/contactlog.component.ts","./src/app/modules/store/components/follow-up/followup.component.ts","./src/app/modules/store/components/opportunity/opportunity.component.ts","./src/app/modules/store/components/schedule-event/schedule-event.component.ts","./src/app/modules/store/pipes/contactlogpipe.ts","./src/app/modules/store/pipes/cstDateConvert.ts","./src/app/modules/store/pipes/filter-pipe.ts","./src/app/modules/store/pipes/keyslog.ts","./src/app/modules/store/services/AddBusiness.Service.ts","./src/app/modules/store/services/contactlog.service.ts","./src/app/modules/store/services/message-service.service.ts","./src/app/modules/store/services/opportunities.service.ts","./src/app/modules/store/services/scheduleevent.service.ts","./src/app/modules/store/services/stores-list.service.ts","./src/app/modules/store/store.module.ts","./src/app/routes/app.routes.ts","./src/app/shared/components/table-componment/table-component.component.ts","./src/app/shared/shared.module.ts","./src/app/utility/click-outside.directive.ts","./src/app/utility/clinicDetailsUtilities.ts","./src/app/utility/enum.ts","./src/app/utility/loadContracts.ts","./src/app/utility/numberhyphonparenthesis.directive.ts","./src/app/utility/only-numberirective.directive.ts","./src/app/utility/phone-format.pipe.ts","./src/app/utility/replace-text.pipe.ts","./src/app/utility/session.ts","./src/app/utility/util.ts","./src/environments/environment.prod.ts","./src/environments/environment.ts","./src/main.ts","./src/app/alert/alert.component.css","./src/app/app.component.css","./src/app/modules/admin/components/client-scheduler-appt-tracker/client-scheduler-appt-tracker.component.css","./src/app/modules/admin/components/corporate-scheduler-preview/corporate-scheduler-preview.component.css","./src/app/modules/admin/components/corporate-scheduler/corporate-scheduler.component.css","./src/app/modules/admin/components/corporate-store-appt-tracker/corporate-store-appt-tracker.component.css","./src/app/modules/admin/components/corporateuploader/corporateuploader.component.css","./src/app/modules/admin/components/corporateuploaderstatus/corporateuploaderstatus.component.css","./src/app/modules/admin/components/dropped-store-reassignments/dropped-store-reassignments.component.css","./src/app/modules/admin/components/groupidsuploader/groupidsuploader.component.css","./src/app/modules/admin/components/immunization-check/add-edit-immunization-check/add-edit-immunization-check.component.css","./src/app/modules/admin/components/immunization-check/immunization-check.component.css","./src/app/modules/admin/components/patient-reassignment/patient-reassignment.component.css","./src/app/modules/admin/components/scheduler-landing/scheduler-landing.component.css","./src/app/modules/admin/components/storeUploader/store-profile-upload-complete/store-profile-upload-complete.component.css","./src/app/modules/admin/components/storeUploader/storeprofilereportandupdate/storeprofilereportandupdate.component.css","./src/app/modules/admin/components/storeUploader/storeprofileuploader/storeprofileuploader.component.css","./src/app/modules/admin/components/storeUploader/storeprofileuploaderstatus/storeprofileuploaderstatus.component.css","./src/app/modules/admin/components/storeUploader/updatestoreprofile/updatestoreprofile.component.css","./src/app/modules/admin/components/storeUploader/uploadstoreprofiles/uploadstoreprofiles.component.css","./src/app/modules/admin/components/user-profile/add-user/add-user.component.css","./src/app/modules/admin/components/user-profile/edit-user/edit-user.component.css","./src/app/modules/admin/components/user-profile/user-profile.component.css","./src/app/modules/admin/components/walgreens-scheduler-confirmation/walgreens-scheduler-confirmation.component.css","./src/app/modules/admin/components/walgreens-scheduler-registration/walgreens-scheduler-registration.component.css","./src/app/modules/auth/components/landing/landing.component.css","./src/app/modules/auth/components/login/login.component.css","./src/app/modules/auth/components/signout/signout.component.css","./src/app/modules/auth/components/unauthorize/unauthorize.component.css","./src/app/modules/auth/components/userauthentication/userauthentication.component.css","./src/app/modules/clinicdetails/components/clinicdetailsstatus/clinicdetailsstatus.component.css","./src/app/modules/clinicdetails/components/equity-event-details/equity-event-details.component.css","./src/app/modules/clinicdetails/components/local-clinic-details/local-clinic-details.component.css","./src/app/modules/common/components/covid-contact-us/covid-contact-us.component.css","./src/app/modules/common/components/field-error-display/field-error-display.component.css","./src/app/modules/common/components/footer/footer.component.css","./src/app/modules/common/components/header/header.component.css","./src/app/modules/common/components/immz-contact-us/immz-contact-us.component.css","./src/app/modules/common/components/invalid-contract/invalid-contract.component.css","./src/app/modules/common/components/ltcf-contact-us-locations/ltcf-contact-us-locations.component.css","./src/app/modules/common/components/ltcf-contact-us/ltcf-contact-us.component.css","./src/app/modules/common/components/masterlayout/masterlayout.component.css","./src/app/modules/common/components/previous-client-interest/previous-client-interest.component.css","./src/app/modules/common/components/store-opportunity/store-opportunity.component.css","./src/app/modules/common/components/store-responds-yes-or-no/store-responds-yes-or-no.component.css","./src/app/modules/contractaggreement/components/approveagreement-2022/approveagreement.component-2022.css","./src/app/modules/contractaggreement/components/approveagreement-2023/approveagreement.component-2023.css","./src/app/modules/contractaggreement/components/approveagreement-2024/approveagreement-2024.component.css","./src/app/modules/contractaggreement/components/approveagreement/approveagreement.component.css","./src/app/modules/contractaggreement/components/businesscontactpage/businesscontactpage.component.css","./src/app/modules/contractaggreement/components/charity-locations-list/charity-locations-list.component.css","./src/app/modules/contractaggreement/components/charity-locations/charity-locations.component.css","./src/app/modules/contractaggreement/components/communityoutreach/communityoutreach.component.css","./src/app/modules/contractaggreement/components/contact-us-locations/contact-us-location.component.css","./src/app/modules/contractaggreement/components/contact-us/contact-us.component.css","./src/app/modules/contractaggreement/components/contract-agreement-2022/agreement.component-2022.css","./src/app/modules/contractaggreement/components/contract-agreement-2023/agreement.component-2023.css","./src/app/modules/contractaggreement/components/contract-agreement-2024/agreement.component-2024.css","./src/app/modules/contractaggreement/components/contract-agreement/agreement.component.css","./src/app/modules/contractaggreement/components/contract-locations-list/locations-list.component.css","./src/app/modules/contractaggreement/components/contract-locations/locations.component.css","./src/app/modules/contractaggreement/components/contract-pharmacy-info/witness.component.css","./src/app/modules/contractaggreement/components/contractapprove/contractapprove.component.css","./src/app/modules/contractaggreement/components/equityevents/equityevents.component.css","./src/app/modules/contractaggreement/components/immunizations/immunizations.component.css","./src/app/modules/contractaggreement/components/local-contracts/contract.component.css","./src/app/modules/contractaggreement/components/maintenance/maintenance.component.css","./src/app/modules/contractaggreement/components/thankyou/thankyou.component.css","./src/app/modules/contractaggreement/components/unsubscribe/unsubscribe.component.css","./src/app/modules/contractaggreement/components/viewcontract-agreement-2022/viewcontract-agreement.component-2022.css","./src/app/modules/contractaggreement/components/viewcontract-agreement-2023/viewcontract-agreement.component-2023.css","./src/app/modules/contractaggreement/components/viewcontract-agreement-2024/viewcontract-agreement-2024.component.css","./src/app/modules/contractaggreement/components/viewcontract-agreement/viewcontract-agreement.component.css","./src/app/modules/home/charts/charts.component.css","./src/app/modules/home/charts/oppourtunities-requiring-action/oppourtunities-requiring-action.component.css","./src/app/modules/home/charts/priority-oppourtunities-requiring-action/priority-oppourtunities-requiring-action.component.css","./src/app/modules/home/dashboard/dashboard.component.css","./src/app/modules/home/leadsIntake/action/action.component.css","./src/app/modules/patientcareadvocacy/components/addpca/addpca.component.css","./src/app/modules/patientcareadvocacy/components/asolula/asolula.component.css","./src/app/modules/patientcareadvocacy/components/csslula/csslula.component.css","./src/app/modules/patientcareadvocacy/components/govlula-agreement/govlula-agreement.component.css","./src/app/modules/patientcareadvocacy/components/lula-contract-agreement-for-user-release2/lula-contract-agreement-for-user-release2.component.css","./src/app/modules/patientcareadvocacy/components/lula-contract-agreement-for-user/lula-contract-agreement-for-user.component.css","./src/app/modules/patientcareadvocacy/components/opolula/opolula.component.css","./src/app/modules/patientcareadvocacy/components/pca-agreement-Release2/pca-agreement-Release2.component.css","./src/app/modules/patientcareadvocacy/components/pca-agreement/pca-agreement.component.css","./src/app/modules/patientcareadvocacy/components/pca-immunizations/pca-immunizations.component.css","./src/app/modules/patientcareadvocacy/components/pca-location-list/pca-location-list.component.css","./src/app/modules/patientcareadvocacy/components/pca-location/pca-location.component.css","./src/app/modules/patientcareadvocacy/components/pca-pharmacy-info/pca-pharmacy-info.component.css","./src/app/modules/patientcareadvocacy/components/pcadetails/pcadetails.component.css","./src/app/modules/patientcareadvocacy/components/pcadetailsteps/pcadetailsteps.component.css","./src/app/modules/patientcareadvocacy/components/rhd-contract-agreement-release2/rhd-contract-agreement-release2.component.css","./src/app/modules/patientcareadvocacy/components/rhd-contract-agreement/rhd-contract-agreement.component.css","./src/app/modules/reports/components/activityreport/activityreport.component.css","./src/app/modules/reports/components/contact-us-report/contact-us-report.component.css","./src/app/modules/reports/components/covid-contact-us-report/covid-contact-us-report.component.css","./src/app/modules/reports/components/covid-groupidassignmentreport/covid-groupidassignmentreport.component.css","./src/app/modules/reports/components/covid-highlevelstatusreportrt/covid-highlevelstatusreportrt.component.css","./src/app/modules/reports/components/covid-minimumshotexceptions-report/covid-minimumshotexceptions-report.component.css","./src/app/modules/reports/components/covid-opp-statusreport/covid-opp-statusreport.component.css","./src/app/modules/reports/components/covid-revised-clinicdates/covid-revised-clinicdates.component.css","./src/app/modules/reports/components/covid-vaccine-purchasing-report/covid-vaccine-purchasing-report.component.css","./src/app/modules/reports/components/covid-weekly-vaccine-purchase-report/covid-weekly-vaccine-purchase-report.component.css","./src/app/modules/reports/components/covidclinicsreport/covidclinicsreport.component.css","./src/app/modules/reports/components/covidimmunizationfinancereport/covidimmunizationfinancereport.component.css","./src/app/modules/reports/components/data-stats-reporting/data-stats-reporting.component.css","./src/app/modules/reports/components/districtcompliancereport/districtcompliancereport.component.css","./src/app/modules/reports/components/flu-hcs-actions-items-ip/flu-hcs-actions-items-ip.component.css","./src/app/modules/reports/components/flu-opportunities-contact-status/flu-opportunities-contact-status.component.css","./src/app/modules/reports/components/groupidassignmentreport/groupidassignmentreport.component.css","./src/app/modules/reports/components/hcs-actions-items-ip/hcs-actions-items-ip.component.css","./src/app/modules/reports/components/highlevelcompliance/highlevelcompliance.component.css","./src/app/modules/reports/components/highlevelstatusreport/highlevelstatusreport.component.css","./src/app/modules/reports/components/immunizationfinancereport/immunizationfinancereport.component.css","./src/app/modules/reports/components/initiatedcontractsreport/initiatedcontractsreport.component.css","./src/app/modules/reports/components/ltcf-contact-us-report/ltcf-contact-us-report.component.css","./src/app/modules/reports/components/minimumshotexceptions/minimumshotexceptions.component.css","./src/app/modules/reports/components/pcaactionitems/pcaactionitems.component.css","./src/app/modules/reports/components/potentiallocalbusinesslist/potentiallocalbusinesslist.component.css","./src/app/modules/reports/components/potentionallocalbusinessandcontactstatus/potentionallocalbusinessandcontactstatus.component.css","./src/app/modules/reports/components/restrictedstateclinics/restrictedstateclinics.component.css","./src/app/modules/reports/components/revisedclinicdates/revisedclinicdates.component.css","./src/app/modules/reports/components/scheduleclinicreport/scheduledclinicsreport.component.css","./src/app/modules/reports/components/scheduled-covid-clinics-report/scheduled-covid-clinics-report.component.css","./src/app/modules/reports/components/scheduledApptsRepForReminderEmail/scheduledApptsRepForReminderEmail.component.css","./src/app/modules/reports/components/scheduledappointmentsreport/scheduledappointmentsreport.component.css","./src/app/modules/reports/components/scheduledclinicstatus/scheduledclinicstatus.component.css","./src/app/modules/reports/components/scheduledeventsreport/scheduledeventsreport.component.css","./src/app/modules/reports/components/scheduler-appttracking/scheduler-appttracking.component.css","./src/app/modules/reports/components/servicefeesreport/servicefeesreport.component.css","./src/app/modules/reports/components/storecompliancereport/storecompliancereport.component.css","./src/app/modules/reports/components/testingeventsreport/testingeventsreport.component.css","./src/app/modules/reports/components/useraccesslog/useraccesslog.component.css","./src/app/modules/reports/components/vaccinepurchasingreport/vaccinepurchasingreport.component.css","./src/app/modules/reports/components/weeklygroupidassignmentsreport/weeklygroupidassignments.component.css","./src/app/modules/reports/components/weeklyvaccinepuchasingreport/weeklyvaccinepurchase.component.css","./src/app/modules/reports/components/workflowmonitorreport/workflowmonitorreport.component.css","./src/app/modules/resources/components/favorites/favorites.component.css","./src/app/modules/resources/components/immunization-program-email-template/immunization-program-email-template.component.css","./src/app/modules/resources/components/immunization/immunization.component.css","./src/app/modules/resources/components/patient-care-advocacy-email-template/patient-care-advocacy-email-template.component.css","./src/app/modules/resources/components/pcaresources/pcaresources.component.css","./src/app/modules/resources/components/senior-outreach-email-template/senior-outreach-email-template.component.css","./src/app/modules/resources/components/senioroutreach/senioroutreach.component.css","./src/app/modules/resources/components/trainingvideos/trainingvideos.component.css","./src/app/modules/resources/components/video-player/video-player.component.css","./src/app/modules/resources/components/vis/vis.component.css","./src/app/modules/resources/components/viss/viss.component.css","./src/app/modules/store/components/contactlog/contactlog.component.css","./src/app/modules/store/components/follow-up/followup.component.css","./src/app/modules/store/components/opportunity/opportunity.component.css","./src/app/modules/store/components/schedule-event/schedule-event.component.css","./src/app/shared/components/table-componment/table-component.component.css","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["export const COVIDTandCData: any =\r\n{\r\n \"spanish\":\"

This COVID-19 IMMUNIZATION SERVICE AGREEMENT  (\\\"Agreement\\\") by and between the party indicated below (\\\"Client\\\"), and Walgreen Co., on behalf of itself and its subsidiaries and affiliates (\\\"Walgreens\\\") is made and entered into on the date last signed by an authorized representative of both the Client and Walgreens (the \\\"Effective Date\\\"). Walgreens and Client may be individually referred to as a \\\"Party\\\" or collectively as the \\\"Parties.\\\"

\",\r\n \"header\":\"

For good and valuable consideration, the receipt and sufficiency of which are hereby acknowledged, Client and Walgreens, by their signatures below, hereby agree Walgreens will provide the immunizations indicated in Table 1, attached hereto and incorporated herein, consisting of dispensing and administering of such immunizations (\\\"COVID Immunizations\\\") to a participant population agreed to by the Parties (\\\"Participants\\\") at mutually agreed upon location(s) outside of Walgreens’ store locations, referred to as off-site location(s).

\",\r\n \"attachmentheader\":\"

ATTACHMENT A

In accordance with the Agreement, for each COVID Immunization administered whether through a Voucher, at Private Clinic(s) or both, Walgreens will be entitled to reimbursement at the rates set forth in Table 1, below. Additionally, for each COVID Immunization at a Private Clinic, Walgreens will also be entitled to reimbursement of the Private Clinic management fees more fully described herein and subject to Section 2.2 of the Agreement. Client acknowledges that the fees and rates set forth in the Agreement are Walgreens’ Confidential Information and Client agrees not to disclose this information to any third-party other than as minimally necessary under the terms of this Agreement. Unless otherwise indicated below, the rates listed in Table 1 are inclusive of the cost of vaccine, dispensing fee, administration fee and any applicable taxes imposed in connection with COVID Immunizations. For purposes of this Attachment A, “Government Supplied COVID-19 Vaccine” means that the United States government has acquired the COVID-19 vaccine and is making these publicly funded vaccines available to select vaccine providers.

\",\r\n \"imzsp\":\"Government Supplied COVID-19 Vaccine*\",\r\n \"paymentsp\":\"Método De Pago\",\r\n \"ratessp\":\"el Precio\",\r\n \"imzen\":\"Government Supplied COVID-19 Vaccine*\",\r\n \"payen\":\"Payment\",\r\n \"ratesen\":\"Rate\",\r\n \"english\":\"

This COVID-19 IMMUNIZATION SERVICE AGREEMENT  (\\\"Agreement\\\") by and between the party indicated below (\\\"Client\\\"), and Walgreen Co., on behalf of itself and its subsidiaries and affiliates (\\\"Walgreens\\\") is made and entered into on the date last signed by an authorized representative of both the Client and Walgreens (the \\\"Effective Date\\\"). Walgreens and Client may be individually referred to as a \\\"Party\\\" or collectively as the \\\"Parties.\\\"

\",\r\n \"englishheader\":\"

For good and valuable consideration, the receipt and sufficiency of which are hereby acknowledged, Client and Walgreens, by their signatures below, hereby agree Walgreens will provide the immunizations indicated in Table 1, attached hereto and incorporated herein, consisting of dispensing and administering of such immunizations (\\\"COVID Immunizations\\\") to a participant population agreed to by the Parties (\\\"Participants\\\") at mutually agreed upon location(s) outside of Walgreens’ store locations, referred to as off-site location(s).

\",\r\n \"directBillEnglishheader\":\"

For good and valuable consideration, the receipt and sufficiency of which are hereby acknowledged, Client and Walgreens, by their signatures below, hereby agree Walgreens will provide the immunizations indicated in Attachment A, attached hereto and incorporated herein, consisting of dispensing and administering of such immunizations (\\\"COVID Immunizations\\\") to a participant population agreed to by the Parties (\\\"Participants\\\") at mutually agreed upon location(s) outside of Walgreens’ store locations, referred to as off-site location(s).

\",\r\n \"englishattachment\":\"

ATTACHMENT A

In accordance with the Agreement, for each COVID Immunization administered whether through a Voucher, at Private Clinic(s) or both, Walgreens will be entitled to reimbursement at the rates set forth in Table 1, below. Additionally, for each COVID Immunization at a Private Clinic, Walgreens will also be entitled to reimbursement of the Private Clinic management fees more fully described herein and subject to Section 2.2 of the Agreement. Client acknowledges that the fees and rates set forth in the Agreement are Walgreens’ Confidential Information and Client agrees not to disclose this information to any third-party other than as minimally necessary under the terms of this Agreement. Unless otherwise indicated below, the rates listed in Table 1 are inclusive of the cost of vaccine, dispensing fee, administration fee and any applicable taxes imposed in connection with COVID Immunizations. For purposes of this Attachment A, “Government Supplied COVID-19 Vaccine” means that the United States government has acquired the COVID-19 vaccine and is making these publicly funded vaccines available to select vaccine providers.

\",\r\n \"clientsp\":\"CLIENTE:\",\r\n \"namesp\":\"NOMBRE:\",\r\n \"titlesp\":\"TÍTULO:\",\r\n \"clienten\":\"Business Name:\",\r\n \"nameen\":\"Name:\",\r\n \"eSignatureSP\": \"eSig:\",\r\n \"eSignatureEN\": \"eSig:\",\r\n \"titleen\":\"Title:\",\r\n \"attentionsp\": \"Atención\",\r\n \"address1sp\": \"Dirección 1\",\r\n \"address2sp\": \"Dirección 2\",\r\n \"citysp\": \"Ciudad\",\r\n \"statesp\": \"Estado\",\r\n \"zipcodesp\": \"Código Postal:\",\r\n \"attentionen\": \"Attention\",\r\n \"address1en\":\"Address1\",\r\n \"address2en\":\"Address2\",\r\n \"cityen\":\"City\",\r\n \"stateen\":\"State\",\r\n \"zipcodeen\":\"Zip\",\r\n \"legalsp\":\"Envíele Avisos Legales al Cliente A\",\r\n \"clientinfosp\":\"Vigencia\",\r\n \"legalen\":\"Send Legal Notice To Client At\",\r\n \"clientinfoen\":\"Client Information\",\r\n \"inWitnessWhereOffEN\":\"IN WITNESS WHEREOF,\",\r\n \"inWitnessWhereOffSP\": \"IN WITNESS WHEREOF,\",\r\n \"inWitnessWhereOff2ndLineEN\":\"Client and Walgreens have executed this Agreement.\",\r\n \"inWitnessWhereOff2ndLineSP\":\"Client and Walgreens have executed this Agreement.\",\r\n \"sendLegalNoticeToClientEN\":\"Send Legal Notice To Client At:\",\r\n \"sendLegalNoticeToClientSP\":\"Envíele Avisos Legales al Cliente A:\",\r\n \"sendLegalNoticeToWalgreensEN\":\"Send Legal Notice To Walgreens At:\",\r\n \"sendLegalNoticeToWalgreensSP\":\"Envíele Avisos Legales al Walgreens A:\",\r\n \"wallGreensCommOffsiteTitle1EN\":\"WALGREENS COMMUNITY OFF-SITE CLINIC AGREEMENT\",\r\n \"wallGreensCommOffsiteTitle1SP\":\"WALGREENS CONTRATO DE CLÍNICA AMBULATORIA COMUNITARIA\",\r\n \"wallGreensCommOffsiteTitle2EN\":\"TERMS AND CONDITIONS\",\r\n \"wallGreensCommOffsiteTitle2SP\":\"TERMS AND CONDITIONS\",\r\n \"wallGreensResponsibilitiesEN\":\" WALGREENS’ RESPONSIBILITIES\",// deliberately extra space\r\n \"wallGreensResponsibilitiesSP\":\"RESPONSABILIDADES DE WALGREENS\",\r\n \"wallGreensResponsibilitiesPara1HeadingEN\":\"COVID Immunizations\",\r\n \"wallGreensResponsibilitiesPara1HeadingSP\":\"COVID Immunizations\",\r\n \"wallGreensResponsibilitiesCvrdServicesEN\":\" Subject to the limitations or restrictions imposed by federal and state contracts, laws, and regulations, and the availability of the appropriate COVID Immunization, Walgreens will administer the COVID Immunizations to Participants either directly or through an authorized provider. With respect to such COVID Immunizations, the Parties will comply with the procedures set forth herein. When required by state law, Walgreens will require Participants to provide a valid prescription from their physician or allow the health care professional to contact their physician to obtain a valid prescription; however, for COVID Immunizations, Walgreens will be responsible for obtaining standing orders from physicians. Participants will be required to complete a Walgreens’ vaccine administration record and consent form before receiving a COVID Immunization.\",\r\n \"wallGreensResponsibilitiesCvrdServicesSP\":\" Subject to the limitations or restrictions imposed by federal and state contracts, laws, and regulations, and the availability of the appropriate COVID Immunization, Walgreens will administer the COVID Immunizations to Participants either directly or through an authorized provider. With respect to such COVID Immunizations, the Parties will comply with the procedures set forth herein. When required by state law, Walgreens will require Participants to provide a valid prescription from their physician or allow the health care professional to contact their physician to obtain a valid prescription; however, for COVID Immunizations, Walgreens will be responsible for obtaining standing orders from physicians. Participants will be required to complete a Walgreens’ vaccine administration record and consent form before receiving a COVID Immunization.\",\r\n \"profJudgementHeadingEN\":\"Professional Judgment\",\r\n \"profJudgementHeadingSP\":\"Professional Judgment\",\r\n \"profJudgementTextEN\":\" Walgreens may withhold administration of COVID Immunizations to a Participant for good cause, including but not necessarily limited to, insufficient information for the Pharmacist to verify a Participant received a first dose of an applicable COVID Immunization, requests by Participant for services inconsistent with the legal and regulatory requirements; or where, in the professional judgment of the health care professional, the services should not be rendered. The Parties agree that, other than as required by law, Walgreens is not responsible for the tracking of individual Participant(s) first or second doses of any COVID Immunization. Furthermore, Walgreens has no duty to contact Participant(s) concerning follow-up COVID Immunizations to receive any applicable second dose.\",\r\n \"profJudgementTextSP\":\" Walgreens may withhold administration of COVID Immunizations to a Participant for good cause, including but not necessarily limited to, insufficient information for the Pharmacist to verify a Participant received a first dose of an applicable COVID Immunization, requests by Participant for services inconsistent with the legal and regulatory requirements; or where, in the professional judgment of the health care professional, the services should not be rendered. The Parties agree that, other than as required by law, Walgreens is not responsible for the tracking of individual Participant(s) first or second doses of any COVID Immunization. Furthermore, Walgreens has no duty to contact Participant(s) concerning follow-up COVID Immunizations to receive any applicable second dose.\",\r\n \"provHealthCrProfHdngEN\":\"Provision of Healthcare Professional\",\r\n \"provHealthCrProfHdngSP\":\"Provision of Healthcare Professional\",\r\n \"provHealthCrProfTextEN\":\" If the Parties agree in writing that Walgreens will administer COVID Immunizations at locations outside of Walgreens’ store locations (\\\"Private Clinics\\\"), Walgreens will provide Client with the appropriate number of qualified health care professionals and technicians to provide such immunizations at the Private Clinic locations based upon and in reliance on Client’s good-faith estimates of Participant volume. Any requests for additional personnel will be subject to agreement by Walgreens.\",\r\n \"provHealthCrProfTextSP\":\" If the Parties agree in writing that Walgreens will administer COVID Immunizations at locations outside of Walgreens’ store locations (\\\"Private Clinics\\\"), Walgreens will provide Client with the appropriate number of qualified health care professionals and technicians to provide such immunizations at the Private Clinic locations based upon and in reliance on Client’s good-faith estimates of Participant volume. Any requests for additional personnel will be subject to agreement by Walgreens.\",\r\n \"clientsResponsibilitesEN\":\"CLIENT’S RESPONSIBILITIES\",\r\n \"clientsResponsibilitesSP\":\"CLIENT’S RESPONSIBILITIES\",\r\n \"vouchersHeadingEN\":\"Vouchers\",\r\n \"vouchersHeadingSP\":\"Vouchers\",\r\n \"vouchersTextEN\":\" If the Parties agree in writing that Walgreens will administer COVID Immunizations upon receipt of a Walgreens’ approved vouchers issued to Participants by Client (\\\"Vouchers\\\"), Client will provide Participants with a Voucher, which Participants may redeem at a participating Walgreens store location. Client may not rescind, retract, reduce or deny payment owed to Walgreens for claims where COVID Immunizations were provided to its Participants, even if Client no longer considers the individual presenting the Voucher to be a Participant.\",\r\n \"vouchersTextSP\":\" If the Parties agree in writing that Walgreens will administer COVID Immunizations upon receipt of a Walgreens’ approved vouchers issued to Participants by Client (\\\"Vouchers\\\"), Client will provide Participants with a Voucher, which Participants may redeem at a participating Walgreens store location. Client may not rescind, retract, reduce or deny payment owed to Walgreens for claims where COVID Immunizations were provided to its Participants, even if Client no longer considers the individual presenting the Voucher to be a Participant.\",\r\n \"offSiteLocationEN\":\"Private Clinic Locations.\",\r\n \"offSiteLocationSP\":\"Private Clinic Locations.\",\r\n \"importantEN\":\"IMPORTANT\",\r\n \"importantSP\":\"IMPORTANT\",\r\n \"offSiteLocationText1EN\":\" If the Parties agree in writing, that Walgreens will administer COVID Immunizations at Private Clinics, Client will provide Participants with notice of the dates, times and locations for such Private Clinics. For all Private Clinics, Client will provide a private, clean room location, tables and chairs for Walgreens' personnel and Participants. Where applicable, Client agrees to assist Walgreens in the collection of Participants’ Third Party Payors (defined below) eligibility information and any additional reasonably requested information, in order to help expedite the delivery of COVID Immunizations. For each Private Clinic location, Client agrees to reimburse Walgreens, in addition to the rates listed in Table 1 of Attachment A, the greater of: (i) a flat Private Clinic management fee of four thousand two hundred fifty dollars ($4,250.00) per day the Private Clinic operates, or (ii) the Private Clinic management fee for each COVID Immunization dose administered as set forth in Table 2 of Attachment A, below. The Private Clinic management fees, contained herein will be billed directly to Client and will not be used by either Party for billing to Third Party Payors.\",\r\n \"offSiteLocationText1SP\":\" If the Parties agree in writing, that Walgreens will administer COVID Immunizations at Private Clinics, Client will provide Participants with notice of the dates, times and locations for such Private Clinics. For all Private Clinics, Client will provide a private, clean room location, tables and chairs for Walgreens' personnel and Participants. Where applicable, Client agrees to assist Walgreens in the collection of Participants’ Third Party Payors (defined below) eligibility information and any additional reasonably requested information, in order to help expedite the delivery of COVID Immunizations. For each Private Clinic location, Client agrees to reimburse Walgreens, in addition to the rates listed in Table 1 of Attachment A, the greater of: (i) a flat Private Clinic management fee of four thousand two hundred fifty dollars ($4,250.00) per day the Private Clinic operates, or (ii) the Private Clinic management fee for each COVID Immunization dose administered as set forth in Table 2 of Attachment A, below. The Private Clinic management fees, contained herein will be billed directly to Client and will not be used by either Party for billing to Third Party Payors.\",\r\n \"eligibleParticipantsEN\":\"Eligible Participants.\",\r\n \"eligibleParticipantsSP\":\"Eligible Participants.\",\r\n \"eligibleParticipantsTextEN\":\" Prior to the distribution of COVID Immunizations to the general population, the Parties acknowledge specific populations have been or may be designated by the applicable Federal, State, or local authorities (\\\"Jurisdiction\\\") to be eligible for the COVID Immunizations. Client represents Participants receiving COVID Immunizations under this Agreement are eligible to receive COVID Immunizations based on the applicable Jurisdiction’s requirements (e.g. State vaccine distribution plans using CDC designations: Phase 1a, 1b, 1c, 2 etc.) and at no time will Client allow a Participant to receive COVID Immunizations under this Agreement until eligible under the applicable Jurisdiction’s criteria. The Parties agree that when providing COVID Immunizations, Walgreens will act in good faith reliance as it relates to Client’s determination of Participants’ eligibility in each Jurisdiction.\",\r\n //\"eligibleParticipantsSP\":\" Prior to the distribution of COVID Immunizations to the general population, the Parties acknowledge specific populations have been or may be designated by the applicable Federal, State, or local authorities (\\\"Jurisdiction\\\") to be eligible for the COVID Immunizations. Client represents Participants receiving COVID Immunizations under this Agreement are eligible to receive COVID Immunizations based on the applicable Jurisdiction’s requirements (e.g. State vaccine distribution plans using CDC designations: Phase 1a, 1b, 1c, 2 etc.) and at no time will Client allow a Participant to receive COVID Immunizations under this Agreement until eligible under the applicable Jurisdiction’s criteria. The Parties agree that when providing COVID Immunizations, Walgreens will act in good faith reliance as it relates to Client’s determination of Participants’ eligibility in each Jurisdiction.\",\r\n \"eligibleParticipantsTextSP\":\" Prior to the distribution of COVID Immunizations to the general population, the Parties acknowledge specific populations have been or may be designated by the applicable Federal, State, or local authorities (\\\"Jurisdiction\\\") to be eligible for the COVID Immunizations. Client represents Participants receiving COVID Immunizations under this Agreement are eligible to receive COVID Immunizations based on the applicable Jurisdiction’s requirements (e.g. State vaccine distribution plans using CDC designations: Phase 1a, 1b, 1c, 2 etc.) and at no time will Client allow a Participant to receive COVID Immunizations under this Agreement until eligible under the applicable Jurisdiction’s criteria. The Parties agree that when providing COVID Immunizations, Walgreens will act in good faith reliance as it relates to Client’s determination of Participants’ eligibility in each Jurisdiction.\",\r\n \"siteMinEN\":\"Site Minimum\",\r\n \"siteMinSP\":\"Site Minimum\",\r\n \"siteAvgEN\":\"Site Average\",\r\n \"siteAvgSP\":\"Site Average\",\r\n \"siteMinTextEN\":\"(\\\"Site Minimum\\\"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n \"siteMinTextfluEN\":\"(\\\"Site Minimum\\\"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n \"siteMinTextSP\":\"(\\\"Site Minimum\\\"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n \"siteMinTextfluSP\":\"(\\\"Site Minimum\\\"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n \"siteAvgTextEN\":\"(\\\"Site Average\\\")), at Walgreens’ discretion, it will invoice Client for the difference between the Site Minimum and Site Average multiplied by the number of off-site events. The sum of which will be multiplied by the lowest reimbursement rate set forth in table in Attachment A and Client shall pay such amount within 30 days of being invoiced by Walgreens.\",\r\n \"siteAvgTextSP\":\"(\\\"Site Average\\\")), at Walgreens’ discretion, it will invoice Client for the difference between the Site Minimum and Site Average multiplied by the number of off-site events. The sum of which will be multiplied by the lowest reimbursement rate set forth in table in Attachment A and Client shall pay such amount within 30 days of being invoiced by Walgreens.\",\r\n \"pmtAndBIllingEN\":\"PAYMENT AND BILLING\",\r\n \"pmtAndBIllingSP\":\"PAYMENT AND BILLING\",\r\n \"paymentEN\":\"Payment For Government Supplied.\",\r\n \"paymentSP\":\"Payment For Government Supplied.\",\r\n \"paymentTextEN\":\"3.1 Payment For Government Supplied. For Government Supplied COVID-19 Vaccines (as defined in Table 1 above) where: (i) Participant provides evidence of coverage under third-party insurance or a government funded program (e.g., Medicare) (\\\"Third Party\\\") prior to the provision of Covered Services; (ii) and Walgreens is contracted with that Third Party, Walgreens will submit the claim for applicable Covered Services to such Third Party.\",\r\n \"paymentTextDirectBillEN\":\"3.1 Payment. For COVID Immunizations (listed in Attachment A), Walgreens will invoice Client for said immunizations and Client agrees to reimburse Walgreens within thirty (30) days from receipt of the applicable monthly invoice at the remittance address located on the invoice. However, in the event the Parties agree in writing and where: (i) Participant provides evidence of coverage under third-party insurance or a government funded program (e.g., Medicare) (\\\"Third Party Payor\\\") prior to the provision of COVID Immunizations; and (ii) Walgreens is contracted with that Third Party Payor, Walgreens will submit the claim for applicable COVID Immunizations to such Third Party Payor. If evidence of coverage under a Third Party Payor is not provided at the time of service or a claim for reimbursement is denied by a Third Party Payor, the Parties agree that Walgreens may seek reimbursement from the Client.\",\r\n \"paymentTextSP\":\"3.1 Payment For Government Supplied. For Government Supplied COVID-19 Vaccines (as defined in Table 1 above) where: (i) Participant provides evidence of coverage under third-party insurance or a government funded program (e.g., Medicare) (\\\"Third Party\\\") prior to the provision of Covered Services; (ii) and Walgreens is contracted with that Third Party, Walgreens will submit the claim for applicable Covered Services to such Third Party.\",\r\n \"paymentTextDirectBillSP\":\"3.1 Payment. For COVID Immunizations (listed in Attachment A), Walgreens will invoice Client for said immunizations and Client agrees to reimburse Walgreens within thirty (30) days from receipt of the applicable monthly invoice at the remittance address located on the invoice. However, in the event the Parties agree in writing and where: (i) Participant provides evidence of coverage under third-party insurance or a government funded program (e.g., Medicare) (\\\"Third Party Payor\\\") prior to the provision of COVID Immunizations; and (ii) Walgreens is contracted with that Third Party Payor, Walgreens will submit the claim for applicable COVID Immunizations to such Third Party Payor. If evidence of coverage under a Third Party Payor is not provided at the time of service or a claim for reimbursement is denied by a Third Party Payor, the Parties agree that Walgreens may seek reimbursement from the Client.\",\r\n \"privateClinicFeesEN\":\"Private Clinic Fees.\",\r\n \"privateClinicFeesSP\":\"Private Clinic Fees.\",\r\n \"privateClinicFeesTextEN\":\" Where Client and Walgreens have agreed to hold Private Clinics, Walgreens will invoice Client for Private Clinic management fee(s) owed, in addition to any amounts agreed to in Section 3.1. Client hereby agrees to reimburse Walgreens these charges within thirty (30) days from receipt of the applicable monthly invoice at the remittance address located on the invoice.\",\r\n \"privateClinicFeesTextSP\":\" Where Client and Walgreens have agreed to hold Private Clinics, Walgreens will invoice Client for Private Clinic management fee(s) owed, in addition to any amounts agreed to in Section 3.1. Client hereby agrees to reimburse Walgreens these charges within thirty (30) days from receipt of the applicable monthly invoice at the remittance address located on the invoice.\",\r\n \"latePaymentEN\":\"Late Payment.\",\r\n \"latePaymentSP\":\"Late Payment.\",\r\n \"latePaymentTextEN\":\" Failure by Client to reimburse Walgreens by the due dates indicated on the invoices described herein, may subject Client to additional late payment interest charges, where allowed by law.\",\r\n \"latePaymentTextSP\":\" Failure by Client to reimburse Walgreens by the due dates indicated on the invoices described herein, may subject Client to additional late payment interest charges, where allowed by law.\",\r\n \"termAndTermCapsEN\":\"TERM AND TERMINATION\",\r\n \"termAndTermCapsSP\":\"DURACIÓN Y TERMINACIÓN\",\r\n \"termAndTermEN\":\"Term and Termination\",\r\n \"termAndTermSP\":\"Term and Termination\",\r\n \"termAndTermTextEN\":\" This Agreement will become effective on the Effective Date and shall continue in full force and effect for an initial term of one (1) year. Upon expiration of the initial term, this Agreement will automatically renew for successive one (1) year terms at the then current Walgreens rates in effect for COVID Immunizations, which will be made available upon request. Either Party may terminate this Agreement at any time without cause by giving at least thirty (30) days’ prior written notice to the other Party.\",\r\n \"termAndTermTextSP\":\" This Agreement will become effective on the Effective Date and shall continue in full force and effect for an initial term of one (1) year. Upon expiration of the initial term, this Agreement will automatically renew for successive one (1) year terms at the then current Walgreens rates in effect for COVID Immunizations, which will be made available upon request. Either Party may terminate this Agreement at any time without cause by giving at least thirty (30) days’ prior written notice to the other Party.\",\r\n \"effectAndTerminiationEN\":\"Effect of Termination\",\r\n \"effectAndTerminiationSP\":\"Effect of Termination\",\r\n \"effectAndTerminiationTextEN\":\" Termination will have no effect upon the rights or obligations of the Parties arising out of any transactions occurring prior to the effective date of such termination.\",\r\n \"effectAndTerminiationTextSP\":\" Termination will have no effect upon the rights or obligations of the Parties arising out of any transactions occurring prior to the effective date of such termination.\",\r\n \"waiverEN\":\"Waiver\",\r\n \"waiverSP\":\"Waiver\",\r\n \"waiverTextEN\":\" No waiver by either Party with respect to any breach or default of any right or remedy and no course of dealing may be deemed to constitute a continuous waiver of any other breach or default or of any other right or remedy unless such waiver is expressed in writing by the Party to be bound.\",\r\n \"waiverTextSP\":\" No waiver by either Party with respect to any breach or default of any right or remedy and no course of dealing may be deemed to constitute a continuous waiver of any other breach or default or of any other right or remedy unless such waiver is expressed in writing by the Party to be bound.\",\r\n \"insurAndIndemnifyEN\":\"INSURANCE AND INDEMNIFICATION \",\r\n \"insurAndIndemnifySP\":\"INSURANCE AND INDEMNIFICATION \",\r\n \"insuranceEN\":\"Insurance\",\r\n \"insuranceSP\":\"Insurance\",\r\n \"insuranceTextEN\":\" Each party will self-insure or maintain at its sole expense, and in amounts consistent with industry standards, insurance for general and professional liability and such other insurance as may be necessary to insure the party, its employees, and agents against any claim or claims for damages arising out of or in connection with its duties and obligations under this Agreement. Upon request from Walgreens, Client will provide a memorandum of insurance or certificate of insurance. Walgreens’ insurance information is available at www.walgreens.com/insurance.\",\r\n \"insuranceTextSP\":\" Each party will self-insure or maintain at its sole expense, and in amounts consistent with industry standards, insurance for general and professional liability and such other insurance as may be necessary to insure the party, its employees, and agents against any claim or claims for damages arising out of or in connection with its duties and obligations under this Agreement. Upon request from Walgreens, Client will provide a memorandum of insurance or certificate of insurance. Walgreens’ insurance information is available at www.walgreens.com/insurance.\",\r\n \"indemnificationEN\":\"Indemnification\",\r\n \"indemnificationSP\":\"Indemnification\",\r\n \"indemnificationTextEN\":\" To the extent permitted by law, each Party will indemnify, defend, and hold harmless the other Party, including its employees and agents, from and against any and all third-party claims or liabilities arising from the negligence or wrongful act of the indemnifying Party, its employees, or agents in carrying out its duties and obligations under the terms of this Agreement. EXCEPT FOR ANY EXPRESS WARRANTIES SET FORTH IN THIS AGREEMENT, THE PARTIES HEREBY DISCLAIM ANY IMPLIED WARRANTIES OF ANY KIND, INCLUDING WARRANTY OF MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. In no event shall either Party be liable to the other Party for any indirect, special, or consequential damages or lost profits, arising out of or related to performance of this Agreement or a breach of this Agreement, even if advised of the possibility of such damages or lost profits. This Section will survive the termination of this Agreement. Notwithstanding the foregoing, the Parties agree that Walgreens is not liable for activities covered by the Public Readiness and Emergency Preparedness (PREP) Act, and the foregoing obligations of indemnity shall not apply to Walgreens for any claims or liabilities arising out of activities covered by the PREP Act and any other applicable laws related to vaccines and/or health care providers.\",\r\n \"indemnificationTextSP\":\" To the extent permitted by law, each Party will indemnify, defend, and hold harmless the other Party, including its employees and agents, from and against any and all third-party claims or liabilities arising from the negligence or wrongful act of the indemnifying Party, its employees, or agents in carrying out its duties and obligations under the terms of this Agreement. EXCEPT FOR ANY EXPRESS WARRANTIES SET FORTH IN THIS AGREEMENT, THE PARTIES HEREBY DISCLAIM ANY IMPLIED WARRANTIES OF ANY KIND, INCLUDING WARRANTY OF MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. In no event shall either Party be liable to the other Party for any indirect, special, or consequential damages or lost profits, arising out of or related to performance of this Agreement or a breach of this Agreement, even if advised of the possibility of such damages or lost profits. This Section will survive the termination of this Agreement. Notwithstanding the foregoing, the Parties agree that Walgreens is not liable for activities covered by the Public Readiness and Emergency Preparedness (PREP) Act, and the foregoing obligations of indemnity shall not apply to Walgreens for any claims or liabilities arising out of activities covered by the PREP Act and any other applicable laws related to vaccines and/or health care providers.\",\r\n \"generalTermsEN\":\" GENERAL TERMS \",// deliberately extra space\r\n \"generalTermsSP\":\" GENERAL TERMS \",\r\n \"businessConfidentialityEN\":\"Business Confidentiality.\",\r\n \"businessConfidentialitySP\":\"Business Confidentiality.\",\r\n \"businessConfidentialityTextEN\":\" The Parties acknowledge that certain proprietary and/or technical and business information may be disclosed between the Parties (\\\"Confidential Information\\\"). Accordingly, each Party will maintain the confidentiality of all such Confidential Information, including, without limitation, implementing those precautions such Party employs with respect to its own proprietary and Confidential Information and disclosing Confidential Information only to those employees who have a need to know in order to effectuate the purpose(s) of this Agreement and to maintain compliance with applicable laws. In no event will either Party use the other Party’s Confidential Information to benefit itself or others, except as otherwise not prohibited under this Agreement. Confidential Information shall not include information: (i) generally known to the public or the industry without breach of this Agreement; (ii) independently developed by the receiving Party; (iii) known to or in the possession of the receiving Party prior to the disclosure pursuant to this Agreement; (iv) disclosed to the receiving Party by a third party without the confidentiality obligations set forth herein; or (v) required to be disclosed by any court or government agency; provided however, to the extent allowed by law, the receiving Party shall provide written notice of such planned disclosure to the disclosing Party allowing reasonable time for the disclosing Party to raise any objections to such disclosure. This Section will survive the termination of this Agreement.\",\r\n \"businessConfidentialityTextSP\":\" The Parties acknowledge that certain proprietary and/or technical and business information may be disclosed between the Parties (\\\"Confidential Information\\\"). Accordingly, each Party will maintain the confidentiality of all such Confidential Information, including, without limitation, implementing those precautions such Party employs with respect to its own proprietary and Confidential Information and disclosing Confidential Information only to those employees who have a need to know in order to effectuate the purpose(s) of this Agreement and to maintain compliance with applicable laws. In no event will either Party use the other Party’s Confidential Information to benefit itself or others, except as otherwise not prohibited under this Agreement. Confidential Information shall not include information: (i) generally known to the public or the industry without breach of this Agreement; (ii) independently developed by the receiving Party; (iii) known to or in the possession of the receiving Party prior to the disclosure pursuant to this Agreement; (iv) disclosed to the receiving Party by a third party without the confidentiality obligations set forth herein; or (v) required to be disclosed by any court or government agency; provided however, to the extent allowed by law, the receiving Party shall provide written notice of such planned disclosure to the disclosing Party allowing reasonable time for the disclosing Party to raise any objections to such disclosure. This Section will survive the termination of this Agreement.\",\r\n \"confidentialityEN\":\"Confidentiality of PHI\",\r\n \"confidentialitySP\":\"Confidencialidad de PHI\",\r\n \"confidentialityP1EN\":\" Both Parties warrant that they will maintain and protect the confidentiality of all individually identifiable health information specifically relating to Participants \",\r\n \"confidentialityP1SP\":\" Both Parties warrant that they will maintain and protect the confidentiality of all individually identifiable health information specifically relating to Participants \",\r\n \"phiEN\":\"(\\\"Protected Health Information\\\" or\",\r\n \"phiSP\":\"(\\\"Protected Health Information\\\" or\",\r\n \"phiAbEN\":\"\\\"PHI\\\"\",\r\n \"phiAbSP\":\"\\\"PHI\\\"\",\r\n \"confidentialityP2EN\":\" in accordance with the Health Insurance Portability and Accountability Act of 1996 and all applicable federal and state laws and regulations. However, nothing herein will limit either Party’s use of any de-identified Participant information that does not contain PHI. This Section will survive the termination of this Agreement.\",\r\n \"confidentialityP2SP\":\" in accordance with the Health Insurance Portability and Accountability Act of 1996 and all applicable federal and state laws and regulations. However, nothing herein will limit either Party’s use of any de-identified Participant information that does not contain PHI. This Section will survive the termination of this Agreement.\",\r\n \"AdvertisingEN\":\"Advertising\",\r\n \"AdvertisingSP\":\"Advertising\",\r\n \"AdvertisingTextEN\":\" Neither Party may advertise or use any trademarks, service marks, or symbols of the other Party without first receiving the written consent of the Party owning the mark and/or symbol.\",\r\n \"AdvertisingTextSP\":\" Neither Party may advertise or use any trademarks, service marks, or symbols of the other Party without first receiving the written consent of the Party owning the mark and/or symbol.\",\r\n \"frcMajEN\":\"Force Majeure\",\r\n \"frcMajSP\":\"Force Majeure\",\r\n \"frcMajTextEN\":\" The performance by either Party hereunder will be excused to the extent of circumstances beyond such Party’s reasonable control, such as flood, tornado, earthquake, or other natural disaster, epidemic, pandemic (except to the extent of such pandemic at the time of execution of the Agreement), war, material destruction of facilities, fire, acts of terrorism, acts of God, etc. In such event, the Parties will use their best efforts to resume performance as soon as reasonably possible under the circumstances.\",\r\n \"frcMajTextSP\":\" The performance by either Party hereunder will be excused to the extent of circumstances beyond such Party’s reasonable control, such as flood, tornado, earthquake, or other natural disaster, epidemic, pandemic (except to the extent of such pandemic at the time of execution of the Agreement), war, material destruction of facilities, fire, acts of terrorism, acts of God, etc. In such event, the Parties will use their best efforts to resume performance as soon as reasonably possible under the circumstances.\",\r\n \"complianceEN\":\"Compliance\",\r\n \"complianceSP\":\"Compliance\",\r\n \"complianceTextEN\":\" The Parties will comply with all applicable laws, rules, and regulations for each jurisdiction in which COVID Immunizations are provided under this Agreement. Each Party will cooperate with reasonable requests by the other Party for information that is needed for its compliance with applicable laws, rules, and/or regulations.\",\r\n \"complianceTextSP\":\" The Parties will comply with all applicable laws, rules, and regulations for each jurisdiction in which COVID Immunizations are provided under this Agreement. Each Party will cooperate with reasonable requests by the other Party for information that is needed for its compliance with applicable laws, rules, and/or regulations.\",\r\n \"assignmentEN\":\"Assignment\",\r\n \"assignmentSP\":\"Assignment\",\r\n \"assignmentTextEN\":\" Neither Party may assign this Agreement to a third-party without the prior written consent of the other Party, except that either Party will have the right to assign this Agreement to any direct or indirect parent, subsidiary or affiliated company or to a successor company without such consent. Any permitted assignee will assume all obligations of its assignor under this Agreement. No assignment will relieve any Party of responsibility for the performance of any obligations which have already occurred. This Agreement will inure to the benefit of and be binding upon each Party, its respective successors and permitted assignees.\",\r\n \"assignmentTextSP\":\" Neither Party may assign this Agreement to a third-party without the prior written consent of the other Party, except that either Party will have the right to assign this Agreement to any direct or indirect parent, subsidiary or affiliated company or to a successor company without such consent. Any permitted assignee will assume all obligations of its assignor under this Agreement. No assignment will relieve any Party of responsibility for the performance of any obligations which have already occurred. This Agreement will inure to the benefit of and be binding upon each Party, its respective successors and permitted assignees.\",\r\n \"noticesEN\":\"Notices\",\r\n \"noticesSP\":\"Notices\",\r\n \"noticesTextEN\":\" All notices provided for herein must be in writing, sent by U.S. certified mail, return receipt requested, postage prepaid, or by overnight delivery service providing proof of receipt to the address set forth following the signature blocks. Notices will be deemed delivered upon receipt or upon refusal to accept delivery.\",\r\n \"noticesTextSP\":\" All notices provided for herein must be in writing, sent by U.S. certified mail, return receipt requested, postage prepaid, or by overnight delivery service providing proof of receipt to the address set forth following the signature blocks. Notices will be deemed delivered upon receipt or upon refusal to accept delivery.\",\r\n \"entireAgrEN\":\"Entire Agreement and Pricing Updates\",\r\n \"entireAgrSP\":\"Entire Agreement and Pricing Updates\",\r\n \"entireAgrTextEN\":\" This Agreement, which includes any and all attachments, exhibits, riders, and other documents referenced herein, constitutes the entire and full agreement between the Parties relating to the subject matter herein and supersedes any previous contract, for which the signatories are authorized to sign for, and except as otherwise permitted hereunder, no changes, amendments, or alterations will be effective unless reduced to a writing signed by a representative of each Party. Any prior agreements, documents, understandings, or representations relating to the subject matter of this Agreement not expressly set forth herein or referred to or incorporated herein by reference are of no force or effect. Notwithstanding the forgoing, as vaccines are developed or changed and necessitate an update to Attachment A, Walgreens will provide written notice to Client with the applicable changes and their effective date (\\\"Update Notification\\\"). If Client does not agree to the changes, within 15 days after its receipt of the Update Notification it must provide written notification to Walgreens at the addresses listed below, in which case such objection will be treated by Walgreens as Client’s intent to terminate the Agreement, and such termination will become effective upon receipt and processing by Walgreens. Client's failure to notify Walgreens of its objection to the Update Notification within the timeframe set forth above, shall be deemed Client's acceptance of the Update Notification, which shall be added to and made part of the Agreement as of the effective date set forth in such Update Notification.\",\r\n \"entireAgrTextSP\":\" This Agreement, which includes any and all attachments, exhibits, riders, and other documents referenced herein, constitutes the entire and full agreement between the Parties relating to the subject matter herein and supersedes any previous contract, for which the signatories are authorized to sign for, and except as otherwise permitted hereunder, no changes, amendments, or alterations will be effective unless reduced to a writing signed by a representative of each Party. Any prior agreements, documents, understandings, or representations relating to the subject matter of this Agreement not expressly set forth herein or referred to or incorporated herein by reference are of no force or effect. Notwithstanding the forgoing, as vaccines are developed or changed and necessitate an update to Attachment A, Walgreens will provide written notice to Client with the applicable changes and their effective date (\\\"Update Notification\\\"). If Client does not agree to the changes, within 15 days after its receipt of the Update Notification it must provide written notification to Walgreens at the addresses listed below, in which case such objection will be treated by Walgreens as Client’s intent to terminate the Agreement, and such termination will become effective upon receipt and processing by Walgreens. Client's failure to notify Walgreens of its objection to the Update Notification within the timeframe set forth above, shall be deemed Client's acceptance of the Update Notification, which shall be added to and made part of the Agreement as of the effective date set forth in such Update Notification.\",\r\n \"counterPartsHeadingEN\":\"Counterparts\",\r\n \"counterPartsHeadingSP\":\"Counterparts\",\r\n \"counterPartsTextEN\":\" This Agreement may be executed in two or more counterparts, each of which together shall be deemed an original, but all of which together shall constitute one and the same instrument, provided that each Party has received the other Party’s executed instruments. In the event that any signature is delivered by facsimile transmission or by e-mail delivery of a \\\".pdf\\\" format data file (or similar format however designated), such signature shall create a valid and binding obligation of the Party executing (or on whose behalf such signature is executed) with the same force and effect as if such facsimile or \\\".pdf\\\" signature page were an original thereof.\",\r\n \"counterPartsTextSP\":\" This Agreement may be executed in two or more counterparts, each of which together shall be deemed an original, but all of which together shall constitute one and the same instrument, provided that each Party has received the other Party’s executed instruments. In the event that any signature is delivered by facsimile transmission or by e-mail delivery of a \\\".pdf\\\" format data file (or similar format however designated), such signature shall create a valid and binding obligation of the Party executing (or on whose behalf such signature is executed) with the same force and effect as if such facsimile or \\\".pdf\\\" signature page were an original thereof.\",\r\n \"rightsEN\":\"All rights reserved.\",\r\n \"rightsSP\":\"Todos los derechos reservados.\",\r\n \"approveAgrmntEN\":\"Approve Agreement\",\r\n \"approveAgrmntSP\":\"Aprobar el acuerdo\",\r\n \"approveTextEN\":\"Carefully review the Community Off-Site Agreement. If you agree to the conditions of the contract, please check 'Approve' below and type your name into the Electronic Signature field. If there are any discrepancies in the Agreement, reject the Agreement and provide corrections in the notes field.\",\r\n \"approveTextSP\":\"Examine cuidadosamente el Acuerdo para Clínica Externa en la Comunidad. Si está de acuerdo con las condiciones del contrato, favor de marcar 'Aprobado' adelante y entre su nombre en el campo Firma Electrónica. Si hubiese alguna discrepancia, rechace el Acuerdo y provea las correcciones en el campo Apuntes.\",\r\n \"electrSignEN\":\"Electronic Signature\",\r\n \"electrSignSP\":\"Firma Electrónica\",\r\n \"notesEN\":\"Notes:\",\r\n \"notesSP\":\"Notas:\",\r\n \"pageTitleEN\":\"\",\r\n \"pageTitleSP\":\"CONTRATO DE CLÍNICA AMBULATORIA COMUNITARIA\",\r\n \"dateEN\":\"Date:\",\r\n \"dateSP\":\"FECHA\",\r\n \"districtEN\":\"District#:\",\r\n \"districtSP\":\"DISTRITO#:\",\r\n \"approveEN\":\"Approve\",\r\n \"approveSP\":\"Aprobar\",\r\n \"rejectEN\":\"Request Changes\",\r\n \"rejectSP\":\"Solicitar cambios\",\r\n \"submitEN\":\"Submit\",\r\n \"submitSP\":\"Enviar\",\r\n \"cancelEN\":\"Cancel\",\r\n \"cancelSP\":\"Cancelar\",\r\n \"printAgreementEN\":\"Print Agreement\",\r\n \"printAgreementSP\":\"Acuerdo de impresión\",\r\n \"clinicLocationEN\":\"Clinic:\",\r\n \"clinicLocationSP\":\"Ubicación de la clínica:\",\r\n \"clinicDateEN\":\"Clinic Date:\",\r\n \"clinicDateSP\":\"Fecha de la clínica:\",\r\n \"clinicTimeEN\":\"Clinic Time:\",\r\n \"clinicTimeSP\":\"Tiempo de la clínica:\",\r\n \"contactEN\":\"Contact:\",\r\n \"contactSP\":\"Contacto:\",\r\n \"phoneEN\":\"Phone:\",\r\n \"phoneSP\":\"Teléfono:\",\r\n \"estShotsEN\":\"Est. Shots\",\r\n \"estShotsSP\":\"Est. Shots\",\r\n \"locationEN\":\"Location:\",\r\n \"locationSP\":\"Ubicación:\",\r\n \"timeEN\":\"Time:\",\r\n \"timeSP\":\"Hora:\",\r\n \"emailEN\":\"Email:\",\r\n \"emailSP\":\"Email:\",\r\n \"emailAgreementToEN\":\"Email Agreement to:\",\r\n \"emailAgreementToSP\":\"Acuerdo de correo electrónico a:\",\r\n \"multipleEmailAddressEN\":'Multiple email addresses may be entered by placing a comma between addresses.',\r\n \"multipleEmailAddressSP\":'Se pueden ingresar varias direcciones de correo electrónico colocando una coma entre las direcciones.',\r\n \"sendAgreementEN\":\"SEND AGREEMENT\",\r\n \"sendAgreementSP\":'ENVIAR ACUERDO',\r\n \"editAgreementEN\":'EDIT AGREEMENT',\r\n \"editAgreementSP\":'EDITAR ACUERDO',\r\n \"saveAgreementEN\":\"SAVE AGREEMENT\",\r\n \"saveAgreementSP\":\"GUARDAR ACUERDO\",\r\n \"noteTextEN\":\"* Please note, once a contract has been signed by the client, it cannot be edited.\",\r\n \"noteTextSP\":\"* Tenga en cuenta que una vez que el cliente ha firmado un contrato, no se puede editar.\",\r\n \"printAgreementTxtCapsEN\":\"PRINT AGREEMENT\",\r\n \"printAgreementTxtCapsSP\":\"ACUERDO IMPRESO\",\r\n \"table1EN\":'Table 1',\r\n \"table1SP\":'Tabla 1',\r\n \"attnEN\":\"Attn\",\r\n \"fluExpiryDateEN\":\"Flu Exp. Date:\",\r\n \"fluExpiryDateSP\":\"Fecha de vencimiento de la gripe:\",\r\n \"routineExpiryDateEN\":\"Routine Exp. Date:\",\r\n \"routineExpiryDateSP\":\"Fecha de vencimiento de rutina:\",\r\n \"sendInvoiceToEN\":'Send Invoice to:',\r\n \"sendInvoiceToSP\":'Enviar factura a:',\r\n 'isTaxExemptEN':'Is Employer Tax Exempt?',\r\n 'isTaxExemptSP':'¿El empleador está exento de impuestos?',\r\n 'isCopayEN':'Will patient pay the portion of the cost. Is there a copay?',\r\n 'isCopaySP':'Pagará el paciente la parte del costo. ¿Hay un copago?',\r\n 'voucherNeededEN':'Voucher Needed:',\r\n 'voucherNeededSP':'Vale necesario:',\r\n 'voucherExpiryEN':'Expiration Date:',\r\n 'voucherExpirySP':'Fecha de caducidad:',\r\n 'copayValueEN':'Copay Value:',\r\n 'copayValueSP':'Valor de copago:',\r\n 'influenzaSeasonText1EN':'per influenza season (August – April)',\r\n 'influenzaSeasonText1SP':'per influenza season (August – April)',\r\n 'contractYearText1EN':'per contract year',\r\n 'contractYearText1SP':'per contract year',\r\n 'influenzaSeasonText2EN':'influenza season',\r\n 'influenzaSeasonText2SP':'influenza season',\r\n 'contractYearText2EN':'contract year',\r\n 'contractYearText2SP':'contract year',\r\n 'contactName':'Contact Name:',\r\n 'contactPhone':'Contact Phone:',\r\n 'contactEmail':'Contact Email:',\r\n 'contactNameSP':'Contact Name:',\r\n 'contactPhoneSP':'Contact Phone:',\r\n 'contactEmailSP':'Contact Email:',\r\n 'doseEN':'COVID Clinic:',\r\n 'doseSP':'COVID Clinic:',\r\n 'indemnificationTAndCChangedDate':'12/28/2020',\r\n 'confidentialityTextEN':'',\r\n 'confidentialityTextSP':''\r\n }","export const COVIDVisits : any[] = [\r\n {\r\n \"id\":\"1\",\r\n \"name\":\"Visit 1\"\r\n }\r\n ,\r\n {\r\n \"id\":\"2\",\r\n \"name\":\"Visit 2\"\r\n } ,\r\n {\r\n \"id\":\"3\",\r\n \"name\":\"Visit 3\"\r\n } ,\r\n {\r\n \"id\":\"4\",\r\n \"name\":\"Visit 4\"\r\n } ,\r\n {\r\n \"id\":\"5\",\r\n \"name\":\"Visit 5\"\r\n } ,\r\n {\r\n \"id\":\"6\",\r\n \"name\":\"Visit 6\"\r\n } ,\r\n {\r\n \"id\":\"7\",\r\n \"name\":\"Visit 7\"\r\n } ,\r\n {\r\n \"id\":\"8\",\r\n \"name\":\"Visit 8\"\r\n } ,\r\n {\r\n \"id\":\"9\",\r\n \"name\":\"Visit 9\"\r\n } ,\r\n {\r\n \"id\":\"10\",\r\n \"name\":\"Visit 10\"\r\n } ,\r\n {\r\n \"id\":\"0\",\r\n \"name\":\"Not Applicable\"\r\n }\r\n]","export const HeaderDetails : any = {\r\n last_access : \"02/06/2018\",\r\n to_goal: \"3\",\r\n to_complete : \"1\"\r\n};","export const IPTandCData: any =\r\n{\r\n \"spanish\":\"El presente CONTRATO DE SERVICIO DE VACUNAS (“el Contrato”) por y entre la parte indicada a continuación (“el Cliente”) y Walgreen Co., en su nombre y el de sus subsidiarias y afiliadas (“Walgreens”) se celebra en la fecha que lo firmó por última vez un representante autorizado tanto del Cliente como de Walgreens (la “Fecha de Entrada en Vigor”). Se puede hacer referencia a Walgreens y el Cliente individualmente como una “Parte” o colectivamente como las “Partes.”\",\r\n \"header\":\"A título oneroso, cuyo recibo y suficiencia se reconocen por la presente, el Cliente y Walgreens, por medio de sus firmas más abajo, por la presente acuerdan que Walgreens provea las vacunas indicadas en el Anexo A,anexado e incorporado al presente contrato, hecho que consiste en el despacho y la administración de dichas vacunas (“las Vacunas”) a los participantes (“los Participantes”) en el sitio(s) acordado(s) mutuamente fuera de las tiendas Walgreens, denominadas sitios fuera de la tienda, y/o en las tiendas Walgreens participantes por medio de la emisión de un vale (“los Servicios Cubiertos”).\",\r\n \"attachmentheader\":\"

ANEXO A

Por cada servicio cubierto, ya sea por medio de un vale, en un sitio fuera de la tienda o ambos, el Cliente o Participante, según sea pertinente, realizará un reembolso a Walgreens a las tasas establecidas en la Tabla 1, a continuación. El Cliente reconoce que las tasas de reembolso establecidas en el presente documento son información confidencial y de propiedad exclusiva de Walgreens. El Cliente acuerda no revelar dichas tasas a ningún tercero aparte de lo mínimamente necesario conforme a los términos del presente Contrato. Las tasas incluidas a continuación incluyen el costo de la vacuna,los cargos por despacho, el costo por administración y cualquier impuesto pertinente gravado en conexión con los servicios cubiertos.

\",\r\n \"imzsp\":\"Vacuna\",\r\n \"paymentsp\":\"Método De Pago\",\r\n \"ratessp\":\"el Precio\",\r\n \"imzen\":\"Immunization\",\r\n \"payen\":\"Payment\",\r\n \"ratesen\":\"Rate\",\r\n \"english\":\"

This IMMUNIZATION SERVICE AGREEMENT  (\\\"Agreement\\\") by and between the party indicated below (\\\"Client\\\"), and Walgreen Co., on behalf of itself and its subsidiaries and affiliates (\\\"Walgreens\\\") is made and entered into on the date last signed by an authorized representative of both the Client and Walgreens (the \\\"Effective Date\\\"). Walgreens and Client may be individually referred to as a \\\"Party\\\" or collectively as the \\\"Parties.\\\"

\",\r\n \"englishheader\":\"

For good and valuable consideration, the receipt and sufficiency of which are hereby acknowledged, Client and Walgreens, by their signatures below, hereby agree Walgreens will provide the immunizations indicated in Attachment A, attached hereto and incorporated herein, consisting of dispensing and administering of such immunizations (\\\"Immunizations\\\") to participants (\\\"Participants\\\") at mutually agreed upon location(s) outside of Walgreens’ store locations, referred to as off-site locations, and/or at Walgreens’ participating store locations through issuance of a voucher (\\\"Covered Services\\\").

\",\r\n \"englishattachment\":\"

ATTACHMENT A

For each Covered Service whether through a voucher, at an off-site location or both, Client or Participant, as applicable, will reimburse Walgreens at the rates set forth in Table1, below. Client acknowledges that the reimbursement rates set forth herein are Walgreens’ confidential and proprietary information and Client agrees not to disclose the rates to any third-party other than as minimally necessary under the terms of this Agreement. The rates listed below are inclusive of the cost of vaccine, dispensing fee, administration fee and any applicable taxes imposed in connection with Covered Services.

\",\r\n \"clientsp\":\"CLIENTE:\",\r\n \"namesp\":\"NOMBRE:\",\r\n \"titlesp\":\"TÍTULO:\",\r\n \"clienten\":\"Business Name:\",\r\n \"nameen\":\"Name:\",\r\n \"eSignatureSP\": \"eSig:\",\r\n \"eSignatureEN\": \"eSig:\",\r\n \"titleen\":\"Title:\",\r\n \"attentionsp\": \"Atención\",\r\n \"address1sp\": \"Dirección 1\",\r\n \"address2sp\": \"Dirección 2\",\r\n \"citysp\": \"Ciudad\",\r\n \"statesp\": \"Estado\",\r\n \"zipcodesp\": \"Código Postal:\",\r\n \"attentionen\": \"Attention\",\r\n \"address1en\":\"Address1\",\r\n \"address2en\":\"Address2\",\r\n \"cityen\":\"City\",\r\n \"stateen\":\"State\",\r\n \"zipcodeen\":\"Zip\",\r\n \"legalsp\":\"Envíele Avisos Legales al Cliente A\",\r\n \"clientinfosp\":\"Vigencia\",\r\n \"legalen\":\"Send Legal Notice To Client At\",\r\n \"clientinfoen\":\"Client Information\",\r\n \"inWitnessWhereOffEN\":\"IN WITNESS WHEREOF,\",\r\n \"inWitnessWhereOffSP\": \"IN WITNESS WHEREOF,\",\r\n \"inWitnessWhereOff2ndLineEN\":\"Client and Walgreens have executed this Agreement.\",\r\n \"inWitnessWhereOff2ndLineSP\":\"Client and Walgreens have executed this Agreement.\",\r\n \"sendLegalNoticeToClientEN\":\"Send Legal Notice To Client At:\",\r\n \"sendLegalNoticeToClientSP\":\"Envíele Avisos Legales al Cliente A:\",\r\n \"sendLegalNoticeToWalgreensEN\":\"Send Legal Notice To Walgreens At:\",\r\n \"sendLegalNoticeToWalgreensSP\":\"Envíele Avisos Legales al Walgreens A:\",\r\n \"wallGreensCommOffsiteTitle1EN\":\"WALGREENS COMMUNITY OFF-SITE CLINIC AGREEMENT\",\r\n \"wallGreensCommOffsiteTitle1SP\":\"WALGREENS CONTRATO DE CLÍNICA AMBULATORIA COMUNITARIA\",\r\n \"wallGreensCommOffsiteTitle2EN\":\"TERMS AND CONDITIONS\",\r\n \"wallGreensCommOffsiteTitle2SP\":\"TERMS AND CONDITIONS\",\r\n \"wallGreensResponsibilitiesEN\":\" WALGREENS’ RESPONSIBILITIES\",// deliberately extra space\r\n \"wallGreensResponsibilitiesSP\":\"RESPONSABILIDADES DE WALGREENS\",\r\n \"wallGreensResponsibilitiesPara1HeadingEN\":\"Covered Services\",\r\n \"wallGreensResponsibilitiesPara1HeadingSP\":\"Covered Services\",\r\n \"wallGreensResponsibilitiesCvrdServicesEN\":\" Subject to the limitations or restrictions imposed by federal and state contracts, laws, and regulations, and the availability of the appropriate Immunization, Walgreens will provide the Covered Services to Participants. With respect to such Covered Services, the Parties will comply with the procedures set forth herein. When required by state law, Walgreens will require Participants to provide a valid prescription from their physician or allow the health care professional to contact their physician to obtain a valid prescription; however, for influenza Immunizations, Walgreens will be responsible for obtaining standing orders from physicians. Participants will be required to complete a Walgreens’ vaccine administration record and consent form before receiving an Immunization.\",\r\n \"wallGreensResponsibilitiesCvrdServicesSP\":\"Subject to the limitations or restrictions imposed by federal and state contracts, laws, and regulations, and the availability of the appropriate Immunization, Walgreens will provide the Covered Services to Participants. With respect to such Covered Services, the Parties will comply with the procedures set forth herein. When required by state law, Walgreens will require Participants to provide a valid prescription from their physician or allow the health care professional to contact their physician to obtain a valid prescription; however, for influenza Immunizations, Walgreens will be responsible for obtaining standing orders from physicians. Participants will be required to complete a Walgreens’ vaccine administration record and consent form before receiving an Immunization.\",\r\n \"profJudgementHeadingEN\":\"Professional Judgment\",\r\n \"profJudgementHeadingSP\":\"Professional Judgment\",\r\n \"profJudgementTextEN\":\" Walgreens may withhold Covered Services to a Participant for good cause, including but not necessarily limited to, Client’s or Participant’s (where applicable) failure to pay for Covered Services rendered; requests by Participant for services inconsistent with the legal and regulatory requirements; or where, in the professional judgment of the health care professional, the services should not be rendered.\",\r\n \"profJudgementTextSP\":\" Walgreens may withhold Covered Services to a Participant for good cause, including but not necessarily limited to, Client’s or Participant’s (where applicable) failure to pay for Covered Services rendered; requests by Participant for services inconsistent with the legal and regulatory requirements; or where, in the professional judgment of the health care professional, the services should not be rendered.\",\r\n \"provHealthCrProfHdngEN\":\"Provision of Healthcare Professional\",\r\n \"provHealthCrProfHdngSP\":\"Provision of Healthcare Professional\",\r\n \"provHealthCrProfTextEN\":\" If the Parties agree in writing that Walgreens will provide Covered Services at off-site locations, Walgreens will provide Client with the appropriate number of qualified health care professionals and technicians to provide Covered Services at such off-site locations. Any requests for additional personnel will be subject to mutual agreement by the Parties and may require additional agreed-upon fees to be paid by Client to Walgreens in accordance with this Agreement.\",\r\n \"provHealthCrProfTextSP\":\" If the Parties agree in writing that Walgreens will provide Covered Services at off-site locations, Walgreens will provide Client with the appropriate number of qualified health care professionals and technicians to provide Covered Services at such off-site locations. Any requests for additional personnel will be subject to mutual agreement by the Parties and may require additional agreed-upon fees to be paid by Client to Walgreens in accordance with this Agreement.\",\r\n \"clientsResponsibilitesEN\":\"CLIENT’S RESPONSIBILITIES\",\r\n \"clientsResponsibilitesSP\":\"CLIENT’S RESPONSIBILITIES\",\r\n \"vouchersHeadingEN\":\"Vouchers\",\r\n \"vouchersHeadingSP\":\"Vouchers\",\r\n \"vouchersTextEN\":\" If the Parties agree in writing that Walgreens will provide Covered Services upon receipt of a voucher, Client will provide Participants with a voucher (in a format agreeable to both Parties), which Participants may redeem at a participating Walgreens store location. Once the voucher is approved by both Parties it may not be modified. Client may not rescind, retract, reduce or deny payment owed to Walgreens for claims where Covered Services have been provided to its Participants, even if Client no longer considers the individual redeeming the voucher to be a Participant.\",\r\n \"vouchersTextSP\":\" If the Parties agree in writing that Walgreens will provide Covered Services upon receipt of a voucher, Client will provide Participants with a voucher (in a format agreeable to both Parties), which Participants may redeem at a participating Walgreens store location. Once the voucher is approved by both Parties it may not be modified. Client may not rescind, retract, reduce or deny payment owed to Walgreens for claims where Covered Services have been provided to its Participants, even if Client no longer considers the individual redeeming the voucher to be a Participant.\",\r\n \"offSiteLocationEN\":\"Off-Site Locations.\",\r\n \"offSiteLocationSP\":\"Off-Site Locations.\",\r\n \"importantEN\":\"IMPORTANT\",\r\n \"importantSP\":\"IMPORTANT\",\r\n \"offSiteLocationText1EN\":\" If the Parties agree in writing, that Walgreens will provide Covered Services at off-site locations, Client will provide Participants with notice of the dates, times and locations for such off-site locations and provide a private, clean room location, tables and chairs for Walgreens' personnel and Participants. Additionally, Client guarantees that an average minimum of 25 Immunizations will be administered to Participants at each of Client's off-site locations {0}\",\r\n \"offSiteLocationText1SP\":\" If the Parties agree in writing, that Walgreens will provide Covered Services at off-site locations, Client will provide Participants with notice of the dates, times and locations for such off-site locations and provide a private, clean room location, tables and chairs for Walgreens' personnel and Participants. Additionally, Client guarantees that an average minimum of 25 Immunizations will be administered to Participants at each of Client's off-site locations {0}\",\r\n \"siteMinEN\":\"Site Minimum\",\r\n \"siteMinSP\":\"Site Minimum\",\r\n \"siteAvgEN\":\"Site Average\",\r\n \"siteAvgSP\":\"Site Average\",\r\n \"siteMinTextEN\":\"(\\\"Site Minimum\\\"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n \"siteMinTextfluEN\":\"(\\\"Site Minimum\\\"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n \"siteMinTextSP\":\"(\\\"Site Minimum\\\"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n \"siteMinTextfluSP\":\"(\\\"Site Minimum\\\"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n \"siteAvgTextEN\":\"(\\\"Site Average\\\")), at Walgreens’ discretion, it will invoice Client for the difference between the Site Minimum and Site Average multiplied by the number of off-site events. The sum of which will be multiplied by the lowest reimbursement rate set forth in table in Attachment A and Client shall pay such amount within 30 days of being invoiced by Walgreens.\",\r\n \"siteAvgTextSP\":\"(\\\"Site Average\\\")), at Walgreens’ discretion, it will invoice Client for the difference between the Site Minimum and Site Average multiplied by the number of off-site events. The sum of which will be multiplied by the lowest reimbursement rate set forth in table in Attachment A and Client shall pay such amount within 30 days of being invoiced by Walgreens.\",\r\n \"pmtAndBIllingEN\":\"PAYMENT AND BILLING\",\r\n \"pmtAndBIllingSP\":\"PAYMENT AND BILLING\",\r\n \"paymentEN\":\"Payment.\",\r\n \"paymentSP\":\"Payment.\",\r\n \"paymentTextEN\":\"3.1 Payment. For Covered Services where: (i) Participant provides evidence of coverage under third-party insurance or a government funded program (e.g., Medicare) prior to the provision of Covered Services;(ii) and Walgreens is contracted such third-party insurance or government funded program, Walgreens will submit the claim for that Participant and any copayment, coinsurance, deductible owed by the Participant will be collected at the time of service or billed at a later date. If such evidence is not provided at the time of service, Walgreens will either, as agreed to by the Parties, collect from the Participant or invoice the Client monthly at the lesser of the prices stated herein or the Usual and Customary Charge. If a claim for reimbursement is later denied, the Parties agree that Walgreens can seek reimbursement from the Participant. As used in this Agreement, \\\"Usual and Customary Charge\\\" shall refer to the amount charged to a cash customer for an Immunization by the administering pharmacy at the time of administration, exclusive of: (i) sales tax; (ii) discounts claimed, and (iii) discounts provided for prescription drug savings card or other similar discounts. Client will reimburse Walgreens within 30 days from receipt of the monthly invoice and must be sent to the remittance address stated on the invoice. The invoice will contain the following data elements, and no further information will be provided: Group ID, store number, prescription number, patient name, recipient number, physician name, cost, service fee, copayment amount, sales tax, total charge, date of service, and drug name/NDC. At the time of payment, Client will provide Walgreens with a written explanation of the specific claims for which payment is made.\",\r\n \"paymentTextSP\":\" For Covered Services where: (i) Participant provides evidence of coverage under third-party insurance or a government funded program (e.g., Medicare) prior to the provision of Covered Services;(ii) and Walgreens is contracted such third-party insurance or government funded program, Walgreens will submit the claim for that Participant and any copayment, coinsurance, deductible owed by the Participant will be collected at the time of service or billed at a later date. If such evidence is not provided at the time of service, Walgreens will either, as agreed to by the Parties, collect from the Participant or invoice the Client monthly at the lesser of the prices stated herein or the Usual and Customary Charge. If a claim for reimbursement is later denied, the Parties agree that Walgreens can seek reimbursement from the Participant. As used in this Agreement, \\\"Usual and Customary Charge\\\" shall refer to the amount charged to a cash customer for an Immunization by the administering pharmacy at the time of administration, exclusive of: (i) sales tax; (ii) discounts claimed, and (iii) discounts provided for prescription drug savings card or other similar discounts. Client will reimburse Walgreens within 30 days from receipt of the monthly invoice and must be sent to the remittance address stated on the invoice. The invoice will contain the following data elements, and no further information will be provided: Group ID, store number, prescription number, patient name, recipient number, physician name, cost, service fee, copayment amount, sales tax, total charge, date of service, and drug name/NDC. At the time of payment, Client will provide Walgreens with a written explanation of the specific claims for which payment is made.\",\r\n \"latePaymentEN\":\"Late Payment\",\r\n \"latePaymentSP\":\"Late Payment\",\r\n \"latePaymentTextEN\":\" All sums owed by Client to Walgreens will bear interest of 1.5% per month from the date payment is due until paid; however, in no event will such interest rate be greater than the rate permitted by law. Client shall be solely responsible for any and all costs incurred by Walgreens in seeking collection of any delinquent amounts owed by Client. Walgreens may invoice Client for interest and costs due under this Section on a monthly basis and payment will be due within 30 days from receipt.\",\r\n \"latePaymentTextSP\":\" All sums owed by Client to Walgreens will bear interest of 1.5% per month from the date payment is due until paid; however, in no event will such interest rate be greater than the rate permitted by law. Client shall be solely responsible for any and all costs incurred by Walgreens in seeking collection of any delinquent amounts owed by Client. Walgreens may invoice Client for interest and costs due under this Section on a monthly basis and payment will be due within 30 days from receipt.\",\r\n \"termAndTermCapsEN\":\"TERM AND TERMINATION\",\r\n \"termAndTermCapsSP\":\"DURACIÓN Y TERMINACIÓN\",\r\n \"termAndTermEN\":\"Term and Termination\",\r\n \"termAndTermSP\":\"Duración y terminación\",\r\n \"termAndTermTextEN\":\" This Agreement will become effective on the Effective Date and shall continue in full force and effect for an initial term of one year. Upon expiration of the initial term, this Agreement will automatically renew for successive one-year terms. Either Party may terminate this Agreement at any time without cause by giving at least thirty (30) days’ prior written notice to the other Party.\",\r\n \"termAndTermTextSP\":\" This Agreement will become effective on the Effective Date and shall continue in full force and effect for an initial term of one year. Upon expiration of the initial term, this Agreement will automatically renew for successive one-year terms. Either Party may terminate this Agreement at any time without cause by giving at least thirty (30) days’ prior written notice to the other Party.\",\r\n \"effectAndTerminiationEN\":\"Effect of Termination\",\r\n \"effectAndTerminiationSP\":\"Effect of Termination\",\r\n \"effectAndTerminiationTextEN\":\" Termination will have no effect upon the rights or obligations of the Parties arising out of any transactions occurring prior to the effective date of such termination.\",\r\n \"effectAndTerminiationTextSP\":\" Termination will have no effect upon the rights or obligations of the Parties arising out of any transactions occurring prior to the effective date of such termination.\",\r\n \"waiverEN\":\"Waiver\",\r\n \"waiverSP\":\"Waiver\",\r\n \"waiverTextEN\":\" No waiver by either Party with respect to any breach or default of any right or remedy and no course of dealing may be deemed to constitute a continuous waiver of any other breach or default or of any other right or remedy unless such waiver is expressed in writing by the Party to be bound.\",\r\n \"waiverTextSP\":\" No waiver by either Party with respect to any breach or default of any right or remedy and no course of dealing may be deemed to constitute a continuous waiver of any other breach or default or of any other right or remedy unless such waiver is expressed in writing by the Party to be bound.\",\r\n \"insurAndIndemnifyEN\":\"INSURANCE AND INDEMNIFICATION \",\r\n \"insurAndIndemnifySP\":\"INSURANCE AND INDEMNIFICATION \",\r\n \"insuranceEN\":\"Insurance\",\r\n \"insuranceSP\":\"Insurance\",\r\n \"insuranceTextEN\":\" Each Party will self-insure or maintain at its sole expense, and in amounts consistent with industry standards, such insurance as may be necessary to insure each respective Party, its employees, and agents against any claim or claims for damages arising out of or in connection with its duties and obligations under this Agreement. Walgreens will automatically name Client as Additional Insured under its applicable insurance policy(ies). Evidence of such insurance can be downloaded from Walgreens’ website. Client will provide a memorandum or certificate of insurance coverage to Walgreens upon request.\",\r\n \"insuranceTextSP\":\" Each Party will self-insure or maintain at its sole expense, and in amounts consistent with industry standards, such insurance as may be necessary to insure each respective Party, its employees, and agents against any claim or claims for damages arising out of or in connection with its duties and obligations under this Agreement. Walgreens will automatically name Client as Additional Insured under its applicable insurance policy(ies). Evidence of such insurance can be downloaded from Walgreens’ website. Client will provide a memorandum or certificate of insurance coverage to Walgreens upon request.\",\r\n \"indemnificationEN\":\"Indemnification\",\r\n \"indemnificationSP\":\"Indemnification\",\r\n \"indemnificationTextEN\":\" To the extent permitted by law, each Party will indemnify, defend, and hold harmless the other Party, including its employees and agents, from and against any and all third-party claims or liabilities arising from the negligence or wrongful act of the indemnifying Party, its employees, or agents in carrying out its duties and obligations under the terms of this Agreement. This Section will survive the termination of this Agreement.\",\r\n \"indemnificationTextSP\":\" To the extent permitted by law, each Party will indemnify, defend, and hold harmless the other Party, including its employees and agents, from and against any and all third-party claims or liabilities arising from the negligence or wrongful act of the indemnifying Party, its employees, or agents in carrying out its duties and obligations under the terms of this Agreement. This Section will survive the termination of this Agreement.\",\r\n \"generalTermsEN\":\" GENERAL TERMS \",// deliberately extra space\r\n \"generalTermsSP\":\"CONDICIONES GENERALES\",\r\n \"confidentialityEN\":\"Confidentiality of PHI\",\r\n \"confidentialitySP\":\"Confidencialidad de PHI\",\r\n \"confidentialityP1EN\":\" Both Parties warrant that they will maintain and protect the confidentiality of all individually identifiable health information specifically relating to Participants \",\r\n \"confidentialityP1SP\":\" Both Parties warrant that they will maintain and protect the confidentiality of all individually identifiable health information specifically relating to Participants \",\r\n \"phiEN\":\"(\\\"Protected Health Information\\\" or\",\r\n \"phiSP\":\"(\\\"Información Médica Protegida\\\" or\",\r\n \"phiAbEN\":\"\\\"PHI\\\"\",\r\n \"phiAbSP\":\"\\\"PHI\\\"\",\r\n \"confidentialityP2EN\":\" in accordance with the Health Insurance Portability and Accountability Act of 1996 and all applicable federal and state laws and regulations. However, nothing herein will limit either Party’s use of any aggregated Participant information that does not contain PHI. This Section will survive the termination of this Agreement.\",\r\n \"confidentialityP2SP\":\" in accordance with the Health Insurance Portability and Accountability Act of 1996 and all applicable federal and state laws and regulations. However, nothing herein will limit either Party’s use of any aggregated Participant information that does not contain PHI. This Section will survive the termination of this Agreement.\",\r\n \"AdvertisingEN\":\"Advertising\",\r\n \"AdvertisingSP\":\"Advertising\",\r\n \"AdvertisingTextEN\":\" Neither Party may advertise or use any trademarks, service marks, or symbols of the other Party without first receiving the written consent of the Party owning the mark and/or symbol with the following exceptions: Client may use the name and the addresses of Walgreens' locations in materials to inform Participants that Walgreens provides Covered Services. Any other reference to Walgreens in any Client materials must be pre-approved, in writing, by Walgreens.\",\r\n \"AdvertisingTextSP\":\" Neither Party may advertise or use any trademarks, service marks, or symbols of the other Party without first receiving the written consent of the Party owning the mark and/or symbol with the following exceptions: Client may use the name and the addresses of Walgreens' locations in materials to inform Participants that Walgreens provides Covered Services. Any other reference to Walgreens in any Client materials must be pre-approved, in writing, by Walgreens.\",\r\n \"frcMajEN\":\"Force Majeure\",\r\n \"frcMajSP\":\"Fuerza mayor\",\r\n \"frcMajTextEN\":\" The performance by either Party hereunder will be excused to the extent of circumstances beyond such Party’s reasonable control, such as flood, tornado, earthquake, or other natural disaster, epidemic, war, material destruction of facilities, fire, acts of terrorism, acts of God, etc. In such event, the Parties will use their best efforts to resume performance as soon as reasonably possible under the circumstances.\",\r\n \"frcMajTextSP\":\" The performance by either Party hereunder will be excused to the extent of circumstances beyond such Party’s reasonable control, such as flood, tornado, earthquake, or other natural disaster, epidemic, war, material destruction of facilities, fire, acts of terrorism, acts of God, etc. In such event, the Parties will use their best efforts to resume performance as soon as reasonably possible under the circumstances.\",\r\n \"complianceEN\":\"Compliance\",\r\n \"complianceSP\":\"Compliance\",\r\n \"complianceTextEN\":\" The Parties will comply with all applicable laws, rules, and regulations for each jurisdiction in which Covered Services are provided under this Agreement. Each Party will cooperate with reasonable requests by the other Party for information that is needed for its compliance with applicable laws, rules, and/or regulations.\",\r\n \"complianceTextSP\":\" The Parties will comply with all applicable laws, rules, and regulations for each jurisdiction in which Covered Services are provided under this Agreement. Each Party will cooperate with reasonable requests by the other Party for information that is needed for its compliance with applicable laws, rules, and/or regulations.\",\r\n \"assignmentEN\":\"Assignment\",\r\n \"assignmentSP\":\"Assignment\",\r\n \"assignmentTextEN\":\" Neither Party may assign this Agreement to a third-party without the prior written consent of the other Party, except that either Party will have the right to assign this Agreement to any direct or indirect parent, subsidiary or affiliated company or to a successor company without such consent. Any permitted assignee will assume all obligations of its assignor under this Agreement. No assignment will relieve any Party of responsibility for the performance of any obligations which have already occurred. This Agreement will inure to the benefit of and be binding upon each Party, its respective successors and permitted assignees.\",\r\n \"assignmentTextSP\":\" Neither Party may assign this Agreement to a third-party without the prior written consent of the other Party, except that either Party will have the right to assign this Agreement to any direct or indirect parent, subsidiary or affiliated company or to a successor company without such consent. Any permitted assignee will assume all obligations of its assignor under this Agreement. No assignment will relieve any Party of responsibility for the performance of any obligations which have already occurred. This Agreement will inure to the benefit of and be binding upon each Party, its respective successors and permitted assignees.\",\r\n \"noticesEN\":\"Notices\",\r\n \"noticesSP\":\"Notices\",\r\n \"noticesTextEN\":\" All notices provided for herein must be in writing, sent by U.S. certified mail, return receipt requested, postage prepaid, or by overnight delivery service providing proof of receipt to the address set forth following the signature blocks. Notices will be deemed delivered upon receipt or upon refusal to accept delivery.\",\r\n \"noticesTextSP\":\" All notices provided for herein must be in writing, sent by U.S. certified mail, return receipt requested, postage prepaid, or by overnight delivery service providing proof of receipt to the address set forth following the signature blocks. Notices will be deemed delivered upon receipt or upon refusal to accept delivery.\",\r\n \"entireAgrEN\":\"Entire Agreement\",\r\n \"entireAgrSP\":\"Entire Agreement\",\r\n \"entireAgrTextEN\":\" This Agreement, which includes any and all attachments, exhibits, riders, and other documents referenced herein, constitutes the entire and full agreement between the Parties relating to the subject matter herein and supersedes any previous contract, for which the signatories are authorized to sign for, and no changes, amendments, or alterations will be effective unless reduced to a writing signed by a representative of each Party. Any prior agreements, documents, understandings, or representations relating to the subject matter of this Agreement not expressly set forth herein or referred to or incorporated herein by reference are of no force or effect.\",\r\n \"entireAgrTextSP\":\" This Agreement, which includes any and all attachments, exhibits, riders, and other documents referenced herein, constitutes the entire and full agreement between the Parties relating to the subject matter herein and supersedes any previous contract, for which the signatories are authorized to sign for, and no changes, amendments, or alterations will be effective unless reduced to a writing signed by a representative of each Party. Any prior agreements, documents, understandings, or representations relating to the subject matter of this Agreement not expressly set forth herein or referred to or incorporated herein by reference are of no force or effect.\",\r\n \"counterPartsHeadingEN\":\"Counterparts\",\r\n \"counterPartsHeadingSP\":\"Counterparts\",\r\n \"counterPartsTextEN\":\" This Agreement may be executed in two or more counterparts, each of which together shall be deemed an original, but all of which together shall constitute one and the same instrument, provided that each Party has received the other Party’s executed instruments. In the event that any signature is delivered by facsimile transmission or by e-mail delivery of a \\\".pdf\\\" format data file (or similar format however designated), such signature shall create a valid and binding obligation of the Party executing (or on whose behalf such signature is executed) with the same force and effect as if such facsimile or \\\".pdf\\\" signature page were an original thereof.\",\r\n \"counterPartsTextSP\":\" This Agreement may be executed in two or more counterparts, each of which together shall be deemed an original, but all of which together shall constitute one and the same instrument, provided that each Party has received the other Party’s executed instruments. In the event that any signature is delivered by facsimile transmission or by e-mail delivery of a \\\".pdf\\\" format data file (or similar format however designated), such signature shall create a valid and binding obligation of the Party executing (or on whose behalf such signature is executed) with the same force and effect as if such facsimile or \\\".pdf\\\" signature page were an original thereof.\",\r\n \"rightsEN\":\"All rights reserved.\",\r\n \"rightsSP\":\"Todos los derechos reservados.\",\r\n \"approveAgrmntEN\":\"Approve Agreement\",\r\n \"approveAgrmntSP\":\"Aprobar el acuerdo\",\r\n \"approveTextEN\":\"Carefully review the Community Off-Site Agreement. If you agree to the conditions of the contract, please check 'Approve' below and type your name into the Electronic Signature field. If there are any discrepancies in the Agreement, reject the Agreement and provide corrections in the notes field.\",\r\n \"approveTextSP\":\"Examine cuidadosamente el Acuerdo para Clínica Externa en la Comunidad. Si está de acuerdo con las condiciones del contrato, favor de marcar 'Aprobado' adelante y entre su nombre en el campo Firma Electrónica. Si hubiese alguna discrepancia, rechace el Acuerdo y provea las correcciones en el campo Apuntes.\",\r\n \"electrSignEN\":\"Electronic Signature\",\r\n \"electrSignSP\":\"Firma Electrónica\",\r\n \"notesEN\":\"Notes:\",\r\n \"notesSP\":\"Notas:\",\r\n \"pageTitleEN\":\"\",\r\n \"pageTitleSP\":\"CONTRATO DE CLÍNICA AMBULATORIA COMUNITARIA\",\r\n \"dateEN\":\"Date:\",\r\n \"dateSP\":\"FECHA\",\r\n \"districtEN\":\"District#:\",\r\n \"districtSP\":\"DISTRITO#:\",\r\n \"approveEN\":\"Approve\",\r\n \"approveSP\":\"Aprobar\",\r\n \"rejectEN\":\"Request Changes\",\r\n \"rejectSP\":\"Solicitar cambios\",\r\n \"submitEN\":\"Submit\",\r\n \"submitSP\":\"Enviar\",\r\n \"cancelEN\":\"Cancel\",\r\n \"cancelSP\":\"Cancelar\",\r\n \"printAgreementEN\":\"Print Agreement\",\r\n \"printAgreementSP\":\"Acuerdo de impresión\",\r\n \"clinicLocationEN\":\"Clinic:\",\r\n \"clinicLocationSP\":\"Ubicación de la clínica:\",\r\n \"clinicDateEN\":\"Clinic Date:\",\r\n \"clinicDateSP\":\"Fecha de la clínica:\",\r\n \"clinicTimeEN\":\"Clinic Time:\",\r\n \"clinicTimeSP\":\"Tiempo de la clínica:\",\r\n \"contactEN\":\"Contact:\",\r\n \"contactSP\":\"Contacto:\",\r\n \"phoneEN\":\"Phone:\",\r\n \"phoneSP\":\"Teléfono:\",\r\n \"estShotsEN\":\"Est. Shots\",\r\n \"estShotsSP\":\"Est. Shots\",\r\n \"locationEN\":\"Location:\",\r\n \"locationSP\":\"Ubicación:\",\r\n \"timeEN\":\"Time:\",\r\n \"timeSP\":\"Hora:\",\r\n \"emailEN\":\"Email:\",\r\n \"emailSP\":\"Email:\",\r\n \"emailAgreementToEN\":\"Email Agreement to:\",\r\n \"emailAgreementToSP\":\"Acuerdo de correo electrónico a:\",\r\n \"multipleEmailAddressEN\":'Multiple email addresses may be entered by placing a comma between addresses.',\r\n \"multipleEmailAddressSP\":'Se pueden ingresar varias direcciones de correo electrónico colocando una coma entre las direcciones.',\r\n \"sendAgreementEN\":\"SEND AGREEMENT\",\r\n \"sendAgreementSP\":'ENVIAR ACUERDO',\r\n \"editAgreementEN\":'EDIT AGREEMENT',\r\n \"editAgreementSP\":'EDITAR ACUERDO',\r\n \"saveAgreementEN\":\"SAVE AGREEMENT\",\r\n \"saveAgreementSP\":\"GUARDAR ACUERDO\",\r\n \"noteTextEN\":\"* Please note, once a contract has been signed by the client, it cannot be edited.\",\r\n \"noteTextSP\":\"* Tenga en cuenta que una vez que el cliente ha firmado un contrato, no se puede editar.\",\r\n \"printAgreementTxtCapsEN\":\"PRINT AGREEMENT\",\r\n \"printAgreementTxtCapsSP\":\"ACUERDO IMPRESO\",\r\n \"table1EN\":'Table 1',\r\n \"table1SP\":'Tabla 1',\r\n \"attnEN\":\"Attn\",\r\n \"fluExpiryDateEN\":\"Flu Exp. Date:\",\r\n \"fluExpiryDateSP\":\"Fecha de vencimiento de la gripe:\",\r\n \"routineExpiryDateEN\":\"Routine Exp. Date:\",\r\n \"routineExpiryDateSP\":\"Fecha de vencimiento de rutina:\",\r\n \"sendInvoiceToEN\":'Send Invoice to:',\r\n \"sendInvoiceToSP\":'Enviar factura a:',\r\n 'isTaxExemptEN':'Is Employer Tax Exempt?',\r\n 'isTaxExemptSP':'¿El empleador está exento de impuestos?',\r\n 'isCopayEN':'Will patient pay the portion of the cost. Is there a copay?',\r\n 'isCopaySP':'Pagará el paciente la parte del costo. ¿Hay un copago?',\r\n 'voucherNeededEN':'Voucher Needed:',\r\n 'voucherNeededSP':'Vale necesario:',\r\n 'voucherExpiryEN':'Expiration Date:',\r\n 'voucherExpirySP':'Fecha de caducidad:',\r\n 'copayValueEN':'Copay Value:',\r\n 'copayValueSP':'Valor de copago:',\r\n 'influenzaSeasonText1EN':'per influenza season (August – April)',\r\n 'influenzaSeasonText1SP':'per influenza season (August – April)',\r\n 'contractYearText1EN':'per contract year',\r\n 'contractYearText1SP':'per contract year',\r\n 'influenzaSeasonText2EN':'influenza season',\r\n 'influenzaSeasonText2SP':'influenza season',\r\n 'contractYearText2EN':'contract year',\r\n 'contractYearText2SP':'contract year',\r\n 'contactName':'Contact Name:',\r\n 'contactPhone':'Contact Phone:',\r\n 'contactEmail':'Contact Email:',\r\n 'contactNameSP':'Contact Name:',\r\n 'contactPhoneSP':'Contact Phone:',\r\n 'contactEmailSP':'Contact Email:',\r\n 'doseEN':'COVID Clinic:',\r\n 'doseSP':'COVID Clinic:',\r\n 'confidentialityTextEN':'',\r\n 'confidentialityTextSP':'',\r\n 'participants': 'Participants:'\r\n\r\n }","export const LTCFTypesValues:any[] = [\r\n {\r\n \"id\":\"SNF\",\r\n \"name\":\"SNF\"\r\n },\r\n {\r\n \"id\":\"ALF\",\r\n \"name\":\"ALF\"\r\n }\r\n ,\r\n {\r\n \"id\":\"IDD\",\r\n \"name\":\"IDD\"\r\n }\r\n ,\r\n {\r\n \"id\":\"HUD\",\r\n \"name\":\"HUD\"\r\n }\r\n ,\r\n {\r\n \"id\":\"VET\",\r\n \"name\":\"VET\"\r\n }\r\n ,\r\n {\r\n \"id\":\"RES\",\r\n \"name\":\"RES\"\r\n } ,\r\n {\r\n \"id\":\"Other\",\r\n \"name\":\"Other\"\r\n } \r\n ]","export const MaxImmunizers: any[] =\r\n[ {\r\n \"key\": \"1\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"key\": \"2\",\r\n \"value\": \"2\"\r\n },\r\n {\r\n \"key\": \"3\",\r\n \"value\": \"3\"\r\n },\r\n {\r\n \"key\": \"4\",\r\n \"value\": \"4\"\r\n },\r\n {\r\n \"key\": \"5\",\r\n \"value\": \"5\"\r\n },\r\n {\r\n \"key\": \"6\",\r\n \"value\": \"6\"\r\n },\r\n {\r\n \"key\": \"7\",\r\n \"value\": \"7\"\r\n },\r\n {\r\n \"key\": \"8\",\r\n \"value\": \"8\"\r\n },\r\n {\r\n \"key\": \"9\",\r\n \"value\": \"9\"\r\n },\r\n {\r\n \"key\": \"10\",\r\n \"value\": \"10\"\r\n }\r\n\r\n];\r\nexport const t1:string='*t44iz*'; // do not delete","\r\nexport const commonMenuItems: any[] = [\r\n{\r\n \"title\": \"Dashboards\",\r\n \"forRoles\": [\"Admin\", \"District Manager\", \"Healthcare Supervisor\", \"Director - Rx and Retail Ops\", \"Regional Vice President\", \"Regional Healthcare Director\", \"Pod Healthcare Supervisor\"],\r\n \"navigationItems\": [{\r\n \"title\": \"Immunization Program\",\r\n \"url\": \"/communityoutreach/home\",\r\n \"forRoles\": [\"Admin\", \"District Manager\", \"Healthcare Supervisor\", \"Director - Rx and Retail Ops\", \"Regional Vice President\", \"Regional Healthcare Director\", \"Pod Healthcare Supervisor\"]\r\n },\r\n {\r\n \"title\": \"Patient Care & Advocacy\",\r\n \"url\": \"/communityoutreach/pcadashboard\",\r\n \"forRoles\": [\"Admin\", \"District Manager\", \"Healthcare Supervisor\", \"Director - Rx and Retail Ops\", \"Regional Vice President\", \"Regional Healthcare Director\", \"Pod Healthcare Supervisor\"]\r\n },\r\n // {\r\n // \"title\": \"Charts\",\r\n // \"url\": \"/communityoutreach/charts\",\r\n // \"forRoles\": [\"Admin\"]\r\n // }\r\n ]\r\n},\r\n{\r\n \"title\": \"Store\",\r\n \"forRoles\": [\"all\"],\r\n \"url\": \"/communityoutreach/storehome\"\r\n},\r\n{\r\n \"title\": \"Resources\",\r\n \"forRoles\": [\"all\"],\r\n \"navigationItems\": [{\r\n \"title\": \"Training Videos\",\r\n \"url\": \"/communityoutreach/trainingvideos\",\r\n \"forRoles\": [\"all\"]\r\n },\r\n {\r\n \"title\": \"Outreach Materials\",\r\n \"forRoles\": [\"all\"],\r\n \"navigationItems\": [{\r\n \"title\": \"Immunization Program\",\r\n \"url\": \"/communityoutreach/imzresources\",\r\n \"forRoles\": [\"all\"]\r\n },\r\n {\r\n \"title\": \"Senior Outreach\",\r\n \"url\": \"/communityoutreach/soresources\",\r\n \"forRoles\": [\"all\"]\r\n },\r\n {\r\n \"title\": \"Patient Care & Advocacy\",\r\n \"url\": \"/communityoutreach/pcaresources\",\r\n \"forRoles\": [\"all\"]\r\n }\r\n ]\r\n },\r\n {\r\n \"title\": \"Program Details\",\r\n \"forRoles\": [\"all\"],\r\n \"navigationItems\": [{\r\n \"title\": \"Immunization Program\",\r\n \"url\": \"/communityoutreach/immunizationProgramEmailTemplate\",\r\n \"forRoles\": [\"all\"]\r\n },\r\n {\r\n \"title\": \"Patient Care & Advocacy\",\r\n \"url\": \"/communityoutreach/patientCareAdvocacyEmailTemplate\",\r\n \"forRoles\": [\"all\"]\r\n }\r\n ]\r\n }\r\n ]\r\n\r\n},\r\n{\r\n \"title\": \"Reports\",\r\n \"active\": true,\r\n \"forRoles\": [\"all\"],\r\n \"navigationItems\": [\r\n // {\r\n // \"title\": \"COVID Program\",\r\n // \"forRoles\": [\"all\"],\r\n // \"navigationItems\": [{\r\n // \"title\": \"COVID Clinics\",\r\n // \"url\": \"/communityoutreach/covidclinicsreport\",\r\n // \"forRoles\": [\"Admin\", \"Regional Healthcare Director\", \"Regional Vice President\", \"Healthcare Supervisor\", \"Director - Rx and Retail Ops\", \"District Manager\"]\r\n // },\r\n // {\r\n // \"title\": \"COVID Lead Generation\",\r\n // \"url\": \"/communityoutreach/covid-contact-us-report\",\r\n // \"forRoles\": [\"Admin\", \"Regional Healthcare Director\", \"Regional Vice President\", \"Healthcare Supervisor\", \"Director - Rx and Retail Ops\", \"District Manager\"]\r\n // },\r\n // // {\r\n // // \"title\": \"COVID Opportunities Contact Status Report\",\r\n // // \"url\": \"/communityoutreach/covidoppOutreachstatusreport\",\r\n // // \"forRoles\": [\"Admin\", \"Regional Healthcare Director\", \"Regional Vice President\", \"Healthcare Supervisor\", \"Director - Rx and Retail Ops\", \"District Manager\"]\r\n // // },\r\n // {\r\n // \"title\": \"Group ID Assignments\",\r\n // \"url\": \"/communityoutreach/covidgroupidassignmentreport\",\r\n // \"forRoles\": [\"Admin\"]\r\n // },\r\n // {\r\n // \"title\": \"{role_title}High Level Status\",\r\n // \"url\": \"/communityoutreach/immunizationprograms/covidhighlevelstatusreport\",\r\n // \"forRoles\": [\"Admin\", \"Regional Healthcare Director\", \"Regional Vice President\", \"Healthcare Supervisor\", \"Director - Rx and Retail Ops\", \"District Manager\"]\r\n // },\r\n // {\r\n // \"title\": \"Immunization Finance\",\r\n // \"url\": \"/communityoutreach/covidimmunizationfinancereport\",\r\n // \"forRoles\": [\"Admin\"]\r\n // },\r\n // // {\r\n // // \"title\": \"Initiated Contracts\",\r\n // // \"url\": \"/communityoutreach/initiatedcontractsreport\",\r\n // // \"forRoles\": [\"Admin\"]\r\n // // },\r\n // // {\r\n // // \"title\": \"Lead Generation\",\r\n // // \"url\": \"/communityoutreach/contact-us-report\",\r\n // // \"forRoles\": [\"Admin\", \"Regional Healthcare Director\", \"Regional Vice President\", \"Healthcare Supervisor\", \"Director - Rx and Retail Ops\", \"District Manager\"]\r\n // // },\r\n // // {\r\n // // \"title\": \"Local Opportunities List & Contact Status\",\r\n // // \"url\": \"/communityoutreach/immunizationprograms/localopportunitiescontactstatusreport\",\r\n // // \"forRoles\": [\"Admin\", \"Regional Healthcare Director\", \"Regional Vice President\", \"Healthcare Supervisor\", \"Director - Rx and Retail Ops\", \"District Manager\", \"Pharmacy Manager\", \"Store Manager\"]\r\n // // },\r\n // // {\r\n // // \"title\": \"LTCF Lead Generation\",\r\n // // \"url\": \"/communityoutreach/LTCF-contact-us-report\",\r\n // // \"forRoles\": [\"Admin\", \"Regional Healthcare Director\", \"Regional Vice President\", \"Healthcare Supervisor\", \"Director - Rx and Retail Ops\", \"District Manager\"]\r\n // // },\r\n // {\r\n // \"title\": \"Minimum Shot Exceptions\",\r\n // \"url\": \"/communityoutreach/immunizationprograms/covidminimumshotexceptionsreport\",\r\n // \"forRoles\": [\"Admin\"]\r\n // },\r\n // // {\r\n // // \"title\": \"Restricted State Clinics\",\r\n // // \"url\": \"/communityoutreach/restrictedstateclinicsreport\",\r\n // // \"forRoles\": [\"Admin\"]\r\n // // },\r\n // // {\r\n // // \"title\": \"Restricted State Opportunities\",\r\n // // \"url\": \"/communityoutreach/restrictedstateopportunitiesreport\",\r\n // // \"forRoles\": [\"Admin\"]\r\n // // },\r\n // {\r\n // \"title\": \"Revised Clinic Dates & Volumes\",\r\n // \"url\": \"/communityoutreach/covidrevisedclinicdatesreport\",\r\n // \"forRoles\": [\"Admin\"]\r\n // },\r\n // {\r\n // \"title\": \"Scheduled Appointments\",\r\n // \"url\": \"/communityoutreach/scheduledappointmentsreport\",\r\n // \"forRoles\": [\"Admin\"]\r\n // },\r\n // // {\r\n // // \"title\": \"Scheduled Clinic Status\",\r\n // // \"url\": \"/communityoutreach/scheduledclinicstatusreport\",\r\n // // \"forRoles\": [\"Admin\", \"Regional Healthcare Director\", \"Regional Vice President\", \"Healthcare Supervisor\", \"Director - Rx and Retail Ops\", \"District Manager\", \"Pharmacy Manager\", \"Store Manager\"]\r\n // // },\r\n // {\r\n // \"title\": \"Scheduled Clinics\",\r\n // \"url\": \"/communityoutreach/scheduledcovidclinicsreport\",\r\n // \"forRoles\": [\"all\"]\r\n // },\r\n // // {\r\n // // \"title\": \"Store Compliance\",\r\n // // \"url\": \"/communityoutreach/immunizationprograms/storecompliancereport\",\r\n // // \"forRoles\": [\"Admin\", \"Regional Healthcare Director\", \"Regional Vice President\", \"Healthcare Supervisor\", \"Director - Rx and Retail Ops\", \"Pharmacy Manager\", , \"District Manager\", \"Store Manager\"]\r\n // // },\r\n // {\r\n // \"title\": \"Vaccine Purchasing\",\r\n // \"url\": \"/communityoutreach/covidvaccinepurchasingreport\",\r\n // \"forRoles\": [\"Admin\"]\r\n // },\r\n // {\r\n // \"title\": \"Weekly Vaccine Purchasing\",\r\n // \"url\": \"/communityoutreach/covidweeklyvaccinepurchasereport\",\r\n // \"forRoles\": [\"Admin\"]\r\n // }\r\n // ]\r\n // },\r\n {\r\n \"title\": \"Immunization Program\",\r\n \"forRoles\": [\"all\"],\r\n \"navigationItems\": [\r\n // {\r\n // \"title\": \"COVID Clinics\",\r\n // \"url\": \"/communityoutreach/covidclinicsreport\",\r\n // \"forRoles\": [\"Admin\",\"Regional Healthcare Director\", \"Regional Vice President\",\"Healthcare Supervisor\",\"Director - Rx and Retail Ops\",\"District Manager\"]\r\n // },\r\n // {\r\n // \"title\": \"COVID Schools Lead Generation\",\r\n // \"url\": \"/communityoutreach/covid-contact-us-report\",\r\n // \"forRoles\": [\"Admin\",\"Regional Healthcare Director\", \"Regional Vice President\",\"Healthcare Supervisor\",\"Director - Rx and Retail Ops\",\"District Manager\"]\r\n // },\r\n // { \r\n // \"title\": \"COVID Opportunities Contact Status Report\",\r\n // \"url\": \"/communityoutreach/covidoppOutreachstatusreport\",\r\n // \"forRoles\": [\"Admin\",\"Regional Healthcare Director\", \"Regional Vice President\",\"Healthcare Supervisor\",\"Director - Rx and Retail Ops\",\"District Manager\"]\r\n //},\r\n {\r\n \"title\": \"Group ID Assignments\",\r\n \"url\": \"/communityoutreach/groupidassignmentreport\",\r\n \"forRoles\": [\"Admin\"]\r\n },\r\n {\r\n \"title\": \"{role_title}High Level Status\",\r\n \"url\": \"/communityoutreach/immunizationprograms/highlevelstatusreport\",\r\n \"forRoles\": [\"Admin\",\"Regional Healthcare Director\", \"Regional Vice President\",\"Healthcare Supervisor\",\"Director - Rx and Retail Ops\",\"District Manager\", \"Pod Healthcare Supervisor\"]\r\n },\r\n {\r\n \"title\": \"Immunization Finance\",\r\n \"url\": \"/communityoutreach/immunizationfinancereport\",\r\n \"forRoles\": [\"Admin\"]\r\n },\r\n {\r\n \"title\": \"Initiated Contracts\",\r\n \"url\": \"/communityoutreach/initiatedcontractsreport\",\r\n \"forRoles\": [\"Admin\"]\r\n }, \r\n {\r\n \"title\": \"Lead Generation\",\r\n \"url\": \"/communityoutreach/contact-us-report\",\r\n \"forRoles\": [\"Admin\",\"Regional Healthcare Director\", \"Regional Vice President\",\"Healthcare Supervisor\",\"Director - Rx and Retail Ops\",\"District Manager\", \"Pod Healthcare Supervisor\"]\r\n },\r\n {\r\n \"title\": \"LTCF Lead Generation\",\r\n \"url\": \"/communityoutreach/LTCF-contact-us-report\",\r\n \"forRoles\": [\"Admin\", \"Regional Healthcare Director\", \"Regional Vice President\", \"Healthcare Supervisor\", \"Director - Rx and Retail Ops\", \"District Manager\", \"Pod Healthcare Supervisor\"]\r\n },\r\n // {\r\n // \"title\": \"COVID Opportunities Contact Status Report\",\r\n // \"url\": \"/communityoutreach/covidoppOutreachstatusreport\",\r\n // \"forRoles\": [\"Admin\", \"Regional Healthcare Director\", \"Regional Vice President\", \"Healthcare Supervisor\", \"Director - Rx and Retail Ops\", \"District Manager\"]\r\n // },\r\n {\r\n \"title\": \"Local Opportunities List & Contact Status\",\r\n \"url\": \"/communityoutreach/immunizationprograms/localopportunitiescontactstatusreport\",\r\n \"forRoles\": [\"Admin\",\"Regional Healthcare Director\", \"Regional Vice President\",\"Healthcare Supervisor\",\"Director - Rx and Retail Ops\",\"District Manager\",\"Pharmacy Manager\",\"Store Manager\", \"Pod Healthcare Supervisor\"]\r\n },\r\n {\r\n \"title\": \"Minimum Shot Exceptions\",\r\n \"url\": \"/communityoutreach/immunizationprograms/minimumshotexceptionsreport\",\r\n \"forRoles\": [\"Admin\"]\r\n },\r\n {\r\n \"title\": \"Revised Clinic Dates & Volumes\",\r\n \"url\": \"/communityoutreach/revisedclinicdatesreport\",\r\n \"forRoles\": [\"Admin\"]\r\n },\r\n //{\r\n // \"title\": \"Restricted State Clinics\",\r\n // \"url\": \"/communityoutreach/restrictedstateclinicsreport\",\r\n // \"forRoles\": [\"Admin\"]\r\n //},\r\n //{\r\n // \"title\": \"Restricted State Opportunities\",\r\n // \"url\": \"/communityoutreach/restrictedstateopportunitiesreport\",\r\n // \"forRoles\": [\"Admin\"]\r\n //},\r\n {\r\n \"title\": \"Scheduled Appointments\",\r\n \"url\": \"/communityoutreach/scheduledappointmentsreport\",\r\n \"forRoles\": [\"Admin\"]\r\n },\r\n {\r\n \"title\": \"Scheduled Clinic Status\",\r\n \"url\": \"/communityoutreach/scheduledclinicstatusreport\",\r\n \"forRoles\": [\"Admin\",\"Regional Healthcare Director\", \"Regional Vice President\",\"Healthcare Supervisor\",\"Director - Rx and Retail Ops\",\"District Manager\",\"Pharmacy Manager\",\"Store Manager\", \"Pod Healthcare Supervisor\"]\r\n },\r\n {\r\n \"title\": \"Scheduled Clinics\",\r\n \"url\": \"/communityoutreach/scheduledclinicsreport\",\r\n \"forRoles\": [\"all\"]\r\n },\r\n {\r\n \"title\": \"Service Fee\",\r\n \"url\": \"/communityoutreach/servicefeesreport\",\r\n \"forRoles\": [\"Admin\"]\r\n },\r\n {\r\n \"title\": \"Store Compliance\",\r\n \"url\": \"/communityoutreach/immunizationprograms/storecompliancereport\",\r\n \"forRoles\": [\"Admin\",\"Regional Healthcare Director\", \"Regional Vice President\",\"Healthcare Supervisor\",\"Director - Rx and Retail Ops\",\"Pharmacy Manager\",,\"District Manager\",\"Store Manager\", \"Pod Healthcare Supervisor\"]\r\n },\r\n {\r\n \"title\": \"Vaccine Purchasing\",\r\n \"url\": \"/communityoutreach/vaccinepurchasingreport\",\r\n \"forRoles\": [\"Admin\"]\r\n },\r\n {\r\n \"title\": \"Weekly Vaccine Purchasing\",\r\n \"url\": \"/communityoutreach/weeklyvaccinepurchasereport\",\r\n \"forRoles\": [\"Admin\"]\r\n },\r\n {\r\n \"title\": \"Opportunities Contact Status\",\r\n \"url\": \"/communityoutreach/common/flu-opportunities-contact-status\",\r\n \"forRoles\": [\"Admin\",\"Regional Healthcare Director\", \"Regional Vice President\",\"Healthcare Supervisor\",\"Director - Rx and Retail Ops\",\"District Manager\", \"Pod Healthcare Supervisor\"]\r\n }\r\n ]\r\n },\r\n {\r\n \"title\": \"Senior Outreach\",\r\n \"forRoles\": [\"all\"],\r\n \"navigationItems\": [{\r\n \"title\": \"Activity\",\r\n \"url\": \"/communityoutreach/activityreport\",\r\n \"forRoles\": [\"all\"]\r\n },\r\n {\r\n \"title\": \"District Compliance\",\r\n \"url\": \"/communityoutreach/senioroutreach/districtcompliancereport\",\r\n \"forRoles\": [\"Admin\",\"Regional Healthcare Director\", \"Regional Vice President\",\"Healthcare Supervisor\",\"Director - Rx and Retail Ops\",\"District Manager\", \"Pod Healthcare Supervisor\"]\r\n }\r\n ,\r\n /*{\r\n \"title\": \"High Level Compliance\",\r\n \"url\": \"/communityoutreach/senioroutreach/highlevelcompliancereport\",\r\n \"forRoles\": [\"all\"]\r\n },*/\r\n {\r\n \"title\": \"{role_title}High Level Status\",\r\n \"url\": \"/communityoutreach/senioroutreach/highlevelstatusreport\",\r\n \"forRoles\": [\"Admin\",\"Regional Healthcare Director\", \"Regional Vice President\",\"Healthcare Supervisor\",\"Director - Rx and Retail Ops\",\"District Manager\", \"Pod Healthcare Supervisor\"]\r\n },\r\n {\r\n \"title\": \"Local Opportunities Contact Status\",\r\n \"url\": \"/communityoutreach/senioroutreach/localopportunitiescontactstatusreport\",\r\n \"forRoles\": [\"Admin\",\"Pharmacy Manager\",\"Store Manager\",\"Regional Healthcare Director\", \"Regional Vice President\",\"Healthcare Supervisor\",\"Director - Rx and Retail Ops\",\"District Manager\", \"Pod Healthcare Supervisor\"]\r\n },\r\n {\r\n \"title\": \"Local Opportunities List\",\r\n \"url\": \"/communityoutreach/senioroutreach/localopportunitieslist\",\r\n \"forRoles\": [\"Admin\",\"Pharmacy Manager\",\"Store Manager\",\"Regional Healthcare Director\", \"Regional Vice President\",\"Healthcare Supervisor\",\"Director - Rx and Retail Ops\",\"District Manager\", \"Pod Healthcare Supervisor\"]\r\n },\r\n {\r\n \"title\": \"Scheduled Events\",\r\n \"url\": \"/communityoutreach/scheduledeventsreport\",\r\n \"forRoles\": [\"all\"]\r\n },\r\n {\r\n \"title\": \"Store Compliance\",\r\n \"url\": \"/communityoutreach/senioroutreach/storecompliancereport\",\r\n \"forRoles\": [\"Admin\",\"Regional Healthcare Director\", \"Regional Vice President\",\"Healthcare Supervisor\",\"Director - Rx and Retail Ops\",\"Pharmacy Manager\",\"Store Manager\",\"District Manager\", \"Pod Healthcare Supervisor\"]\r\n }\r\n ]\r\n },\r\n {\r\n \"title\": \"Patient Care & Advocacy\",\r\n \"forRoles\": [\"all\"],\r\n \"navigationItems\": [{\r\n \"title\": \"PCA Events\",\r\n \"url\": \"/communityoutreach/patientcareadvocacy/testingeventsreport\",\r\n \"forRoles\": [\"all\"]\r\n },\r\n {\r\n \"title\": \"{role_title}High Level Status\",\r\n \"url\": \"/communityoutreach/patientcareadvocacy/highlevelstatusreport\",\r\n \"forRoles\": [\"Admin\",\"Regional Healthcare Director\", \"Regional Vice President\",\"Healthcare Supervisor\",\"Director - Rx and Retail Ops\",\"District Manager\", \"Pod Healthcare Supervisor\"]\r\n }]\r\n },\r\n {\r\n \"title\": \"Common\",\r\n \"forRoles\": [\"all\"],\r\n \"navigationItems\": [{\r\n \"title\": \"User Access Log\",\r\n \"url\": \"/communityoutreach/common/useraccesslogreport\",\r\n \"forRoles\": [\"Admin\",\"Regional Healthcare Director\", \"Regional Vice President\",\"Healthcare Supervisor\",\"Director - Rx and Retail Ops\",\"District Manager\", \"Pod Healthcare Supervisor\"]\r\n },\r\n {\r\n \"title\": \"Workflow Monitor\",\r\n \"url\": \"/communityoutreach/workflowmonitorreport\",\r\n \"forRoles\": [\"all\"]\r\n },\r\n {\r\n \"title\": \"Data Stats Reporting\",\r\n \"url\": \"/communityoutreach/common/data-stats-reporting\",\r\n \"forRoles\": [\"admin\"]\r\n }]\r\n }\r\n ]\r\n},\r\n{\r\n \"title\": \"Admin\",\r\n \"forRoles\": [\"Admin\"],\r\n \"navigationItems\": [\r\n // {\r\n // \"title\": \"Scheduler Site Setup\",\r\n // \"url\": \"/communityoutreach/corporateScheduler\",\r\n // \"forRoles\": [\"Admin\"]\r\n // },\r\n {\r\n \"title\": \"Upload Scheduled Clinics\",\r\n \"url\": \"/communityoutreach/uploadClinics\",\r\n \"forRoles\": [\"Admin\"]\r\n },\r\n {\r\n \"title\": \"Patient Reassignment\",\r\n \"url\": \"/communityoutreach/patient-reassignment\",\r\n \"forRoles\": [\"Admin\"]\r\n },\r\n {\r\n \"title\": \"User Management\",\r\n \"url\": \"/communityoutreach/userprofile\",\r\n \"forRoles\": [\"Admin\"]\r\n },\r\n {\r\n \"title\": \"Dropped Store Reassignments\",\r\n \"forRoles\": [\"Admin\"],\r\n \"url\": \"/communityoutreach/droppedstorereassignments\"\r\n },\r\n {\r\n \"title\": \"Immunizations & Rates\",\r\n \"forRoles\": [\"Admin\"],\r\n \"url\": \"/communityoutreach/immunizationcheck\"\r\n },\r\n {\r\n \"title\": \"Store Profile Uploader\",\r\n \"url\": \"/communityoutreach/storeprofileuploader\",\r\n \"forRoles\": [\"Admin\"]\r\n },\r\n {\r\n \"title\": \"Group Id Uploader\",\r\n \"forRoles\": [\"Admin\"],\r\n \"url\": \"/communityoutreach/groupidsuploader\"\r\n }\r\n ]\r\n},\r\n{\r\n \"title\": \"Sign Out\",\r\n \"forRoles\": [\"all\"],\r\n \"url\": \"/login\"\r\n}\r\n]\r\n\r\n\r\nexport const adminmenuItems: any[] = [{\r\n title: \"Home\",\r\n active: true,\r\n url: \"/communityoutreach/home\",\r\n navigationItems: [\r\n {\r\n title: \"Charity Program\",\r\n url: \"/communityoutreach/charityprogram\"\r\n }\r\n ,\r\n {\r\n title: \"Community Outreach Clinic Details\",\r\n url: \"/communityoutreach/CommunityOutreachProgramDetails\"\r\n }\r\n ,\r\n {\r\n title: \"Charity Program Clinic Details\",\r\n url: \"/communityoutreach/CharityProgramDetails\"\r\n }\r\n ,\r\n {\r\n title: \"Corporate Clinic Details\",\r\n url: \"/communityoutreach/CorporateClinicProgramDetails\"\r\n }\r\n ]\r\n\r\n}, {\r\n title: \"Store\",\r\n url: \"/communityoutreach/storehome\",\r\n\r\n},\r\n// {\r\n// title: \"Map\",\r\n// url: \"/communityoutreach/storehome\",\r\n\r\n// },\r\n{\r\n title: \"Resources\",\r\n url: \"/communityoutreach/resources\",\r\n navigationItems: [\r\n {\r\n title: \"Training Videos\",\r\n url: \"/communityoutreach/trainingvideos\"\r\n },\r\n {\r\n title: \"Outreach Materials\",\r\n url: \"/\",\r\n navigationItems: [\r\n {\r\n title: \"Immunization Program\",\r\n url: \"/communityoutreach/imzresources\"\r\n },\r\n {\r\n title: \"Senior Outreach\",\r\n url: \"/communityoutreach/soresources\"\r\n },\r\n {\r\n title: \"Patient Care & Advocacy\",\r\n url: \"/communityoutreach/pcaresources\"\r\n }\r\n\r\n ]\r\n }\r\n ]\r\n\r\n},\r\n{\r\n title: \"Reports\",\r\n active: true,\r\n url: \"/communityoutreach/scheduleclinicreport\",\r\n navigationItems: [\r\n\r\n {\r\n title: \"Immunization Program\",\r\n url: \"/\",\r\n navigationItems: [\r\n {\r\n title: \"Scheduled Clinics\",\r\n url: \"/communityoutreach/scheduledclinicsreport\"\r\n },\r\n {\r\n title: \"COVID Clinics\",\r\n url: \"/communityoutreach/covidclinicsreport\"\r\n },\r\n {\r\n title: \"COVID Opportunities Contact Status Report\",\r\n url: \"/communityoutreach/covidoppOutreachstatusreport\"\r\n },\r\n {\r\n title: \"Group ID Assignments\",\r\n url: \"/communityoutreach/groupidassignmentreport\"\r\n },\r\n {\r\n title: \"Weekly Group ID Assignments\",\r\n url: \"/communityoutreach/weeklygroupidassignmentsreport\"\r\n },\r\n {\r\n title: \"Vaccine Purchasing\",\r\n url: \"/communityoutreach/vaccinepurchasingreport\"\r\n },\r\n {\r\n title: \"Weekly Vaccine Purchasing\",\r\n url: \"/communityoutreach/weeklyvaccinepurchasereport\"\r\n },\r\n {\r\n title: \"Immunization Finance\",\r\n url: \"/communityoutreach/immunizationfinancereport\"\r\n },\r\n {\r\n title: \"Revised Clinic Dates & Volumes\",\r\n url: \"/communityoutreach/revisedclinicdatesreport\"\r\n },\r\n {\r\n title: \"Scheduled Appointments\",\r\n url: \"/communityoutreach/scheduledappointmentsreport\"\r\n },\r\n {\r\n title: \"Workflow Monitor\",\r\n url: \"/communityoutreach/workflowmonitorreport\"\r\n }\r\n ]\r\n },\r\n {\r\n title: \"Senior Outreach\",\r\n url: \"/\",\r\n navigationItems: [\r\n {\r\n title: \"Activity\",\r\n url: \"/communityoutreach/activityreport\"\r\n },\r\n {\r\n title: \"Scheduled Events\",\r\n url: \"/communityoutreach/scheduledeventsreport\"\r\n }\r\n ]\r\n }\r\n ]\r\n},\r\n// {\r\n// title: \"Admin\",\r\n// active: true,\r\n// url: \"/communityoutreach/storehome\",\r\n// navigationItems: [\r\n// {\r\n// title: \"User Profile\",\r\n// url: \"/communityoutreach/userprofile\"\r\n// },\r\n// {\r\n// title: \"Scheduler Site Setup\",\r\n// url: \"/\"\r\n// },\r\n// {\r\n// title: \"Upload Scheduled Clinics\",\r\n// url: \"/\"\r\n// },\r\n// {\r\n// title: \"Store Profile Uploader\",\r\n// url: \"/\"\r\n// },\r\n// {\r\n// title: \"Post Custom Message\",\r\n// url: \"/\"\r\n// }\r\n// ]\r\n// },\r\n{\r\n title: \"Sign Out\",\r\n url: \"/login\",\r\n\r\n}\r\n]\r\n\r\nexport const storeManagermenuItems: any[] = [\r\n {\r\n title: \"Store\",\r\n url: \"/communityoutreach/storehome\",\r\n\r\n },\r\n // {\r\n // title: \"Map\",\r\n // url: \"/communityoutreach/storehome\",\r\n\r\n // },\r\n {\r\n title: \"Resources\",\r\n url: \"/communityoutreach/resources\",\r\n navigationItems: [\r\n {\r\n title: \"Training Videos\",\r\n url: \"/communityoutreach/trainingvideos\"\r\n },\r\n {\r\n title: \"Outreach Materials\",\r\n url: \"/\",\r\n navigationItems: [\r\n {\r\n title: \"Immunization Program\",\r\n url: \"/communityoutreach/imzresources\"\r\n },\r\n {\r\n title: \"Senior Outreach\",\r\n url: \"/communityoutreach/soresources\"\r\n }\r\n\r\n ]\r\n }\r\n ]\r\n\r\n },\r\n {\r\n title: \"Reports\",\r\n active: true,\r\n navigationItems: [\r\n /*{\r\n title: \"Potential Local Business List and Contact Status\",\r\n url: \"/\"\r\n },\r\n {\r\n title: \"Scheduled Clinic Status\",\r\n url: \"/\"\r\n }\r\n ,\r\n {\r\n title: \"Store Compliance Report\",\r\n url: \"/\"\r\n }\r\n ,*/\r\n {\r\n title: \"Scheduled Clinic Report\",\r\n url: \"/communityoutreach/scheduledclinicsreport\"\r\n }\r\n ]\r\n },\r\n\r\n\r\n {\r\n title: \"Sign Out\",\r\n url: \"/login\",\r\n\r\n }\r\n]\r\n\r\nexport const districtManagermenuItems: any[] = [{\r\n title: \"Home\",\r\n url: \"/communityoutreach/storehome\",\r\n\r\n},\r\n{\r\n title: \"Store\",\r\n url: \"/communityoutreach/storehome\",\r\n\r\n},\r\n// {\r\n// title: \"Map\",\r\n// url: \"/communityoutreach/storehome\",\r\n\r\n// },\r\n{\r\n title: \"Resources\",\r\n url: \"/communityoutreach/resources\",\r\n navigationItems: [\r\n {\r\n title: \"Training Videos\",\r\n url: \"/communityoutreach/trainingvideos\"\r\n },\r\n {\r\n title: \"Outreach Materials\",\r\n url: \"/\",\r\n navigationItems: [\r\n {\r\n title: \"Immunization Program\",\r\n url: \"/communityoutreach/imzresources\"\r\n },\r\n {\r\n title: \"Senior Outreach\",\r\n url: \"/communityoutreach/soresources\"\r\n }\r\n\r\n ]\r\n }\r\n ]\r\n\r\n},\r\n{\r\n title: \"Reports\",\r\n active: true,\r\n navigationItems: [\r\n {\r\n title: \"Scheduled Clinic Report\",\r\n url: \"/communityoutreach/scheduledclinicsreport\"\r\n }\r\n ]\r\n},\r\n\r\n\r\n{\r\n title: \"Sign Out\",\r\n url: \"/login\",\r\n\r\n}\r\n]\r\n\r\nexport const healthcareSupervisormenuItems: any[] = [\r\n {\r\n title: \"Store\",\r\n url: \"/communityoutreach/storehome\",\r\n\r\n },\r\n // {\r\n // title: \"Map\",\r\n // url: \"/communityoutreach/storehome\",\r\n\r\n // },\r\n {\r\n title: \"Resources\",\r\n url: \"/communityoutreach/resources\",\r\n navigationItems: [\r\n {\r\n title: \"Training Videos\",\r\n url: \"/communityoutreach/trainingvideos\"\r\n },\r\n {\r\n title: \"Outreach Materials\",\r\n url: \"/\",\r\n navigationItems: [\r\n {\r\n title: \"Immunization Program\",\r\n url: \"/communityoutreach/imzresources\"\r\n },\r\n {\r\n title: \"Senior Outreach\",\r\n url: \"/communityoutreach/soresources\"\r\n }\r\n\r\n ]\r\n }\r\n ]\r\n\r\n },\r\n {\r\n title: \"Reports\",\r\n active: true,\r\n navigationItems: [\r\n {\r\n title: \"Scheduled Clinic Report\",\r\n url: \"/communityoutreach/scheduledclinicsreport\"\r\n }\r\n ]\r\n },\r\n\r\n\r\n {\r\n title: \"Sign Out\",\r\n url: \"/login\",\r\n\r\n }\r\n]\r\n\r\nexport const regionalVicePresidentmenuItems: any[] = [\r\n {\r\n title: \"Store\",\r\n url: \"/communityoutreach/storehome\",\r\n\r\n },\r\n // {\r\n // title: \"Map\",\r\n // url: \"/communityoutreach/storehome\",\r\n\r\n // },\r\n {\r\n title: \"Resources\",\r\n url: \"/communityoutreach/resources\",\r\n navigationItems: [\r\n {\r\n title: \"Training Videos\",\r\n url: \"/communityoutreach/trainingvideos\"\r\n },\r\n {\r\n title: \"Outreach Materials\",\r\n url: \"/\",\r\n navigationItems: [\r\n {\r\n title: \"Immunization Program\",\r\n url: \"/communityoutreach/imzresources\"\r\n },\r\n {\r\n title: \"Senior Outreach\",\r\n url: \"/communityoutreach/soresources\"\r\n }\r\n\r\n ]\r\n }\r\n ]\r\n\r\n },\r\n {\r\n title: \"Reports\",\r\n active: true,\r\n navigationItems: [\r\n {\r\n title: \"Scheduled Clinic Report\",\r\n url: \"/communityoutreach/scheduledclinicsreport\"\r\n }\r\n ]\r\n },\r\n\r\n\r\n {\r\n title: \"Sign Out\",\r\n url: \"/login\",\r\n\r\n }\r\n]\r\n\r\nexport const directorRxRetailmenuItems: any[] = [\r\n {\r\n title: \"Store\",\r\n url: \"/communityoutreach/storehome\",\r\n\r\n },\r\n // {\r\n // title: \"Map\",\r\n // url: \"/communityoutreach/storehome\",\r\n\r\n // },\r\n {\r\n title: \"Resources\",\r\n url: \"/communityoutreach/resources\",\r\n navigationItems: [\r\n {\r\n title: \"Training Videos\",\r\n url: \"/communityoutreach/trainingvideos\"\r\n },\r\n {\r\n title: \"Outreach Materials\",\r\n url: \"/\",\r\n navigationItems: [\r\n {\r\n title: \"Immunization Program\",\r\n url: \"/communityoutreach/imzresources\"\r\n },\r\n {\r\n title: \"Senior Outreach\",\r\n url: \"/communityoutreach/soresources\"\r\n }\r\n\r\n ]\r\n }\r\n ]\r\n\r\n },\r\n {\r\n title: \"Reports\",\r\n active: true,\r\n navigationItems: [\r\n {\r\n title: \"Scheduled Clinic Report\",\r\n url: \"/communityoutreach/scheduledclinicsreport\"\r\n }\r\n ]\r\n },\r\n {\r\n title: \"Sign Out\",\r\n url: \"/login\",\r\n // },\r\n // {\r\n // title: \"Reports\",\r\n // active: true,\r\n // navigationItems: []\r\n // },\r\n // {\r\n // title: \"Sign Out\",\r\n // url: \"/login\",\r\n }\r\n]\r\n","export const MinImmunizers: any[] =\r\n[ {\r\n \"key\": \"1\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"key\": \"2\",\r\n \"value\": \"2\"\r\n },\r\n {\r\n \"key\": \"3\",\r\n \"value\": \"3\"\r\n },\r\n {\r\n \"key\": \"4\",\r\n \"value\": \"4\"\r\n },\r\n {\r\n \"key\": \"5\",\r\n \"value\": \"5\"\r\n },\r\n {\r\n \"key\": \"6\",\r\n \"value\": \"6\"\r\n },\r\n {\r\n \"key\": \"7\",\r\n \"value\": \"7\"\r\n },\r\n {\r\n \"key\": \"8\",\r\n \"value\": \"8\"\r\n },\r\n {\r\n \"key\": \"9\",\r\n \"value\": \"9\"\r\n },\r\n {\r\n \"key\": \"10\",\r\n \"value\": \"10\"\r\n }\r\n\r\n];\r\nexport const t2:string='r0kf$^';","export const noClientInterestOptions: string[] = [\r\n 'No interest due to service fee',\r\n '>75 Miles',\r\n 'Opt Out – Using another partner',\r\n 'Opt Out – No clinic interest',\r\n 'No Clinic – In-store appointments',\r\n 'Duplicate',\r\n 'Invalid facility information – unable to contact',\r\n 'Capacity Constraint',\r\n 'No Response after 3 attempts',\r\n 'Other'\r\n];","export const SiteRequiredFields: any[] =\r\n[ {\r\n \"fieldName\": \"firstName\",\r\n \"displayName\": \"First Name\",\r\n \"isFieldVisible\": true,\r\n \"isFieldRequired\": false\r\n },\r\n {\r\n \"fieldName\": \"middleName\",\r\n \"displayName\": \"Middle Name\",\r\n \"isFieldVisible\": false,\r\n \"isFieldRequired\": false\r\n },\r\n {\r\n \"fieldName\": \"lastName\",\r\n \"displayName\": \"Last Name Initial\",\r\n \"isFieldVisible\": true,\r\n \"isFieldRequired\": false\r\n },\r\n {\r\n \"fieldName\": \"employeeId\",\r\n \"displayName\": \"Employee ID\",\r\n \"isFieldVisible\": true,\r\n \"isFieldRequired\": false\r\n },\r\n {\r\n \"fieldName\": \"Email\",\r\n \"displayName\": \"Email\",\r\n \"isFieldVisible\": true,\r\n \"isFieldRequired\": true\r\n }\r\n]","export const states : any[] = [\r\n {\r\n \"id\": \"AL\",\r\n \"name\": \"Alabama\"\r\n },\r\n {\r\n \"id\": \"AK\",\r\n \"name\": \"Alaska\"\r\n },\r\n {\r\n \"id\": \"AZ\",\r\n \"name\": \"Arizona\"\r\n },\r\n {\r\n \"id\": \"AR\",\r\n \"name\": \"Arkansas\"\r\n },\r\n {\r\n \"id\": \"CA\",\r\n \"name\": \"California\"\r\n },\r\n {\r\n \"id\": \"CO\",\r\n \"name\": \"Colorado\"\r\n },\r\n {\r\n \"id\": \"CT\",\r\n \"name\": \"Connecticut\"\r\n },\r\n {\r\n \"id\": \"DC\",\r\n \"name\": \"District of Columbia\"\r\n },\r\n {\r\n \"id\": \"DE\",\r\n \"name\": \"Delaware\"\r\n },\r\n {\r\n \"id\": \"FL\",\r\n \"name\": \"Florida\"\r\n },\r\n {\r\n \"id\": \"GA\",\r\n \"name\": \"Georgia\"\r\n },\r\n {\r\n \"id\": \"HI\",\r\n \"name\": \"Hawaii\"\r\n },\r\n {\r\n \"id\": \"ID\",\r\n \"name\": \"Idaho\"\r\n },\r\n {\r\n \"id\": \"IL\",\r\n \"name\": \"Illinois\"\r\n },\r\n {\r\n \"id\": \"IN\",\r\n \"name\": \"Indiana\"\r\n },\r\n {\r\n \"id\": \"IA\",\r\n \"name\": \"Iowa\"\r\n },\r\n {\r\n \"id\": \"KS\",\r\n \"name\": \"Kansas\"\r\n },\r\n {\r\n \"id\": \"KY\",\r\n \"name\": \"Kentucky\"\r\n },\r\n {\r\n \"id\": \"LA\",\r\n \"name\": \"Louisiana\"\r\n },\r\n {\r\n \"id\": \"ME\",\r\n \"name\": \"Maine\"\r\n },\r\n {\r\n \"id\": \"MD\",\r\n \"name\": \"Maryland\"\r\n },\r\n {\r\n \"id\": \"MA\",\r\n \"name\": \"Massachusetts\"\r\n },\r\n {\r\n \"id\": \"MI\",\r\n \"name\": \"Michigan\"\r\n },\r\n {\r\n \"id\": \"MN\",\r\n \"name\": \"Minnesota\"\r\n },\r\n {\r\n \"id\": \"MS\",\r\n \"name\": \"Mississippi\"\r\n },\r\n {\r\n \"id\": \"MO\",\r\n \"name\": \"Missouri\"\r\n },\r\n {\r\n \"id\": \"MT\",\r\n \"name\": \"Montana\"\r\n },\r\n {\r\n \"id\": \"NE\",\r\n \"name\": \"Nebraska\"\r\n },\r\n {\r\n \"id\": \"NV\",\r\n \"name\": \"Nevada\"\r\n },\r\n {\r\n \"id\": \"NH\",\r\n \"name\": \"New Hampshire\"\r\n },\r\n {\r\n \"id\": \"NJ\",\r\n \"name\": \"New Jersey\"\r\n },\r\n {\r\n \"id\": \"NM\",\r\n \"name\": \"New Mexico\"\r\n },\r\n {\r\n \"id\": \"NY\",\r\n \"name\": \"New York\"\r\n },\r\n {\r\n \"id\": \"NC\",\r\n \"name\": \"North Carolina\"\r\n },\r\n {\r\n \"id\": \"ND\",\r\n \"name\": \"North Dakota\"\r\n },\r\n {\r\n \"id\": \"OH\",\r\n \"name\": \"Ohio\"\r\n },\r\n {\r\n \"id\": \"OK\",\r\n \"name\": \"Oklahoma\"\r\n },\r\n {\r\n \"id\": \"OR\",\r\n \"name\": \"Oregon\"\r\n },\r\n {\r\n \"id\": \"PA\",\r\n \"name\": \"Pennsylvania\"\r\n },\r\n {\r\n \"id\": \"PR\",\r\n \"name\": \"Puerto Rico (commonwealth)\"\r\n },\r\n {\r\n \"id\": \"RI\",\r\n \"name\": \"Rhode Island\"\r\n },\r\n {\r\n \"id\": \"SC\",\r\n \"name\": \"South Carolina\"\r\n },\r\n {\r\n \"id\": \"SD\",\r\n \"name\": \"South Dakota\"\r\n },\r\n {\r\n \"id\": \"TN\",\r\n \"name\": \"Tennessee\"\r\n },\r\n {\r\n \"id\": \"TX\",\r\n \"name\": \"Texas\"\r\n },\r\n {\r\n \"id\": \"UT\",\r\n \"name\": \"Utah\"\r\n },\r\n {\r\n \"id\": \"VI\",\r\n \"name\": \"U.S. Virgin Islands\"\r\n },\r\n {\r\n \"id\": \"VT\",\r\n \"name\": \"Vermont\"\r\n },\r\n {\r\n \"id\": \"VA\",\r\n \"name\": \"Virginia\"\r\n },\r\n {\r\n \"id\": \"WA\",\r\n \"name\": \"Washington\"\r\n },\r\n {\r\n \"id\": \"WV\",\r\n \"name\": \"West Virginia\"\r\n },\r\n {\r\n \"id\": \"WI\",\r\n \"name\": \"Wisconsin\"\r\n },\r\n {\r\n \"id\": \"WY\",\r\n \"name\": \"Wyoming\"\r\n }\r\n];export const t3:string='y@w';","export const UniversalTandCData2022: any =\r\n{\r\n \"spanish\":\"

This IMMUNIZATION SERVICE AGREEMENT NEWWWWW  ("Agreement") by and between the party indicated below ("Client"), and Walgreen Co., on behalf of itself and its subsidiaries and affiliates ("Walgreens") is made and entered into on the date last signed by an authorized representative of both the Client and Walgreens (the "Effective Date"). Walgreens and Client may be individually referred to as a "Party" or collectively as the "Parties."

\",\r\n \"header\":\"

For good and valuable consideration, the receipt and sufficiency of which are hereby acknowledged, Client and Walgreens, hereby agree Walgreens will provide the immunizations as indicated in Attachment A consisting of dispensing and administering of such immunizations ("Immunizations") according to the terms and conditions contained in Attachment B, to a participant population agreed to by the Parties ("Participants") at mutually agreed upon location(s). Attachments A and B, attached hereto and incorporated herein by reference, are made part of and subject to the Agreement and in no event shall any other attachments, alterations or revisions be applicable unless without the expressed written consent of Walgreens.

\",\r\n \"englishattachment\":\"

ATTACHMENT A

ARTICLE I

1.1  In accordance with the Agreement, for each Immunization administered whether through a Voucher or at an Off-Site Clinic(s), Walgreens will be entitled to the applicable reimbursement at the rates set forth in Table 1, below plus any government imposed taxes, on such products or services, however styled, using the payment billing method agreed to by the Parties indicated below. The Parties agree Immunizations are valid only for those listed in Table 1 below and which are approved by the U.S. Food and Drug Administration ("FDA") as of the Effective Date. Client acknowledges that the fees and rates set forth in the Agreement are Walgreens' Confidential Information and Client agrees not to disclose this information to any third-party other than as minimally necessary under the terms of this Agreement. Unless otherwise indicated below, the rates listed in Table 1 are inclusive of the cost of vaccine, dispensing fee, and administration fee.

\",\r\n \"imzsp\":\"Immunization\",\r\n \"paymentsp\":\"Payment\",\r\n \"ratessp\":\"Rate\",\r\n \"imzen\":\"Immunization\",\r\n \"ImzVcnNameEn\": \"Immunization Vaccine Name\",\r\n \"ImzVcnNameSp\": \"Immunization Vaccine Name\",\r\n \"PaymtBillMethodEn\":\"Payment Billing Method\",\r\n \"PaymtBillMethodSp\":\"Payment Billing Method\",\r\n \"VoucherRatesEn\":\"Voucher Rates\",\r\n \"VoucherRatesSp\":\"Voucher Rates\",\r\n \"OffSiteClinicRatesEn\" : \"Off-Site Clinic Rates\",\r\n \"OffSiteClinicRatesSp\":\"Off-Site Clinic Rates\",\r\n \"payen\":\"Payment\",\r\n \"ratesen\":\"Rate\",\r\n \"english\":\"

This IMMUNIZATION SERVICE AGREEMENT NEWWWWW  ("Agreement") by and between the party indicated below ("Client"), and Walgreen Co., on behalf of itself and its subsidiaries and affiliates ("Walgreens") is made and entered into on the date last signed by an authorized representative of both the Client and Walgreens (the "Effective Date"). Walgreens and Client may be individually referred to as a "Party" or collectively as the "Parties."

\",\r\n \"englishheader\":\"

For good and valuable consideration, the receipt and sufficiency of which are hereby acknowledged, Client and Walgreens, hereby agree Walgreens will provide the immunizations as indicated in Attachment A consisting of dispensing and administering of such immunizations ("Immunizations") according to the terms and conditions contained in Attachment B, to a participant population agreed to by the Parties ("Participants") at mutually agreed upon location(s). Attachments A and B, attached hereto and incorporated herein by reference, are made part of and subject to the Agreement and in no event shall any other attachments, alterations or revisions be applicable unless without the expressed written consent of Walgreens.

\",\r\n //\"englishattachment\":\"

ATTACHMENT A

For each Covered Service whether through a voucher, at an off-site location or both, Walgreens will be entitled to reimbursement at the rates set forth in Table 1, below. Client acknowledges that the reimbursement rates set forth herein are Walgreens' confidential and proprietary information and Client agrees not to disclose the rates to any third-party other than as minimally necessary under the terms of this Agreement. Unless otherwise indicated below, the rates listed in this Attachment A are inclusive of the cost of vaccine, dispensing fee, administration fee and any applicable taxes imposed in connection with Covered Services. For purposes of this Attachment A, "Government Supplied COVID-19 Vaccine" means that the United States government has acquired the COVID-19 vaccine and is making these publicly funded vaccines available to select vaccine providers.

\",\r\n \"clientsp\":\"CLIENTE:\",\r\n \"namesp\":\"NOMBRE:\",\r\n \"titlesp\":\"TÍTULO:\",\r\n \"clienten\":\"Client:\",\r\n \"nameen\":\"Name:\",\r\n \"eSignatureSP\": \"Signature:\",\r\n \"eSignatureEN\": \"Signature:\",\r\n \"titleen\":\"Title:\",\r\n \"attentionsp\": \"Atención\",\r\n \"address1sp\": \"Dirección 1\",\r\n \"address2sp\": \"Dirección 2\",\r\n \"citysp\": \"Ciudad\",\r\n \"statesp\": \"Estado\",\r\n \"zipcodesp\": \"Código Postal:\",\r\n \"attentionen\": \"Attention\",\r\n \"address1en\":\"Address1\",\r\n \"address2en\":\"Address2\",\r\n \"cityen\":\"City\",\r\n \"stateen\":\"State\",\r\n \"zipcodeen\":\"Zip\",\r\n \"legalsp\":\"Envíele Avisos Legales al Cliente A\",\r\n \"clientinfosp\":\"Vigencia\",\r\n \"legalen\":\"Legal Notice Address\",\r\n \"clientinfoen\":\"Client Information:\",\r\n \"inWitnessWhereOffEN\":\"IN WITNESS WHEREOF,\",\r\n \"inWitnessWhereOffSP\": \"IN WITNESS WHEREOF,\",\r\n \"inWitnessWhereOff2ndLineEN\":\"Client and Walgreens have executed this Agreement.\",\r\n \"inWitnessWhereOff2ndLineSP\":\"Client and Walgreens have executed this Agreement.\",\r\n \"sendLegalNoticeToClientEN\":\"Legal Notice Address:\",\r\n \"sendLegalNoticeToClientSP\":\"Envíele Avisos Legales al Cliente A:\",\r\n \"sendLegalNoticeToWalgreensEN\":\"Legal Notice Address:\",\r\n \"sendLegalNoticeToWalgreensSP\":\"Envíele Avisos Legales al Walgreens A:\",\r\n \"wallGreensCommOffsiteTitle1EN\":\"ATTACHMENT B\",\r\n \"wallGreensCommOffsiteTitle1SP\":\"WALGREENS CONTRATO DE CLÍNICA AMBULATORIA COMUNITARIA\",\r\n \"wallGreensCommOffsiteTitle2EN\":\"TERMS AND CONDITIONS\",\r\n \"wallGreensCommOffsiteTitle2SP\":\"TERMS AND CONDITIONS\",\r\n \"wallGreensResponsibilitiesEN\":\" WALGREENS' RESPONSIBILITIES\",// deliberately extra space\r\n \"wallGreensResponsibilitiesSP\":\" WALGREENS' RESPONSIBILITIES\",\r\n \"wallGreensResponsibilitiesPara1HeadingEN\":\"Immunizations\",\r\n \"wallGreensResponsibilitiesPara1HeadingSP\":\"Immunizations\",\r\n \"wallGreensResponsibilitiesCvrdServicesEN\":\" Subject to the limitations or restrictions imposed by federal and state contracts, laws, and regulations, and the availability of the appropriate Immunizations, Walgreens will administer the Immunizations to Participants either directly or through an authorized provider. With respect to such Immunizations, the Parties will comply with the procedures set forth herein. When required by state law, Walgreens will require Participants to provide a valid prescription from their physician or allow the health care professional to contact their physician to obtain a valid prescription; however, for certain specific Immunizations, Walgreens may be responsible for obtaining standing orders from physicians. Participants will be required to complete a Walgreens' vaccine administration record and consent form before receiving an Immunization.\",\r\n \"wallGreensResponsibilitiesCvrdServicesSP\":\" Subject to the limitations or restrictions imposed by federal and state contracts, laws, and regulations, and the availability of the appropriate Immunization, Walgreens will administer the Immunizations to Participants either directly or through an authorized provider. With respect to such Immunizations, the Parties will comply with the procedures set forth herein. When required by state law, Walgreens will require Participants to provide a valid prescription from their physician or allow the health care professional to contact their physician to obtain a valid prescription; however, for certain specific Immunizations, Walgreens may be responsible for obtaining standing orders from physicians. Participants will be required to complete a Walgreens' vaccine administration record and consent form before receiving an Immunization.\",\r\n \"profJudgementHeadingEN\":\"Professional Judgment\",\r\n \"profJudgementHeadingSP\":\"Professional Judgment\",\r\n \"profJudgementTextEN\":\" Walgreens may withhold administration of Immunizations to a Participant for good cause, including but not limited to, Client’s or Participant’s (where applicable) failure to pay for Immunization, requests by Participant for services inconsistent with the legal and regulatory requirements; or where, in the professional judgment of the health care professional, the services should not be rendered.\",\r\n \"profJudgementTextSP\":\" Walgreens may withhold administration of Immunizations to a Participant for good cause, including but not limited to, Client’s or Participant’s (where applicable) failure to pay for Immunization, requests by Participant for services inconsistent with the legal and regulatory requirements; or where, in the professional judgment of the health care professional, the services should not be rendered.\",\r\n //\"provHealthCrProfHdngEN\":\"Provision of Healthcare Professional\",\r\n //\"provHealthCrProfHdngSP\":\"Provision of Healthcare Professional\",\r\n //\"provHealthCrProfTextEN\":\" If the Parties agree in writing that Walgreens will administer Immunizations at locations outside of Walgreens' store locations ("Off-Site Clinics"), Walgreens will provide Client with the appropriate number of qualified health care professionals and technicians to provide such immunizations at the Off-Site Clinic locations based upon and in reliance on Client's good-faith estimates of Participant volume. Any requests for additional personnel will be subject to mutual agreement by the Parties and may require additional agreed-upon fees to be paid by Client to Walgreens in accordance with this Agreement.\",\r\n //\"provHealthCrProfTextSP\":\" If the Parties agree in writing that Walgreens will administer Immunizations at locations outside of Walgreens' store locations ("Off-Site Clinics"), Walgreens will provide Client with the appropriate number of qualified health care professionals and technicians to provide such immunizations at the Off-Site Clinic locations based upon and in reliance on Client's good-faith estimates of Participant volume. Any requests for additional personnel will be subject to mutual agreement by the Parties and may require additional agreed-upon fees to be paid by Client to Walgreens in accordance with this Agreement.\",\r\n \"clientsResponsibilitesEN\":\"CLIENT'S RESPONSIBILITIES\",\r\n \"clientsResponsibilitesSP\":\"CLIENT'S RESPONSIBILITIES\",\r\n \"vouchersHeadingEN\":\"Vouchers\",\r\n \"vouchersHeadingSP\":\"Vouchers\",\r\n \"vouchersTextEN\":\" If the Parties agree in writing that Walgreens will administer Immunizations upon receipt of a Walgreens' approved voucher issued to Participants by Client ("Vouchers"), Client will provide Participants with a Voucher, which Participants may redeem at a participating Walgreens retail store location. Once the Voucher is approved by both Parties it may not be modified. Client may not rescind, retract, reduce or deny payment owed to Walgreens for claims where Immunizations were provided to its Participants, even if Client no longer considers the individual presenting the Voucher to be a Participant.\",\r\n \"vouchersTextSP\":\" If the Parties agree in writing that Walgreens will administer Immunizations upon receipt of a Walgreens' approved voucher issued to Participants by Client ("Vouchers"), Client will provide Participants with a Voucher, which Participants may redeem at a participating Walgreens retail store location. Once the Voucher is approved by both Parties it may not be modified. Client may not rescind, retract, reduce or deny payment owed to Walgreens for claims where Immunizations were provided to its Participants, even if Client no longer considers the individual presenting the Voucher to be a Participant.\",\r\n \"offSiteLocationEN\":\"Off-Site Clinic Locations.\",\r\n \"offSiteLocationSP\":\"Off-Site Clinic Locations.\",\r\n \"importantEN\":\"IMPORTANT\",\r\n \"importantSP\":\"IMPORTANT\",\r\n \"offSiteLocationText1EN\":\" If the Parties agree in writing that Walgreens will administer Immunizations at locations outside of Walgreens’ retail store locations ("Off-Site Clinics"), Walgreens will provide Client with the appropriate number of qualified health care professionals and/or technicians to provide such Immunizations at the Off-Site Clinic locations based upon and in reliance on Client’s good-faith estimates of Participant volume. Any requests for additional personnel will be subject to mutual agreement by the Parties and may require additional agreed-upon fees to be paid by Client to Walgreens in accordance with this Agreement. Furthermore, Client will provide Participants with notice of the dates, times and locations for such Off-Site Clinics. For all Off-Site Clinics, Client will provide a private, clean room location, tables and chairs for Walgreens’ personnel and Participants. Where applicable, Client agrees to assist Walgreens in the collection of Participants’ Third Party Payors (defined below) eligibility information and any additional reasonably requested information, in order to help expedite the delivery of Immunizations.\",\r\n \"offSiteLocationText1SP\":\" If the Parties agree in writing that Walgreens will administer Immunizations at locations outside of Walgreens’ retail store locations ("Off-Site Clinics"), Walgreens will provide Client with the appropriate number of qualified health care professionals and/or technicians to provide such Immunizations at the Off-Site Clinic locations based upon and in reliance on Client’s good-faith estimates of Participant volume. Any requests for additional personnel will be subject to mutual agreement by the Parties and may require additional agreed-upon fees to be paid by Client to Walgreens in accordance with this Agreement. Furthermore, Client will provide Participants with notice of the dates, times and locations for such Off-Site Clinics. For all Off-Site Clinics, Client will provide a private, clean room location, tables and chairs for Walgreens’ personnel and Participants. Where applicable, Client agrees to assist Walgreens in the collection of Participants’ Third Party Payors (defined below) eligibility information and any additional reasonably requested information, in order to help expedite the delivery of Immunizations.\",\r\n //\"eligibleParticipantsEN\":\"Eligible Participants.\",\r\n //\"eligibleParticipantsSP\":\"Eligible Participants.\",\r\n //\"eligibleParticipantsTextEN\":\" The Parties acknowledge specific populations may have been designated by the applicable Federal, State, or local authorities ("Jurisdiction") to be eligible for certain Immunizations. Client represents Participants receiving Immunizations under this Agreement are eligible to receive Immunizations based on the applicable Jurisdiction's requirements and at no time will Client allow a Participant to receive Immunizations under this Agreement until eligible under the applicable Jurisdiction's criteria. The Parties agree that when providing Immunizations, Walgreens will act in good faith reliance as it relates to Client's determination of Participants' eligibility in each Jurisdiction.\",\r\n //\"eligibleParticipantsTextSP\":\" The Parties acknowledge specific populations may have been designated by the applicable Federal, State, or local authorities ("Jurisdiction") to be eligible for certain Immunizations. Client represents Participants receiving Immunizations under this Agreement are eligible to receive Immunizations based on the applicable Jurisdiction's requirements and at no time will Client allow a Participant to receive Immunizations under this Agreement until eligible under the applicable Jurisdiction's criteria. The Parties agree that when providing Immunizations, Walgreens will act in good faith reliance as it relates to Client's determination of Participants' eligibility in each Jurisdiction.\",\r\n \"pmtAndBIllingEN\":\"PAYMENT AND BILLING\",\r\n \"pmtAndBIllingSP\":\"PAYMENT AND BILLING\",\r\n \"paymentEN\":\"Payment.\",\r\n \"paymentSP\":\"Payment.\",\r\n \"paymentTextEN\":\"3.1 Payment. For Immunizations, Walgreens will invoice Client for said Immunizations, subject to amounts Client directs Walgreens in writing to collect directly from Participants, and Client agrees to reimburse Walgreens within thirty (30) days from receipt of the applicable monthly invoice at the remittance address located on the invoice. However, in the event the Parties agree in writing and where: (i) Participant provides evidence of coverage under third-party insurance or a government funded program (e.g., Medicare) ("Third Party Payor") prior to the provision of Immunizations; and (ii) Walgreens is contracted with that Third Party Payor, Walgreens, unless otherwise stated herein will submit the claim for Immunizations to that Participant's Third Party Payor, and any copayment, coinsurance, deductible owed by the Participant will be collected at the time of service or billed at a later date. If evidence of coverage under a Third Party Payor is not provided at the time of service or a claim for reimbursement is denied by a Third Party Payor, the Parties agree that Walgreens may seek reimbursement from the Client.\",\r\n \"paymentTextSP\":\"3.1 Payment. For Immunizations, Walgreens will invoice Client for said Immunizations, subject to amounts Client directs Walgreens in writing to collect directly from Participants, and Client agrees to reimburse Walgreens within thirty (30) days from receipt of the applicable monthly invoice at the remittance address located on the invoice. However, in the event the Parties agree in writing and where: (i) Participant provides evidence of coverage under third-party insurance or a government funded program (e.g., Medicare) ("Third Party Payor") prior to the provision of Immunizations; and (ii) Walgreens is contracted with that Third Party Payor, Walgreens, unless otherwise stated herein will submit the claim for Immunizations to that Participant's Third Party Payor, and any copayment, coinsurance, deductible owed by the Participant will be collected at the time of service or billed at a later date. If evidence of coverage under a Third Party Payor is not provided at the time of service or a claim for reimbursement is denied by a Third Party Payor, the Parties agree that Walgreens may seek reimbursement from the Client.\",\r\n \"latePaymentEN\":\"Late Payment.\",\r\n \"latePaymentSP\":\"Late Payment.\",\r\n \"latePaymentTextEN\":\" All sums owed by Client to Walgreens will bear interest of 1.5% per month from the date payment is due until paid; however, in no event will such interest rate be greater than the rate permitted by law. Client shall be solely responsible for any and all costs incurred by Walgreens in seeking collection of any delinquent amounts owed by Client. Walgreens may invoice Client for interest and costs due under this Section on a monthly basis and payment will be due within thirty (30) days from receipt.\",\r\n \"latePaymentTextSP\":\" All sums owed by Client to Walgreens will bear interest of 1.5% per month from the date payment is due until paid; however, in no event will such interest rate be greater than the rate permitted by law. Client shall be solely responsible for any and all costs incurred by Walgreens in seeking collection of any delinquent amounts owed by Client. Walgreens may invoice Client for interest and costs due under this Section on a monthly basis and payment will be due within thirty (30) days from receipt.\",\r\n \"costIncreaseEN\":\"Cost Increase.\",\r\n \"costIncreaseSP\":\"Cost Increase.\",\r\n \"costIncreasetextEN\":\" If the Wholesale Acquisition Cost ("WAC") or Average Wholesale Price ("AWP") for any Immunizations increased by 2.0% or greater during the initial or any renewal term of this Agreement, Walgreens has the right to increase the contracted flat rate of the Immunization to the same proportional increase of the WAC or AWP due to manufacturer cost increase. The new rate will be effective 10 days following Client’s receipt of the rates unless Client notifies Walgreens that it does not agree to the adjusted rates within the 10 day period, in which case Walgreens may discontinue providing services for those Immunizations.\",\r\n \"costIncreasetextSP\":\" If the Wholesale Acquisition Cost ("WAC") or Average Wholesale Price ("AWP") for any Immunizations increased by 2.0% or greater during the initial or any renewal term of this Agreement, Walgreens has the right to increase the contracted flat rate of the Immunization to the same proportional increase of the WAC or AWP due to manufacturer cost increase. The new rate will be effective 10 days following Client’s receipt of the rates unless Client notifies Walgreens that it does not agree to the adjusted rates within the 10 day period, in which case Walgreens may discontinue providing services for those Immunizations.\",\r\n \"termAndTermCapsEN\":\"TERM AND TERMINATION\",\r\n \"termAndTermCapsSP\":\"TERM AND TERMINATION\",\r\n \"termAndTermEN\":\"Term and Termination\",\r\n \"termAndTermSP\":\"Term and Termination\",\r\n \"termAndTermTextEN\":\" This Agreement will become effective on the Effective Date and shall continue in full force and effect for an initial term of one (1) year. Upon expiration of the initial term, this Agreement will automatically renew for successive one (1) year terms at the then current Walgreens rates in effect for Immunizations, which will be made available upon request. Either Party may terminate this Agreement at any time without cause by giving at least thirty (30) days' prior written notice to the other Party.\",\r\n \"termAndTermTextSP\":\" This Agreement will become effective on the Effective Date and shall continue in full force and effect for an initial term of one (1) year. Upon expiration of the initial term, this Agreement will automatically renew for successive one (1) year terms at the then current Walgreens rates in effect for Immunizations, which will be made available upon request. Either Party may terminate this Agreement at any time without cause by giving at least thirty (30) days' prior written notice to the other Party.\",\r\n \"effectAndTerminiationEN\":\"Effect of Termination\",\r\n \"effectAndTerminiationSP\":\"Effect of Termination\",\r\n \"effectAndTerminiationTextEN\":\" Termination will have no effect upon the rights or obligations of the Parties arising out of any transactions occurring prior to the effective date of such termination.\",\r\n \"effectAndTerminiationTextSP\":\" Termination will have no effect upon the rights or obligations of the Parties arising out of any transactions occurring prior to the effective date of such termination.\",\r\n \"waiverEN\":\"Waiver\",\r\n \"waiverSP\":\"Waiver\",\r\n \"waiverTextEN\":\" No waiver by either Party with respect to any breach or default of any right or remedy and no course of dealing may be deemed to constitute a continuous waiver of any other breach or default or of any other right or remedy unless such waiver is expressed in writing by the Party to be bound.\",\r\n \"waiverTextSP\":\" No waiver by either Party with respect to any breach or default of any right or remedy and no course of dealing may be deemed to constitute a continuous waiver of any other breach or default or of any other right or remedy unless such waiver is expressed in writing by the Party to be bound.\",\r\n \"insurAndIndemnifyEN\":\"INSURANCE AND INDEMNIFICATION \",\r\n \"insurAndIndemnifySP\":\"INSURANCE AND INDEMNIFICATION \",\r\n \"insuranceEN\":\"Insurance\",\r\n \"insuranceSP\":\"Insurance\",\r\n \"insuranceTextEN\":\" Each Party will self-insure or maintain at its sole expense, and in amounts consistent with industry standards, insurance for general and professional liability and such other insurance as may be necessary to insure the Party, its employees, and agents against any claim or claims for damages arising out of or in connection with its duties and obligations under this Agreement. Upon request from Walgreens, Client will provide a memorandum of insurance or certificate of insurance. Walgreens' insurance information is available at www.walgreens.com/insurance.\",\r\n \"insuranceTextSP\":\" Each Party will self-insure or maintain at its sole expense, and in amounts consistent with industry standards, insurance for general and professional liability and such other insurance as may be necessary to insure the Party, its employees, and agents against any claim or claims for damages arising out of or in connection with its duties and obligations under this Agreement. Upon request from Walgreens, Client will provide a memorandum of insurance or certificate of insurance. Walgreens' insurance information is available at www.walgreens.com/insurance.\",\r\n \"indemnificationEN\":\"Indemnification\",\r\n \"indemnificationSP\":\"Indemnification\",\r\n \"indemnificationTextEN\":\" To the extent permitted by law, each Party will indemnify, defend, and hold harmless the other Party, including its employees and agents, from and against any and all third-party claims or liabilities arising from the negligence or willful misconduct of the indemnifying Party, its employees, or agents in carrying out its duties, obligations, representations, warranties and covenants under the terms of this Agreement. EXCEPT FOR ANY EXPRESS WARRANTIES SET FORTH IN THIS AGREEMENT, THE PARTIES HEREBY DISCLAIM ANY IMPLIED WARRANTIES OF ANY KIND, INCLUDING WARRANTY OF MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. In no event shall either Party be liable to the other Party for any indirect, special, or consequential damages or lost profits, arising out of or related to performance of this Agreement or a breach of this Agreement, even if advised of the possibility of such damages or lost profits. This Section will survive the termination of this Agreement. Notwithstanding the foregoing, the Parties agree that Walgreens is not liable for activities covered by the Public Readiness and Emergency Preparedness (PREP) Act, and the foregoing obligations of indemnity shall not apply to Walgreens for any claims or liabilities arising out of activities covered by the PREP Act or any other applicable laws related to vaccines and/or health care providers. This Section will survive the termination of this Agreement.\",\r\n \"indemnificationTextSP\":\" To the extent permitted by law, each Party will indemnify, defend, and hold harmless the other Party, including its employees and agents, from and against any and all third-party claims or liabilities arising from the negligence or willful misconduct of the indemnifying Party, its employees, or agents in carrying out its duties, obligations, representations, warranties and covenants under the terms of this Agreement. EXCEPT FOR ANY EXPRESS WARRANTIES SET FORTH IN THIS AGREEMENT, THE PARTIES HEREBY DISCLAIM ANY IMPLIED WARRANTIES OF ANY KIND, INCLUDING WARRANTY OF MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. In no event shall either Party be liable to the other Party for any indirect, special, or consequential damages or lost profits, arising out of or related to performance of this Agreement or a breach of this Agreement, even if advised of the possibility of such damages or lost profits. This Section will survive the termination of this Agreement. Notwithstanding the foregoing, the Parties agree that Walgreens is not liable for activities covered by the Public Readiness and Emergency Preparedness (PREP) Act, and the foregoing obligations of indemnity shall not apply to Walgreens for any claims or liabilities arising out of activities covered by the PREP Act or any other applicable laws related to vaccines and/or health care providers. This Section will survive the termination of this Agreement.\",\r\n \"generalTermsEN\":\" GENERAL TERMS \",// deliberately extra space\r\n \"generalTermsSP\":\" GENERAL TERMS \",\r\n \"businessConfidentialityEN\":\"Business Confidentiality.\",\r\n \"businessConfidentialitySP\":\"Business Confidentiality.\",\r\n \"businessConfidentialityTextEN\":\" The Parties acknowledge that certain proprietary and/or technical and business information may be disclosed between the Parties ("Confidential Information"). Accordingly, each Party will maintain the confidentiality of all such Confidential Information, including, without limitation, implementing those precautions such Party employs with respect to its own proprietary and Confidential Information and disclosing Confidential Information only to those employees who have a need to know in order to effectuate the purpose(s) of this Agreement and to maintain compliance with applicable laws. In no event will either Party use the other Party's Confidential Information to benefit itself or others, except as otherwise not prohibited under this Agreement. Confidential Information shall not include information: (i) generally known to the public or the industry without breach of this Agreement; (ii) independently developed by the receiving Party; (iii) known to or in the possession of the receiving Party prior to the disclosure pursuant to this Agreement; (iv) disclosed to the receiving Party by a third party without the confidentiality obligations set forth herein; or (v) required to be disclosed by any court or government agency; provided however, to the extent allowed by law, the receiving Party shall provide written notice of such planned disclosure to the disclosing Party allowing reasonable time for the disclosing Party to raise any objections to such disclosure. This Section will survive the termination of this Agreement.\",\r\n \"businessConfidentialityTextSP\":\" The Parties acknowledge that certain proprietary and/or technical and business information may be disclosed between the Parties ("Confidential Information"). Accordingly, each Party will maintain the confidentiality of all such Confidential Information, including, without limitation, implementing those precautions such Party employs with respect to its own proprietary and Confidential Information and disclosing Confidential Information only to those employees who have a need to know in order to effectuate the purpose(s) of this Agreement and to maintain compliance with applicable laws. In no event will either Party use the other Party's Confidential Information to benefit itself or others, except as otherwise not prohibited under this Agreement. Confidential Information shall not include information: (i) generally known to the public or the industry without breach of this Agreement; (ii) independently developed by the receiving Party; (iii) known to or in the possession of the receiving Party prior to the disclosure pursuant to this Agreement; (iv) disclosed to the receiving Party by a third party without the confidentiality obligations set forth herein; or (v) required to be disclosed by any court or government agency; provided however, to the extent allowed by law, the receiving Party shall provide written notice of such planned disclosure to the disclosing Party allowing reasonable time for the disclosing Party to raise any objections to such disclosure. This Section will survive the termination of this Agreement.\",\r\n \"confidentialityEN\":\"Confidentiality of Protected Health Information\",\r\n \"confidentialitySP\":\"Confidentiality of Protected Health Information\",\r\n \"confidentialityTextEN\":\" Both Parties warrant that they will maintain and protect the confidentiality of all individually identifiable health information specifically relating to Participants in accordance with the Health Insurance Portability and Accountability Act of 1996 and all applicable federal and state laws and regulations. However, nothing herein will limit either Party's use of any de-identified Participant information. This Section will survive the termination of this Agreement.\",\r\n \"confidentialityTextSP\":\" Both Parties warrant that they will maintain and protect the confidentiality of all individually identifiable health information specifically relating to Participants in accordance with the Health Insurance Portability and Accountability Act of 1996 and all applicable federal and state laws and regulations. However, nothing herein will limit either Party's use of any de-identified Participant information. This Section will survive the termination of this Agreement.\",\r\n \"AdvertisingEN\":\"Advertising\",\r\n \"AdvertisingSP\":\"Advertising\",\r\n \"AdvertisingTextEN\":\" Neither Party may advertise or use any trademarks, service marks, or symbols of the other Party without first receiving the written consent of the Party owning the mark and/or symbol with the following exceptions: Client may use the name and the addresses of Walgreens' locations in materials to inform Participants that Walgreens provides Immunizations. Any other reference to Walgreens in any Client materials must be pre-approved, in writing, by Walgreens.\",\r\n \"AdvertisingTextSP\":\" Neither Party may advertise or use any trademarks, service marks, or symbols of the other Party without first receiving the written consent of the Party owning the mark and/or symbol with the following exceptions: Client may use the name and the addresses of Walgreens' locations in materials to inform Participants that Walgreens provides Immunizations. Any other reference to Walgreens in any Client materials must be pre-approved, in writing, by Walgreens.\",\r\n \"frcMajEN\":\"Force Majeure\",\r\n \"frcMajSP\":\"Force Majeure\",\r\n \"frcMajTextEN\":\" The performance by either Party hereunder will be excused to the extent of circumstances beyond such Party's reasonable control, such as flood, tornado, earthquake, or other natural disaster, epidemic, pandemic, war, material destruction of facilities, fire, acts of terrorism, acts of God, etc. In such event, the Parties will use their best efforts to resume performance as soon as reasonably possible under the circumstances.\",\r\n \"frcMajTextSP\":\" The performance by either Party hereunder will be excused to the extent of circumstances beyond such Party's reasonable control, such as flood, tornado, earthquake, or other natural disaster, epidemic, pandemic, war, material destruction of facilities, fire, acts of terrorism, acts of God, etc. In such event, the Parties will use their best efforts to resume performance as soon as reasonably possible under the circumstances.\",\r\n \"complianceEN\":\"Compliance\",\r\n \"complianceSP\":\"Compliance\",\r\n \"complianceTextEN\":\" The Parties warrant that they will comply with all applicable laws, rules, and regulations for each territory in which Immunizations are provided under this Agreement. Each Party will cooperate with reasonable requests by the other Party for information that is needed for its compliance with applicable laws, rules, and/or regulations.\",\r\n \"complianceTextSP\":\" The Parties warrant that they will comply with all applicable laws, rules, and regulations for each territory in which Immunizations are provided under this Agreement. Each Party will cooperate with reasonable requests by the other Party for information that is needed for its compliance with applicable laws, rules, and/or regulations.\",\r\n \"assignmentEN\":\"Assignment\",\r\n \"assignmentSP\":\"Assignment\",\r\n \"assignmentTextEN\":\" Neither Party may assign this Agreement to a third-party without the prior written consent of the other Party, except that either Party will have the right to assign this Agreement to any direct or indirect parent, subsidiary or affiliated company or to a successor company without such consent. Any permitted assignee will assume all obligations of its assignor under this Agreement. No assignment will relieve any Party of responsibility for the performance of any obligations which have already occurred. This Agreement will inure to the benefit of and be binding upon each Party, its respective successors and permitted assignees.\",\r\n \"assignmentTextSP\":\" Neither Party may assign this Agreement to a third-party without the prior written consent of the other Party, except that either Party will have the right to assign this Agreement to any direct or indirect parent, subsidiary or affiliated company or to a successor company without such consent. Any permitted assignee will assume all obligations of its assignor under this Agreement. No assignment will relieve any Party of responsibility for the performance of any obligations which have already occurred. This Agreement will inure to the benefit of and be binding upon each Party, its respective successors and permitted assignees.\",\r\n \"thirdPartyRightsEN\":\"Third Party Rights\",\r\n \"thirdPartyRightsSP\":\"Third Party Rights\",\r\n \"thirdPartyRightsTextEN\":\" This Agreement is solely between Walgreens and Client and may not be construed to create any rights or remedies in favor of any third party, including, but not limited to, any Participant.\",\r\n \"thirdPartyRightsTextSP\":\" This Agreement is solely between Walgreens and Client and may not be construed to create any rights or remedies in favor of any third party, including, but not limited to, any Participant.\",\r\n \"noticesEN\":\"Notices\",\r\n \"noticesSP\":\"Notices\",\r\n \"noticesTextEN\":\" All notices provided for herein must be in writing, sent by U.S. certified mail, return receipt requested, postage prepaid, or by overnight delivery service providing proof of receipt to the address set forth following the signature blocks. Notices will be deemed delivered upon receipt or upon refusal to accept delivery.\",\r\n \"noticesTextSP\":\" All notices provided for herein must be in writing, sent by U.S. certified mail, return receipt requested, postage prepaid, or by overnight delivery service providing proof of receipt to the address set forth following the signature blocks. Notices will be deemed delivered upon receipt or upon refusal to accept delivery.\",\r\n \"entireAgrEN\":\"Entire Agreement\",\r\n \"entireAgrSP\":\"Entire Agreement\",\r\n \"entireAgrTextEN\":\" This Agreement, which includes any and all attachments, exhibits, riders, and other documents referenced herein, constitutes the entire and full agreement between the Parties relating to the subject matter herein and supersedes any previous contract, and except as otherwise permitted hereunder, no changes, amendments, or alterations will be effective unless reduced to a writing signed by a representative of each Party. Any prior agreements, documents, understandings, or representations relating to the subject matter of this Agreement not expressly set forth herein or referred to or incorporated herein by reference are of no force or effect.\",\r\n \"entireAgrTextSP\":\" This Agreement, which includes any and all attachments, exhibits, riders, and other documents referenced herein, constitutes the entire and full agreement between the Parties relating to the subject matter herein and supersedes any previous contract, and except as otherwise permitted hereunder, no changes, amendments, or alterations will be effective unless reduced to a writing signed by a representative of each Party. Any prior agreements, documents, understandings, or representations relating to the subject matter of this Agreement not expressly set forth herein or referred to or incorporated herein by reference are of no force or effect.\",\r\n \"counterPartsHeadingEN\":\"Counterparts\",\r\n \"counterPartsHeadingSP\":\"Counterparts\",\r\n \"counterPartsTextEN\":\" This Agreement may be executed in two or more counterparts, each of which together shall be deemed an original, but all of which together shall constitute one and the same instrument, provided that each Party has received the other Party's executed instruments. In the event that any signature is delivered by facsimile transmission or by e-mail delivery of a “.pdf” format data file (or similar format however designated), such signature shall create a valid and binding obligation of the Party executing (or on whose behalf such signature is executed) with the same force and effect as if such facsimile or “.pdf” signature page were an original thereof.\",\r\n \"counterPartsTextSP\":\" This Agreement may be executed in two or more counterparts, each of which together shall be deemed an original, but all of which together shall constitute one and the same instrument, provided that each Party has received the other Party's executed instruments. In the event that any signature is delivered by facsimile transmission or by e-mail delivery of a “.pdf” format data file (or similar format however designated), such signature shall create a valid and binding obligation of the Party executing (or on whose behalf such signature is executed) with the same force and effect as if such facsimile or “.pdf” signature page were an original thereof.\",\r\n //\"rightsEN\":\"All rights reserved.\",\r\n //\"rightsSP\":\"Todos los derechos reservados.\",\r\n \"approveAgrmntEN\":\"Approve Agreement\",\r\n \"approveAgrmntSP\":\"Aprobar el acuerdo\",\r\n \"approveTextEN\":\"Carefully review the Community Off-Site Agreement. If you agree to the conditions of the contract, please check ‘Approve' below and type your name into the Electronic Signature field. If there are any discrepancies in the Agreement, reject the Agreement and provide corrections in the notes field.\",\r\n \"approveTextSP\":\"Examine cuidadosamente el Acuerdo para Clínica Externa en la Comunidad. Si está de acuerdo con las condiciones del contrato, favor de marcar ‘Aprobado' adelante y entre su nombre en el campo Firma Electrónica. Si hubiese alguna discrepancia, rechace el Acuerdo y provea las correcciones en el campo Apuntes.\",\r\n \"electrSignEN\":\"Electronic Signature\",\r\n \"electrSignSP\":\"Firma Electrónica\",\r\n \"notesEN\":\"Notes:\",\r\n \"notesSP\":\"Notas:\",\r\n \"pageTitleEN\":\"\",\r\n \"pageTitleSP\":\"CONTRATO DE CLÍNICA AMBULATORIA COMUNITARIA\",\r\n \"dateEN\":\"Date:\",\r\n \"dateSP\":\"FECHA\",\r\n \"districtEN\":\"District#:\",\r\n \"districtSP\":\"DISTRITO#:\",\r\n \"approveEN\":\"Approve\",\r\n \"approveSP\":\"Aprobar\",\r\n \"rejectEN\":\"Request Changes\",\r\n \"rejectSP\":\"Solicitar cambios\",\r\n \"submitEN\":\"Submit\",\r\n \"submitSP\":\"Enviar\",\r\n \"cancelEN\":\"Cancel\",\r\n \"cancelSP\":\"Cancelar\",\r\n \"printAgreementEN\":\"Print Agreement\",\r\n \"printAgreementSP\":\"Acuerdo de impresión\",\r\n \"clinicLocationEN\":\"Clinic Location:\",\r\n \"clinicLocationSP\":\"Ubicación de la clínica:\",\r\n \"clinicDateEN\":\"Clinic Date:\",\r\n \"clinicDateSP\":\"Fecha de la clínica:\",\r\n \"clinicTimeEN\":\"Clinic Time:\",\r\n \"clinicTimeSP\":\"Tiempo de la clínica:\",\r\n \"contactEN\":\"Contact:\",\r\n \"contactSP\":\"Contacto:\",\r\n \"phoneEN\":\"Phone:\",\r\n \"phoneSP\":\"Teléfono:\",\r\n \"estShotsEN\":\"Est. Shots\",\r\n \"estShotsSP\":\"Est. Shots\",\r\n \"locationEN\":\"Location:\",\r\n \"locationSP\":\"Ubicación:\",\r\n \"timeEN\":\"Time:\",\r\n \"timeSP\":\"Hora:\",\r\n \"emailEN\":\"Email:\",\r\n \"emailSP\":\"Email:\",\r\n \"emailAgreementToEN\":\"Email Agreement to:\",\r\n \"emailAgreementToSP\":\"Acuerdo de correo electrónico a:\",\r\n \"multipleEmailAddressEN\":'Multiple email addresses may be entered by placing a comma between addresses.',\r\n \"multipleEmailAddressSP\":'Se pueden ingresar varias direcciones de correo electrónico colocando una coma entre las direcciones.',\r\n \"sendAgreementEN\":\"SEND AGREEMENT\",\r\n \"sendAgreementSP\":'ENVIAR ACUERDO',\r\n \"editAgreementEN\":'EDIT AGREEMENT',\r\n \"editAgreementSP\":'EDITAR ACUERDO',\r\n \"saveAgreementEN\":\"SAVE AGREEMENT\",\r\n \"saveAgreementSP\":\"GUARDAR ACUERDO\",\r\n \"noteTextEN\":\"* Please note, once a contract has been signed by the client, it cannot be edited.\",\r\n \"noteTextSP\":\"* Tenga en cuenta que una vez que el cliente ha firmado un contrato, no se puede editar.\",\r\n \"printAgreementTxtCapsEN\":\"PRINT AGREEMENT\",\r\n \"printAgreementTxtCapsSP\":\"ACUERDO IMPRESO\",\r\n \"table1EN\":'Table I',\r\n \"table1SP\":'Tabla I',\r\n \"attnEN\":\"Attn\",\r\n \"fluExpiryDateEN\":\"Flu Exp. Date:\",\r\n \"fluExpiryDateSP\":\"Fecha de vencimiento de la gripe:\",\r\n \"routineExpiryDateEN\":\"Routine Exp. Date:\",\r\n \"routineExpiryDateSP\":\"Fecha de vencimiento de rutina:\",\r\n \"sendInvoiceToEN\":'Send Invoice to:',\r\n \"sendInvoiceToSP\":'Enviar factura a:',\r\n 'isTaxExemptEN':'Is Employer Tax Exempt?',\r\n 'isTaxExemptSP':'¿El empleador está exento de impuestos?',\r\n 'isCopayEN':'Will patient pay the portion of the cost. Is there a copay?',\r\n 'isCopaySP':'Pagará el paciente la parte del costo. ¿Hay un copago?',\r\n 'voucherNeededEN':'Voucher Needed:',\r\n 'voucherNeededSP':'Vale necesario:',\r\n 'voucherExpiryEN':'Expiration Date:',\r\n 'voucherExpirySP':'Fecha de caducidad:',\r\n 'copayValueEN':'Copay Value:',\r\n 'copayValueSP':'Valor de copago:',\r\n 'influenzaSeasonText1EN':'per influenza season (August – April)',\r\n 'influenzaSeasonText1SP':'per influenza season (August – April)',\r\n 'contractYearText1EN':'per contract year',\r\n 'contractYearText1SP':'per contract year',\r\n 'influenzaSeasonText2EN':'influenza season',\r\n 'influenzaSeasonText2SP':'influenza season',\r\n 'contractYearText2EN':'contract year',\r\n 'contractYearText2SP':'contract year',\r\n 'contactName':'Contact Name:',\r\n 'contactPhone':'Contact Phone:',\r\n 'contactEmail':'Contact Email:',\r\n 'contactNameSP':'Contact Name:',\r\n 'contactPhoneSP':'Contact Phone:',\r\n 'contactEmailSP':'Contact Email:',\r\n 'doseEN':'COVID Clinic:',\r\n 'doseSP':'COVID Clinic:',\r\n 'confidentialityP1EN':'',\r\n 'confidentialityP1SP':'',\r\n 'confidentialityP2EN':'',\r\n 'confidentialityP2SP':'',\r\n 'singleStarTAndC':'*For purposes of this Attachment A, this Vaccine is a “Government Supplied COVID-19 Vaccine” which means that the United States government has acquired the COVID-19 vaccine and is making these publicly funded vaccines available to select vaccine providers (as a result the Rate(s) for this immunization does not include the cost of the vaccine, which is paid for by the government but does include an administrative fee and related taxes).',\r\n 'singleStarTAndC2':' Additionally this listed Rate is the current pricing for administering Government Supplied COVID-19 Vaccines and is based upon those COVID-19 Vaccines created by Pfizer Inc., ModernaTX, Inc. and Janssen Biotech Inc. and approved for use by the FDA.',\r\n //'article2Heading':\"\",\r\n //'article2Text':\"

ARTICLE II
OFF-SITE CLINIC MINIMUMS

2.1  Client guarantees that the average minimum of Immunizations set forth in Table 2 will be administered to Participants at each of Client's Off-Site Clinic locations per contract year ("Site Minimum"). If the Site Minimum is not achieved for the contract year (determined by taking the total number of Immunizations administered at all Off-Site Clinics divided by the number of Off-Site Clinics locations in such contract year ("Site Average")), at Walgreens' discretion, Walgreens will invoice Client a fee for the difference between the Site Minimum and Site Average multiplied by the number of Off-Site Clinics. The sum of which will be multiplied by the lowest reimbursement rate set forth in Table 1 in Attachment A and Client shall pay such amount within 30 days of being invoiced by Walgreens. Fees related to this paragraph will be billed directly to Client and will not be used by either Party for billing to Third Party Payors.

\",\r\n //\"siteMinTextfluEN\":\"("Site Minimum"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n //\"siteMinTextEN\":\"("Site Minimum"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n //\"siteMinTextSP\":\"("Site Minimum"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n //\"siteMinTextfluSP\":\"("Site Minimum"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n //\"siteAvgTextEN\":\"("Site Average")), at Walgreens' discretion, it will invoice Client for the difference between the Site Minimum and Site Average multiplied by the number of off-site events. The sum of which will be multiplied by the lowest reimbursement rate set forth in table in Attachment A and Client shall pay such amount within 30 days of being invoiced by Walgreens.\",\r\n //\"siteAvgTextSP\":\"("Site Average")), at Walgreens' discretion, it will invoice Client for the difference between the Site Minimum and Site Average multiplied by the number of off-site events. The sum of which will be multiplied by the lowest reimbursement rate set forth in table in Attachment A and Client shall pay such amount within 30 days of being invoiced by Walgreens.\",\r\n 'indemnificationTAndCChangedDate':'12/22/2020',\r\n 'universalContractReleaseDate':'06/06/2022',\r\n 'clinicFee': 'Clinic Fee:'\r\n }\r\n export const universalContractReleaseDate:string='06/06/2022';","export const UniversalTandCData2023: any =\r\n{\r\n \"english\":\"

This IMMUNIZATION SERVICE AGREEMENT  ("Agreement") by and between the party indicated below ("Client"), and Walgreen Co., on behalf of itself and its subsidiaries and affiliates ("Walgreens") is made and entered into on the date last signed by an authorized representative of both the Client and Walgreens (the "Effective Date"). Walgreens and Client may be individually referred to as a "Party" or collectively as the "Parties."

\",\r\n \"englishheader\":\"

For good and valuable consideration, the receipt and sufficiency of which are hereby acknowledged, Client and Walgreens, hereby agree that Walgreens will dispense and administer the immunizations as indicated in Attachment A ("Immunizations") according to the terms and conditions contained in Attachment B, to a participant population agreed to by the Parties ("Participants") at mutually agreed upon location(s). Attachments A and B, attached hereto and incorporated herein by reference, are made part of and subject to the Agreement and in no event shall any other attachments, alterations or revisions be applicable unless without the expressed written consent of Walgreens.

\",\r\n \"englishattachment\":\"

ATTACHMENT A

ARTICLE I

1.1  In accordance with the Agreement, for each Immunization administered by Walgreens under this Agreement, Walgreens will be entitled to the applicable reimbursement rates set forth in Table 1, plus any government imposed taxes, on such products or services, however styled, using the payment billing method agreed to by the Parties indicated below. In the event that the U.S. Food and Drug Administration ("FDA") approves an Immunization or issues an Emergency Use Authorization for an Immunization after the Effective Date and such Immunization is (i) available for purchase by Walgreens, or (ii) is made available to Walgreens to administer but not purchase, Walgreens has the right to notify Client of a new reimbursement rate or fee, or both, for such Immunization, which will be effective ten (10) days following Client’s receipt of the notice. In the event Client notifies Walgreens in writing that it objects to the new reimbursement rate or fee, or both, within the ten (10) day period, Walgreens may elect, in its sole discretion, to not administer the Immunization to Participants. Client acknowledges that the fees and reimbursement rates set forth in the Agreement are Walgreens’ Confidential Information and Client agrees not to disclose this information to any third-party other than as minimally necessary under the terms of this Agreement. Unless otherwise indicated below, the rates listed in Table 1 are inclusive of the cost of vaccine, dispensing fee, and administration fee.

\",\r\n \"imzen\":\"Immunization\",\r\n \"ImzVcnNameEn\": \"Immunization (Vaccine) Name\",\r\n \"PaymtBillMethodEn\":\"Payment Billing Method\",\r\n \"VoucherRatesEn\":\"Voucher Rates\",\r\n \"OffSiteClinicRatesEn\" : \"Off-Site Clinic Rates\",\r\n \"articleIIEN\":\"

ARTICLE II
CLINIC
FEES

2.1  Service Fee. In order to support a Clinic location, including allocating appropriate supplies and staffing arrangements at each Clinic, Client agrees to pay Walgreens the applicable service fee(s) set forth in Table 2 ("Service Fee") based on the estimated number of Immunizations for each separate Clinic location and event date. Client agrees to provide Walgreens’ designated contact with a written estimate of the number of Immunizations per Clinic location and date at least two weeks prior to the scheduled date of the first Clinic. Based on the written estimated provided by Client, Walgreens will invoice Client the applicable Service Fee for each completed Clinic, and Client shall pay Walgreens in full within thirty (30) days of receipt of the invoice. The Parties agree that Service Fee(s) will be billed directly to Client and neither Party will seek to recover Service Fee(s) from any Third Party Payors. For illustration purposes under this Section only, one (1) Participant receiving two (2) different Immunizations at the same Clinic location on the same day would count as two (2) Immunizations towards the total number of estimated number of Immunizations for that Clinic location and event date.

\",\r\n \"articleNoFeeIIEN\":\"

ARTICLE II
CLINIC
FEES

2.1  Service Fees are not applicable for this Agreement.


\",\r\n \"payen\":\"Payment\",\r\n \"ratesen\":\"Rate\",\r\n \"clienten\":\"Client:\",\r\n \"nameen\":\"Name:\",\r\n \"eSignatureEN\": \"Signature:\",\r\n \"titleen\":\"Title:\",\r\n \"attentionen\": \"Attention\",\r\n \"address1en\":\"Address1\",\r\n \"address2en\":\"Address2\",\r\n \"cityen\":\"City\",\r\n \"stateen\":\"State\",\r\n \"zipcodeen\":\"Zip\",\r\n \"legalen\":\"Legal Notice Address\",\r\n \"clientinfoen\":\"Client Information:\",\r\n \"inWitnessWhereOffEN\":\"IN WITNESS WHEREOF,\",\r\n \"inWitnessWhereOff2ndLineEN\":\"Client and Walgreens have executed this Agreement.\",\r\n \"sendLegalNoticeToClientEN\":\"Legal Notice Address:\",\r\n \"sendLegalNoticeToWalgreensEN\":\"Legal Notice Address:\",\r\n \"wallGreensCommOffsiteTitle1EN\":\"ATTACHMENT B\",\r\n \"wallGreensCommOffsiteTitle2EN\":\"TERMS AND CONDITIONS\",\r\n \"wallGreensResponsibilitiesEN\":\" WALGREENS' RESPONSIBILITIES\",// deliberately extra space\r\n \"wallGreensResponsibilitiesPara1HeadingEN\":\"Immunizations\",\r\n \"wallGreensResponsibilitiesCvrdServicesEN\":\" Subject to limitations or restrictions imposed by federal and state contracts, laws, and regulations, and the availability of appropriate Immunizations, Walgreens will administer Immunizations to Participants either directly or through an authorized provider. The Parties agree to comply with all procedures set forth in this Agreement. When required by state law, Walgreens will require Participants to provide a valid prescription from their physician or allow the health care professional to contact their physician to obtain a valid prescription; however, for certain specific Immunizations, Walgreens may be responsible for obtaining standing orders from physicians. Participants will be required to complete a Walgreens vaccine administration record and consent form before receiving an Immunization.\",\r\n \"profJudgementHeadingEN\":\"Professional Judgment\",\r\n \"profJudgementTextEN\":\" Walgreens may withhold administration of Immunizations to a Participant for good cause, including but not limited to, Client’s or Participant’s (where applicable) failure to pay for Immunization, requests by Participant for services inconsistent with applicable legal requirements; or where, in the professional judgment of the health care professional, the services should not be rendered.\",\r\n //\"provHealthCrProfHdngEN\":\"Provision of Healthcare Professional\",\r\n //\"provHealthCrProfTextEN\":\" If the Parties agree in writing that Walgreens will administer Immunizations at locations outside of Walgreens' store locations ("Clinics"), Walgreens will provide Client with the appropriate number of qualified health care professionals and technicians to provide such immunizations at the Off-Site Clinic locations based upon and in reliance on Client's good-faith estimates of Participant volume. Any requests for additional personnel will be subject to mutual agreement by the Parties and may require additional agreed-upon fees to be paid by Client to Walgreens in accordance with this Agreement.\",\r\n \"clientsResponsibilitesEN\":\"CLIENT'S RESPONSIBILITIES\",\r\n \"vouchersHeadingEN\":\"Vouchers\",\r\n \"vouchersTextEN\":\" If the Parties agree in writing that Walgreens will administer Immunizations upon receipt of a Walgreens approved voucher issued to Participants by Client ("Vouchers"), Client will provide each Participant with a Voucher, and the Participant may redeem the Voucher at a participating Walgreens retail store location. Once the Voucher is approved by both Parties it may not be modified. Client may not rescind, retract, reduce or deny payment owed to Walgreens for claims where Immunizations were provided to its Participants, even if Client no longer considers the individual presenting the Voucher to be a Participant.\",\r\n \"offSiteLocationEN\":\"Clinic Locations.\",\r\n \"importantEN\":\"IMPORTANT\",\r\n \"offSiteLocationText1EN\":\" If the Parties agree in writing that Walgreens will administer Immunizations at agreed upon locations outside of Walgreens’ retail store locations ("Clinics"), Walgreens will provide Client with the appropriate number of qualified health care professionals and/or technicians to provide Immunizations at the Clinics based upon and in reliance on Client’s good-faith estimates of Immunization volume subject to the Service Fee set forth in Attachment A. Furthermore, Client will communicate to Participants the dates, times and locations for such Clinics. At all Clinics, Client will provide a private, clean room location, tables and chairs for Walgreens’ personnel and Participants. Where applicable, Client agrees to assist Walgreens in the collection of Participants’ Third Party Payors (defined below) eligibility information and any additional reasonably requested information, in order to help expedite the delivery of Immunizations.\",\r\n //\"eligibleParticipantsEN\":\"Eligible Participants.\",\r\n //\"eligibleParticipantsTextEN\":\" The Parties acknowledge specific populations may have been designated by the applicable Federal, State, or local authorities ("Jurisdiction") to be eligible for certain Immunizations. Client represents Participants receiving Immunizations under this Agreement are eligible to receive Immunizations based on the applicable Jurisdiction's requirements and at no time will Client allow a Participant to receive Immunizations under this Agreement until eligible under the applicable Jurisdiction's criteria. The Parties agree that when providing Immunizations, Walgreens will act in good faith reliance as it relates to Client's determination of Participants' eligibility in each Jurisdiction.\",\r\n \"pmtAndBIllingEN\":\"PAYMENT AND BILLING\",\r\n \"paymentEN\":\"Payment.\",\r\n \"paymentTextEN\":\"3.1 Payment. Walgreens will invoice Client for Immunizations administered to Participants (including any applicable fees as listed in Attachment A) and Client will pay all invoices in full within thirty (30) days from receipt. Payments will be made to the remittance address set forth on the invoice. However, in the event the Parties agree in writing, solely for those amounts listed in Article I of Attachment A, and (i) Participant provides evidence of coverage under third-party insurance or a government funded program (e.g., Medicare) ("Third Party Payor") prior to the provision of Immunizations; and (ii) Walgreens is contracted with that Third Party Payor, Walgreens, will, except as otherwise stated herein, submit the claim for Immunizations to the Participant’s Third Party Payor, and any copayment, coinsurance, deductible owed by the Participant will be collected at the time of service or billed at a later date. If evidence of coverage by a Third Party Payor is not provided by a Participant at the time of service or a claim for reimbursement is denied by a Third Party Payor, Client will reimburse Walgreens for all Immunizations administered to the Participant.\",\r\n \"latePaymentEN\":\"Late Payment.\",\r\n \"latePaymentTextEN\":\" All sums owed by Client to Walgreens will bear interest of 1.5% per month from the date payment is due until paid; however, in no event will such interest rate be greater than the rate permitted by law. Client shall be solely responsible for any and all costs incurred by Walgreens in seeking collection of any delinquent amounts owed by Client. Walgreens may invoice Client for interest and costs due under this Section on a monthly basis and payment will be due within thirty (30) days from receipt.\",\r\n \"costIncreaseEN\":\"Cost Increase.\",\r\n \"costIncreasetextEN\":\" If the Wholesale Acquisition Cost ("WAC") or Average Wholesale Price ("AWP") for any Immunization increased by 2.0% or greater during the term of this Agreement, Walgreens has the right to increase the contracted reimbursement rate of the Immunization by the same proportion as the WAC or AWP increase. The new rate will be effective ten (10) days following Client’s receipt of the rates unless Client notifies Walgreens that it does not agree to the adjusted rates within the ten (10) day period, in which case Walgreens may discontinue providing services for those Immunizations.\",\r\n \"termAndTermCapsEN\":\"TERM AND TERMINATION\",\r\n \"termAndTermEN\":\"Term and Termination\",\r\n \"termAndTermTextEN\":\" This Agreement will become effective on the Effective Date and shall continue in full force and effect for an initial term of one (1) year. Upon expiration of the initial term, this Agreement will automatically renew for successive one (1) year terms at the then current Walgreens reimbursement rates in effect for Immunizations, which will be made available upon request. Either Party may terminate this Agreement at any time without cause by giving at least thirty (30) days’ prior written notice to the other Party.\",\r\n \"effectAndTerminiationEN\":\"Effect of Termination\",\r\n \"effectAndTerminiationTextEN\":\" Termination will have no effect upon the rights or obligations of the Parties arising out of any transactions occurring prior to the effective date of such termination.\",\r\n \"waiverEN\":\"Waiver\",\r\n \"waiverTextEN\":\" The waiver by either Party of a breach or violation of any provision of this Agreement shall not operate as or be construed to be a waiver of any subsequent breach or violation thereof.\",\r\n \"insurAndIndemnifyEN\":\"INSURANCE AND INDEMNIFICATION \",\r\n \"insuranceEN\":\"Insurance\",\r\n \"insuranceTextEN\":\" Each Party will self-insure or maintain at its sole expense, and in amounts consistent with industry standards, insurance for general and professional liability and such other insurance as may be necessary to insure the Party, its employees, and agents against any claim or claims for damages arising out of or in connection with its duties and obligations under this Agreement. Upon request from Walgreens, Client will provide a memorandum of insurance or certificate of insurance. Walgreens' insurance information is available at www.walgreens.com/insurance.\",\r\n \"indemnificationEN\":\"Indemnification\",\r\n \"indemnificationTextEN\":\" To the extent permitted by law, each Party will indemnify, defend, and hold harmless the other Party, including its employees and agents, from and against any and all third-party claims or liabilities arising from the negligence or willful misconduct of the indemnifying Party, its employees, or agents in carrying out its duties, obligations, representations, warranties and covenants under the terms of this Agreement. EXCEPT FOR ANY EXPRESS WARRANTIES SET FORTH IN THIS AGREEMENT, THE PARTIES HEREBY DISCLAIM ANY IMPLIED WARRANTIES OF ANY KIND, INCLUDING WARRANTY OF MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. In no event shall either Party be liable to the other Party for any indirect, special, or consequential damages or lost profits, arising out of or related to performance of this Agreement or a breach of this Agreement, even if advised of the possibility of such damages or lost profits. This Section will survive the termination of this Agreement. Notwithstanding the foregoing, the Parties agree that Walgreens is not liable for activities covered by the Public Readiness and Emergency Preparedness (PREP) Act, and the foregoing obligations of indemnity shall not apply to Walgreens for any claims or liabilities arising out of activities covered by the PREP Act or any other applicable laws related to vaccines and/or health care providers. This Section will survive the termination of this Agreement.\",\r\n \"generalTermsEN\":\" GENERAL TERMS \",// deliberately extra space\r\n \"businessConfidentialityEN\":\"Business Confidentiality.\",\r\n \"businessConfidentialityTextEN\":\" The Parties acknowledge that certain proprietary or confidential business information may be disclosed between the Parties ("Confidential Information"). Each Party will maintain the confidentiality of all Confidential Information, including, without limitation, implementing those precautions the Party employs with respect to its own Confidential Information and disclosing Confidential Information only to those employees who have a need to know in order to effectuate the purpose(s) of this Agreement or to maintain compliance with applicable laws. In no event will either Party use the other Party’s Confidential Information to benefit itself or others, except as otherwise not prohibited under this Agreement. Confidential Information shall not include information: (i) generally known to the public or the industry without breach of this Agreement; (ii) independently developed by the receiving Party; (iii) known to or in the possession of the receiving Party prior to the disclosure pursuant to this Agreement; (iv) disclosed to the receiving Party by a third party without the confidentiality obligations set forth herein; or (v) required to be disclosed by any court or government agency; provided however, to the extent allowed by law, the receiving Party shall provide written notice of such planned disclosure to the disclosing Party allowing reasonable time for the disclosing Party to raise any objections to such disclosure. Each Party acknowledges that disclosure of the other Party’s Confidential Information would cause the other Party irreparable harm and may, without limiting the remedies available for such breach, be enjoined at the instance of the harmed Party. This Section will survive the termination of this Agreement.\",\r\n \"confidentialityEN\":\"Confidentiality of Protected Health Information\",\r\n \"confidentialityTextEN\":\" The Parties agree to protect and respect each Participant’s right to privacy and confidentiality concerning their medical and pharmaceutical records, and to protect all individually identifiable health information as protected health information from misuse or disclosure, in compliance with all applicable state and federal laws, including the Health Insurance Portability and Accountability Act of 1996. Without limiting the generality of the foregoing, the Parties agree to use Participant-specific information: (i) only for permitted treatment, billing and related record-keeping purposes; or (ii) as otherwise permitted by law. Failure by either Party to abide by these requirements shall be a basis for immediate termination of this Agreement. Nothing herein will limit either Party’s use of any de-identified Participant information. This Section will survive the termination of this Agreement.\",\r\n \"AdvertisingEN\":\"Advertising\",\r\n \"AdvertisingTextEN\":\" Neither Party may advertise or use any trademarks, service marks, or symbols of the other Party without first receiving the written consent of the Party owning the mark and/or symbol with the following exceptions: Client may use the name and the addresses of Walgreens locations in materials to inform Participants that Walgreens provides Immunizations. Any other reference to Walgreens in any Client materials must be pre-approved, in writing, by Walgreens.\",\r\n \"frcMajEN\":\"Force Majeure\",\r\n \"frcMajTextEN\":\" The performance by either Party hereunder will be excused to the extent of circumstances beyond such Party's reasonable control, such as flood, tornado, earthquake, or other natural disaster, epidemic, pandemic, war, material destruction of facilities, fire, acts of terrorism, acts of God, etc. In such event, the Parties will use their best efforts to resume performance as soon as reasonably possible under the circumstances.\",\r\n \"complianceEN\":\"Compliance\",\r\n \"complianceTextEN\":\" Each Party agrees to comply with all applicable federal, state and local laws, rules, and regulations for each territory in which Immunizations are provided under this Agreement. Each Party will cooperate with reasonable requests by the other Party for information that is needed for its compliance with applicable laws, rules, and/or regulations. \",\r\n \"assignmentEN\":\"Assignment\",\r\n \"assignmentTextEN\":\" Neither Party may assign this Agreement to a third-party without the prior written consent of the other Party, except that either Party will have the right to assign this Agreement to any direct or indirect parent, subsidiary or affiliated company or to a successor company without such consent. Any permitted assignee will assume all obligations of its assignor under this Agreement. No assignment will relieve any Party of responsibility for the performance of any obligations which have already occurred. This Agreement will inure to the benefit of and be binding upon each Party, its respective successors and permitted assignees.\",\r\n \"thirdPartyRightsEN\":\"Third Party Rights\",\r\n \"thirdPartyRightsTextEN\":\" This Agreement is solely between Walgreens and Client and may not be construed to create any rights or remedies in favor of any third party, including, but not limited to, any Participant.\",\r\n \"noticesEN\":\"Notices\",\r\n \"noticesTextEN\":\" All notices provided for herein must be in writing, sent by U.S. certified mail, return receipt requested, postage prepaid, or by overnight delivery service providing proof of receipt to the address set forth following the signature blocks. Notices will be deemed delivered upon receipt or upon refusal to accept delivery.\",\r\n \"entireAgrEN\":\"Entire Agreement\",\r\n \"entireAgrTextEN\":\" This Agreement, which includes any and all attachments, exhibits, riders, and other documents referenced herein, constitutes the entire and full agreement between the Parties relating to the subject matter herein and supersedes any previous contract, and except as otherwise permitted hereunder, no changes, amendments, or alterations will be effective unless reduced to a writing signed by a representative of each Party. Any prior agreements, documents, understandings, or representations relating to the subject matter of this Agreement not expressly set forth herein or referred to or incorporated herein by reference are of no force or effect.\",\r\n \"counterPartsHeadingEN\":\"Counterparts\",\r\n \"counterPartsTextEN\":\" This Agreement may be executed in two or more counterparts, each of which together shall be deemed an original, and all of which together shall constitute one and the same instrument. Execution and delivery of this Agreement may be completed electronically through facsimile, digitally or by .pdf file and any such electronic signature contained therein, shall create a valid and binding obligation of the Party executing it, having the same effect as if the original handwritten signature had been signed and delivered to the other Party.\",\r\n //\"rightsEN\":\"All rights reserved.\",\r\n \"approveAgrmntEN\":\"Approve Agreement\",\r\n \"approveTextEN\":\"Carefully review the Community Off-Site Agreement. If you agree to the conditions of the contract, please check ‘Approve' below and type your name into the Electronic Signature field. If there are any discrepancies in the Agreement, reject the Agreement and provide corrections in the notes field.\",\r\n \"electrSignEN\":\"Electronic Signature\",\r\n \"notesEN\":\"Notes:\",\r\n \"pageTitleEN\":\"\",\r\n \"dateEN\":\"Date:\",\r\n \"districtEN\":\"District#:\",\r\n \"approveEN\":\"Approve\",\r\n \"rejectEN\":\"Request Changes\",\r\n \"submitEN\":\"Submit\",\r\n \"cancelEN\":\"Cancel\",\r\n \"printAgreementEN\":\"Print Agreement\",\r\n \"clinicLocationEN\":\"Clinic Location:\",\r\n \"clinicDateEN\":\"Clinic Date:\",\r\n \"clinicTimeEN\":\"Clinic Time:\",\r\n \"contactEN\":\"Contact:\",\r\n \"phoneEN\":\"Phone:\",\r\n \"estShotsEN\":\"Est. Shots\",\r\n \"locationEN\":\"Location:\",\r\n \"timeEN\":\"Time:\",\r\n \"emailEN\":\"Email:\",\r\n \"emailAgreementToEN\":\"Email Agreement to:\",\r\n \"multipleEmailAddressEN\":'Multiple email addresses may be entered by placing a comma between addresses.',\r\n \"sendAgreementEN\":\"SEND AGREEMENT\",\r\n \"editAgreementEN\":'EDIT AGREEMENT',\r\n \"saveAgreementEN\":\"SAVE AGREEMENT\",\r\n \"noteTextEN\":\"* Please note, once a contract has been signed by the client, it cannot be edited.\",\r\n \"printAgreementTxtCapsEN\":\"PRINT AGREEMENT\",\r\n \"table1EN\":'Table I',\r\n \"attnEN\":\"Attn\",\r\n \"fluExpiryDateEN\":\"Flu Exp. Date:\",\r\n \"routineExpiryDateEN\":\"Routine Exp. Date:\",\r\n \"sendInvoiceToEN\":'Send Invoice to:',\r\n 'isTaxExemptEN':'Is Employer Tax Exempt?',\r\n 'isCopayEN':'Will patient pay the portion of the cost. Is there a copay?',\r\n 'voucherNeededEN':'Voucher Needed:',\r\n 'voucherExpiryEN':'Expiration Date:',\r\n 'copayValueEN':'Copay Value:',\r\n 'influenzaSeasonText1EN':'per influenza season (August – April)',\r\n 'contractYearText1EN':'per contract year',\r\n 'influenzaSeasonText2EN':'influenza season',\r\n 'contractYearText2EN':'contract year',\r\n 'contactName':'Contact Name:',\r\n 'contactPhone':'Contact Phone:',\r\n 'contactEmail':'Contact Email:',\r\n 'doseEN':'COVID Clinic:',\r\n 'confidentialityP1EN':'',\r\n 'confidentialityP2EN':'',\r\n 'singleStarTAndC':'* For purposes of this Attachment A, this Immunization is a "Government Supplied COVID19 Immunization" which means that such COVID19 vaccines are (i) purchased by the United States government and (ii) made available to select vaccine providers where such supply is still available. The reimbursement rate for Government Supplied COVID19 Immunizations does not include the cost of the Immunization, but does include an administration fee and related taxes.',\r\n //'article2Heading':\"\",\r\n //'article2Text':\"

ARTICLE II
OFF-SITE CLINIC MINIMUMS

2.1  Client guarantees that the average minimum of Immunizations set forth in Table 2 will be administered to Participants at each of Client's Off-Site Clinic locations per contract year ("Site Minimum"). If the Site Minimum is not achieved for the contract year (determined by taking the total number of Immunizations administered at all Off-Site Clinics divided by the number of Off-Site Clinics locations in such contract year ("Site Average")), at Walgreens' discretion, Walgreens will invoice Client a fee for the difference between the Site Minimum and Site Average multiplied by the number of Off-Site Clinics. The sum of which will be multiplied by the lowest reimbursement rate set forth in Table 1 in Attachment A and Client shall pay such amount within 30 days of being invoiced by Walgreens. Fees related to this paragraph will be billed directly to Client and will not be used by either Party for billing to Third Party Payors.

\",\r\n //\"siteMinTextfluEN\":\"("Site Minimum"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n //\"siteMinTextEN\":\"("Site Minimum"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n //\"siteAvgTextEN\":\"("Site Average")), at Walgreens' discretion, it will invoice Client for the difference between the Site Minimum and Site Average multiplied by the number of off-site events. The sum of which will be multiplied by the lowest reimbursement rate set forth in table in Attachment A and Client shall pay such amount within 30 days of being invoiced by Walgreens.\",\r\n 'indemnificationTAndCChangedDate':'12/22/2020',\r\n 'universalContractReleaseDate':'06/06/2022',\r\n 'clinicFee': 'Clinic Fee:',\r\n 'participants': 'Participants:'\r\n }\r\n export const universalContractReleaseDate:string='05/02/2023';","export const UniversalTandCData2024: any =\r\n{\r\n \"english\":\"

This IMMUNIZATION SERVICE AGREEMENT  ("Agreement") by and between the party indicated below ("Client"), and Walgreen Co., on behalf of itself and its subsidiaries and affiliates ("Walgreens") is made and entered into on the date last signed by an authorized representative of both the Client and Walgreens (the "Effective Date"). Walgreens and Client may be individually referred to as a "Party" or collectively as the "Parties."

\",\r\n \"englishheader\":\"

For good and valuable consideration, the receipt and sufficiency of which are hereby acknowledged, Client and Walgreens, hereby agree that Walgreens will dispense and administer the immunizations as indicated in Attachment A ("Immunizations") according to the terms and conditions contained in Attachment B, to a participant population agreed to by the Parties ("Participants") at mutually agreed upon location(s). Attachments A and B, attached hereto and incorporated herein by reference, are made part of and subject to the Agreement and in no event shall any other attachments, alterations or revisions be applicable unless without the expressed written consent of Walgreens.

\",\r\n \"englishattachment\":\"

ATTACHMENT A

ARTICLE I

1.1  In accordance with the Agreement, for each Immunization administered by Walgreens under this Agreement, Walgreens will be entitled to the applicable reimbursement rates set forth in Table 1, plus any government imposed taxes, on such products or services, however styled, using the payment billing method agreed to by the Parties indicated below. In the event that the U.S. Food and Drug Administration ("FDA") approves an Immunization or issues an Emergency Use Authorization for an Immunization after the Effective Date and such Immunization is (i) available for purchase by Walgreens, or (ii) is made available to Walgreens to administer but not purchase, Walgreens has the right to notify Client of a new reimbursement rate or fee, or both, for such Immunization, which will be effective ten (10) days following Client’s receipt of the notice. In the event Client notifies Walgreens in writing that it objects to the new reimbursement rate or fee, or both, within the ten (10) day period, Walgreens may elect, in its sole discretion, to not administer the Immunization to Participants. Client acknowledges that the fees and reimbursement rates set forth in the Agreement are Walgreens’ Confidential Information and Client agrees not to disclose this information to any third-party other than as minimally necessary under the terms of this Agreement. Unless otherwise indicated below, the rates listed in Table 1 are inclusive of the cost of vaccine, dispensing fee, and administration fee.

\",\r\n \"imzen\":\"Immunization\",\r\n \"ImzVcnNameEn\": \"Immunization (Vaccine) Name\",\r\n \"PaymtBillMethodEn\":\"Payment Billing Method\",\r\n \"VoucherRatesEn\":\"Voucher Rates\",\r\n \"OffSiteClinicRatesEn\" : \"Off-Site Clinic Rates\",\r\n \"articleIIEN\":\"

ARTICLE II
CLINIC
FEES

2.1  Service Fee. In order to support a Clinic location, including allocating appropriate supplies and staffing arrangements at each Clinic, Client agrees to pay Walgreens the applicable service fee(s) set forth in Table 2 ("Service Fee") based on the estimated number of Participants for each separate Clinic location and event date. Client agrees to provide Walgreens’ designated contact with a written estimate of the number of Participants per Clinic location and date at least two weeks prior to the scheduled date of the first Clinic. Based on the written estimated provided by Client, Walgreens will invoice Client the applicable Service Fee for each completed Clinic, and Client shall pay Walgreens in full within thirty (30) days of receipt of the invoice. The Parties agree that Service Fee(s) will be billed directly to Client and neither Party will seek to recover Service Fee(s) from any Third Party Payors.

\",\r\n \"articleNoFeeIIEN\":\"

ARTICLE II
CLINIC
FEES

2.1  Service Fees are not applicable for this Agreement.


\",\r\n \"payen\":\"Payment\",\r\n \"clienten\":\"Client:\",\r\n \"nameen\":\"Name:\",\r\n \"eSignatureEN\": \"Signature:\",\r\n \"titleen\":\"Title:\",\r\n \"attentionen\": \"Attention\",\r\n \"address1en\":\"Address1\",\r\n \"address2en\":\"Address2\",\r\n \"cityen\":\"City\",\r\n \"stateen\":\"State\",\r\n \"zipcodeen\":\"Zip\",\r\n \"legalen\":\"Legal Notice Address\",\r\n \"clientinfoen\":\"Client Information:\",\r\n \"inWitnessWhereOffEN\":\"IN WITNESS WHEREOF,\",\r\n \"inWitnessWhereOff2ndLineEN\":\"Client and Walgreens have executed this Agreement.\",\r\n \"sendLegalNoticeToClientEN\":\"Legal Notice Address:\",\r\n \"sendLegalNoticeToWalgreensEN\":\"Legal Notice Address:\",\r\n \"wallGreensCommOffsiteTitle1EN\":\"ATTACHMENT B\",\r\n \"wallGreensCommOffsiteTitle2EN\":\"TERMS AND CONDITIONS\",\r\n \"wallGreensResponsibilitiesEN\":\" WALGREENS' RESPONSIBILITIES\",// deliberately extra space\r\n \"wallGreensResponsibilitiesPara1HeadingEN\":\"Immunizations\",\r\n \"wallGreensResponsibilitiesCvrdServicesEN\":\" Subject to limitations or restrictions imposed by federal and state contracts, laws, and regulations, and the availability of appropriate Immunizations, Walgreens will administer Immunizations to Participants either directly or through an authorized provider. The Parties agree to comply with all procedures set forth in this Agreement. When required by state law, Walgreens will require Participants to provide a valid prescription from their physician or allow the health care professional to contact their physician to obtain a valid prescription; however, for certain specific Immunizations, Walgreens may be responsible for obtaining standing orders from physicians. Participants will be required to complete a Walgreens vaccine administration record and consent form before receiving an Immunization.\",\r\n \"profJudgementHeadingEN\":\"Professional Judgment\",\r\n \"profJudgementTextEN\":\" Walgreens may withhold administration of Immunizations to a Participant for good cause, including but not limited to, Client’s or Participant’s (where applicable) failure to pay for Immunization, requests by Participant for services inconsistent with applicable legal requirements; or where, in the professional judgment of the health care professional, the services should not be rendered.\",\r\n //\"provHealthCrProfHdngEN\":\"Provision of Healthcare Professional\",\r\n //\"provHealthCrProfTextEN\":\" If the Parties agree in writing that Walgreens will administer Immunizations at locations outside of Walgreens' store locations ("Clinics"), Walgreens will provide Client with the appropriate number of qualified health care professionals and technicians to provide such immunizations at the Off-Site Clinic locations based upon and in reliance on Client's good-faith estimates of Participant volume. Any requests for additional personnel will be subject to mutual agreement by the Parties and may require additional agreed-upon fees to be paid by Client to Walgreens in accordance with this Agreement.\",\r\n \"clientsResponsibilitesEN\":\"CLIENT'S RESPONSIBILITIES\",\r\n \"vouchersHeadingEN\":\"Vouchers\",\r\n \"vouchersTextEN\":\" If the Parties agree in writing that Walgreens will administer Immunizations upon receipt of a Walgreens approved voucher issued to Participants by Client ("Vouchers"), Client will provide each Participant with a Voucher, and the Participant may redeem the Voucher at a participating Walgreens retail store location. Once the Voucher is approved by both Parties it may not be modified. Client may not rescind, retract, reduce or deny payment owed to Walgreens for claims where Immunizations were provided to its Participants, even if Client no longer considers the individual presenting the Voucher to be a Participant.\",\r\n \"offSiteLocationEN\":\"Clinic Locations.\",\r\n \"importantEN\":\"IMPORTANT\",\r\n \"offSiteLocationText1EN\":\" If the Parties agree in writing that Walgreens will administer Immunizations at agreed upon locations outside of Walgreens’ retail store locations ("Clinics"), Walgreens will provide Client with the appropriate number of qualified health care professionals and/or technicians to provide Immunizations at the Clinics based upon and in reliance on Client’s good-faith estimates of Participant volume subject to the Service Fee set forth in Attachment A. Furthermore, Client will communicate to Participants the dates, times and locations for such Clinics. At all Clinics, Client will provide a private, clean room location, tables and chairs for Walgreens’ personnel and Participants. Where applicable, Client agrees to assist Walgreens in the collection of Participants’ Third Party Payors (defined below) eligibility information and any additional reasonably requested information, in order to help expedite the delivery of Immunizations.\",\r\n //\"eligibleParticipantsEN\":\"Eligible Participants.\",\r\n //\"eligibleParticipantsTextEN\":\" The Parties acknowledge specific populations may have been designated by the applicable Federal, State, or local authorities ("Jurisdiction") to be eligible for certain Immunizations. Client represents Participants receiving Immunizations under this Agreement are eligible to receive Immunizations based on the applicable Jurisdiction's requirements and at no time will Client allow a Participant to receive Immunizations under this Agreement until eligible under the applicable Jurisdiction's criteria. The Parties agree that when providing Immunizations, Walgreens will act in good faith reliance as it relates to Client's determination of Participants' eligibility in each Jurisdiction.\",\r\n \"pmtAndBIllingEN\":\"PAYMENT AND BILLING\",\r\n \"paymentEN\":\"Payment.\",\r\n \"paymentTextEN\":\"3.1 Payment. Walgreens will invoice Client for Immunizations administered to Participants (including any applicable fees as listed in Attachment A) and Client will pay all invoices in full within thirty (30) days from receipt. Payments will be made to the remittance address set forth on the invoice. However, in the event the Parties agree in writing, solely for those amounts listed in Article I of Attachment A, and (i) Participant provides evidence of coverage under third-party insurance or a government funded program (e.g., Medicare) ("Third Party Payor") prior to the provision of Immunizations; and (ii) Walgreens is contracted with that Third Party Payor, Walgreens, will, except as otherwise stated herein, submit the claim for Immunizations to the Participant’s Third Party Payor, and any copayment, coinsurance, deductible owed by the Participant will be collected at the time of service or billed at a later date. If evidence of coverage by a Third Party Payor is not provided by a Participant at the time of service or a claim for reimbursement is denied by a Third Party Payor, Client will reimburse Walgreens for all Immunizations administered to the Participant.\",\r\n \"latePaymentEN\":\"Late Payment.\",\r\n \"latePaymentTextEN\":\" All sums owed by Client to Walgreens will bear interest of 1.5% per month from the date payment is due until paid; however, in no event will such interest rate be greater than the rate permitted by law. Client shall be solely responsible for any and all costs incurred by Walgreens in seeking collection of any delinquent amounts owed by Client. Walgreens may invoice Client for interest and costs due under this Section on a monthly basis and payment will be due within thirty (30) days from receipt.\",\r\n \"costIncreaseEN\":\"Cost Increase.\",\r\n \"costIncreasetextEN\":\" If the Wholesale Acquisition Cost ("WAC") or Average Wholesale Price ("AWP") for any Immunization increased by 2.0% or greater during the term of this Agreement, Walgreens has the right to increase the contracted reimbursement rate of the Immunization by the same proportion as the WAC or AWP increase. The new rate will be effective ten (10) days following Client’s receipt of the rates unless Client notifies Walgreens that it does not agree to the adjusted rates within the ten (10) day period, in which case Walgreens may discontinue providing services for those Immunizations.\",\r\n \"termAndTermCapsEN\":\"TERM AND TERMINATION\",\r\n \"termAndTermEN\":\"Term and Termination\",\r\n \"termAndTermTextEN\":\" This Agreement will become effective on the Effective Date and shall continue in full force and effect for an initial term of one (1) year. Upon expiration of the initial term, this Agreement will automatically renew for successive one (1) year terms at the then current Walgreens reimbursement rates in effect for Immunizations, which will be made available upon request. Either Party may terminate this Agreement at any time without cause by giving at least thirty (30) days’ prior written notice to the other Party.\",\r\n \"effectAndTerminiationEN\":\"Effect of Termination\",\r\n \"effectAndTerminiationTextEN\":\" Termination will have no effect upon the rights or obligations of the Parties arising out of any transactions occurring prior to the effective date of such termination.\",\r\n \"waiverEN\":\"Waiver\",\r\n \"waiverTextEN\":\" The waiver by either Party of a breach or violation of any provision of this Agreement shall not operate as or be construed to be a waiver of any subsequent breach or violation thereof.\",\r\n \"insurAndIndemnifyEN\":\"INSURANCE AND INDEMNIFICATION \",\r\n \"insuranceEN\":\"Insurance\",\r\n \"insuranceTextEN\":\" Each Party will self-insure or maintain at its sole expense, and in amounts consistent with industry standards, insurance for general and professional liability and such other insurance as may be necessary to insure the Party, its employees, and agents against any claim or claims for damages arising out of or in connection with its duties and obligations under this Agreement. Upon request from Walgreens, Client will provide a memorandum of insurance or certificate of insurance. Walgreens' insurance information is available at www.walgreens.com/insurance.\",\r\n \"indemnificationEN\":\"Indemnification\",\r\n \"indemnificationTextEN\":\" To the extent permitted by law, each Party will indemnify, defend, and hold harmless the other Party, including its employees and agents, from and against any and all third-party claims or liabilities arising from the negligence or willful misconduct of the indemnifying Party, its employees, or agents in carrying out its duties, obligations, representations, warranties and covenants under the terms of this Agreement. EXCEPT FOR ANY EXPRESS WARRANTIES SET FORTH IN THIS AGREEMENT, THE PARTIES HEREBY DISCLAIM ANY IMPLIED WARRANTIES OF ANY KIND, INCLUDING WARRANTY OF MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. In no event shall either Party be liable to the other Party for any indirect, special, or consequential damages or lost profits, arising out of or related to performance of this Agreement or a breach of this Agreement, even if advised of the possibility of such damages or lost profits. Notwithstanding the foregoing, the Parties agree that Walgreens is not liable for activities covered by the Public Readiness and Emergency Preparedness (PREP) Act, and the foregoing obligations of indemnity shall not apply to Walgreens for any claims or liabilities arising out of activities covered by the PREP Act or any other applicable laws related to vaccines and/or health care providers. This Section will survive the termination of this Agreement.\",\r\n \"generalTermsEN\":\" GENERAL TERMS \",// deliberately extra space\r\n \"businessConfidentialityEN\":\"Business Confidentiality.\",\r\n \"businessConfidentialityTextEN\":\" The Parties acknowledge that certain proprietary or confidential business information may be disclosed between the Parties ("Confidential Information"). Each Party will maintain the confidentiality of all Confidential Information, including, without limitation, implementing those precautions the Party employs with respect to its own Confidential Information and disclosing Confidential Information only to those employees who have a need to know in order to effectuate the purpose(s) of this Agreement or to maintain compliance with applicable laws. In no event will either Party use the other Party’s Confidential Information to benefit itself or others, except as otherwise not prohibited under this Agreement. Confidential Information shall not include information: (i) generally known to the public or the industry without breach of this Agreement; (ii) independently developed by the receiving Party; (iii) known to or in the possession of the receiving Party prior to the disclosure pursuant to this Agreement; (iv) disclosed to the receiving Party by a third party without the confidentiality obligations set forth herein; or (v) required to be disclosed by any court or government agency; provided however, to the extent allowed by law, the receiving Party shall provide written notice of such planned disclosure to the disclosing Party allowing reasonable time for the disclosing Party to raise any objections to such disclosure. Each Party acknowledges that disclosure of the other Party’s Confidential Information would cause the other Party irreparable harm and may, without limiting the remedies available for such breach, be enjoined at the instance of the harmed Party. This Section will survive the termination of this Agreement.\",\r\n \"confidentialityEN\":\"Confidentiality of Protected Health Information\",\r\n \"confidentialityTextEN\":\" The Parties agree to protect and respect each Participant’s right to privacy and confidentiality concerning their medical and pharmaceutical records, and to protect all individually identifiable health information as protected health information from misuse or disclosure, in compliance with all applicable state and federal laws, including the Health Insurance Portability and Accountability Act of 1996. Without limiting the generality of the foregoing, the Parties agree to use Participant-specific information: (i) only for permitted treatment, billing and related record-keeping purposes; or (ii) as otherwise permitted by law. Failure by either Party to abide by these requirements shall be a basis for immediate termination of this Agreement. Nothing herein will limit either Party’s use of any de-identified Participant information. This Section will survive the termination of this Agreement.\",\r\n \"AdvertisingEN\":\"Advertising\",\r\n \"AdvertisingTextEN\":\" Neither Party may advertise or use any trademarks, service marks, or symbols of the other Party without first receiving the written consent of the Party owning the mark and/or symbol with the following exceptions: Client may use the name and the addresses of Walgreens locations in materials to inform Participants that Walgreens provides Immunizations. Any other reference to Walgreens in any Client materials must be pre-approved, in writing, by Walgreens.\",\r\n \"frcMajEN\":\"Force Majeure\",\r\n \"frcMajTextEN\":\" The performance by either Party hereunder will be excused to the extent of circumstances beyond such Party's reasonable control, such as flood, tornado, earthquake, or other natural disaster, epidemic, pandemic, war, material destruction of facilities, fire, acts of terrorism, acts of God, etc. In such event, the Parties will use their best efforts to resume performance as soon as reasonably possible under the circumstances.\",\r\n \"complianceEN\":\"Compliance\",\r\n \"complianceTextEN\":\" Each Party agrees to comply with all applicable federal, state and local laws, rules, and regulations for each territory in which Immunizations are provided under this Agreement. Each Party will cooperate with reasonable requests by the other Party for information that is needed for its compliance with applicable laws, rules, and/or regulations. \",\r\n \"assignmentEN\":\"Assignment\",\r\n \"assignmentTextEN\":\" Neither Party may assign this Agreement to a third-party without the prior written consent of the other Party, except that either Party will have the right to assign this Agreement to any direct or indirect parent, subsidiary or affiliated company or to a successor company without such consent. Any permitted assignee will assume all obligations of its assignor under this Agreement. No assignment will relieve any Party of responsibility for the performance of any obligations which have already occurred. This Agreement will inure to the benefit of and be binding upon each Party, its respective successors and permitted assignees.\",\r\n \"thirdPartyRightsEN\":\"Third Party Rights\",\r\n \"thirdPartyRightsTextEN\":\" This Agreement is solely between Walgreens and Client and may not be construed to create any rights or remedies in favor of any third party, including, but not limited to, any Participant.\",\r\n \"noticesEN\":\"Notices\",\r\n \"noticesTextEN\":\" All notices provided for herein must be in writing, sent by U.S. certified mail, return receipt requested, postage prepaid, or by overnight delivery service providing proof of receipt to the address set forth following the signature blocks. Notices will be deemed delivered upon receipt or upon refusal to accept delivery.\",\r\n \"entireAgrEN\":\"Entire Agreement\",\r\n \"entireAgrTextEN\":\" This Agreement, which includes any and all attachments, exhibits, riders, and other documents referenced herein, constitutes the entire and full agreement between the Parties relating to the subject matter herein and supersedes any previous contract, and except as otherwise permitted hereunder, no changes, amendments, or alterations will be effective unless reduced to a writing signed by a representative of each Party. Any prior agreements, documents, understandings, or representations relating to the subject matter of this Agreement not expressly set forth herein or referred to or incorporated herein by reference are of no force or effect.\",\r\n \"counterPartsHeadingEN\":\"Counterparts\",\r\n \"counterPartsTextEN\":\" This Agreement may be executed in two or more counterparts, each of which together shall be deemed an original, and all of which together shall constitute one and the same instrument. Execution and delivery of this Agreement may be completed electronically through facsimile, digitally or by .pdf file and any such electronic signature contained therein, shall create a valid and binding obligation of the Party executing it, having the same effect as if the original handwritten signature had been signed and delivered to the other Party.\",\r\n //\"rightsEN\":\"All rights reserved.\",\r\n \"approveAgrmntEN\":\"Approve Agreement\",\r\n \"approveTextEN\":\"Carefully review the Community Off-Site Agreement. If you agree to the conditions of the contract, please check ‘Approve' below and type your name into the Electronic Signature field. If there are any discrepancies in the Agreement, reject the Agreement and provide corrections in the notes field.\",\r\n \"electrSignEN\":\"Electronic Signature\",\r\n \"notesEN\":\"Notes:\",\r\n \"pageTitleEN\":\"\",\r\n \"dateEN\":\"Date:\",\r\n \"districtEN\":\"District#:\",\r\n \"approveEN\":\"Approve\",\r\n \"rejectEN\":\"Request Changes\",\r\n \"submitEN\":\"Submit\",\r\n \"cancelEN\":\"Cancel\",\r\n \"printAgreementEN\":\"Print Agreement\",\r\n \"clinicLocationEN\":\"Clinic Location:\",\r\n \"clinicDateEN\":\"Clinic Date:\",\r\n \"clinicTimeEN\":\"Clinic Time:\",\r\n \"contactEN\":\"Contact:\",\r\n \"phoneEN\":\"Phone:\",\r\n \"estShotsEN\":\"Est. Shots\",\r\n \"locationEN\":\"Location:\",\r\n \"timeEN\":\"Time:\",\r\n \"emailEN\":\"Email:\",\r\n \"emailAgreementToEN\":\"Email Agreement to:\",\r\n \"multipleEmailAddressEN\":'Multiple email addresses may be entered by placing a comma between addresses.',\r\n \"sendAgreementEN\":\"SEND AGREEMENT\",\r\n \"editAgreementEN\":'EDIT AGREEMENT',\r\n \"saveAgreementEN\":\"SAVE AGREEMENT\",\r\n \"noteTextEN\":\"* Please note, once a contract has been signed by the client, it cannot be edited.\",\r\n \"printAgreementTxtCapsEN\":\"PRINT AGREEMENT\",\r\n \"table1EN\":'Table I',\r\n \"attnEN\":\"Attn\",\r\n \"fluExpiryDateEN\":\"Flu Exp. Date:\",\r\n \"routineExpiryDateEN\":\"Routine Exp. Date:\",\r\n \"sendInvoiceToEN\":'Send Invoice to:',\r\n 'isTaxExemptEN':'Is Employer Tax Exempt?',\r\n //'isCopayEN':'Will patient pay the portion of the cost. Is there a copay?',\r\n 'voucherNeededEN':'Voucher Needed:',\r\n 'voucherExpiryEN':'Expiration Date:',\r\n //'copayValueEN':'Copay Value:',\r\n //'influenzaSeasonText1EN':'per influenza season (August – April)',\r\n //'contractYearText1EN':'per contract year',\r\n //'influenzaSeasonText2EN':'influenza season',\r\n //'contractYearText2EN':'contract year',\r\n 'contactName':'Contact Name:',\r\n 'contactPhone':'Contact Phone:',\r\n 'contactEmail':'Contact Email:',\r\n //'doseEN':'COVID Clinic:',\r\n //'confidentialityP1EN':'',\r\n //'confidentialityP2EN':'',\r\n //'singleStarTAndC':'* For purposes of this Attachment A, this Immunization is a "Government Supplied COVID19 Immunization" which means that such COVID19 vaccines are (i) purchased by the United States government and (ii) made available to select vaccine providers where such supply is still available. The reimbursement rate for Government Supplied COVID19 Immunizations does not include the cost of the Immunization, but does include an administration fee and related taxes.',\r\n //'article2Heading':\"\",\r\n //'article2Text':\"

ARTICLE II
OFF-SITE CLINIC MINIMUMS

2.1  Client guarantees that the average minimum of Immunizations set forth in Table 2 will be administered to Participants at each of Client's Off-Site Clinic locations per contract year ("Site Minimum"). If the Site Minimum is not achieved for the contract year (determined by taking the total number of Immunizations administered at all Off-Site Clinics divided by the number of Off-Site Clinics locations in such contract year ("Site Average")), at Walgreens' discretion, Walgreens will invoice Client a fee for the difference between the Site Minimum and Site Average multiplied by the number of Off-Site Clinics. The sum of which will be multiplied by the lowest reimbursement rate set forth in Table 1 in Attachment A and Client shall pay such amount within 30 days of being invoiced by Walgreens. Fees related to this paragraph will be billed directly to Client and will not be used by either Party for billing to Third Party Payors.

\",\r\n //\"siteMinTextfluEN\":\"("Site Minimum"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n //\"siteMinTextEN\":\"("Site Minimum"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n //\"siteAvgTextEN\":\"("Site Average")), at Walgreens' discretion, it will invoice Client for the difference between the Site Minimum and Site Average multiplied by the number of off-site events. The sum of which will be multiplied by the lowest reimbursement rate set forth in table in Attachment A and Client shall pay such amount within 30 days of being invoiced by Walgreens.\",\r\n 'indemnificationTAndCChangedDate':'12/22/2020',\r\n 'universalContractReleaseDate':'06/06/2022',\r\n 'clinicFee': 'Clinic Fee:',\r\n 'participants': 'Participants:'\r\n }\r\n export const universalContractReleaseDate:string='04/22/2024';","export const UniversalTandCData2025: any =\r\n{\r\n \"english\":\"

This IMMUNIZATION SERVICE AGREEMENT  ("Agreement") by and between the party indicated below ("Client"), and Walgreen Co., on behalf of itself and its subsidiaries and affiliates ("Walgreens") is made and entered into on the date last signed by an authorized representative of both the Client and Walgreens (the "Effective Date"). Walgreens and Client may be individually referred to as a "Party" or collectively as the "Parties."

\",\r\n \"englishheader\":\"

For good and valuable consideration, the receipt and sufficiency of which are hereby acknowledged, Client and Walgreens, hereby agree that Walgreens will dispense and administer the immunizations as indicated in Attachment A ("Immunizations") according to the terms and conditions contained in Attachment B, to a participant population agreed to by the Parties ("Participants") at mutually agreed upon location(s). Attachments A and B, attached hereto and incorporated herein by reference, are made part of and subject to the Agreement and in no event shall any other attachments, alterations or revisions be applicable unless without the expressed written consent of Walgreens.

\",\r\n \"englishattachment\":\"

ATTACHMENT A

ARTICLE I

1.1  In accordance with the Agreement, for each Immunization administered by Walgreens under this Agreement, Walgreens will be entitled to the applicable reimbursement rates set forth in Table 1, plus any government imposed taxes, on such products or services, however styled, using the payment billing method agreed to by the Parties indicated below. In the event that the U.S. Food and Drug Administration ("FDA") approves an Immunization or issues an Emergency Use Authorization for an Immunization after the Effective Date and such Immunization is (i) available for purchase by Walgreens, or (ii) is made available to Walgreens to administer but not purchase, Walgreens has the right to notify Client of a new reimbursement rate or fee, or both, for such Immunization, which will be effective ten (10) days following Client’s receipt of the notice. In the event Client notifies Walgreens in writing that it objects to the new reimbursement rate or fee, or both, within the ten (10) day period, Walgreens may elect, in its sole discretion, to not administer the Immunization to Participants. Client acknowledges that the fees and reimbursement rates set forth in the Agreement are Walgreens’ Confidential Information and Client agrees not to disclose this information to any third-party other than as minimally necessary under the terms of this Agreement. Unless otherwise indicated below, the rates listed in Table 1 are inclusive of the cost of vaccine, dispensing fee, and administration fee.

\",\r\n \"imzen\":\"Immunization\",\r\n \"ImzVcnNameEn\": \"Immunization (Vaccine) Name\",\r\n \"PaymtBillMethodEn\":\"Payment Billing Method\",\r\n \"VoucherRatesEn\":\"Voucher Rates\",\r\n \"OffSiteClinicRatesEn\" : \"Off-Site Clinic Rates\",\r\n //“articleIIEN\":\"

ARTICLE II
CLINIC
FEES

2.1  Service Fee. In order to support a Clinic location, including allocating appropriate supplies and staffing arrangements at each Clinic, Client agrees to pay Walgreens the applicable service fee(s) set forth in Table 2 ("Service Fee") based on the estimated number of Participants for each separate Clinic location and event date. Client agrees to provide Walgreens’ designated contact with a written estimate of the number of Participants per Clinic location and date at least two weeks prior to the scheduled date of the first Clinic. Based on the written estimated provided by Client, Walgreens will invoice Client the applicable Service Fee for each completed Clinic, and Client shall pay Walgreens in full within thirty (30) days of receipt of the invoice. The Parties agree that Service Fee(s) will be billed directly to Client and neither Party will seek to recover Service Fee(s) from any Third Party Payors.

\",\r\n \"articleNoFeeIIEN\":\"

ARTICLE II
CLINIC
FEES

2.1  Service Fees are not applicable for this Agreement.


\",\r\n \"payen\":\"Payment\",\r\n \"clienten\":\"Client:\",\r\n \"nameen\":\"Name:\",\r\n \"eSignatureEN\": \"Signature:\",\r\n \"titleen\":\"Title:\",\r\n \"attentionen\": \"Attention\",\r\n \"address1en\":\"Address1\",\r\n \"address2en\":\"Address2\",\r\n \"cityen\":\"City\",\r\n \"stateen\":\"State\",\r\n \"zipcodeen\":\"Zip\",\r\n \"legalen\":\"Legal Notice Address\",\r\n \"clientinfoen\":\"Client Information:\",\r\n \"inWitnessWhereOffEN\":\"IN WITNESS WHEREOF,\",\r\n \"inWitnessWhereOff2ndLineEN\":\"Client and Walgreens have executed this Agreement.\",\r\n \"sendLegalNoticeToClientEN\":\"Legal Notice Address:\",\r\n \"sendLegalNoticeToWalgreensEN\":\"Legal Notice Address:\",\r\n \"wallGreensCommOffsiteTitle1EN\":\"ATTACHMENT B\",\r\n \"wallGreensCommOffsiteTitle2EN\":\"TERMS AND CONDITIONS\",\r\n \"wallGreensResponsibilitiesEN\":\" WALGREENS' RESPONSIBILITIES\",// deliberately extra space\r\n \"wallGreensResponsibilitiesPara1HeadingEN\":\"Immunizations\",\r\n \"wallGreensResponsibilitiesCvrdServicesEN\":\" Subject to limitations or restrictions imposed by federal and state contracts, laws, and regulations, and the availability of appropriate Immunizations, Walgreens will administer Immunizations to Participants either directly or through an authorized provider. The Parties agree to comply with all procedures set forth in this Agreement. When required by state law, Walgreens will require Participants to provide a valid prescription from their physician or allow the health care professional to contact their physician to obtain a valid prescription; however, for certain specific Immunizations, Walgreens may be responsible for obtaining standing orders from physicians. Participants will be required to complete a Walgreens vaccine administration record and consent form before receiving an Immunization.\",\r\n \"profJudgementHeadingEN\":\"Professional Judgment\",\r\n \"profJudgementTextEN\":\" Walgreens may withhold administration of Immunizations to a Participant for good cause, including but not limited to, Client’s or Participant’s (where applicable) failure to pay for Immunization, requests by Participant for services inconsistent with applicable legal requirements; or where, in the professional judgment of the health care professional, the services should not be rendered.\",\r\n //\"provHealthCrProfHdngEN\":\"Provision of Healthcare Professional\",\r\n //\"provHealthCrProfTextEN\":\" If the Parties agree in writing that Walgreens will administer Immunizations at locations outside of Walgreens' store locations ("Clinics"), Walgreens will provide Client with the appropriate number of qualified health care professionals and technicians to provide such immunizations at the Off-Site Clinic locations based upon and in reliance on Client's good-faith estimates of Participant volume. Any requests for additional personnel will be subject to mutual agreement by the Parties and may require additional agreed-upon fees to be paid by Client to Walgreens in accordance with this Agreement.\",\r\n \"clientsResponsibilitesEN\":\"CLIENT'S RESPONSIBILITIES\",\r\n \"vouchersHeadingEN\":\"Vouchers\",\r\n \"vouchersTextEN\":\" If the Parties agree in writing that Walgreens will administer Immunizations upon receipt of a Walgreens approved voucher issued to Participants by Client ("Vouchers"), Client will provide each Participant with a Voucher, and the Participant may redeem the Voucher at a participating Walgreens retail store location. Once the Voucher is approved by both Parties it may not be modified. Client may not rescind, retract, reduce or deny payment owed to Walgreens for claims where Immunizations were provided to its Participants, even if Client no longer considers the individual presenting the Voucher to be a Participant.\",\r\n \"offSiteLocationEN\":\"Clinic Locations.\",\r\n \"importantEN\":\"IMPORTANT\",\r\n \"offSiteLocationText1EN\":\" If the Parties agree in writing that Walgreens will administer Immunizations at agreed upon locations outside of Walgreens’ retail store locations ("Clinics"), Walgreens will provide Client with the appropriate number of qualified health care professionals and/or technicians to provide Immunizations at the Clinics based upon and in reliance on Client’s good-faith estimates of Participant volume. Furthermore, Client will communicate to Participants the dates, times and locations for such Clinics. At all Clinics, Client will provide a private, clean room location, tables and chairs for Walgreens’ personnel and Participants. Where applicable, Client agrees to assist Walgreens in the collection of Participants’ Third Party Payors (defined below) eligibility information and any additional reasonably requested information, in order to help expedite the delivery of Immunizations.\",\r\n //\"eligibleParticipantsEN\":\"Eligible Participants.\",\r\n //\"eligibleParticipantsTextEN\":\" The Parties acknowledge specific populations may have been designated by the applicable Federal, State, or local authorities ("Jurisdiction") to be eligible for certain Immunizations. Client represents Participants receiving Immunizations under this Agreement are eligible to receive Immunizations based on the applicable Jurisdiction's requirements and at no time will Client allow a Participant to receive Immunizations under this Agreement until eligible under the applicable Jurisdiction's criteria. The Parties agree that when providing Immunizations, Walgreens will act in good faith reliance as it relates to Client's determination of Participants' eligibility in each Jurisdiction.\",\r\n \"pmtAndBIllingEN\":\"PAYMENT AND BILLING\",\r\n \"paymentEN\":\"Payment.\",\r\n \"paymentTextEN\":\"3.1 Payment. Walgreens will invoice Client for Immunizations administered to Participants (including any applicable fees as listed in Attachment A) and Client will pay all invoices in full within thirty (30) days from receipt. Payments will be made to the remittance address set forth on the invoice. However, in the event the Parties agree in writing, solely for those amounts listed in Article I of Attachment A, and (i) Participant provides evidence of coverage under third-party insurance or a government funded program (e.g., Medicare) ("Third Party Payor") prior to the provision of Immunizations; and (ii) Walgreens is contracted with that Third Party Payor, Walgreens, will, except as otherwise stated herein, submit the claim for Immunizations to the Participant’s Third Party Payor, and any copayment, coinsurance, deductible owed by the Participant will be collected at the time of service or billed at a later date. If evidence of coverage by a Third Party Payor is not provided by a Participant at the time of service or a claim for reimbursement is denied by a Third Party Payor, Client will reimburse Walgreens for all Immunizations administered to the Participant.\",\r\n \"latePaymentEN\":\"Late Payment.\",\r\n \"latePaymentTextEN\":\" All sums owed by Client to Walgreens will bear interest of 1.5% per month from the date payment is due until paid; however, in no event will such interest rate be greater than the rate permitted by law. Client shall be solely responsible for any and all costs incurred by Walgreens in seeking collection of any delinquent amounts owed by Client. Walgreens may invoice Client for interest and costs due under this Section on a monthly basis and payment will be due within thirty (30) days from receipt.\",\r\n \"costIncreaseEN\":\"Cost Increase.\",\r\n \"costIncreasetextEN\":\" If the Wholesale Acquisition Cost ("WAC") or Average Wholesale Price ("AWP") for any Immunization increased by 2.0% or greater during the term of this Agreement, Walgreens has the right to increase the contracted reimbursement rate of the Immunization by the same proportion as the WAC or AWP increase. The new rate will be effective ten (10) days following Client’s receipt of the rates unless Client notifies Walgreens that it does not agree to the adjusted rates within the ten (10) day period, in which case Walgreens may discontinue providing services for those Immunizations.\",\r\n \"termAndTermCapsEN\":\"TERM AND TERMINATION\",\r\n \"termAndTermEN\":\"Term and Termination\",\r\n \"termAndTermTextEN\":\" This Agreement will become effective on the Effective Date and shall continue in full force and effect for an initial term of one (1) year. Upon expiration of the initial term, this Agreement will automatically renew for successive one (1) year terms at the then current Walgreens reimbursement rates in effect for Immunizations, which will be made available upon request. Either Party may terminate this Agreement at any time without cause by giving at least thirty (30) days’ prior written notice to the other Party.\",\r\n \"effectAndTerminiationEN\":\"Effect of Termination\",\r\n \"effectAndTerminiationTextEN\":\" Termination will have no effect upon the rights or obligations of the Parties arising out of any transactions occurring prior to the effective date of such termination.\",\r\n \"waiverEN\":\"Waiver\",\r\n \"waiverTextEN\":\" The waiver by either Party of a breach or violation of any provision of this Agreement shall not operate as or be construed to be a waiver of any subsequent breach or violation thereof.\",\r\n \"insurAndIndemnifyEN\":\"INSURANCE AND INDEMNIFICATION \",\r\n \"insuranceEN\":\"Insurance\",\r\n \"insuranceTextEN\":\" Each Party will self-insure or maintain at its sole expense, and in amounts consistent with industry standards, insurance for general and professional liability and such other insurance as may be necessary to insure the Party, its employees, and agents against any claim or claims for damages arising out of or in connection with its duties and obligations under this Agreement. Upon request from Walgreens, Client will provide a memorandum of insurance or certificate of insurance. Walgreens' insurance information is available at www.walgreens.com/insurance.\",\r\n \"indemnificationEN\":\"Indemnification\",\r\n \"indemnificationTextEN\":\" To the extent permitted by law, each Party will indemnify, defend, and hold harmless the other Party, including its employees and agents, from and against any and all third-party claims or liabilities arising from the negligence or willful misconduct of the indemnifying Party, its employees, or agents in carrying out its duties, obligations, representations, warranties and covenants under the terms of this Agreement. EXCEPT FOR ANY EXPRESS WARRANTIES SET FORTH IN THIS AGREEMENT, THE PARTIES HEREBY DISCLAIM ANY IMPLIED WARRANTIES OF ANY KIND, INCLUDING WARRANTY OF MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. In no event shall either Party be liable to the other Party for any indirect, special, or consequential damages or lost profits, arising out of or related to performance of this Agreement or a breach of this Agreement, even if advised of the possibility of such damages or lost profits. Notwithstanding the foregoing, the Parties agree that Walgreens is not liable for activities covered by the Public Readiness and Emergency Preparedness (PREP) Act, and the foregoing obligations of indemnity shall not apply to Walgreens for any claims or liabilities arising out of activities covered by the PREP Act or any other applicable laws related to vaccines and/or health care providers. This Section will survive the termination of this Agreement.\",\r\n \"generalTermsEN\":\" GENERAL TERMS \",// deliberately extra space\r\n \"businessConfidentialityEN\":\"Business Confidentiality.\",\r\n \"businessConfidentialityTextEN\":\" The Parties acknowledge that certain proprietary or confidential business information may be disclosed between the Parties ("Confidential Information"). Each Party will maintain the confidentiality of all Confidential Information, including, without limitation, implementing those precautions the Party employs with respect to its own Confidential Information and disclosing Confidential Information only to those employees who have a need to know in order to effectuate the purpose(s) of this Agreement or to maintain compliance with applicable laws. In no event will either Party use the other Party’s Confidential Information to benefit itself or others, except as otherwise not prohibited under this Agreement. Confidential Information shall not include information: (i) generally known to the public or the industry without breach of this Agreement; (ii) independently developed by the receiving Party; (iii) known to or in the possession of the receiving Party prior to the disclosure pursuant to this Agreement; (iv) disclosed to the receiving Party by a third party without the confidentiality obligations set forth herein; or (v) required to be disclosed by any court or government agency; provided however, to the extent allowed by law, the receiving Party shall provide written notice of such planned disclosure to the disclosing Party allowing reasonable time for the disclosing Party to raise any objections to such disclosure. Each Party acknowledges that disclosure of the other Party’s Confidential Information would cause the other Party irreparable harm and may, without limiting the remedies available for such breach, be enjoined at the instance of the harmed Party. This Section will survive the termination of this Agreement.\",\r\n \"confidentialityEN\":\"Confidentiality of Protected Health Information\",\r\n \"confidentialityTextEN\":\" The Parties agree to protect and respect each Participant’s right to privacy and confidentiality concerning their medical and pharmaceutical records, and to protect all individually identifiable health information as protected health information from misuse or disclosure, in compliance with all applicable state and federal laws, including the Health Insurance Portability and Accountability Act of 1996. Without limiting the generality of the foregoing, the Parties agree to use Participant-specific information: (i) only for permitted treatment, billing and related record-keeping purposes; or (ii) as otherwise permitted by law. Failure by either Party to abide by these requirements shall be a basis for immediate termination of this Agreement. Nothing herein will limit either Party’s use of any de-identified Participant information. This Section will survive the termination of this Agreement.\",\r\n \"AdvertisingEN\":\"Advertising\",\r\n \"AdvertisingTextEN\":\" Neither Party may advertise or use any trademarks, service marks, or symbols of the other Party without first receiving the written consent of the Party owning the mark and/or symbol with the following exceptions: Client may use the name and the addresses of Walgreens locations in materials to inform Participants that Walgreens provides Immunizations. Any other reference to Walgreens in any Client materials must be pre-approved, in writing, by Walgreens.\",\r\n \"frcMajEN\":\"Force Majeure\",\r\n \"frcMajTextEN\":\" The performance by either Party hereunder will be excused to the extent of circumstances beyond such Party's reasonable control, such as flood, tornado, earthquake, or other natural disaster, epidemic, pandemic, war, material destruction of facilities, fire, acts of terrorism, acts of God, etc. In such event, the Parties will use their best efforts to resume performance as soon as reasonably possible under the circumstances.\",\r\n \"complianceEN\":\"Compliance\",\r\n \"complianceTextEN\":\" Each Party agrees to comply with all applicable federal, state and local laws, rules, and regulations for each territory in which Immunizations are provided under this Agreement. Each Party will cooperate with reasonable requests by the other Party for information that is needed for its compliance with applicable laws, rules, and/or regulations. \",\r\n \"assignmentEN\":\"Assignment\",\r\n \"assignmentTextEN\":\" Neither Party may assign this Agreement to a third-party without the prior written consent of the other Party, except that either Party will have the right to assign this Agreement to any direct or indirect parent, subsidiary or affiliated company or to a successor company without such consent. Any permitted assignee will assume all obligations of its assignor under this Agreement. No assignment will relieve any Party of responsibility for the performance of any obligations which have already occurred. This Agreement will inure to the benefit of and be binding upon each Party, its respective successors and permitted assignees.\",\r\n \"thirdPartyRightsEN\":\"Third Party Rights\",\r\n \"thirdPartyRightsTextEN\":\" This Agreement is solely between Walgreens and Client and may not be construed to create any rights or remedies in favor of any third party, including, but not limited to, any Participant.\",\r\n \"noticesEN\":\"Notices\",\r\n \"noticesTextEN\":\" All notices provided for herein must be in writing, sent by U.S. certified mail, return receipt requested, postage prepaid, or by overnight delivery service providing proof of receipt to the address set forth following the signature blocks. Notices will be deemed delivered upon receipt or upon refusal to accept delivery.\",\r\n \"entireAgrEN\":\"Entire Agreement\",\r\n \"entireAgrTextEN\":\" This Agreement, which includes any and all attachments, exhibits, riders, and other documents referenced herein, constitutes the entire and full agreement between the Parties relating to the subject matter herein and supersedes any previous contract, and except as otherwise permitted hereunder, no changes, amendments, or alterations will be effective unless reduced to a writing signed by a representative of each Party. Any prior agreements, documents, understandings, or representations relating to the subject matter of this Agreement not expressly set forth herein or referred to or incorporated herein by reference are of no force or effect.\",\r\n \"counterPartsHeadingEN\":\"Counterparts\",\r\n \"counterPartsTextEN\":\" This Agreement may be executed in two or more counterparts, each of which together shall be deemed an original, and all of which together shall constitute one and the same instrument. Execution and delivery of this Agreement may be completed electronically through facsimile, digitally or by .pdf file and any such electronic signature contained therein, shall create a valid and binding obligation of the Party executing it, having the same effect as if the original handwritten signature had been signed and delivered to the other Party.\",\r\n //\"rightsEN\":\"All rights reserved.\",\r\n \"approveAgrmntEN\":\"Approve Agreement\",\r\n \"approveTextEN\":\"Carefully review the Community Off-Site Agreement. If you agree to the conditions of the contract, please check ‘Approve' below and type your name into the Electronic Signature field. If there are any discrepancies in the Agreement, reject the Agreement and provide corrections in the notes field.\",\r\n \"electrSignEN\":\"Electronic Signature\",\r\n \"notesEN\":\"Notes:\",\r\n \"pageTitleEN\":\"\",\r\n \"dateEN\":\"Date:\",\r\n \"districtEN\":\"District#:\",\r\n \"approveEN\":\"Approve\",\r\n \"rejectEN\":\"Request Changes\",\r\n \"submitEN\":\"Submit\",\r\n \"cancelEN\":\"Cancel\",\r\n \"printAgreementEN\":\"Print Agreement\",\r\n \"clinicLocationEN\":\"Clinic Location:\",\r\n \"clinicDateEN\":\"Clinic Date:\",\r\n \"clinicTimeEN\":\"Clinic Time:\",\r\n \"contactEN\":\"Contact:\",\r\n \"phoneEN\":\"Phone:\",\r\n \"estShotsEN\":\"Est. Shots\",\r\n \"locationEN\":\"Location:\",\r\n \"timeEN\":\"Time:\",\r\n \"emailEN\":\"Email:\",\r\n \"emailAgreementToEN\":\"Email Agreement to:\",\r\n \"multipleEmailAddressEN\":'Multiple email addresses may be entered by placing a comma between addresses.',\r\n \"sendAgreementEN\":\"SEND AGREEMENT\",\r\n \"editAgreementEN\":'EDIT AGREEMENT',\r\n \"saveAgreementEN\":\"SAVE AGREEMENT\",\r\n \"noteTextEN\":\"* Please note, once a contract has been signed by the client, it cannot be edited.\",\r\n \"printAgreementTxtCapsEN\":\"PRINT AGREEMENT\",\r\n \"table1EN\":'Table I',\r\n \"attnEN\":\"Attn\",\r\n \"fluExpiryDateEN\":\"Flu Exp. Date:\",\r\n \"routineExpiryDateEN\":\"Routine Exp. Date:\",\r\n \"sendInvoiceToEN\":'Send Invoice to:',\r\n 'isTaxExemptEN':'Is Employer Tax Exempt?',\r\n //'isCopayEN':'Will patient pay the portion of the cost. Is there a copay?',\r\n 'voucherNeededEN':'Voucher Needed:',\r\n 'voucherExpiryEN':'Expiration Date:',\r\n //'copayValueEN':'Copay Value:',\r\n //'influenzaSeasonText1EN':'per influenza season (August – April)',\r\n //'contractYearText1EN':'per contract year',\r\n //'influenzaSeasonText2EN':'influenza season',\r\n //'contractYearText2EN':'contract year',\r\n 'contactName':'Contact Name:',\r\n 'contactPhone':'Contact Phone:',\r\n 'contactEmail':'Contact Email:',\r\n //'doseEN':'COVID Clinic:',\r\n //'confidentialityP1EN':'',\r\n //'confidentialityP2EN':'',\r\n //'singleStarTAndC':'* For purposes of this Attachment A, this Immunization is a "Government Supplied COVID19 Immunization" which means that such COVID19 vaccines are (i) purchased by the United States government and (ii) made available to select vaccine providers where such supply is still available. The reimbursement rate for Government Supplied COVID19 Immunizations does not include the cost of the Immunization, but does include an administration fee and related taxes.',\r\n //'article2Heading':\"\",\r\n //'article2Text':\"

ARTICLE II
OFF-SITE CLINIC MINIMUMS

2.1  Client guarantees that the average minimum of Immunizations set forth in Table 2 will be administered to Participants at each of Client's Off-Site Clinic locations per contract year ("Site Minimum"). If the Site Minimum is not achieved for the contract year (determined by taking the total number of Immunizations administered at all Off-Site Clinics divided by the number of Off-Site Clinics locations in such contract year ("Site Average")), at Walgreens' discretion, Walgreens will invoice Client a fee for the difference between the Site Minimum and Site Average multiplied by the number of Off-Site Clinics. The sum of which will be multiplied by the lowest reimbursement rate set forth in Table 1 in Attachment A and Client shall pay such amount within 30 days of being invoiced by Walgreens. Fees related to this paragraph will be billed directly to Client and will not be used by either Party for billing to Third Party Payors.

\",\r\n //\"siteMinTextfluEN\":\"("Site Minimum"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n //\"siteMinTextEN\":\"("Site Minimum"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n //\"siteAvgTextEN\":\"("Site Average")), at Walgreens' discretion, it will invoice Client for the difference between the Site Minimum and Site Average multiplied by the number of off-site events. The sum of which will be multiplied by the lowest reimbursement rate set forth in table in Attachment A and Client shall pay such amount within 30 days of being invoiced by Walgreens.\",\r\n 'indemnificationTAndCChangedDate':'12/22/2020',\r\n 'universalContractReleaseDate':'06/06/2022',\r\n 'clinicFee': 'Clinic Fee:',\r\n 'participants': 'Participants:'\r\n }\r\n export const universalContractReleaseDate:string='03/03/2025';\r\n","export const UniversalTandCData: any =\r\n{\r\n \"spanish\":\"

This IMMUNIZATION SERVICE AGREEMENT  (\\\"Agreement\\\") by and between the party indicated below (\\\"Client\\\"), and Walgreen Co., on behalf of itself and its subsidiaries and affiliates (\\\"Walgreens\\\") is made and entered into on the date last signed by an authorized representative of both the Client and Walgreens (the \\\"Effective Date\\\"). Walgreens and Client may be individually referred to as a \\\"Party\\\" or collectively as the \\\"Parties.\\\"

\",\r\n \"header\":\"

For good and valuable consideration, the receipt and sufficiency of which are hereby acknowledged, Client and Walgreens, hereby agree Walgreens will provide the immunizations indicated in Attachment A, attached hereto and incorporated herein, consisting of dispensing and administering of such immunizations (\\\"Immunizations\\\") to a participant population agreed to by the parties (\\\"Participants\\\") at mutually agreed upon location(s).

\",\r\n \"englishattachment\":\"

ATTACHMENT A

ARTICLE 1

1.1  In accordance with the Agreement, for each Immunization administered whether through a Voucher or at an Off-Site Clinic(s), Walgreens will be entitled to reimbursement at the rates set forth in Table 1, below. Client acknowledges that the fees and rates set forth in the Agreement are Walgreens’ Confidential Information and Client agrees not to disclose this information to any third-party other than as minimally necessary under the terms of this Agreement. Unless otherwise indicated below, the rates listed in Table 1 are inclusive of the cost of vaccine, dispensing fee, administration fee and any applicable taxes imposed in connection with Immunizations.

\",\r\n \"imzsp\":\"Immunization\",\r\n \"paymentsp\":\"Payment\",\r\n \"ratessp\":\"Rate\",\r\n \"imzen\":\"Immunization\",\r\n \"payen\":\"Payment\",\r\n \"ratesen\":\"Rate\",\r\n \"english\":\"

This IMMUNIZATION SERVICE AGREEMENT  (\\\"Agreement\\\") by and between the party indicated below (\\\"Client\\\"), and Walgreen Co., on behalf of itself and its subsidiaries and affiliates (\\\"Walgreens\\\") is made and entered into on the date last signed by an authorized representative of both the Client and Walgreens (the \\\"Effective Date\\\"). Walgreens and Client may be individually referred to as a \\\"Party\\\" or collectively as the \\\"Parties.\\\"

\",\r\n \"englishheader\":\"

For good and valuable consideration, the receipt and sufficiency of which are hereby acknowledged, Client and Walgreens, hereby agree Walgreens will provide the immunizations indicated in Attachment A, attached hereto and incorporated herein, consisting of dispensing and administering of such immunizations (\\\"Immunizations\\\") to a participant population agreed to by the parties (\\\"Participants\\\") at mutually agreed upon location(s).

\",\r\n //\"englishattachment\":\"

ATTACHMENT A

For each Covered Service whether through a voucher, at an off-site location or both, Walgreens will be entitled to reimbursement at the rates set forth in Table 1, below. Client acknowledges that the reimbursement rates set forth herein are Walgreens’ confidential and proprietary information and Client agrees not to disclose the rates to any third-party other than as minimally necessary under the terms of this Agreement. Unless otherwise indicated below, the rates listed in this Attachment A are inclusive of the cost of vaccine, dispensing fee, administration fee and any applicable taxes imposed in connection with Covered Services. For purposes of this Attachment A, \\\"Government Supplied COVID-19 Vaccine\\\" means that the United States government has acquired the COVID-19 vaccine and is making these publicly funded vaccines available to select vaccine providers.

\",\r\n \"clientsp\":\"CLIENTE:\",\r\n \"namesp\":\"NOMBRE:\",\r\n \"titlesp\":\"TÍTULO:\",\r\n \"clienten\":\"Business Name:\",\r\n \"nameen\":\"Name:\",\r\n \"eSignatureSP\": \"eSig:\",\r\n \"eSignatureEN\": \"eSig:\",\r\n \"titleen\":\"Title:\",\r\n \"attentionsp\": \"Atención\",\r\n \"address1sp\": \"Dirección 1\",\r\n \"address2sp\": \"Dirección 2\",\r\n \"citysp\": \"Ciudad\",\r\n \"statesp\": \"Estado\",\r\n \"zipcodesp\": \"Código Postal:\",\r\n \"attentionen\": \"Attention\",\r\n \"address1en\":\"Address1\",\r\n \"address2en\":\"Address2\",\r\n \"cityen\":\"City\",\r\n \"stateen\":\"State\",\r\n \"zipcodeen\":\"Zip\",\r\n \"legalsp\":\"Envíele Avisos Legales al Cliente A\",\r\n \"clientinfosp\":\"Vigencia\",\r\n \"legalen\":\"Send Legal Notice To Client At\",\r\n \"clientinfoen\":\"Client Information:\",\r\n \"inWitnessWhereOffEN\":\"IN WITNESS WHEREOF,\",\r\n \"inWitnessWhereOffSP\": \"IN WITNESS WHEREOF,\",\r\n \"inWitnessWhereOff2ndLineEN\":\"Client and Walgreens have executed this Agreement.\",\r\n \"inWitnessWhereOff2ndLineSP\":\"Client and Walgreens have executed this Agreement.\",\r\n \"sendLegalNoticeToClientEN\":\"Send Legal Notice To Client At:\",\r\n \"sendLegalNoticeToClientSP\":\"Envíele Avisos Legales al Cliente A:\",\r\n \"sendLegalNoticeToWalgreensEN\":\"Send Legal Notice To Walgreens At:\",\r\n \"sendLegalNoticeToWalgreensSP\":\"Envíele Avisos Legales al Walgreens A:\",\r\n \"wallGreensCommOffsiteTitle1EN\":\"WALGREENS COMMUNITY OFF-SITE CLINIC AGREEMENT\",\r\n \"wallGreensCommOffsiteTitle1SP\":\"WALGREENS CONTRATO DE CLÍNICA AMBULATORIA COMUNITARIA\",\r\n \"wallGreensCommOffsiteTitle2EN\":\"TERMS AND CONDITIONS\",\r\n \"wallGreensCommOffsiteTitle2SP\":\"TERMS AND CONDITIONS\",\r\n \"wallGreensResponsibilitiesEN\":\" WALGREENS’ RESPONSIBILITIES\",// deliberately extra space\r\n \"wallGreensResponsibilitiesSP\":\" WALGREENS’ RESPONSIBILITIES\",\r\n \"wallGreensResponsibilitiesPara1HeadingEN\":\"Immunizations\",\r\n \"wallGreensResponsibilitiesPara1HeadingSP\":\"Immunizations\",\r\n \"wallGreensResponsibilitiesCvrdServicesEN\":\" Subject to the limitations or restrictions imposed by federal and state contracts, laws, and regulations, and the availability of the appropriate Immunization, Walgreens will administer the Immunizations to Participants either directly or through an authorized provider. With respect to such Immunizations, the Parties will comply with the procedures set forth herein. When required by state law, Walgreens will require Participants to provide a valid prescription from their physician or allow the health care professional to contact their physician to obtain a valid prescription; however, for certain specific Immunizations, Walgreens may be responsible for obtaining standing orders from physicians. Participants will be required to complete a Walgreens’ vaccine administration record and consent form before receiving an Immunization.\",\r\n \"wallGreensResponsibilitiesCvrdServicesSP\":\" Subject to the limitations or restrictions imposed by federal and state contracts, laws, and regulations, and the availability of the appropriate Immunization, Walgreens will administer the Immunizations to Participants either directly or through an authorized provider. With respect to such Immunizations, the Parties will comply with the procedures set forth herein. When required by state law, Walgreens will require Participants to provide a valid prescription from their physician or allow the health care professional to contact their physician to obtain a valid prescription; however, for certain specific Immunizations, Walgreens may be responsible for obtaining standing orders from physicians. Participants will be required to complete a Walgreens’ vaccine administration record and consent form before receiving an Immunization.\",\r\n \"profJudgementHeadingEN\":\"Professional Judgment\",\r\n \"profJudgementHeadingSP\":\"Professional Judgment\",\r\n \"profJudgementTextEN\":\" Walgreens may withhold administration of Immunizations to a Participant for good cause, including but not limited to, Client’s or Participant’s (where applicable) failure to pay for Immunization, requests by Participant for services inconsistent with the legal and regulatory requirements; or where, in the professional judgment of the health care professional, the services should not be rendered.\",\r\n \"profJudgementTextSP\":\" Walgreens may withhold administration of Immunizations to a Participant for good cause, including but not limited to, Client’s or Participant’s (where applicable) failure to pay for Immunization, requests by Participant for services inconsistent with the legal and regulatory requirements; or where, in the professional judgment of the health care professional, the services should not be rendered.\",\r\n \"provHealthCrProfHdngEN\":\"Provision of Healthcare Professional\",\r\n \"provHealthCrProfHdngSP\":\"Provision of Healthcare Professional\",\r\n \"provHealthCrProfTextEN\":\" If the Parties agree in writing that Walgreens will administer Immunizations at locations outside of Walgreens’ store locations (\\\"Off-Site Clinics\\\"), Walgreens will provide Client with the appropriate number of qualified health care professionals and technicians to provide such immunizations at the Off-Site Clinic locations based upon and in reliance on Client’s good-faith estimates of Participant volume. Any requests for additional personnel will be subject to mutual agreement by the Parties and may require additional agreed-upon fees to be paid by Client to Walgreens in accordance with this Agreement.\",\r\n \"provHealthCrProfTextSP\":\" If the Parties agree in writing that Walgreens will administer Immunizations at locations outside of Walgreens’ store locations (\\\"Off-Site Clinics\\\"), Walgreens will provide Client with the appropriate number of qualified health care professionals and technicians to provide such immunizations at the Off-Site Clinic locations based upon and in reliance on Client’s good-faith estimates of Participant volume. Any requests for additional personnel will be subject to mutual agreement by the Parties and may require additional agreed-upon fees to be paid by Client to Walgreens in accordance with this Agreement.\",\r\n \"clientsResponsibilitesEN\":\"CLIENT’S RESPONSIBILITIES\",\r\n \"clientsResponsibilitesSP\":\"CLIENT’S RESPONSIBILITIES\",\r\n \"vouchersHeadingEN\":\"Vouchers\",\r\n \"vouchersHeadingSP\":\"Vouchers\",\r\n \"vouchersTextEN\":\" If the Parties agree in writing that Walgreens will administer Immunizations upon receipt of a Walgreens’ approved voucher issued to Participants by Client (\\\"Vouchers\\\"), Client will provide Participants with a Voucher, which Participants may redeem at a participating Walgreens store location. Once the voucher is approved by both Parties it may not be modified. Client may not rescind, retract, reduce or deny payment owed to Walgreens for claims where Immunizations were provided to its Participants, even if Client no longer considers the individual presenting the Voucher to be a Participant.\",\r\n \"vouchersTextSP\":\" If the Parties agree in writing that Walgreens will administer Immunizations upon receipt of a Walgreens’ approved voucher issued to Participants by Client (\\\"Vouchers\\\"), Client will provide Participants with a Voucher, which Participants may redeem at a participating Walgreens store location. Once the voucher is approved by both Parties it may not be modified. Client may not rescind, retract, reduce or deny payment owed to Walgreens for claims where Immunizations were provided to its Participants, even if Client no longer considers the individual presenting the Voucher to be a Participant.\",\r\n \"offSiteLocationEN\":\"Off-Site Clinic Locations.\",\r\n \"offSiteLocationSP\":\"Off-Site Clinic Locations.\",\r\n \"importantEN\":\"IMPORTANT\",\r\n \"importantSP\":\"IMPORTANT\",\r\n \"offSiteLocationText1EN\":\" If the Parties agree in writing, that Walgreens will administer Immunizations at Off-Site Clinics, Client will provide Participants with notice of the dates, times and locations for such Off-Site Clinics. For all Off-Site Clinics, Client will provide a private, clean room location, tables and chairs for Walgreens’ personnel and Participants. Where applicable, Client agrees to assist Walgreens in the collection of Participants’ Third Party Payors (defined below) eligibility information and any additional reasonably requested information, in order to help expedite the delivery of Immunizations.\",\r\n \"offSiteLocationText1SP\":\" If the Parties agree in writing, that Walgreens will administer Immunizations at Off-Site Clinics, Client will provide Participants with notice of the dates, times and locations for such Off-Site Clinics. For all Off-Site Clinics, Client will provide a private, clean room location, tables and chairs for Walgreens’ personnel and Participants. Where applicable, Client agrees to assist Walgreens in the collection of Participants’ Third Party Payors (defined below) eligibility information and any additional reasonably requested information, in order to help expedite the delivery of Immunizations.\",\r\n \"eligibleParticipantsEN\":\"Eligible Participants.\",\r\n \"eligibleParticipantsSP\":\"Eligible Participants.\",\r\n \"eligibleParticipantsTextEN\":\" The Parties acknowledge specific populations may have been designated by the applicable Federal, State, or local authorities (\\\"Jurisdiction\\\") to be eligible for certain Immunizations. Client represents Participants receiving Immunizations under this Agreement are eligible to receive Immunizations based on the applicable Jurisdiction’s requirements and at no time will Client allow a Participant to receive Immunizations under this Agreement until eligible under the applicable Jurisdiction’s criteria. The Parties agree that when providing Immunizations, Walgreens will act in good faith reliance as it relates to Client’s determination of Participants’ eligibility in each Jurisdiction.\",\r\n \"eligibleParticipantsTextSP\":\" The Parties acknowledge specific populations may have been designated by the applicable Federal, State, or local authorities (\\\"Jurisdiction\\\") to be eligible for certain Immunizations. Client represents Participants receiving Immunizations under this Agreement are eligible to receive Immunizations based on the applicable Jurisdiction’s requirements and at no time will Client allow a Participant to receive Immunizations under this Agreement until eligible under the applicable Jurisdiction’s criteria. The Parties agree that when providing Immunizations, Walgreens will act in good faith reliance as it relates to Client’s determination of Participants’ eligibility in each Jurisdiction.\",\r\n \"pmtAndBIllingEN\":\"PAYMENT AND BILLING\",\r\n \"pmtAndBIllingSP\":\"PAYMENT AND BILLING\",\r\n \"paymentEN\":\"Payment.\",\r\n \"paymentSP\":\"Payment.\",\r\n \"paymentTextEN\":\"3.1 Payment. For Immunizations (listed in Attachment A), Walgreens will invoice Client for said immunizations (including any applicable fees as listed in Attachment A) and Client agrees to reimburse Walgreens within thirty (30) days from receipt of the applicable monthly invoice at the remittance address located on the invoice. However, in the event the Parties agree in writing and where: (i) Participant provides evidence of coverage under third-party insurance or a government funded program (e.g., Medicare) (\\\"Third Party Payor\\\") prior to the provision of Immunizations; and (ii) Walgreens is contracted with that Third Party Payor, Walgreens, unless otherwise stated herein will submit the claim for Immunizations to that Participant’s Third Party Payor, and any copayment, coinsurance, deductible owed by the Participant will be collected at the time of service or billed at a later date. If evidence of coverage under a Third Party Payor is not provided at the time of service or a claim for reimbursement is denied by a Third Party Payor, the Parties agree that Walgreens may seek reimbursement from the Client.\",\r\n \"paymentTextSP\":\"3.1 Payment. For Immunizations (listed in Attachment A), Walgreens will invoice Client for said immunizations (including any applicable fees as listed in Attachment A) and Client agrees to reimburse Walgreens within thirty (30) days from receipt of the applicable monthly invoice at the remittance address located on the invoice. However, in the event the Parties agree in writing and where: (i) Participant provides evidence of coverage under third-party insurance or a government funded program (e.g., Medicare) (\\\"Third Party Payor\\\") prior to the provision of Immunizations; and (ii) Walgreens is contracted with that Third Party Payor, Walgreens, unless otherwise stated herein will submit the claim for Immunizations to that Participant’s Third Party Payor, and any copayment, coinsurance, deductible owed by the Participant will be collected at the time of service or billed at a later date. If evidence of coverage under a Third Party Payor is not provided at the time of service or a claim for reimbursement is denied by a Third Party Payor, the Parties agree that Walgreens may seek reimbursement from the Client.\",\r\n \"latePaymentEN\":\"Late Payment.\",\r\n \"latePaymentSP\":\"Late Payment.\",\r\n \"latePaymentTextEN\":\" All sums owed by Client to Walgreens will bear interest of 1.5% per month from the date payment is due until paid; however, in no event will such interest rate be greater than the rate permitted by law. Client shall be solely responsible for any and all costs incurred by Walgreens in seeking collection of any delinquent amounts owed by Client. Walgreens may invoice Client for interest and costs due under this Section on a monthly basis and payment will be due within thirty (30) days from receipt.\",\r\n \"latePaymentTextSP\":\" All sums owed by Client to Walgreens will bear interest of 1.5% per month from the date payment is due until paid; however, in no event will such interest rate be greater than the rate permitted by law. Client shall be solely responsible for any and all costs incurred by Walgreens in seeking collection of any delinquent amounts owed by Client. Walgreens may invoice Client for interest and costs due under this Section on a monthly basis and payment will be due within thirty (30) days from receipt.\",\r\n \"termAndTermCapsEN\":\"TERM AND TERMINATION\",\r\n \"termAndTermCapsSP\":\"TERM AND TERMINATION\",\r\n \"termAndTermEN\":\"Term and Termination\",\r\n \"termAndTermSP\":\"Term and Termination\",\r\n \"termAndTermTextEN\":\" This Agreement will become effective on the Effective Date and shall continue in full force and effect for an initial term of one (1) year. Upon expiration of the initial term, this Agreement will automatically renew for successive one (1) year terms at the then current Walgreens rates in effect for Immunizations, which will be made available upon request. Either Party may terminate this Agreement at any time without cause by giving at least thirty (30) days’ prior written notice to the other Party.\",\r\n \"termAndTermTextSP\":\" This Agreement will become effective on the Effective Date and shall continue in full force and effect for an initial term of one (1) year. Upon expiration of the initial term, this Agreement will automatically renew for successive one (1) year terms at the then current Walgreens rates in effect for Immunizations, which will be made available upon request. Either Party may terminate this Agreement at any time without cause by giving at least thirty (30) days’ prior written notice to the other Party.\",\r\n \"effectAndTerminiationEN\":\"Effect of Termination\",\r\n \"effectAndTerminiationSP\":\"Effect of Termination\",\r\n \"effectAndTerminiationTextEN\":\" Termination will have no effect upon the rights or obligations of the Parties arising out of any transactions occurring prior to the effective date of such termination.\",\r\n \"effectAndTerminiationTextSP\":\" Termination will have no effect upon the rights or obligations of the Parties arising out of any transactions occurring prior to the effective date of such termination.\",\r\n \"waiverEN\":\"Waiver\",\r\n \"waiverSP\":\"Waiver\",\r\n \"waiverTextEN\":\" No waiver by either Party with respect to any breach or default of any right or remedy and no course of dealing may be deemed to constitute a continuous waiver of any other breach or default or of any other right or remedy unless such waiver is expressed in writing by the Party to be bound.\",\r\n \"waiverTextSP\":\" No waiver by either Party with respect to any breach or default of any right or remedy and no course of dealing may be deemed to constitute a continuous waiver of any other breach or default or of any other right or remedy unless such waiver is expressed in writing by the Party to be bound.\",\r\n \"insurAndIndemnifyEN\":\"INSURANCE AND INDEMNIFICATION \",\r\n \"insurAndIndemnifySP\":\"INSURANCE AND INDEMNIFICATION \",\r\n \"insuranceEN\":\"Insurance\",\r\n \"insuranceSP\":\"Insurance\",\r\n \"insuranceTextEN\":\" Each Party will self-insure or maintain at its sole expense, and in amounts consistent with industry standards, insurance for general and professional liability and such other insurance as may be necessary to insure the Party, its employees, and agents against any claim or claims for damages arising out of or in connection with its duties and obligations under this Agreement. Upon request from Walgreens, Client will provide a memorandum of insurance or certificate of insurance. Walgreens’ insurance information is available at www.walgreens.com/insurance.\",\r\n \"insuranceTextSP\":\" Each Party will self-insure or maintain at its sole expense, and in amounts consistent with industry standards, insurance for general and professional liability and such other insurance as may be necessary to insure the Party, its employees, and agents against any claim or claims for damages arising out of or in connection with its duties and obligations under this Agreement. Upon request from Walgreens, Client will provide a memorandum of insurance or certificate of insurance. Walgreens’ insurance information is available at www.walgreens.com/insurance.\",\r\n \"indemnificationEN\":\"Indemnification\",\r\n \"indemnificationSP\":\"Indemnification\",\r\n \"indemnificationTextEN\":\" To the extent permitted by law, each Party will indemnify, defend, and hold harmless the other Party, including its employees and agents, from and against any and all third-party claims or liabilities arising from the negligence or wrongful act of the indemnifying Party, its employees, or agents in carrying out its duties and obligations under the terms of this Agreement. EXCEPT FOR ANY EXPRESS WARRANTIES SET FORTH IN THIS AGREEMENT, THE PARTIES HEREBY DISCLAIM ANY IMPLIED WARRANTIES OF ANY KIND, INCLUDING WARRANTY OF MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. In no event shall either Party be liable to the other Party for any indirect, special, or consequential damages or lost profits, arising out of or related to performance of this Agreement or a breach of this Agreement, even if advised of the possibility of such damages or lost profits. This Section will survive the termination of this Agreement. Notwithstanding the foregoing, the Parties agree that Walgreens is not liable for activities covered by the Public Readiness and Emergency Preparedness (PREP) Act, and the foregoing obligations of indemnity shall not apply to Walgreens for any claims or liabilities arising out of activities covered by the PREP Act or any other applicable laws related to vaccines and/or health care providers. This Section will survive the termination of this Agreement.\",\r\n \"indemnificationTextSP\":\" To the extent permitted by law, each Party will indemnify, defend, and hold harmless the other Party, including its employees and agents, from and against any and all third-party claims or liabilities arising from the negligence or wrongful act of the indemnifying Party, its employees, or agents in carrying out its duties and obligations under the terms of this Agreement. EXCEPT FOR ANY EXPRESS WARRANTIES SET FORTH IN THIS AGREEMENT, THE PARTIES HEREBY DISCLAIM ANY IMPLIED WARRANTIES OF ANY KIND, INCLUDING WARRANTY OF MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. In no event shall either Party be liable to the other Party for any indirect, special, or consequential damages or lost profits, arising out of or related to performance of this Agreement or a breach of this Agreement, even if advised of the possibility of such damages or lost profits. This Section will survive the termination of this Agreement. Notwithstanding the foregoing, the Parties agree that Walgreens is not liable for activities covered by the Public Readiness and Emergency Preparedness (PREP) Act, and the foregoing obligations of indemnity shall not apply to Walgreens for any claims or liabilities arising out of activities covered by the PREP Act or any other applicable laws related to vaccines and/or health care providers. This Section will survive the termination of this Agreement.\",\r\n \"generalTermsEN\":\" GENERAL TERMS \",// deliberately extra space\r\n \"generalTermsSP\":\" GENERAL TERMS \",\r\n \"businessConfidentialityEN\":\"Business Confidentiality.\",\r\n \"businessConfidentialitySP\":\"Business Confidentiality.\",\r\n \"businessConfidentialityTextEN\":\" The Parties acknowledge that certain proprietary and/or technical and business information may be disclosed between the Parties (\\\"Confidential Information\\\"). Accordingly, each Party will maintain the confidentiality of all such Confidential Information, including, without limitation, implementing those precautions such Party employs with respect to its own proprietary and Confidential Information and disclosing Confidential Information only to those employees who have a need to know in order to effectuate the purpose(s) of this Agreement and to maintain compliance with applicable laws. In no event will either Party use the other Party’s Confidential Information to benefit itself or others, except as otherwise not prohibited under this Agreement. Confidential Information shall not include information: (i) generally known to the public or the industry without breach of this Agreement; (ii) independently developed by the receiving Party; (iii) known to or in the possession of the receiving Party prior to the disclosure pursuant to this Agreement; (iv) disclosed to the receiving Party by a third party without the confidentiality obligations set forth herein; or (v) required to be disclosed by any court or government agency; provided however, to the extent allowed by law, the receiving Party shall provide written notice of such planned disclosure to the disclosing Party allowing reasonable time for the disclosing Party to raise any objections to such disclosure. This Section will survive the termination of this Agreement.\",\r\n \"businessConfidentialityTextSP\":\" The Parties acknowledge that certain proprietary and/or technical and business information may be disclosed between the Parties (\\\"Confidential Information\\\"). Accordingly, each Party will maintain the confidentiality of all such Confidential Information, including, without limitation, implementing those precautions such Party employs with respect to its own proprietary and Confidential Information and disclosing Confidential Information only to those employees who have a need to know in order to effectuate the purpose(s) of this Agreement and to maintain compliance with applicable laws. In no event will either Party use the other Party’s Confidential Information to benefit itself or others, except as otherwise not prohibited under this Agreement. Confidential Information shall not include information: (i) generally known to the public or the industry without breach of this Agreement; (ii) independently developed by the receiving Party; (iii) known to or in the possession of the receiving Party prior to the disclosure pursuant to this Agreement; (iv) disclosed to the receiving Party by a third party without the confidentiality obligations set forth herein; or (v) required to be disclosed by any court or government agency; provided however, to the extent allowed by law, the receiving Party shall provide written notice of such planned disclosure to the disclosing Party allowing reasonable time for the disclosing Party to raise any objections to such disclosure. This Section will survive the termination of this Agreement.\",\r\n \"confidentialityEN\":\"Confidentiality of Protected Health Information\",\r\n \"confidentialitySP\":\"Confidentiality of Protected Health Information\",\r\n \"confidentialityTextEN\":\" Both Parties warrant that they will maintain and protect the confidentiality of all individually identifiable health information specifically relating to Participants in accordance with the Health Insurance Portability and Accountability Act of 1996 and all applicable federal and state laws and regulations. However, nothing herein will limit either Party’s use of any de-identified Participant information. This Section will survive the termination of this Agreement.\",\r\n \"confidentialityTextSP\":\" Both Parties warrant that they will maintain and protect the confidentiality of all individually identifiable health information specifically relating to Participants in accordance with the Health Insurance Portability and Accountability Act of 1996 and all applicable federal and state laws and regulations. However, nothing herein will limit either Party’s use of any de-identified Participant information. This Section will survive the termination of this Agreement.\",\r\n \"AdvertisingEN\":\"Advertising\",\r\n \"AdvertisingSP\":\"Advertising\",\r\n \"AdvertisingTextEN\":\" Neither Party may advertise or use any trademarks, service marks, or symbols of the other Party without first receiving the written consent of the Party owning the mark and/or symbol with the following exceptions: Client may use the name and the addresses of Walgreens' locations in materials to inform Participants that Walgreens provides Immunizations. Any other reference to Walgreens in any Client materials must be pre-approved, in writing, by Walgreens.\",\r\n \"AdvertisingTextSP\":\" Neither Party may advertise or use any trademarks, service marks, or symbols of the other Party without first receiving the written consent of the Party owning the mark and/or symbol with the following exceptions: Client may use the name and the addresses of Walgreens' locations in materials to inform Participants that Walgreens provides Immunizations. Any other reference to Walgreens in any Client materials must be pre-approved, in writing, by Walgreens.\",\r\n \"frcMajEN\":\"Force Majeure\",\r\n \"frcMajSP\":\"Force Majeure\",\r\n \"frcMajTextEN\":\" The performance by either Party hereunder will be excused to the extent of circumstances beyond such Party’s reasonable control, such as flood, tornado, earthquake, or other natural disaster, epidemic, pandemic, war, material destruction of facilities, fire, acts of terrorism, acts of God, etc. In such event, the Parties will use their best efforts to resume performance as soon as reasonably possible under the circumstances.\",\r\n \"frcMajTextSP\":\" The performance by either Party hereunder will be excused to the extent of circumstances beyond such Party’s reasonable control, such as flood, tornado, earthquake, or other natural disaster, epidemic, pandemic, war, material destruction of facilities, fire, acts of terrorism, acts of God, etc. In such event, the Parties will use their best efforts to resume performance as soon as reasonably possible under the circumstances.\",\r\n \"complianceEN\":\"Compliance\",\r\n \"complianceSP\":\"Compliance\",\r\n \"complianceTextEN\":\" The Parties will comply with all applicable laws, rules, and regulations for each territory in which Immunizations are provided under this Agreement. Each Party will cooperate with reasonable requests by the other Party for information that is needed for its compliance with applicable laws, rules, and/or regulations.\",\r\n \"complianceTextSP\":\" The Parties will comply with all applicable laws, rules, and regulations for each territory in which Immunizations are provided under this Agreement. Each Party will cooperate with reasonable requests by the other Party for information that is needed for its compliance with applicable laws, rules, and/or regulations.\",\r\n \"assignmentEN\":\"Assignment\",\r\n \"assignmentSP\":\"Assignment\",\r\n \"assignmentTextEN\":\" Neither Party may assign this Agreement to a third-party without the prior written consent of the other Party, except that either Party will have the right to assign this Agreement to any direct or indirect parent, subsidiary or affiliated company or to a successor company without such consent. Any permitted assignee will assume all obligations of its assignor under this Agreement. No assignment will relieve any Party of responsibility for the performance of any obligations which have already occurred. This Agreement will inure to the benefit of and be binding upon each Party, its respective successors and permitted assignees.\",\r\n \"assignmentTextSP\":\" Neither Party may assign this Agreement to a third-party without the prior written consent of the other Party, except that either Party will have the right to assign this Agreement to any direct or indirect parent, subsidiary or affiliated company or to a successor company without such consent. Any permitted assignee will assume all obligations of its assignor under this Agreement. No assignment will relieve any Party of responsibility for the performance of any obligations which have already occurred. This Agreement will inure to the benefit of and be binding upon each Party, its respective successors and permitted assignees.\",\r\n \"noticesEN\":\"Notices\",\r\n \"noticesSP\":\"Notices\",\r\n \"noticesTextEN\":\" All notices provided for herein must be in writing, sent by U.S. certified mail, return receipt requested, postage prepaid, or by overnight delivery service providing proof of receipt to the address set forth following the signature blocks. Notices will be deemed delivered upon receipt or upon refusal to accept delivery.\",\r\n \"noticesTextSP\":\" All notices provided for herein must be in writing, sent by U.S. certified mail, return receipt requested, postage prepaid, or by overnight delivery service providing proof of receipt to the address set forth following the signature blocks. Notices will be deemed delivered upon receipt or upon refusal to accept delivery.\",\r\n \"entireAgrEN\":\"Entire Agreement and Pricing Updates\",\r\n \"entireAgrSP\":\"Entire Agreement and Pricing Updates\",\r\n \"entireAgrTextEN\":\" This Agreement, which includes any and all attachments, exhibits, riders, and other documents referenced herein, constitutes the entire and full agreement between the Parties relating to the subject matter herein and supersedes any previous contract, for which the signatories are authorized to sign for, and except as otherwise permitted hereunder, no changes, amendments, or alterations will be effective unless reduced to a writing signed by a representative of each Party. Any prior agreements, documents, understandings, or representations relating to the subject matter of this Agreement not expressly set forth herein or referred to or incorporated herein by reference are of no force or effect.\",\r\n \"entireAgrTextSP\":\" This Agreement, which includes any and all attachments, exhibits, riders, and other documents referenced herein, constitutes the entire and full agreement between the Parties relating to the subject matter herein and supersedes any previous contract, for which the signatories are authorized to sign for, and except as otherwise permitted hereunder, no changes, amendments, or alterations will be effective unless reduced to a writing signed by a representative of each Party. Any prior agreements, documents, understandings, or representations relating to the subject matter of this Agreement not expressly set forth herein or referred to or incorporated herein by reference are of no force or effect.\",\r\n \"counterPartsHeadingEN\":\"Counterparts\",\r\n \"counterPartsHeadingSP\":\"Counterparts\",\r\n \"counterPartsTextEN\":\" This Agreement may be executed in two or more counterparts, each of which together shall be deemed an original, but all of which together shall constitute one and the same instrument, provided that each Party has received the other Party’s executed instruments. In the event that any signature is delivered by facsimile transmission or by e-mail delivery of a “.pdf” format data file (or similar format however designated), such signature shall create a valid and binding obligation of the Party executing (or on whose behalf such signature is executed) with the same force and effect as if such facsimile or “.pdf” signature page were an original thereof.\",\r\n \"counterPartsTextSP\":\" This Agreement may be executed in two or more counterparts, each of which together shall be deemed an original, but all of which together shall constitute one and the same instrument, provided that each Party has received the other Party’s executed instruments. In the event that any signature is delivered by facsimile transmission or by e-mail delivery of a “.pdf” format data file (or similar format however designated), such signature shall create a valid and binding obligation of the Party executing (or on whose behalf such signature is executed) with the same force and effect as if such facsimile or “.pdf” signature page were an original thereof.\",\r\n \"rightsEN\":\"All rights reserved.\",\r\n \"rightsSP\":\"Todos los derechos reservados.\",\r\n \"approveAgrmntEN\":\"Approve Agreement\",\r\n \"approveAgrmntSP\":\"Aprobar el acuerdo\",\r\n \"approveTextEN\":\"Carefully review the Community Off-Site Agreement. If you agree to the conditions of the contract, please check 'Approve' below and type your name into the Electronic Signature field. If there are any discrepancies in the Agreement, reject the Agreement and provide corrections in the notes field.\",\r\n \"approveTextSP\":\"Examine cuidadosamente el Acuerdo para Clínica Externa en la Comunidad. Si está de acuerdo con las condiciones del contrato, favor de marcar 'Aprobado' adelante y entre su nombre en el campo Firma Electrónica. Si hubiese alguna discrepancia, rechace el Acuerdo y provea las correcciones en el campo Apuntes.\",\r\n \"electrSignEN\":\"Electronic Signature\",\r\n \"electrSignSP\":\"Firma Electrónica\",\r\n \"notesEN\":\"Notes:\",\r\n \"notesSP\":\"Notas:\",\r\n \"pageTitleEN\":\"\",\r\n \"pageTitleSP\":\"CONTRATO DE CLÍNICA AMBULATORIA COMUNITARIA\",\r\n \"dateEN\":\"Date:\",\r\n \"dateSP\":\"FECHA\",\r\n \"districtEN\":\"District#:\",\r\n \"districtSP\":\"DISTRITO#:\",\r\n \"approveEN\":\"Approve\",\r\n \"approveSP\":\"Aprobar\",\r\n \"rejectEN\":\"Request Changes\",\r\n \"rejectSP\":\"Solicitar cambios\",\r\n \"submitEN\":\"Submit\",\r\n \"submitSP\":\"Enviar\",\r\n \"cancelEN\":\"Cancel\",\r\n \"cancelSP\":\"Cancelar\",\r\n \"printAgreementEN\":\"Print Agreement\",\r\n \"printAgreementSP\":\"Acuerdo de impresión\",\r\n \"clinicLocationEN\":\"Clinic Location:\",\r\n \"clinicLocationSP\":\"Ubicación de la clínica:\",\r\n \"clinicDateEN\":\"Clinic Date:\",\r\n \"clinicDateSP\":\"Fecha de la clínica:\",\r\n \"clinicTimeEN\":\"Clinic Time:\",\r\n \"clinicTimeSP\":\"Tiempo de la clínica:\",\r\n \"contactEN\":\"Contact:\",\r\n \"contactSP\":\"Contacto:\",\r\n \"phoneEN\":\"Phone:\",\r\n \"phoneSP\":\"Teléfono:\",\r\n \"estShotsEN\":\"Est. Shots\",\r\n \"estShotsSP\":\"Est. Shots\",\r\n \"locationEN\":\"Location:\",\r\n \"locationSP\":\"Ubicación:\",\r\n \"timeEN\":\"Time:\",\r\n \"timeSP\":\"Hora:\",\r\n \"emailEN\":\"Email:\",\r\n \"emailSP\":\"Email:\",\r\n \"emailAgreementToEN\":\"Email Agreement to:\",\r\n \"emailAgreementToSP\":\"Acuerdo de correo electrónico a:\",\r\n \"multipleEmailAddressEN\":'Multiple email addresses may be entered by placing a comma between addresses.',\r\n \"multipleEmailAddressSP\":'Se pueden ingresar varias direcciones de correo electrónico colocando una coma entre las direcciones.',\r\n \"sendAgreementEN\":\"SEND AGREEMENT\",\r\n \"sendAgreementSP\":'ENVIAR ACUERDO',\r\n \"editAgreementEN\":'EDIT AGREEMENT',\r\n \"editAgreementSP\":'EDITAR ACUERDO',\r\n \"saveAgreementEN\":\"SAVE AGREEMENT\",\r\n \"saveAgreementSP\":\"GUARDAR ACUERDO\",\r\n \"noteTextEN\":\"* Please note, once a contract has been signed by the client, it cannot be edited.\",\r\n \"noteTextSP\":\"* Tenga en cuenta que una vez que el cliente ha firmado un contrato, no se puede editar.\",\r\n \"printAgreementTxtCapsEN\":\"PRINT AGREEMENT\",\r\n \"printAgreementTxtCapsSP\":\"ACUERDO IMPRESO\",\r\n \"table1EN\":'Table 1',\r\n \"table1SP\":'Tabla 1',\r\n \"attnEN\":\"Attn\",\r\n \"fluExpiryDateEN\":\"Flu Exp. Date:\",\r\n \"fluExpiryDateSP\":\"Fecha de vencimiento de la gripe:\",\r\n \"routineExpiryDateEN\":\"Routine Exp. Date:\",\r\n \"routineExpiryDateSP\":\"Fecha de vencimiento de rutina:\",\r\n \"sendInvoiceToEN\":'Send Invoice to:',\r\n \"sendInvoiceToSP\":'Enviar factura a:',\r\n 'isTaxExemptEN':'Is Employer Tax Exempt?',\r\n 'isTaxExemptSP':'¿El empleador está exento de impuestos?',\r\n 'isCopayEN':'Will patient pay the portion of the cost. Is there a copay?',\r\n 'isCopaySP':'Pagará el paciente la parte del costo. ¿Hay un copago?',\r\n 'voucherNeededEN':'Voucher Needed:',\r\n 'voucherNeededSP':'Vale necesario:',\r\n 'voucherExpiryEN':'Expiration Date:',\r\n 'voucherExpirySP':'Fecha de caducidad:',\r\n 'copayValueEN':'Copay Value:',\r\n 'copayValueSP':'Valor de copago:',\r\n 'influenzaSeasonText1EN':'per influenza season (August – April)',\r\n 'influenzaSeasonText1SP':'per influenza season (August – April)',\r\n 'contractYearText1EN':'per contract year',\r\n 'contractYearText1SP':'per contract year',\r\n 'influenzaSeasonText2EN':'influenza season',\r\n 'influenzaSeasonText2SP':'influenza season',\r\n 'contractYearText2EN':'contract year',\r\n 'contractYearText2SP':'contract year',\r\n 'contactName':'Contact Name:',\r\n 'contactPhone':'Contact Phone:',\r\n 'contactEmail':'Contact Email:',\r\n 'contactNameSP':'Contact Name:',\r\n 'contactPhoneSP':'Contact Phone:',\r\n 'contactEmailSP':'Contact Email:',\r\n 'doseEN':'COVID Clinic:',\r\n 'doseSP':'COVID Clinic:',\r\n 'confidentialityP1EN':'',\r\n 'confidentialityP1SP':'',\r\n 'confidentialityP2EN':'',\r\n 'confidentialityP2SP':'',\r\n 'singleStarTAndC':'*For purposes of this Attachment A, this Vaccine is a “Government Supplied COVID-19 Vaccine” which means that the United States government has acquired the COVID-19 vaccine and is making these publicly funded vaccines available to select vaccine providers (as a result the Rate(s) for this immunization does not include the cost of the vaccine, which is paid for by the government but does include an administrative fee and related taxes). Additionally this listed Rate is the current pricing for administering Government Supplied COVID-19 Vaccines and is based upon those COVID-19 Vaccines created by Pfizer Inc., ModernaTX, Inc. and Janssen Biotech Inc. and approved for use by the U.S. Food and Drug Administration.',\r\n 'article2Heading':\"\",\r\n 'article2Text':\"

ARTICLE II
OFF-SITE CLINIC MINIMUMS

2.1  Client guarantees that the average minimum of Immunizations set forth in Table 2 will be administered to Participants at each of Client’s Off-Site Clinic locations per contract year (\\\"Site Minimum\\\"). If the Site Minimum is not achieved for the contract year (determined by taking the total number of Immunizations administered at all Off-Site Clinics divided by the number of Off-Site Clinics locations in such contract year (\\\"Site Average\\\")), at Walgreens’ discretion, Walgreens will invoice Client a fee for the difference between the Site Minimum and Site Average multiplied by the number of Off-Site Clinics. The sum of which will be multiplied by the lowest reimbursement rate set forth in Table 1 in Attachment A and Client shall pay such amount within 30 days of being invoiced by Walgreens. Fees related to this paragraph will be billed directly to Client and will not be used by either Party for billing to Third Party Payors.

\",\r\n \"siteMinTextfluEN\":\"(\\\"Site Minimum\\\"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n \"siteMinTextEN\":\"(\\\"Site Minimum\\\"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n \"siteMinTextSP\":\"(\\\"Site Minimum\\\"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n \"siteMinTextfluSP\":\"(\\\"Site Minimum\\\"). If Walgreens determines that the Site Minimum is not achieved for the {0} (determined by taking the total number of Immunizations administered at all off-site locations divided by the number of off-site locations in such {1} \",\r\n \"siteAvgTextEN\":\"(\\\"Site Average\\\")), at Walgreens’ discretion, it will invoice Client for the difference between the Site Minimum and Site Average multiplied by the number of off-site events. The sum of which will be multiplied by the lowest reimbursement rate set forth in table in Attachment A and Client shall pay such amount within 30 days of being invoiced by Walgreens.\",\r\n \"siteAvgTextSP\":\"(\\\"Site Average\\\")), at Walgreens’ discretion, it will invoice Client for the difference between the Site Minimum and Site Average multiplied by the number of off-site events. The sum of which will be multiplied by the lowest reimbursement rate set forth in table in Attachment A and Client shall pay such amount within 30 days of being invoiced by Walgreens.\",\r\n 'indemnificationTAndCChangedDate':'12/22/2020',\r\n 'universalContractReleaseDate':'06/06/2022',\r\n 'participants': 'Participants:' \r\n }\r\n export const universalContractReleaseDate:string='05/02/2024';\r\n export const universalContractReleaseDate2023:string='05/02/2023';// This should be current and latest release date\r\n export const universalContractReleaseDate2022:string='06/06/2022'; //","export const adminUserNames:string[] = [\r\n \"admin_communityupdate\", \r\n \"admin_samuel.nass\", \r\n \"admin_jerry.v.thomas\", \r\n \"admin_bryan.shrode\",\r\n \"admin_enterpriseimmunizationservice\",\r\n \"admin_carlos.flores\",\r\n \"admin_roxanne.crowley\",\r\n \"admin_tyrone.clark\",\r\n \"admin_roxanne.crowley\",\"admin_breeann.applegate\"\r\n ]","export const covidClinicTypeValues:any[] = [\r\n {\r\n \"id\":\"Team member\",\r\n \"name\":\"Team member\"\r\n },\r\n {\r\n \"id\":\"Teachers or childcare workers\",\r\n \"name\":\"Teachers or childcare workers\"\r\n },\r\n {\r\n \"id\":\"Equity\",\r\n \"name\":\"Equity\"\r\n },\r\n {\r\n \"id\":\"LTCF\",\r\n \"name\":\"LTCF\"\r\n },\r\n {\r\n \"id\":\"School Campaign\",\r\n \"name\":\"School Campaign\"\r\n },\r\n {\r\n \"id\":\"Community college\",\r\n \"name\":\"Community college\"\r\n },\r\n {\r\n \"id\":\"B2B\",\r\n \"name\":\"B2B\"\r\n },\r\n {\r\n \"id\":\"Others\",\r\n \"name\":\"Others\"\r\n },\r\n {\r\n \"id\":\"School children\",\r\n \"name\":\"School children\"\r\n }\r\n ]","export const adminFooterMenuItems: any[] = [{\r\n title: \"Dashboards\",\r\n url: \"/communityoutreach/home\" \r\n }, \r\n {\r\n title: \"Store\",\r\n url: \"/communityoutreach/storehome\", \r\n },\r\n {\r\n title: \"IP Resources\", \r\n url: \"/communityoutreach/imzresources\" \r\n },\r\n {\r\n title: \"SR Resources\", \r\n url: \"/communityoutreach/soresources\" \r\n },\r\n {\r\n title: \"PCA Resources\", \r\n url: \"/communityoutreach/pcaresources\" \r\n },\r\n {\r\n title: \"Reports\", \r\n url: \"/communityoutreach/scheduledclinicsreport\" \r\n }\r\n ]\r\n\r\n export const storeManagerFooterMenuItems: any[] = [\r\n {\r\n title: \"Store\",\r\n url: \"/communityoutreach/storehome\", \r\n },\r\n {\r\n title: \"IP Resources\", \r\n url: \"/communityoutreach/imzresources\" \r\n },\r\n {\r\n title: \"SR Resources\", \r\n url: \"/communityoutreach/soresources\" \r\n },\r\n {\r\n title: \"PCA Resources\", \r\n url: \"/communityoutreach/pcaresources\" \r\n },\r\n {\r\n title: \"Reports\", \r\n url: \"/communityoutreach/scheduledclinicsreport\" \r\n }\r\n ]\r\n\r\n export const districtManagerFooterMenuItems: any[] = [\r\n {\r\n title: \"Dashboards\",\r\n url: \"/communityoutreach/home\" \r\n }, \r\n {\r\n title: \"Store\",\r\n url: \"/communityoutreach/storehome\", \r\n },\r\n {\r\n title: \"IP Resources\", \r\n url: \"/communityoutreach/imzresources\" \r\n },\r\n {\r\n title: \"SR Resources\", \r\n url: \"/communityoutreach/soresources\" \r\n },\r\n {\r\n title: \"PCA Resources\", \r\n url: \"/communityoutreach/pcaresources\" \r\n },\r\n {\r\n title: \"Reports\", \r\n url: \"/communityoutreach/scheduledclinicsreport\" \r\n }\r\n ]\r\n\r\n export const healthcareSupervisorFooterMenuItems: any[] = [ \r\n {\r\n title: \"Dashboards\",\r\n url: \"/communityoutreach/home\" \r\n }, \r\n {\r\n title: \"Store\",\r\n url: \"/communityoutreach/storehome\", \r\n },\r\n {\r\n title: \"IP Resources\", \r\n url: \"/communityoutreach/imzresources\" \r\n },\r\n {\r\n title: \"SR Resources\", \r\n url: \"/communityoutreach/soresources\" \r\n },\r\n {\r\n title: \"PCA Resources\", \r\n url: \"/communityoutreach/pcaresources\" \r\n },\r\n {\r\n title: \"Reports\", \r\n url: \"/communityoutreach/scheduledclinicsreport\" \r\n }\r\n ]\r\n\r\n export const regionalVicePresidentFooterMenuItems: any[] = [ \r\n {\r\n title: \"Dashboards\",\r\n url: \"/communityoutreach/home\" \r\n }, \r\n {\r\n title: \"Store\",\r\n url: \"/communityoutreach/storehome\", \r\n },\r\n {\r\n title: \"IP Resources\", \r\n url: \"/communityoutreach/imzresources\" \r\n },\r\n {\r\n title: \"SR Resources\", \r\n url: \"/communityoutreach/soresources\" \r\n },\r\n {\r\n title: \"PCA Resources\", \r\n url: \"/communityoutreach/pcaresources\" \r\n },\r\n {\r\n title: \"Reports\", \r\n url: \"/communityoutreach/scheduledclinicsreport\" \r\n }\r\n ]\r\n export const directorRxRetailFooterMenuItems: any[] = [\r\n {\r\n title: \"Dashboards\",\r\n url: \"/communityoutreach/home\" \r\n }, \r\n {\r\n title: \"Store\",\r\n url: \"/communityoutreach/storehome\", \r\n },\r\n {\r\n title: \"IP Resources\", \r\n url: \"/communityoutreach/imzresources\" \r\n },\r\n {\r\n title: \"SR Resources\", \r\n url: \"/communityoutreach/soresources\" \r\n },\r\n {\r\n title: \"PCA Resources\", \r\n url: \"/communityoutreach/pcaresources\" \r\n },\r\n {\r\n title: \"Reports\", \r\n url: \"/communityoutreach/scheduledclinicsreport\" \r\n }\r\n ]","export const HintMessage: any = \r\n{\t\"contractapprove\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\t\"hintHdng\": \"

contractapprove Page admin User Heading 1

\",\r\n\t\t\t\t\"hintMsg\": \"

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

contractapprove Page admin User Heading 2

\",\r\n\t\t\t\t\"hintMsg\": \"

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

contractapprove Page admin User Heading 3

\",\r\n\t\t\t\t\"hintMsg\": \"

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\"\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t\"charityprogram\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\"hintHdng\": \"

Charity (WAG Free Flu Voucher) Details

\",\r\n\t\t\t\"hintMsg\": \"

1. Check the 'No Clinic - Voucher Distribution Only ' checkbox if there will not be a clinic held and you will only be providing vouchers to the opportunity.

2. If there will not be a clinic, just enter the contacts first and last name, phone, email, estimated shots and vouchers distributed. If there will be a clinic, also complete the clinic address, date and times.

3. Click 'Add Location +' to add more clinic locations and repeat the process from the beginning. When adding more locations, two setup options will become available.

4. Click 'Submit' to complete the Charity (WAG Free Flu Voucher) setup. Once completed a Charity (WAG Free Flu Voucher) event will appear in the Upcoming Events list.

\"\r\n\t\t}]\r\n\t},\r\n\t\"communityoutreach\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\t\"hintHdng\": \"

Step 1 - Immunizations and Payment Methods

\",\r\n\t\t\t\t\"hintMsg\": \"

1. Select an Immunization.
2. Select a Payment Method.
3. Click the 'Add +' button.

4. If additional immunizations or payment methods need to be added, repeat the process from the beginning until they are all displayed under 'Added Immunizations and Payment Methods'. Otherwise click 'Next' to continue or 'Save' to continue later.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Step 2 - Clinic Locations

\",\r\n\t\t\t\t\"hintMsg\": \"

1. Enter the Estimated Shots for the first location.

2. Enter all of the contact, address, date and time information.

3. Click 'Add Clinic +' to add more clinics and repeat the process from the beginning. When adding more clinics, two setup options will become available.

4. Select the Outreach Type that best describes the event you are setting up. If 'Other', enter your own description in the text field.

5. Click 'Submit' to complete the Community Outreach setup. Once completed a Community Outreach event will appear in the Upcoming Events list.

\"\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t\"equityevent\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\t\"hintHdng\": \"

Step 1 - Immunizations and Payment Methods

\",\r\n\t\t\t\t\"hintMsg\": \"

1. Select an Immunization.
2. Select a Payment Method.
3. Click the 'Add +' button.

4. If additional immunizations or payment methods need to be added, repeat the process from the beginning until they are all displayed under 'Added Immunizations and Payment Methods'. Otherwise click 'Next' to continue or 'Save' to continue later.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Step 2 - Clinic Locations

\",\r\n\t\t\t\t\"hintMsg\": \"

1. Check the 'No Clinic - Voucher Distribution Only' checkbox if there will not be a clinic held and you will only be providing vouchers to the opportunity.

2. If there will not be a clinic, enter the contacts first and last name, phone, email, estimated shots and vouchers distributed. If there will be a clinic, also complete the clinic address, date and times.

3. Click 'Add Clinic +' to add more clinics and repeat the process from the beginning. When adding more clinics, two setup options will become available.

4. Select the Outreach Type that best describes the event you are setting up. If 'Other', enter your own description in the text field.

5. Click Submit to complete the Equity Event setup. Once completed an Equity Event will appear in the Upcoming Events list.

\"\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t\"charityprogramdetails \": {\r\n\t\t\"admin\": [{\r\n\t\t\t\t\"hintHdng\": \"

charityprogramdetails Page admin User Heading 1

\",\r\n\t\t\t\t\"hintMsg\": \"

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

charityprogramdetails Page admin User Heading 2

\",\r\n\t\t\t\t\"hintMsg\": \"

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

charityprogramdetails Page admin User Heading 3

\",\r\n\t\t\t\t\"hintMsg\": \"

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\"\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t\"corporateclinicprogramdetails\": {\r\n\t\t\"admin\": []\r\n\t},\r\n\t\"localclinicprogramdetails\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\t\"hintHdng\": \"

An Overview

\",\r\n\t\t\t\t\"hintMsg\": \"

Clinic Details is where you will manage the individual clinic.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Changing Clinic Status - Steps 1 & 2

\",\r\n\t\t\t\t\"hintMsg\": \"

All clinic events will start with Step 1 - Contract Approved completed.

Step 2 - Confirm Clinic

  1. Use the contact and phone number in the green 'Opportunity Information' section to contact and confirm the clinic. When confirming, go over all of the details in the magenta 'Billing & Vaccine Information' and orange 'Clinic Information' sections.
  2. Determine with the client if the clinic requires Appointment Scheduling. If so, check one of the options in the orange 'Clinic Information' section under 'Enable Appointment Scheduling'. Options for appointment scheduling may not be available for all clinics. If there are multiple clinics for a client a scheduler will need to be enabled for each clinic individually.
  3. Once all clinic details are confirmed with the contact, enter the name of the contact in the 'Confirmed By' field and click the 'Confirm' button to complete Step 2 - Confirmed Clinic. If the event is 'Vouchers Only', confirm that the vouchers were sent and received by the client, enter the name of the contact in the 'Confirmed By' field, and click the 'Provide Vouchers' button to complete Step 2 - Vouchers Provided.
\"\r\n\t\t\t},\t\t\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Appointment Scheduling

\",\r\n\t\t\t\t\"hintMsg\": \"

Patients can select a specific appointment timeframe to improve patient flow.

  1. Enable Appointment Scheduling by checking one of the scheduling options (where available) in the orange 'Clinic Information' section.
  2. Click 'Save Changes' or 'Confirm' to save the change.
  3. An email will be sent to the clinic contact with links to the Appointment Scheduler and Appointment Tracking for the clinic. The client will be responsible for sharing the emailed scheduling link with their employees.
  4. The 'Appointment Scheduling' section will open in the Clinic Details, providing you with links and a QR code to access the Scheduler and Appointment Tracking as well as links to share with the client if they need to be resent. If the Community Outreach Scheduler option was selected, this section will show the number of immunizers needed based on the estimated shots and duration of the clinic, as well as the required immunizers based on the registered appointments.
  5. Registration is open through the day of the clinic.
\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

History Log

\",\r\n\t\t\t\t\"hintMsg\": \"

If you have any questions regarding when or by whom a clinic status or detail was updated, you can refer to the grey 'History Log' at the bottom of the page.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Amending an Agreement

\",\r\n\t\t\t\t\"hintMsg\": \"

Click ‘Amend Agreement’ to add clinic locations, amend vaccine selections, payment methods, estimated quantities, and/or voucher options. These changes will require a new agreement to be sent, approved and signed by the client contact. The initial agreement will be retained until the amended agreement has been approved and signed. Changes to the clinic dates and times do not require an amended contract and should be changed in the Clinic Details screen prior to amending an agreement.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Completing a Clinic - Steps 3

\",\r\n\t\t\t\t\"hintMsg\": \"

The final step for most clinics is completing it.

  1. Enter the 'Total Administered' immunizations in the magenta 'Billing & Vaccine Information' for each immunization. If the clinic has had the CURA Patient Appointment Scheduler enabled these fields will be auto-filled.
  2. Enter any notes about the clinic in the magenta 'Billing & Vaccine Information' 'section under Comments/Instructions'.
  3. Click the 'Complete' button.

If the clinic was cancelled, enter the reason in the magenta 'Billing & Vaccine Information' section under 'Comments/Instructions' and click the 'Cancel Clinic' button, answer the 'Who Cancelled the Clinic' question, and confirm Cancelling the clinic to Complete the clinic.

\"\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t\"equityeventprogramdetails\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\t\"hintHdng\": \"

An Overview

\",\r\n\t\t\t\t\"hintMsg\": \"

Event Details is where you will manage the individual event.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Appointment Scheduling

\",\r\n\t\t\t\t\"hintMsg\": \"

Patients can select a specific appointment timeframe to improve patient flow.

  1. Enable Appointment Scheduling by checking 'Community Outreach Portal Scheduler' in the orange 'Clinic Information' section.
  2. Click 'Save Changes' to save the change.
  3. An email will be sent to the clinic contact with links to the Appointment Scheduler and Appointment Tracking for the clinic. The client will be responsible for sharing the emailed scheduling link with their employees.
  4. The 'Appointment Scheduling' section will open in the Clinic Details, providing you with links and a QR code to access the Scheduler and Appointment Tracking as well as links to share with the client if they need to be resent. This section will show the number of immunizers needed based on the estimated shots and duration of the clinic, as well as the required immunizers based on the registered appointments.
  5. Registration is open through the day of the clinic.
\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

History Log

\",\r\n\t\t\t\t\"hintMsg\": \"

If you have any questions regarding when or by whom a clinic status or detail was updated, you can refer to the grey 'History Log' at the bottom of the page.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Amending an Agreement

\",\r\n\t\t\t\t\"hintMsg\": \"

Click 'Amend Immunizations & Billing' to amend vaccine selections and payment methods. Changes to the clinic location, dates and times do not require an amendment and should be changed in the Event Details screen prior to amending the immunizations and billing.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Completing an Event - Step 2

\",\r\n\t\t\t\t\"hintMsg\": \"

Equity events will automatically be Confirmed, so you will only be required to Complete the clinic.

  1. Enter the 'Total Administered' immunizations in the magenta 'Billing & Vaccine Information' for each immunization.
  2. Enter the 'Vouchers Redeemed' for each of the 'Total Administered' redeemed using a voucher.
  3. Enter any notes about the clinic in the magenta 'Billing & Vaccine Information' 'section under Comments/Instructions'.
  4. Click the 'Complete' button.

If the clinic was cancelled, enter the reason in the magenta 'Billing & Vaccine Information' section under 'Comments/Instructions' and click the 'Cancel Clinic' button, answer the 'Who Cancelled the Clinic' question, and confirm Cancelling the clinic to Complete the clinic.

\"\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t\"communityoutreachprogramdetails\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\t\"hintHdng\": \"

An Overview

\",\r\n\t\t\t\t\"hintMsg\": \"

Clinic Details is where you will manage the individual clinic.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Appointment Scheduling

\",\r\n\t\t\t\t\"hintMsg\": \"

Patients can select a specific appointment timeframe to improve patient flow.

  1. Enable Appointment Scheduling by checking 'Community Outreach Portal Scheduler' in the orange 'Clinic Information' section.
  2. Click 'Save Changes' to save the change.
  3. An email will be sent to the clinic contact with links to the Appointment Scheduler and Appointment Tracking for the clinic. The client will be responsible for sharing the emailed scheduling link with their employees.
  4. The 'Appointment Scheduling' section will open in the Clinic Details, providing you with links and a QR code to access the Scheduler and Appointment Tracking as well as links to share with the client if they need to be resent. This section will show the number of immunizers needed based on the estimated shots and duration of the clinic, as well as the required immunizers based on the registered appointments.
  5. Registration is open through the day of the clinic.
\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

History Log

\",\r\n\t\t\t\t\"hintMsg\": \"

If you have any questions regarding when or by whom a clinic status or detail was updated, you can refer to the grey 'History Log' at the bottom of the page.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Amending an Agreement

\",\r\n\t\t\t\t\"hintMsg\": \"

Click 'Amend Immunizations & Billing' to amend vaccine selections and payment methods. Changes to the clinic location, dates and times do not require an amendment and should be changed in the Clinic Details screen prior to amending the immunizations and billing.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Completing an Event - Step 2

\",\r\n\t\t\t\t\"hintMsg\": \"

Community Outreach clinics will automatically be Confirmed, so you will only be required to Complete the clinic.

  1. Enter the 'Total Administered' immunizations in the magenta 'Billing & Vaccine Information' for each immunization.
  2. Enter any notes about the clinic in the magenta 'Billing & Vaccine Information' 'section under Comments/Instructions'.
  3. Click the 'Complete' button.

If the clinic was cancelled, enter the reason in the magenta 'Billing & Vaccine Information' section under 'Comments/Instructions' and click the 'Cancel Clinic' button, answer the 'Who Cancelled the Clinic' question, and confirm Cancelling the clinic to Complete the clinic.

\"\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t\"landing\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\"hintHdng\": \"

Need Help?

\",\r\n\t\t\t\"hintMsg\": \"

If you're new to the Walgreens Outreach Portal or just need a hint on the next step to take, these helpful hint boxes will provide some answers and direction.

Once you're comfortable on your own, you can turn the hints off by checking the box at the bottom of the hints. But don't worry, if you need them there is a switch to turn them back on below the Walgreens logo in the footer of the portal.

\"\r\n\t\t}, {\r\n\t\t\t\"hintHdng\": \"

Getting Started

\",\r\n\t\t\t\"hintMsg\": \"

Click on the 'Community Outreach' button in the banner or one of the icons below to enter your Community Outreach Portal. The Immunization and Senior Outreach icons will open to outreach opportunities, while the Patient Care & Advocacy icon will open to PCA Organizations.

Please take note of any messages from Walgreens Administration below the icons. These messages will provide notices regarding current issues and reminders.

Stats provided at the bottom of the screen will give you an idea of how Outreach Programs are doing overall and how your contributions are adding up.

\"\r\n\t\t}],\r\n\t\t\"director – rx and retail ops, healthcare supervisor, regional vice president, regional healthcare director, pod healthcare supervisor\": [{\r\n\t\t\t\"hintHdng\": \"

Need Help?

\",\r\n\t\t\t\"hintMsg\": \"

If you're new to the Walgreens Outreach Portal or just need a hint on the next step to take, these helpful hint boxes will provide some answers and direction.

Once you're comfortable on your own, you can turn the hints off by checking the box at the bottom of the hints. But don't worry, if you need them there is a switch to turn them back on below the Walgreens logo in the footer of the portal.

\"\r\n\t\t}, {\r\n\t\t\t\"hintHdng\": \"

Getting Started

\",\r\n\t\t\t\"hintMsg\": \"

Click on the 'Community Outreach' button in the banner or one of the icons below to enter your Community Outreach Portal. The Immunization and Senior Outreach icons will open to outreach opportunities, while the Patient Care & Advocacy icon will open to organizations.

Please take note of any messages from Walgreens Administration below the icons. These messages will provide notices regarding current issues and reminders.

Stats provided at the bottom of the screen will give you an idea of how Outreach Programs are doing overall and how your contributions are adding up.

\"\r\n\t\t}],\r\n\t\t\"district manager\": [{\r\n\t\t\t\"hintHdng\": \"

Need Help?

\",\r\n\t\t\t\"hintMsg\": \"

If you're new to the Walgreens Outreach Portal or just need a hint on the next step to take, these helpful hint boxes will provide some answers and direction.

Once you're comfortable on your own, you can turn the hints off by checking the box at the bottom of the hints. But don't worry, if you need them there is a switch to turn them back on below the Walgreens logo in the footer of the portal.

\"\r\n\t\t}, {\r\n\t\t\t\"hintHdng\": \"

Getting Started

\",\r\n\t\t\t\"hintMsg\": \"

Click on the 'Community Outreach' button in the banner or one of the icons below to enter your Community Outreach Portal. The Immunization and Senior Outreach icons will open to outreach opportunities, while the Patient Care & Advocacy icon will open to organizations.

Please take note of any messages from Walgreens Administration below the icons. These messages will provide notices regarding current issues and reminders.

Stats provided at the bottom of the screen will give you an idea of how Outreach Programs are doing overall and how your contributions are adding up.

\"\r\n\t\t}],\r\n\t\t\"store managersm\": [{\r\n\t\t\t\"hintHdng\": \"

Need Help?

\",\r\n\t\t\t\"hintMsg\": \"

If you're new to the Walgreens Outreach Portal or just need a hint on the next step to take, these helpful hint boxes will provide some answers and direction.

Once you're comfortable on your own, you can turn the hints off by checking the box at the bottom of the hints. But don't worry, if you need them there is a switch to turn them back on below the Walgreens logo in the footer of the portal.

\"\r\n\t\t}, {\r\n\t\t\t\"hintHdng\": \"

Getting Started

\",\r\n\t\t\t\"hintMsg\": \"

Click on the 'Community Outreach' button in the banner or one of the icons below to enter your Community Outreach Portal. The Immunization and Senior Outreach icons will open to outreach opportunities, while the Patient Care & Advocacy icon will open to organizations.

Please take note of any messages from Walgreens Administration below the icons. These messages will provide notices regarding current issues and reminders.

Stats provided at the bottom of the screen will give you an idea of how Outreach Programs are doing overall and how your contributions are adding up.

\"\r\n\t\t}]\r\n\t},\r\n\t\"storehome\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\t\"hintHdng\": \"

What are Outreach Opportunities?

\",\r\n\t\t\t\t\"hintMsg\": \"

The list of Outreach Opportunities represents local businesses and organizations that have the potential to respond to one or more of the Walgreens Community Outreach programs. New opportunities will be added at the beginning of May each year. However, stores are also encouraged to add new opportunities of their own, by clicking the \\\"+\\\" add button at the top of the Opportunities list.

Each opportunity is listed with its phone number for contacting and the programs that are suggested for that opportunity. Additional information on the opportunity can be found by clicking on the opportunity and selecting Opportunity Profile from the menu.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

What Do I Do With These Outreach Opportunities?

\",\r\n\t\t\t\t\"hintMsg\": \"

Your task is to try to develop a relationship with these opportunities by offering Walgreens' services through outreach programs. The suggested programs for that opportunity and their status are listed below the opportunity information. IP for Immunization Program and SR for Senior Outreach.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Making Contact

\",\r\n\t\t\t\t\"hintMsg\": \"

Opportunities are sorted by default with Previous Clients, marked with a green star, sorted to the top and listed in order of employee count (largest to smallest). The sort order may be changed using the drop down at the top of the list to sort opportunities based on priority, previous clients, employee count, date contacted or outreach program. Priority opportunities flagged with a red exclamation point (submitted a contact form) or red mail icon (indicated they were interested in a clinic by email) should always be contacted as soon as possible. Otherwise, retaining previous clients should be a stores highest priority when deciding which opportunities to call first.

Prior to making a call, review some of the resource information and sample call script found under Resources. Looking for specific information about an Opportunity? Click the opportunity name and an actions menu will provide options to select:

View History - Review a full current and past contact log and event history.

Opportunity Profile - View or edit the full opportunity profile, including outreach programs

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

After the Call

\",\r\n\t\t\t\t\"hintMsg\": \"

After every contact, you will need to log the opportunity's response.

1. Click the opportunity name to open the actions menu and select Log Contact.

2. Review or fill in the contact information

3. Select the Outreach Program, if the opportunity is assigned to more than one.

4. Select an Outreach Status. This status will decide if further action should be taken with the opportunity. Additional information, forms or contracts may be required.

Once submitted the new status will appear for that program under Outreach Opportunities and additional action menu items will be provided based on the status. These will guide you to a contract, event form or follow-up reminder.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Scheduled Events

\",\r\n\t\t\t\t\"hintMsg\": \"

All approved clinics and senior events for the current season/year will appear in the right column.

Upcoming Events - Lists events you will need to complete in order as well as their status.

Past Events - Lists events past the current date along with their status.

Click on the events to view the details of that event and log status changes for clinics.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Add Local Outreach Opportunities

\",\r\n\t\t\t\t\"hintMsg\": \"

You are encouraged to add your own local opportunities by clicking the add (+) icon in the Outreach Opportunities header.

\"\r\n\t\t\t},\r\n\t\t\t{ \r\n\t\t\t\t\"hintHdng\": \"

Workflow Tasks

\",\r\n\t\t\t\t\"hintMsg\": \"

When you have the following tasks that need attention, they will appear in colored blocks at the top of the screen along with the number of these tasks to complete.

Contact Client/Organization
Host Event
Complete
Follow-Up
Schedule SR Events

\"\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t\"home\": {\r\n\t\t\"admin, regional vice president, regional healthcare director, director - rx and retail ops\": [{\r\n\t\t\t\t\"hintHdng\": \"

HCS Dashboard

\",\r\n\t\t\t\t\"hintMsg\": \"

The dashboard will provide a heads up view of the Immunization Program. Guiding you on the responsibilities of the Healthcare Supervisors, Pod Healthcare Supervisors, District Managers and stores.

HCS Action Items - The counts under the HCS column indicate all of the action items that require immediate attention from an HCS in the selected Area. The counts under the Store column indicate those actions for the currently selected store.

Metrics - These counts are some key indicators across the Immunization Program.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Intake Form Leads Awaiting Response

\",\r\n\t\t\t\t\"hintMsg\": \"\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Viewing and Responding to Leads

\",\r\n\t\t\t\t\"hintMsg\": \"

Choose an action from the menu located in the last column of 'Intake Form Leads Awaiting Response'.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Clinic Assignments

\",\r\n\t\t\t\t\"hintMsg\": \"

Corporate, Local and Equity clinics requiring attention from an HCS or DM will show up in Clinics under Assigned to HCS and Assigned to DM. Clinics that have been assigned will show up under Assigned to Store.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Approving Clinics

\",\r\n\t\t\t\t\"hintMsg\": \"

If a Healthcare Supervisor or District Manager wants to approve the automated assignment and notify the store:

1. Check the box in the first column of all of the clinics you want to approve.

2. Select the Bulk Action 'Approve & Email to Store'.

3. Clicking 'Submit Entry' will add the clinic to the assigned store's Upcoming Events list and will send an automated email notifying the store to confirm the clinic with the client.

Once sent, the clinic will also appear under the Assigned to Store tab if other changes are required.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Reassigning Clinics

\",\r\n\t\t\t\t\"hintMsg\": \"

To reassign a clinic to a different store, DM or HCS:

1. Click the Actions Menu icon in the last column to reassign an individual clinic to a different store, DM or HCS. To reassign multiple clinics to the same store, check the clinics and select 'Reassign' in the Bulk Actions.

2. To complete the reassignment, check one or more clinics and select the Bulk Action you would like to perform. This would depend on if it's approved to go to the store or if you want another DM or HCS to assign it to a store.

If you select 'Assign & Email to DM' an automated email will be sent to the DM asking them to approve and assign the clinic to a store. These clinics will now appear under the Assigned to District tab, until the district assigns the clinic to a store. Likewise , 'Assign & Email to HCS' will notify the HCS and move the clinic to their dashboard.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Local Opportunities

\",\r\n\t\t\t\t\"hintMsg\": \"

Healthcare Supervisors may be assigned Local Opportunities to review from the Assigned Local Opportunities. Based on their assessment, they may call the opportunity or assign it to either a District Manager, store or another Healthcare Supervisor to have them make the contact.

It's important to note that these opportunities are not visible to the stores while they are assigned to the HCS or DM.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Priority Opportunities to be Contacted

\",\r\n\t\t\t\t\"hintMsg\": \"

The “Priority Opportunities to be Contacted” tab is designed to highlight all the priority opportunities that have no outreach.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Approving Local Opportunities

\",\r\n\t\t\t\t\"hintMsg\": \"

To simply approve the automated assignment and notify the store:

1. Check the box in the first column of all of the opportunities you want to approve.

2. Select the Bulk Action 'Approve & Email to Store'.

3. Clicking 'Submit Entry' will add the opportunity to the assigned store's Outreach Opportunities list and will send an automated email notifying the store to contact the assigned opportunities.

Once sent, the assigned local opportunity will appear under the Assigned Local Opportunities tab if other changes are required. If you would like to Initiate the Contract yourself after assigning the business, you may navigate to the Store interface and initiate the contract as usual.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Reassigning Local Opportunities

\",\r\n\t\t\t\t\"hintMsg\": \"

To reassign opportunities to a different store, DM or HCS:

1. Click the Actions Menu icon in the last column to reassign an individual opportunity to a different store, DM or HCS. To reassign multiple opportunities to the same store, check the clinics and select 'Reassign' in the Bulk Actions.

2. To complete the reassignment, check one or more opportunities and select the Bulk Action you would like to perform. This would depend on if it's approved to go to the store or if you want another DM or HCS to assign it to a store.

If you select 'Assign & Email to DM' an automated email will be sent to the DM asking them to approve and assign the opportunity to a store. These opportunities will now appear under the Local Opportunities Assigned to DM tab, until the district assigns the opportunity to a store. Likewise , 'Assign & Email to HCS' will notify the HCS and move the clinic to their dashboard.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Inappropriate or Closed Opportunities

\",\r\n\t\t\t\t\"hintMsg\": \"

If an opportunity does not seem appropriate to assign to a store or you have contacted the opportunity and it is closed, the opportunity status should be changed to 'Business Closed.' This status will insure that the business is removed with the annual data reset.

1. Click the Actions Menu icon in the last column.
2. Select 'Change Status.'
3. Select 'Business Closed' from the 'IP Outreach Status' menu.
4. Click 'Save' to save the status change.

\"\r\n\t\t\t}\r\n\t\t\t,\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Contact & Log Status Yourself

\",\r\n\t\t\t\t\"hintMsg\": \"

If you decide to contact the opportunity yourself and want to log the contact, do one of the following:

Scheduled a Clinic
1. Click the Actions Menu icon in the last column.
2. Select 'Change Status.'
3. Select 'HCS Contacted' from the 'IP Outreach Status' menu.
4. Click 'Save' to save the status change.
5. You will then need to assign the opportunity to a store to Initiate a Contract or schedule a clinic. Start by checking the box in the first column.
6. Select the Bulk Action 'Approve & Email to Store'
7. Clicking 'Submit Entry' will add the opportunity to the assigned store's Outreach Opportunities list and allow you to go to the store schedule the clinic.

No Client Interest
1. Click the Actions Menu icon in the last column.
2. Select 'Change Status.'
3. Select 'No Client Interest' from the 'IP Outreach Status' menu.
4. Click 'Save' to save the status change.

\"\r\n\t\t\t}\r\n\t\t],\r\n\t\t\"district manager\": [{\r\n\t\t\t\t\"hintHdng\": \"

Clinic Assignments

\",\r\n\t\t\t\t\"hintMsg\": \"

Corporate, Local and Equity clinics requiring your attention will show up in Clinics under the Assigned to DM tab.

As the District Manager, you are required to review, and assign these clinics to the appropriate store. The Store # column will provide a store selected for the clinic based on closest location. You can either reassign the clinic to a different store or approve and email the store the assignment.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Approving Clinics

\",\r\n\t\t\t\t\"hintMsg\": \"

To simply approve the automated assignment and notify the store:

1. Check the box in the first column of all of the clinics you want to approve.

2. Select the Bulk Action 'Approve & Email to Store'.

3. Clicking 'Submit Entry' will add the clinic to the assigned store's Upcoming Events list and will send an automated email notifying the store to confirm the clinic with the client.

Once sent, the clinic will also appear for you under the Assigned to Store tab if other changes are required.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Reassigning Clinics

\",\r\n\t\t\t\t\"hintMsg\": \"

To reassign a clinic to a different store, DM or HCS:

1. Click the Actions Menu icon in the last column to reassign an individual clinic to a different store, DM or HCS. To reassign multiple clinics to the same store, check the clinics and select 'Reassign' in the Bulk Actions.

2. To complete the reassignment, check one or more clinics and select the Bulk Action you would like to perform. This would depend on if it's approved to go to the store or if you want another DM or HCS to assign it to a store.

If you select 'Assign & Email to DM' an automated email will be sent to the DM asking them to approve and assign the clinic to a store. These clinics would then move to the other District Manager's dashboard. Likewise , 'Assign & Email to HCS' will notify the HCS and move the clinic to their dashboard.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Local Opportunities

\",\r\n\t\t\t\t\"hintMsg\": \"

As the District Manager, you may be asked to review the assignments of Local Opportunities. Based on your assessment, you may call the opportunity yourself or assign it to a store or another District Manager to have them make the contact.

It's important to note that these opportunities are not visible to the stores while they are in your queue.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Approving Local Opportunities

\",\r\n\t\t\t\t\"hintMsg\": \"

To simply approve the automated assignment and notify the store:

1. Check the box in the first column of all of the opportunities you want to approve.

2. Select the Bulk Action 'Approve & Email to Store'.

3. Clicking 'Submit Entry' will add the opportunity to the assigned store's Outreach Opportunities list and will send an automated email notifying the store to contact the assigned opportunities.

Once sent, the assigned local opportunity will appear under the Assigned Local Opportunities tab if other changes are required. If you would like to Initiate the Contract yourself after assigning the business, you may navigate to the Store interface and initiate the contract as usual.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Reassigning Local Opportunities

\",\r\n\t\t\t\t\"hintMsg\": \"

To reassign opportunities to a different store, DM or HCS:

1. Click the Actions Menu icon in the last column to reassign an individual opportunity to a different store, DM or HCS. To reassign multiple opportunities to the same store, check the clinics and select 'Reassign' in the Bulk Actions.

2. To complete the reassignment, check one or more opportunities and select the Bulk Action you would like to perform. This would depend on if it's approved to go to the store or if you want another DM or HCS to assign it to a store.

If you select 'Assign & Email to DM' an automated email will be sent to the DM asking them to approve and assign the opportunity to a store. These opportunities would then move to the other District Manager's dashboard. Likewise , 'Assign & Email to HCS' will notify the HCS and move the clinic to their dashboard.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Inappropriate or Closed Opportunities

\",\r\n\t\t\t\t\"hintMsg\": \"

If an opportunity does not seem appropriate to assign to a store or you have contacted the opportunity and it is closed, the opportunity status should be changed to 'Business Closed.' This status will insure that the business is removed with the annual data reset.

1. Click the Actions Menu icon in the last column.
2. Select 'Change Status.'
3. Select 'Business Closed' from the 'IP Outreach Status' menu.
4. Click 'Save' to save the status change.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Contact & Log Status Yourself

\",\r\n\t\t\t\t\"hintMsg\": \"

If you decide to contact the opportunity yourself and want to log the contact, do one of the following:

Scheduled a Clinic
1. Click the Actions Menu icon in the last column.
2. Select 'Change Status.'
3. Select 'HCS Contacted' from the 'IP Outreach Status' menu.
4. Click 'Save' to save the status change.
5. You will then need to assign the opportunity to a store to Initiate a Contract or schedule a clinic. Start by checking the box in the first column.
6. Select the Bulk Action 'Approve & Email to Store'
7. Clicking 'Submit Entry' will add the opportunity to the assigned store's Outreach Opportunities list and allow you to go to the store schedule the clinic.

No Client Interest
1. Click the Actions Menu icon in the last column.
2. Select 'Change Status.'
3. Select 'No Client Interest' from the 'IP Outreach Status' menu.
4. Click 'Save' to save the status change.

\"\r\n\t\t\t}\r\n\t\t],\r\n\t\t\"healthcare supervisor\": [{\r\n\t\t\t\t\"hintHdng\": \"

HCS Dashboard

\",\r\n\t\t\t\t\"hintMsg\": \"

The dashboard will provide a heads up view of the Immunization Program in your area. Guiding you on your responsibilities and your stores'.

HCS Action Items - The counts under the HCS column indicate all of the action items that require immediate attention in your area. The counts under the Store column indicate those actions for the currently selected store. To change the current store, use the 'Select Store' select menu in the upper right corner of the page.

Metrics - These counts are some key indicators that should be followed to keep stores on track within your area.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Clinic Assignments

\",\r\n\t\t\t\t\"hintMsg\": \"

Corporate, Local and Equity clinics requiring your attention will show up in Clinics under the Assigned to HCS tab.

As a Healthcare Supervisor, you are required to review, and assign these clinics to the appropriate store or to a DM who can select the appropriate store. The Store # column will provide a store selected for the clinic based on closest location. You can either reassign the clinic to a different store or approve and email the store the assignment.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Approving Clinics

\",\r\n\t\t\t\t\"hintMsg\": \"

To simply approve the automated assignment and notify the store:

1. Check the box in the first column of all of the clinics you want to approve.

2. Select the Bulk Action 'Approve & Email to Store'.

3. Clicking 'Submit Entry' will add the clinic to the assigned store's Upcoming Events list and will send an automated email notifying the store to confirm the clinic with the client.

Once sent, the clinic will also appear for you under the Assigned to Store tab if other changes are required.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Reassigning Clinics

\",\r\n\t\t\t\t\"hintMsg\": \"

To reassign a clinic to a different store, DM or HCS:

1. Click the Actions Menu icon in the last column to reassign an individual clinic to a different store, DM or HCS. To reassign multiple clinics to the same store, check the clinics and select 'Reassign' in the Bulk Actions.

2. To complete the reassignment, check one or more clinics and select the Bulk Action you would like to perform. This would depend on if it's approved to go to the store or if you want another DM or HCS to assign it to a store.

If you select 'Assign & Email to DM' an automated email will be sent to the DM asking them to approve and assign the clinic to a store. These clinics will now appear under the Assigned to District tab, until the district assigns the clinic to a store. Likewise , 'Assign & Email to HCS' will notify the HCS and move the clinic to their dashboard.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Local Opportunities

\",\r\n\t\t\t\t\"hintMsg\": \"

As a Healthcare Supervisor, you may be assigned Local Opportunities to review. Based on your assessment, you may call the opportunity yourself or assign it to either a District Manager, store or another Healthcare Supervisor to have them make the contact.

It's important to note that these opportunities are not visible to the stores while they are in your queue.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Approving Local Opportunities

\",\r\n\t\t\t\t\"hintMsg\": \"

To simply approve the automated assignment and notify the store:

1. Check the box in the first column of all of the opportunities you want to approve.

2. Select the Bulk Action 'Approve & Email to Store'.

3. Clicking 'Submit Entry' will add the opportunity to the assigned store's Outreach Opportunities list and will send an automated email notifying the store to contact the assigned opportunities.

Once sent, the assigned local opportunity will appear under the Assigned Local Opportunities tab if other changes are required. If you would like to Initiate the Contract yourself after assigning the business, you may navigate to the Store interface and initiate the contract as usual.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Reassigning Local Opportunities

\",\r\n\t\t\t\t\"hintMsg\": \"

To reassign opportunities to a different store, DM or HCS:

1. Click the Actions Menu icon in the last column to reassign an individual opportunity to a different store, DM or HCS. To reassign multiple opportunities to the same store, check the clinics and select 'Reassign' in the Bulk Actions.

2. To complete the reassignment, check one or more opportunities and select the Bulk Action you would like to perform. This would depend on if it's approved to go to the store or if you want another DM or HCS to assign it to a store.

If you select 'Assign & Email to DM' an automated email will be sent to the DM asking them to approve and assign the opportunity to a store. These opportunities will now appear under the Local Opportunities Assigned to DM tab, until the district assigns the opportunity to a store. Likewise , 'Assign & Email to HCS' will notify the HCS and move the clinic to their dashboard.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Inappropriate or Closed Opportunities

\",\r\n\t\t\t\t\"hintMsg\": \"

If an opportunity does not seem appropriate to assign to a store or you have contacted the opportunity and it is closed, the opportunity status should be changed to 'Business Closed.' This status will insure that the business is removed with the annual data reset.

1. Click the Actions Menu icon in the last column.
2. Select 'Change Status.'
3. Select 'Business Closed' from the 'IP Outreach Status' menu.
4. Click 'Save' to save the status change.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Contact & Log Status Yourself

\",\r\n\t\t\t\t\"hintMsg\": \"

If you decide to contact the opportunity yourself and want to log the contact, do one of the following:

Scheduled a Clinic
1. Click the Actions Menu icon in the last column.
2. Select 'Change Status.'
3. Select 'HCS Contacted' from the 'IP Outreach Status' menu.
4. Click 'Save' to save the status change.
5. You will then need to assign the opportunity to a store to Initiate a Contract or schedule a clinic. Start by checking the box in the first column.
6. Select the Bulk Action 'Approve & Email to Store'
7. Clicking 'Submit Entry' will add the opportunity to the assigned store's Outreach Opportunities list and allow you to go to the store schedule the clinic.

No Client Interest
1. Click the Actions Menu icon in the last column.
2. Select 'Change Status.'
3. Select 'No Client Interest' from the 'IP Outreach Status' menu.
4. Click 'Save' to save the status change.

\"\r\n\t\t\t}\r\n\t\t],\r\n\t\t\"pod healthcare supervisor\": [{\r\n\t\t\t\t\"hintHdng\": \"

HCS Dashboard

\",\r\n\t\t\t\t\"hintMsg\": \"

The dashboard will provide a heads up view of the Immunization Program in your area. Guiding you on your responsibilities and your stores'.

HCS Action Items - The counts under the HCS column indicate all of the action items that require immediate attention in your area. The counts under the Store column indicate those actions for the currently selected store. To change the current store, use the 'Select Store' select menu in the upper right corner of the page.

Metrics - These counts are some key indicators that should be followed to keep stores on track within your area.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Clinic Assignments

\",\r\n\t\t\t\t\"hintMsg\": \"

Corporate, Local and Equity clinics requiring your attention will show up in Clinics under the Assigned to HCS tab.

As a Healthcare Supervisor, you are required to review, and assign these clinics to the appropriate store or to a DM who can select the appropriate store. The Store # column will provide a store selected for the clinic based on closest location. You can either reassign the clinic to a different store or approve and email the store the assignment.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Approving Clinics

\",\r\n\t\t\t\t\"hintMsg\": \"

To simply approve the automated assignment and notify the store:

1. Check the box in the first column of all of the clinics you want to approve.

2. Select the Bulk Action 'Approve & Email to Store'.

3. Clicking 'Submit Entry' will add the clinic to the assigned store's Upcoming Events list and will send an automated email notifying the store to confirm the clinic with the client.

Once sent, the clinic will also appear for you under the Assigned to Store tab if other changes are required.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Reassigning Clinics

\",\r\n\t\t\t\t\"hintMsg\": \"

To reassign a clinic to a different store, DM or HCS:

1. Click the Actions Menu icon in the last column to reassign an individual clinic to a different store, DM or HCS. To reassign multiple clinics to the same store, check the clinics and select 'Reassign' in the Bulk Actions.

2. To complete the reassignment, check one or more clinics and select the Bulk Action you would like to perform. This would depend on if it's approved to go to the store or if you want another DM or HCS to assign it to a store.

If you select 'Assign & Email to DM' an automated email will be sent to the DM asking them to approve and assign the clinic to a store. These clinics will now appear under the Assigned to District tab, until the district assigns the clinic to a store. Likewise , 'Assign & Email to HCS' will notify the HCS and move the clinic to their dashboard.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Local Opportunities

\",\r\n\t\t\t\t\"hintMsg\": \"

As a Healthcare Supervisor, you may be assigned Local Opportunities to review. Based on your assessment, you may call the opportunity yourself or assign it to either a District Manager, store or another Healthcare Supervisor to have them make the contact.

It's important to note that these opportunities are not visible to the stores while they are in your queue.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Approving Local Opportunities

\",\r\n\t\t\t\t\"hintMsg\": \"

To simply approve the automated assignment and notify the store:

1. Check the box in the first column of all of the opportunities you want to approve.

2. Select the Bulk Action 'Approve & Email to Store'.

3. Clicking 'Submit Entry' will add the opportunity to the assigned store's Outreach Opportunities list and will send an automated email notifying the store to contact the assigned opportunities.

Once sent, the assigned local opportunity will appear under the Assigned Local Opportunities tab if other changes are required. If you would like to Initiate the Contract yourself after assigning the business, you may navigate to the Store interface and initiate the contract as usual.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Reassigning Local Opportunities

\",\r\n\t\t\t\t\"hintMsg\": \"

To reassign opportunities to a different store, DM or HCS:

1. Click the Actions Menu icon in the last column to reassign an individual opportunity to a different store, DM or HCS. To reassign multiple opportunities to the same store, check the clinics and select 'Reassign' in the Bulk Actions.

2. To complete the reassignment, check one or more opportunities and select the Bulk Action you would like to perform. This would depend on if it's approved to go to the store or if you want another DM or HCS to assign it to a store.

If you select 'Assign & Email to DM' an automated email will be sent to the DM asking them to approve and assign the opportunity to a store. These opportunities will now appear under the Local Opportunities Assigned to DM tab, until the district assigns the opportunity to a store. Likewise , 'Assign & Email to HCS' will notify the HCS and move the clinic to their dashboard.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Inappropriate or Closed Opportunities

\",\r\n\t\t\t\t\"hintMsg\": \"

If an opportunity does not seem appropriate to assign to a store or you have contacted the opportunity and it is closed, the opportunity status should be changed to 'Business Closed.' This status will insure that the business is removed with the annual data reset.

1. Click the Actions Menu icon in the last column.
2. Select 'Change Status.'
3. Select 'Business Closed' from the 'IP Outreach Status' menu.
4. Click 'Save' to save the status change.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Contact & Log Status Yourself

\",\r\n\t\t\t\t\"hintMsg\": \"

If you decide to contact the opportunity yourself and want to log the contact, do one of the following:

Scheduled a Clinic
1. Click the Actions Menu icon in the last column.
2. Select 'Change Status.'
3. Select 'HCS Contacted' from the 'IP Outreach Status' menu.
4. Click 'Save' to save the status change.
5. You will then need to assign the opportunity to a store to Initiate a Contract or schedule a clinic. Start by checking the box in the first column.
6. Select the Bulk Action 'Approve & Email to Store'
7. Clicking 'Submit Entry' will add the opportunity to the assigned store's Outreach Opportunities list and allow you to go to the store schedule the clinic.

No Client Interest
1. Click the Actions Menu icon in the last column.
2. Select 'Change Status.'
3. Select 'No Client Interest' from the 'IP Outreach Status' menu.
4. Click 'Save' to save the status change.

\"\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t\"pcastorehome\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\t\"hintHdng\": \"

What are PCA Organizations?

\",\r\n\t\t\t\t\"hintMsg\": \"

PCA Organizations or Partners are specific to the Patient Care & Advocacy Events (PCA) Outreach Program. They are health departments and organizations that have teamed up with Walgreens to provide HIV, Hepatitis C and STI testing and screening services, HIV, Hepatitis C and STI counseling to individuals, Organ Donation Registration, and Mobile Mammography education & events.

Sort by \\\"PCA Organizations,\\\" to view the list of organizations assigned to a store.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

What Do I Do With These PCA Organizations?

\",\r\n\t\t\t\t\"hintMsg\": \"

If your store is eligible* to host a testing or screening event, you may contact one of the testing organizations (Health Department, AIDS Service Organization, Community Based Organization or Cancer Screening Organizations) to hold an event at your location.

Any store may host an Organ Donor Registration event by contacting an Organ Procurement Organization.

* Eligible stores are those that have a clean and clutter free private health room with a door.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

What if I Don't See Any PCA Organizations?

\",\r\n\t\t\t\t\"hintMsg\": \"

You may assign existing PCA Organizations or add a new organization to a store by clicking the add (+) icon at the top of the PCA Organizations/Outreach Opportunities list and then select 'Add PCA Organization.'

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Making Contact

\",\r\n\t\t\t\t\"hintMsg\": \"

Opportunities are sorted by default with Previous Clients, marked with a green star, sorted to the top and listed in order of employee count (largest to smallest). The sort order may be changed using the drop down at the top of the list to sort opportunities based on program, date contacted or employee count. Opportunities flagged with a red exclamation point should always be contacted as soon as possible. Otherwise, retaining previous clients should be a stores highest priority when deciding which opportunities to call first.

Prior to making a call, review some of the resource information and sample call script found under Resources. Looking for specific information about an Opportunity? Click the opportunity name and an actions menu will provide options to select:

View History - Review a full current and past contact log and event history.

Opportunity Profile - View or edit the full opportunity profile, including outreach programs

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

After the Call

\",\r\n\t\t\t\t\"hintMsg\": \"

After every contact, you will need to log the organization's response.

1. Click the organization's name to open the actions menu and select Log Contact.
3. Review or fill in the contact information
4. Select an Outreach Status. This status will decide if further action should be taken with the opportunity. Additional information, forms or contracts may be required.

Once submitted, the last contact and new status will appear under the organization's name and additional screens will appear based on the status selected. These will guide you to the setup of a Limited Use License Agreement or a follow-up reminder.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Scheduled Events

\",\r\n\t\t\t\t\"hintMsg\": \"

All approved events will appear in the right column.

Upcoming Events - Lists events you will need to complete in order as well as their status.
Past Events - Lists events past the current date along with their status.

Click on the events to view the details of that event and log status changes for those events.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Workflow Tasks

\",\r\n\t\t\t\t\"hintMsg\": \"

When you have the following tasks that need attention, they will appear in colored blocks at the top of the screen along with the number of these tasks to complete.

Contact Client/Organization
Host Event
Complete
Follow-Up
Schedule SR Events

\"\r\n\t\t\t}, {\r\n\t\t\t\t\"hintHdng\": \"

Add PCA Organizations

\",\r\n\t\t\t\t\"hintMsg\": \"

You may assign existing organizations or enter a new organization to a store by clicking the add (+) icon at the top of the store organization list and then select Add Organization.

\"\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t\"soresources\": {\r\n\t\t\"admin\": []\r\n\t},\r\n\t\"imzresources\": {\r\n\t\t\"admin\": []\r\n\t},\r\n\t\"userprofile\": {\r\n\t\t\"admin\": []\r\n\t},\r\n\t\"pcadetails\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\"hintHdng\": \"

Changing Event Status - Steps 1 & 2

\",\r\n\t\t\t\"hintMsg\": \"

All PCA events will start with 'Step 1 - LULA Approved' completed.

'Step 2 - Confirm Event' will require a Walgreens user to complete.

1. Use the contact and phone number in the green 'PCA Organization Information' section to contact and confirm the event. When confirming, go over the details in the magenta 'Services' and orange 'Location & Event' sections.
2. Once confirmed, enter the contact's name in the 'Confirmed By' field in the orange section and click the 'Confirm' button towards the bottom of the screen, completing Step 2.

\"\r\n\t\t}, {\r\n\t\t\t\"hintHdng\": \"

Completing an Event - Step 3

\",\r\n\t\t\t\"hintMsg\": \"

The final step to complete for any PCA event is 'Step 3 - Completed Event'.

1. Enter the 'Actual Attendance,' 'Preliminary Positives' or 'Registered Donors' and any comments regarding the event in the blue 'Feedback/Notes' section.
2. Click the 'Complete' button at the bottom of the screen to complete the clinic.

If the PCA event was cancelled, enter the reason into the 'Additional Comments/Instructions' text area located in the blue 'Feedback/Notes' section. Then click the 'Cancel Clinic' button to complete the clinic.

\"\r\n\t\t}, {\r\n\t\t\t\"hintHdng\": \"

History Log

\",\r\n\t\t\t\"hintMsg\": \"

If you have any questions regarding when or by whom an event status or detail was updated, you can refer to the grey 'History Log' at the bottom of the page.

\"\r\n\t\t}]\r\n\t},\r\n\t\"addpca\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\"hintHdng\": \"

Search for an Existing Partner

\",\r\n\t\t\t\"hintMsg\": \"

Before adding a PCA Organization by completing the lower form, check the Existing Partner list at the top of the screen to see if the organization has already been added to the portal for your state. If it is there, select the name and click the 'Add +' button. Review and update the organization's information where necessary and click 'Save.' The PCA Organization will be added to your store.

\"\r\n\t\t}, {\r\n\t\t\t\"hintHdng\": \"

Add a New Organization

\",\r\n\t\t\t\"hintMsg\": \"

If the organization is not found in the list of Existing Partners for your state, complete the Organization profile and click 'Save.'

\"\r\n\t\t}]\r\n\t},\r\n\t\"pcadashboard\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\"hintHdng\": \"

Patient Care & Advocacy Events Dashboard

\",\r\n\t\t\t\"hintMsg\": \"

The dashboard will provide a heads up view of the Patient Care & Advocacy Events contracting and events.

RVP Action Items - The counts under the RVP column indicate all of the action items that require immediate attention from a RVP. The counts under the Store column indicate those actions for the currently selected store. Click on the numbers in these columns to open a full report. To change the current store, use the 'Select Store' select menu in the upper right corner of the page.

Metrics - These counts are some key indicators that should be followed to keep your region on track. Click on the report names to review the full report.

\"\r\n\t\t}],\r\n\t\t\"regional vice president, regional healthcare director\": [{\r\n\t\t\t\"hintHdng\": \"

Patient Care & Advocacy Events Dashboard

\",\r\n\t\t\t\"hintMsg\": \"

The dashboard will provide a heads up view of the Patient Care & Advocacy Events contracting and events in your region. Guiding you on your responsibilities and your stores'.

RVP Action Items - The counts under the RVP column indicate all of the action items that require immediate attention in your region. The counts under the Store column indicate those actions for the currently selected store. Click on the numbers in these columns to open a full report. To change the current store, use the 'Select Store' select menu in the upper right corner of the page.

Metrics - These counts are some key indicators that should be followed to keep your region on track. Click on the report names to review the full report.

\"\r\n\t\t}]\r\n\t},\r\n\t\"rhdcontractagreement\": {\r\n\t\t\"admin, regional healthcare director, regional vice president\": [{\r\n\t\t\t\"hintHdng\": \"

Review, Approve and Sign

\",\r\n\t\t\t\"hintMsg\": \"

1. An RVP will need to review the agreement that has been signed by the partnering organization in detail.
2. Download and review the proof of insurance document(s).
3. Check Approve or Reject in the side panel. If Approving, you will also need to electronically sign the document. If Rejecting, enter the revised location, date and time.
4. Click 'Submit' and an email will be sent to the organization and the store with a link to the completed agreement for printing or download if approved, otherwise your rejection and revisions will be sent to the initiator of the agreement.

After approval, the scheduled event will appear under Upcoming Events for the hosting store.

\"\r\n\t\t}] \r\n\t},\r\n\t\"scheduleevent\": {\r\n\t\t\"admin, director – rx and retail ops, healthcare supervisor, regional vice president, regional healthcare director, district manager, store manager, pod healthcare supervisor\": [{\r\n\t\t\t\"hintHdng\": \"

Scheduling a Senior Event

\",\r\n\t\t\t\"hintMsg\": \"

1. Enter the event date, start time and end time along with the estimated number of attendees.

2. Select an event type.

3. Select the role Walgreens will play in the selected event.

4. Check 'Yes' or 'No' for providing educational materials and describe those materials in the text area.

5. Click 'Save' to complete the scheduling of the SR Event. Once completed a SR event will appear in the Upcoming Events list

\"\r\n\t\t}]\r\n\t},\r\n\t\"followUp\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\t\"hintHdng\": \"

Follow-Up Reminder

\",\r\n\t\t\t\t\"hintMsg\": \"

Logging Follow-Up as an opportunity's status provides the option to have an email reminder sent for a specific follow-up date. By default, the follow-up reminder will be set to send an email to the person who logged the Follow-Up status seven days from the current date. You may choose to change the email to assign the follow-up call to someone else, as well as changing the date to fit the contact's schedule.

You may also choose to set the status to Follow-up, but turn off the email reminder by checking the 'Do not send an email reminder' checkbox.

Please note, you must save your selections for the Follow-Up. If you cancel, the contact status will not be logged.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Follow-Up Reminders

\",\r\n\t\t\t\t\"hintMsg\": \"

Viewing Follow-Up Reminders allows you to review and edit a specific opportunity or testing organization's follow-up settings for all Outreach Programs. You may change the email to assign the follow-up call to someone else, modify the date the email reminder will be sent or turn the reminder on or off all together.

\"\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t\"viewcontactlogHistory\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\"hintHdng\": \"

Navigating the History

\",\r\n\t\t\t\"hintMsg\": \"

The Contact Log History provides insight into an opportunity's or organization's activity within Outreach Programs. Each contact log or event is shown by date and logged status change. These logs are broken up into current and past logs.

Click the log to view additional detail. Some logs will provide a link to a contract, follow up or event form where applicable. If a log is entered in error, it can also be removed by clicking the Remove Log Entry link.

\"\r\n\t\t}]\r\n\t},\r\n\t\"contract\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\t\"hintHdng\": \"

Step 1 - Immunizations and Payment Methods

\",\r\n\t\t\t\t\"hintMsg\": \"

1. Select an Immunization.
2. Select a Payment Method.
3. Click the 'Add +' button to add the selections to the agreement.
4. If additional immunizations or payment methods need to be added, repeat steps 1-3 until they are all displayed under 'Added Immunizations and Payment Methods'.
5. Complete the Invoice & Voucher Information section for invoicing the clinic service fee and any direct bill payment methods selected.
6. Click 'Next' to continue or 'Save' to continue later.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Step 2 - Clinic Locations

\",\r\n\t\t\t\t\"hintMsg\": \"

1. Enter the Estimated Number of Participants

2. Select desired Setup Options.3. Enter the Estimated Number of Shots per Immunization
4. Enter all of the contact, address, date and time information.
5. Click 'Add Clinic +' to add more clinics and repeat the process from the beginning. When adding more clinics, two more setup options will be provided.
6. Click 'Next' to continue or 'Save' to continue later.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Step 3 - Walgreens Pharmacy Contact Information

\",\r\n\t\t\t\t\"hintMsg\": \"

1. Enter the name, title, email and phone number of the Walgreens employee, who will be shown as the Walgreens' signer and contact on the contract. The employee listed will be required to handle any questions or changes related to the contract. The Date field will be prefilled with the current date but may be changed to reflect a different date if the contract will not be submitted that day.

2. Click 'Next' to continue or 'Save' to continue later.

\"\r\n\t\t\t}, \r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Step 4 - Review & Send

\",\r\n\t\t\t\t\"hintMsg\": \"

1. Review the agreement in detail. Note: The client signor information and Legal Notice Address will be entered by the client.

2. If any data is missing or you find an error click on the Steps at the top of the screen to return to a previous step or click the 'Back' button at the bottom of the screen.

3. If no additional changes are required, enter the email address of the person you want to have approve the contract in the right column.

4. Review and Agree to the Service Fee Acknowledgement.

5. Click 'Send Agreement' to email the client an access link to complete and approve the agreement or 'Save Agreement' to send later.

6. When the client approves the agreement, the contracting store will receive an email and the clinics will appear under Upcoming Events. Take the next steps to confirm the clinic by clicking on the event.

\"\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t\"amendcontract\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\t\"hintHdng\": \"

Step 1 - Immunizations and Payment Methods

\",\r\n\t\t\t\t\"hintMsg\": \"

1. Select an Immunization.
2. Select a Payment Method.
3. Click the 'Add +' button.

4. If additional immunizations or payment methods need to be added, repeat the process from the beginning until they are all displayed under 'Added Immunizations and Payment Methods'. Otherwise click 'Next' to continue.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Step 2 - Clinic Locations

\",\r\n\t\t\t\t\"hintMsg\": \"

1. Enter the Estimated Shots for newly added immunizations. Note: There is a minimum of 50 shots per location, but this may be divided among multiple immunizations where applicable.
2. To add clinic locations, click the 'Add A Clinic Location' button in the header of the orange 'Clinic Information' section. Fill out the additional location form that appears below the original.
2. Click 'Next' to continue.

Adding a location will create a new clinic event under your 'Upcoming Events' with its own Clinic Details.

\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Step 3 - Pharmacy Information

\",\r\n\t\t\t\t\"hintMsg\": \"

1. Update the Pharmacy Information of the contracting store if necessary.

2. Click 'Next' to continue.

\"\r\n\t\t\t}, \r\n\t\t\t{\r\n\t\t\t\t\"hintHdng\": \"

Step 4 - Review & Send

\",\r\n\t\t\t\t\"hintMsg\": \"

1. Review the agreement in detail.

2. If anything is missing or you find an error, click on the Steps at the top of the screen to return to a previous step or click the 'Back' button at the bottom of the screen.

3. If no additional changes are required, enter the email address of the person you want to have approve the contract in the right column.

4. Click Send Agreement to email the client an access link to complete and approve the amended agreement. Note: If the amended agreement is not sent, your amendments will not be saved.

5. When the client approves the amended agreement, the contracting store will receive an email and the amended agreement will replace the original agreement. If the amended agreement is not approved or rejected the original agreement will be maintained.

\"\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t\"asolula\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\"hintHdng\": \"

Step 1 - Services

\",\r\n\t\t\t\"hintMsg\": \"

1. Select a Service from the dropdown menu.
2. Click the 'Add +' button and the selection and rate will be added to the agreement.
3. Repeat steps 1 and 2 to add multiple services to the agreement.
4. Click 'Next' to continue or 'Save' to continue later.

Click the 'X' button to remove a service from the agreement.

\"\r\n\t\t}, {\r\n\t\t\t\"hintHdng\": \"

Step 2 - Location & Events

\",\r\n\t\t\t\"hintMsg\": \"

1. Complete the 'Partnering Contact & Event Location' information.


2. Review and check at least one of the Location Requirement options in order to accommodate a testing event at your store.
3. Complete the 'Event' Information.
4. Click 'Add Event +' to add multiple event dates and/or times .
5. Click 'Next' to continue or 'Save' to continue later.

\"\r\n\t\t}, {\r\n\t\t\t\"hintHdng\": \"

Step 3 - Walgreens Signer

\",\r\n\t\t\t\"hintMsg\": \"

1. Review the Walgreens Signer information. Make sure the correct regional email is entered, since the RVP from that region will be required to approve and sign the completed LULA.

2. Click 'Next' to continue or 'Save' to continue later.

Only a Regional VP's email associated with your store's region will be accepted as a valid entry.

\"\r\n\t\t}, {\r\n\t\t\t\"hintHdng\": \"

Step 4 - Review & Send

\",\r\n\t\t\t\"hintMsg\": \"

1. Review the agreement in detail. Note: The signature fields in the agreement will be completed by the testing organization and Walgreens RVP.

2. If any corrections are required, click on the 'Edit Agreement' button, or click through the Steps at the top of the screen, or click the 'Back' button at the bottom of the screen.

3. If all of the setup information is correct, enter the email address of the contact you want to have approve and sign the agreement in the right column.

4. Click 'Send Agreement' to email the partnering organization an access link to complete and approve the agreement or 'Save Agreement' to send later.

5. When the partnering organization approves the agreement, the Walgreens RVP from Step 3 will automatically receive an email to review and sign the LULA. Once the RVP submits the signed agreement, the store, RVP and the partnering organization will receive an emailed link to the final agreement.

The scheduled event will appear under Upcoming Events once the LULA has been signed by both parties. Take the next steps to confirm the clinic by clicking on the event.

\"\r\n\t\t}, {\r\n\t\t\t\"hintHdng\": \"

Review, Approve & Sign

\",\r\n\t\t\t\"hintMsg\": \"

1. An RVP will need to review the agreement that has been signed by the partnering organization in detail.

2. Download and review the proof of insurance document(s).

3. Check Approve or Reject in the side panel. If Approving, you will also need to electronically sign the document. If Rejecting, enter the revised location, date and time or other reason for rejection.

4. Click 'Submit' and an email will be sent to the testing organization and the store with a link to the completed agreement for printing or download if approved, otherwise your rejection and revisions will be sent to the initiator of the agreement.

After approval, the scheduled testing event will appear under Upcoming Events for the hosting store.

\"\r\n\t\t}]\r\n\t},\r\n\t\"edit_user\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\"hintHdng\": \"

User Management

\",\r\n\t\t\t\"hintMsg\": \"The User Management screen provides a full listing of all users

with access to the Community Outreach Portal and allows admins to add, remove or editing users.

To locate a specific user:

1. Select a specific User Role to search by, from the dropdown filter at the top of the screen, if you know the user's role. Otherwise, select 'All' as the User Role.

2. Search by email, first or last name, region number, area number, district number or store number. Please note that user role based email accounts will not have a name associated with them.

3. Results may be sorted by column in ascending or descending order by clicking on a column header.

4. Users with multiple assignments or roles will appear in multiple rows.

\"\r\n\t\t}, {\r\n\t\t\t\"hintHdng\": \"

Editing a User

\",\r\n\t\t\t\"hintMsg\": \"

1. Once you have located the user you want to update, click the actions menu button.

2. Select 'Edit User Profile'

3. Modify any of the open fields. User role and email are not editable.

4. Based on the user role, additional stores, districts, areas and regions may be assigned to a user. Select the assignment from the dropdown and click the '+' add button and the assignment will be added to their list of assignments.

5.To remove assignments, click the 'X' button next to the assignment you want to remove. However, all users must have at least one assignment and user role based accounts cannot have their primary assignment removed.

6. Click 'Save' to update the User Profile.

\"\r\n\t\t}, {\r\n\t\t\t\"hintHdng\": \"

Adding a User

\",\r\n\t\t\t\"hintMsg\": \"

1. Select the '+ Add User' button to add a new user.

2. Enter the required 'Email' and select a 'User Role.'

3. Based on the selected role, add user assignments by selecting assignments from the dropdown menu and clicking the '+' button.

4. Click 'Save' to add the user to Community Outreach Portal.

5. An email with an access link will automatically be sent to the added user.


Please note that you may not add user role based generic email users. Those are system generated.

\"\r\n\t\t}, {\r\n\t\t\t\"hintHdng\": \"

Adding a New User Role

\",\r\n\t\t\t\"hintMsg\": \"

1. Locate the user you want to add a new user role to and click the actions menu button (New roles may only be applied to users using a personal email address account).

2. Click 'Add New User Role.'

3. Select the new role from the 'Role' dropdown.

4. Select the user assignment and add them with the '+' button.

\"\r\n\t\t},{\r\n\t\t\t\"hintHdng\": \"

Removing a User

\",\r\n\t\t\t\"hintMsg\": \"

1. Locate the user you want to remove from the Community Outreach Portal and click the actions menu button.

2. Select 'Remove User' (This option will not be available for user role based generic email users).


If a user has multiple assignments, removing the user will remove the user completely along with all assignments. If you only want to remove them from a single store, district area or region, select Edit User and remove the assignment from there.


Before removing a Region user make sure they do not have any LULAs for Patient Care & Advocacy Events that need approval. These agreements require a specific regional user to sign them and will need to be revised if the user is removed.

\"\r\n\t\t}]\r\n\t},\r\n\t\"corporateScheduler\": {\r\n\t\t\"admin\": [{\r\n\t\t\t\"hintHdng\": \"

Scheduler Site Setup

\",\r\n\t\t\t\"hintMsg\": \"

All actions in the Appointment Scheduler begin by selecting a client from the 'Client' dropdown menu at the top of the page. Clients will only appear in this menu when 'Worksite Scheduler Needed' has a value of 'Y' for at least one uploaded clinic.
Be sure to click 'Save' as you make updates. Any unsaved changes will be lost if you navigate away from the page without saving.

\"\r\n\t\t}, {\r\n\t\t\t\"hintHdng\": \"

Scheduled Clinics Tab

\",\r\n\t\t\t\"hintMsg\": \"

Once the client is selected, the 'Scheduled Clinics' tab will show all of the clinics that were uploaded with 'Worksite Scheduler Needed' as 'Y.' However, the clinics that you want to make available through the Scheduler must be checked in the far left column.

Some clinics may show, as disabled (greyed out). This means the clinic store assignment has not been approved by the HCS or the clinic is past its event date.

IMPORTANT: If you uncheck a clinic with appointments already scheduled and then save, all appointments will be cancelled and patients will immediately be sent a cancellation email. These appointments cannot be retrieved.

\"\r\n\t\t}, {\r\n\t\t\t\"hintHdng\": \"

Scheduled Clinics Tab - Min & Max Immunizers

\",\r\n\t\t\t\"hintMsg\": \"

'Min Immunizers' is the minimum amount of immunizers that are required to perform the clinic based on the number of scheduled appointments. When 85% of the appointments are filled, the 'Min Immunizers' will automatically increase by one, until it reaches the value set for 'Max Immunizers,' the maximum amount of immunizers allowed for the event. If the 'Min' reaches the 'Max' and fills to 85%, the Client Services team member who setup the scheduler will receive an email alerting them to either increase the 'Max' or increase the clinic time to open more appointment slots.

\"\r\n\t\t}, {\r\n\t\t\t\"hintHdng\": \"

Scheduled Clinics Tab - Sign-up End Date

\",\r\n\t\t\t\"hintMsg\": \"

The 'Sign-up End Date' is the last date, up until midnight, in which users can create appointments. The default date is set to the day prior to the event.

The Sign-up End Date can be changed to an earlier date, but cannot be set to the day of the clinic or past it, since cheduling on the day of the event would not allow the pharmacy to properly staff or prepare for the clinic.

If you want to prevent further appointments from being scheduled for the selected clinic without cancelling existing appointments, change the end date to yesterday's date.

Click 'Next' to move to the next setup tab.

\"\r\n\t\t}]\r\n\t},\r\n\t\"corporateSchedulerLogoNStyle\": {\r\n\t\t\t\"admin\": [{\"hintHdng\": \"

Logo & Styles Tab - Masthead Logo

\",\r\n\t\t\t\"hintMsg\": \"

By default, the 'Masthead Logo' will display the Walgreens logo in the selected client's Scheduler Site. If requested, the client's logo can be displayed in place of the Walgreens logo, by selecting 'Client Logo' and uploading a logo.

Logo Specifications

Allowed Formats: .png, .jpg, .jpeg

Suggested Size: No larger than 280px wide and 110px high

Suggested Color Space: RGB

Be sure to 'Preview' the site to make sure the logo appears the way you expect it to.

\"\r\n\t\t},{\r\n\t\t\t\"hintHdng\": \"

Logo & Styles Tab - Styles

\",\r\n\t\t\t\"hintMsg\": \"

'Styles' refer to the colors displayed in the scheduler site for the colored banner, text inside the banner, the button color and the text within the button.

Colors can be selected by entering a hex number, or more simply, by clicking the color square and using the color picker. You can return to the default colors by clicking 'Reset to Default Colors.'

Click 'Preview' to view your logo and color selections.

Click 'Next' to move to the next setup tab or 'Back' to update previous tabs.

\"\r\n\t\t}]\r\n\t},\r\n\t\"corporateSchedulerLandingPage\": {\r\n\t\t\t\"admin\": [{\r\n\t\t\t\"hintHdng\": \"

Landing Page Text Tab

\",\r\n\t\t\t\"hintMsg\": \"

The text that will appear on the landing page of the client's scheduler site can be customized on this screen.

Make sure to carefully proof all text changes and to 'Preview' and 'Save' your updates.

Click 'Reset to Default Text' to return to the default text.

Click 'Next' to move to the next setup tab or 'Back' to update previous tabs.

\"\r\n\t\t}]\r\n\t},\r\n\t\"corporateSchedulerFormFields\": {\r\n\t\t\t\"admin\": [{\r\n\t\t\t\"hintHdng\": \"

Form Field & Site Status Tab

\",\r\n\t\t\t\"hintMsg\": \"

The 'Site Status' enables you to turn off the client's scheduling site, for all clinics, without cancelling any appointments.

The 'Form Fields' allow you to configure the fields that will appear and are required for the user to schedule their appointment. The 'Email' field is the only information that is absolutely required. All other fields can be configured based on the client's requirements.

Note: In order to check patients in at the clinic, it is helpful to have the user's name. Otherwise, the patient would be required to have the Confirmation ID provided in the Confirmation email.

\"\r\n\t\t},{\r\n\t\t\t\"hintHdng\": \"

Access & Share the Scheduling & Tracking Sites

\",\r\n\t\t\t\"hintMsg\": \"

At the bottom of the 'Form Field & Site Status' tab, there are buttons for accessing and sharing the scheduling and tracking sites.

Access Scheduler Site - Access and review the Scheduler site. This will take you to the client's live scheduler site, so that you can review the way it looks and functions. Any appointments created will consume slots unless cancelled afterwards.

Share Scheduler Link - Click this button to copy the Scheduler link that you will provide to the client for communications out to their employees.

Access Appointment Tracking - Track the number of appointments scheduled and open, block and unblock appointments, and view reporting.

Share Appointment Tracking - Click this button to copy the Appointment Tracking link that you will provide to the client's admin for tracking their clinic appointments. No employee information or appointment blocking function is provided from this tracking link.

Internal Only Appointment reporting, with additional detail, is available through Reports > Immunization Program > Scheduled Appointments

\"\r\n\t\t}]\r\n\t}\r\n}","export const LocalField: any[] = [{\r\n \"groupName\": \"Opportunity Information\",\r\n \"aliasNames\": {\r\n \"businessContactEmail\": \"Contact Email\",\r\n \"firstName\": \"Contact First Name\",\r\n \"lastName\": \"Contact Last Name\",\r\n \"phone\": \"Contact Phone\",\r\n \"jobTitle\": \"Contact Job Title\",\r\n \"clientReportingEmail\": \"Client Reporting Email\",\r\n \"b2BTeamEmail\": \"B2B Team Email\",\r\n \"salesForceOpportunityId\": \"Salesforce Opportunity ID\",\r\n \"salesForceAccountName\": \"Salesforce Account Name\"\r\n }\r\n},\r\n{\r\n \"groupName\": \"Billing & Vaccine Information\",\r\n \"aliasNames\": {\r\n \"storeID\": \"Assigned Store\",\r\n \"naClinicPlanId\": \"Plan ID\",\r\n \"recipientId\": \"ID Recipient\",\r\n \"naClinicAddlComments\": \"Additional Comments/Instructions\",\r\n \"naClinicSplBillingInstr\": \"Special Billing Instructions\",\r\n \"estimatedQuantity\": \"Est Vol\",\r\n \"totalImmAdministered\": \"Total Administered\",\r\n \"coPayROUTINEGroupId\": \"Routine Group ID\",\r\n \"coPayFLUGroupId\": \"Flu Group ID\",\r\n // \"vouchersDistributed\": \"Vouchers Distributed\",\r\n \"vouchersRedeemed\": \"Vouchers Redeemed\",\r\n \"isNoClinicFee\": \"No Fee\",\r\n \"paperVars\": \"Paper VARs Completed\" \r\n }\r\n},\r\n{\r\n \"groupName\": \"Clinic Information\",\r\n \"aliasNames\": {\r\n \"naClinicLocation\": \"Clinic\",\r\n \"naContactFirstName\": \"First Name\",\r\n \"naContactLastName\": \"Last Name\",\r\n \"naClinicContactPhone\": \"Phone#\",\r\n \"naContactEmail\": \"Email\",\r\n \"isNoClinic\": \"No Clinic - Voucher Distribution Only\",\r\n \"isApptSchedulerEnabled\": \"Appointment Scheduler Enabled\",\r\n \"naClinicAddress1\": \"Address 1\",\r\n \"naClinicAddress2\": \"Address 2\",\r\n \"naClinicCity\": \"City\",\r\n \"naClinicState\": \"State\",\r\n \"naClinicZip\": \"Zip\",\r\n \"clinicRoom\": \"Clinic Room\",\r\n \"clinicDate\": \"Clinic Date\",\r\n \"naClinicStartTime\": \"Start Time\",\r\n \"naClinicEndTime\": \"End Time\",\r\n \"confirmedClientName\": \"Confirmed By\",\r\n \"reassignType\": \"Reassign Type\",\r\n \"reassignedTo\": \"Reassign To\",\r\n \"visitType\": \"Visit Type\", \r\n \"patientGroupId\" : \"Patient Group\",\r\n \"coOutreachTypeId\": {\r\n \"label\": \"Outreach Type\",\r\n \"values\": {\r\n \"1\": \"Brownbag\",\r\n \"2\": \"Health Fair\",\r\n \"3\": \"Presentation/Education\",\r\n \"4\": \"Other\",\r\n \"5\": \"COVID Clinic\"\r\n }\r\n },\r\n \"coOutreachTypeDesc\": \"Other\",\r\n \"apptSchedulerType\": {\r\n \"label\": \"Appointment Scheduler Type\",\r\n \"values\": {\r\n \"1\": \"Community Outreach Portal Scheduler\",\r\n \"2\": \"CURA Patient Scheduler\",\r\n \"3\": \"CURA Patient Regional Scheduler\",\r\n \"0\": \"Community Outreach Portal Scheduler\" //adding for logging purpose\r\n }\r\n },\r\n }\r\n}, {\r\n \"groupName\": \"Pharmacist Information\",\r\n \"aliasNames\": {\r\n \"pharmacistName\": \"Rx Host\",\r\n \"pharmacistPhone\": \"Rx Phone#\",\r\n \"totalHours\": \"Clinic Hours\",\r\n \"feedback\": \"Feedback/ Notes\"\r\n }\r\n}\r\n]","export const outreachType : any[] =[\r\n {\r\n \r\n \"outreachStatus\": \"Immunization Program\",\r\n \"category\": \"IP\",\r\n \r\n },\r\n {\r\n \"outreachStatus\": \"Senior Outreach\",\r\n \"category\": \"SR\",\r\n \r\n }\r\n\r\n]","export const outreachTypePCA : any[] =[\r\n {\r\n \r\n \"outreachStatus\": \"Patient Care & Advocacy\",\r\n \"category\": \"PCA\",\r\n \r\n }\r\n]","export const PCADetailsFields: any[] =[{\r\n \"groupName\": \"Testing Organization Information\",\r\n \"aliasNames\": {\r\n \"businessContactEmail\": \"Contact Email\",\r\n \"firstName\": \"Contact First Name\",\r\n \"lastName\": \"Contact Last Name\",\r\n \"phone\": \"Contact Phone\"\r\n }\r\n},{\r\n \"groupName\": \"Services\",\r\n \"aliasNames\": {\r\n \"naClinicAddlComments\": \"Additional Comments/Instructions\",\r\n \"estimatedQuantity\": \"Est Attendance\",\r\n \"totalImmAdministered\":\"Actual Attendance\",\r\n \"preliminaryPositives\":\"Preliminary Positives/Registered Organ Donors\"\r\n //\"preliminaryPositives\":\"Preliminary Positives_Registered Organ Donors\"\r\n }\r\n},\r\n{\r\n \"groupName\": \"Testing Location & Event\",\r\n \"aliasNames\": {\r\n \"naContactFirstName\": \"Contact First Name\",\r\n \"naContactLastName\": \"Contact Last Name\",\r\n \"naClinicContactPhone\": \"Contact Phone#\",\r\n \"naContactEmail\": \"Contact Email\",\r\n \"naClinicAddress1\": \"Address\",\r\n \"naClinicAddress2\": \"Address 2\",\r\n \"naClinicCity\": \"City\",\r\n \"naClinicState\": \"State\",\r\n \"naClinicZip\": \"Zip\",\r\n \"clinicDate\": \"Event Date\",\r\n \"naClinicStartTime\": \"Start Time\",\r\n \"naClinicEndTime\": \"End Time\",\r\n \"confirmedClientName\": \"Confirmed By\"\r\n }\r\n}, {\r\n \"groupName\": \"Feedback/Notes\",\r\n \"aliasNames\": {\r\n \"feedback\": \"Feedback/ Notes\"\r\n }\r\n}\r\n]","export const pcaDates={\r\n \"2018\": {\r\n \"startDate\": \"09/01/2018\",\r\n \"endDate\": \"08/31/2019\"\r\n },\r\n \"2019\": {\r\n \"startDate\": \"09/01/2019\",\r\n \"endDate\": \"08/31/2020\"\r\n },\r\n \"2020\": {\r\n \"startDate\": \"09/01/2020\",\r\n \"endDate\": \"08/31/2021\"\r\n },\r\n \"2021\": {\r\n \"startDate\": \"09/01/2021\",\r\n \"endDate\": \"08/31/2022\"\r\n },\r\n\t \"2022\": {\r\n \"startDate\": \"09/01/2022\",\r\n \"endDate\": \"08/31/2023\"\r\n },\r\n \"2023\": {\r\n \"startDate\": \"09/01/2023\",\r\n \"endDate\": \"08/31/2024\"\r\n },\r\n \"2024\": {\r\n \"startDate\": \"09/01/2024\",\r\n \"endDate\" : \"08/31/2025\"\r\n }\r\n }","export const defaultSiteDesignInfo: any = {\r\n \"defaultTextValues\": {\r\n \"headerText\": \"Walgreens Immunization Clinic\",\r\n \"bodyText\": \"There's one thing we know about flu season and that is it's unpredictable.<br/><br/>That's why the CDC and other health organizations widely recommend that everyone 6 months of age and older get a flu shot every year as the best protection possible against the flu.<br/><br/>Thank you for taking this important step in protecting both yourself as well as those around you from the adverse effect of the flu.<br/><br/>Please use this page to create your appointment for your upcoming flu clinic.\",\r\n \"footerText\": \"All participants are recommended to wear a face covering, comfortable clothing and a short sleeve shirt on the day of the clinic.<br/><br/>In addition, it is required for us to provide you with the Vaccine Information Statement (VIS) prior to receiving your vaccination.  Please review the VIS by clicking <a href=\\\"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/VIS Form.pdf\\\" target=\\\"_blank\\\">here</a>.\"\r\n },\r\n \"defaultDesignValues\": {\r\n \"mastheadLogo\": \"Wags Logo\",\r\n \"logoFile\": \"walgreens_email_logo.png\",\r\n \"bannerColor\": \"#02a0c0\",\r\n \"bannerTextColor\": \"#FFFFFF\",\r\n \"buttonColor\": \"#02a0c0\",\r\n \"buttonTextColor\": \"#FFFFFF\",\r\n \"alternateText\": \"Walgreens\"\r\n }\r\n }","export const ipDates = {\r\n \"2013\": {\r\n \"startDate\": \"05/30/2013\",\r\n \"endDate\": \"04/30/2014\"\r\n },\r\n \"2014\": {\r\n \"startDate\": \"05/01/2014\",\r\n \"endDate\": \"05/20/2015\"\r\n },\r\n \"2015\": {\r\n \"startDate\": \"05/21/2015\",\r\n \"endDate\": \"05/25/2016\"\r\n },\r\n \"2016\": {\r\n \"startDate\": \"05/26/2016\",\r\n \"endDate\": \"04/30/2017\"\r\n },\r\n \"2017\": {\r\n \"startDate\": \"05/01/2017\",\r\n \"endDate\": \"06/10/2018\"\r\n },\r\n \"2018\": {\r\n \"startDate\": \"06/11/2018\",\r\n \"endDate\": \"05/06/2019\"\r\n },\r\n \"2019\": {\r\n \"startDate\": \"05/07/2019\",\r\n \"endDate\": \"04/30/2020\"\r\n },\r\n \"2020\": {\r\n \"startDate\": \"05/01/2020\",\r\n \"endDate\": \"04/30/2021\"\r\n },\r\n \"2021\": {\r\n \"startDate\": \"05/01/2021\",\r\n \"endDate\": \"04/30/2022\"\r\n },\r\n \"2022\": {\r\n \"startDate\": \"05/01/2022\",\r\n \"endDate\": \"04/30/2023\"\r\n },\r\n \"2023\": {\r\n \"startDate\": \"05/01/2023\",\r\n \"endDate\": \"04/30/2024\"\r\n },\r\n \"2024\": {\r\n \"startDate\": \"05/01/2024\",\r\n \"endDate\": \"04/30/2025\"\r\n }\r\n}\r\nexport const srDates = {\r\n \"2013\": {\r\n \"startDate\": \"09/01/2013\",\r\n \"endDate\": \"08/31/2014\"\r\n },\r\n \"2014\": {\r\n \"startDate\": \"09/01/2014\",\r\n \"endDate\": \"08/31/2015\"\r\n },\r\n \"2015\": {\r\n \"startDate\": \"09/01/2015\",\r\n \"endDate\": \"08/31/2016\"\r\n },\r\n \"2016\": {\r\n \"startDate\": \"09/01/2016\",\r\n \"endDate\": \"08/31/2017\"\r\n },\r\n \"2017\": {\r\n \"startDate\": \"09/01/2017\",\r\n \"endDate\": \"08/31/2018\"\r\n },\r\n \"2018\": {\r\n \"startDate\": \"09/01/2018\",\r\n \"endDate\": \"08/31/2019\"\r\n },\r\n \"2019\": {\r\n \"startDate\": \"09/01/2019\",\r\n \"endDate\": \"08/31/2020\"\r\n },\r\n \"2020\": {\r\n \"startDate\": \"09/01/2020\",\r\n \"endDate\": \"08/31/2021\"\r\n },\r\n \"2021\": {\r\n \"startDate\": \"09/01/2021\",\r\n \"endDate\": \"08/31/2022\"\r\n },\r\n \"2022\": {\r\n \"startDate\": \"09/01/2022\",\r\n \"endDate\": \"08/31/2023\"\r\n},\r\n\"2023\": {\r\n \"startDate\": \"09/01/2023\",\r\n \"endDate\": \"08/31/2024\"\r\n},\r\n\"2024\": {\r\n \"startDate\": \"09/01/2024\",\r\n \"endDate\": \"08/31/2025\"\r\n}\r\n}\r\n\r\nexport const covidDates = {\r\n \"2020\": {\r\n \"startDate\": \"09/01/2020\",\r\n \"endDate\": \"08/31/2021\"\r\n },\r\n \r\n \"2021\": {\r\n \"startDate\": \"09/01/2021\",\r\n \"endDate\": \"08/31/2022\"\r\n },\r\n \"2022\": {\r\n \"startDate\": \"05/01/2022\",\r\n \"endDate\": \"04/30/2023\"\r\n }\r\n}\r\n\r\nexport const fluOppContactStatusDates = {\r\n \"2022\": {\r\n \"startDate\": \"01/01/2022\",\r\n \"endDate\": \"12/31/2022\"\r\n },\r\n \"2023\": {\r\n \"startDate\": \"01/01/2023\",\r\n \"endDate\": \"12/31/2023\"\r\n },\r\n \"2024\": {\r\n \"startDate\": \"01/01/2024\",\r\n \"endDate\": \"12/31/2024\"\r\n }\r\n}","export const thankyouMessageData: any =\r\n{\r\n \"NorestrictedState\": {\r\n \"IMZWithCashPaid\": {\r\n \"message1\": \"A completed VAR form will be required for each participant before receiving an Immunization. Making these available prior to the clinic will allow participants to be immunized more efficiently.\",\r\n \"message2\": \"\"\r\n },\r\n \"IMZWithCorporateInvoice\": {\r\n \"message1\": \"Walgreens corporate office will directly bill the invoice contact entered on the contract one month after the clinic has been conducted. This will be delivered electronically in a secure email format.\",\r\n \"message2\": \"\"\r\n },\r\n \"IMZWithSubmitClaims\": {\r\n \"message1\": \"A completed VAR form will be required for each participant before receiving an Immunization. Making these available prior to the clinic will allow participants to be immunized more efficiently.\",\r\n \"message2\": \"Please ask all participants to provide a photocopy of their insurance card for processing purposes.\"\r\n },\r\n \"IMZWithCorporateInvoiceAndCashPaid\": {\r\n \"message1\": \"Walgreens corporate office will directly bill the invoice contact entered on the contract one month after the clinic has been conducted. This will be delivered electronically in a secure email format.\",\r\n \"message2\": \"\"\r\n },\r\n \"IMZWithSubmitClaimsAndCashPaid\": {\r\n \"message1\": \"A completed VAR form will be required for each participant before receiving an Immunization. Making these available prior to the clinic will allow participants to be immunized more efficiently.\",\r\n \"message2\": \"Please ask all participants to provide a photocopy of their insurance card for processing purposes.\"\r\n },\r\n \"IMZWithSubmitClaimsAndCorporateInvoice\": {\r\n \"message1\": \"Walgreens corporate office will directly bill the invoice contact entered on the contract one month after the clinic has been conducted. This will be delivered electronically in a secure email format.\",\r\n \"message2\": \"Please ask all participants to provide a photocopy of their insurance card for processing purposes.\"\r\n },\r\n \"IMZWithSubmitPharmacyInsuranceAndCorporateInvoice\": {\r\n \"message1\": \"A completed VAR form will be required for each participant before receiving an Immunization. Making these available prior to the clinic will allow participants to be immunized more efficiently.\",\r\n \"message2\": \"Walgreens corporate office will directly bill the invoice contact entered on the contract one month after the clinic has been conducted. This will be delivered electronically in a secure email format. Please ask all participants to provide a photocopy of their insurance card for processing purposes.\"\r\n },\r\n \"IMZWithAllCombination\": {\r\n \"message1\": \"Walgreens corporate office will directly bill the invoice contact entered on the contract one month after the clinic has been conducted. This will be delivered electronically in a secure email format.\",\r\n \"message2\": \"Please ask all participants to provide a photocopy of their insurance card for processing purposes.\"\r\n },\r\n \"IMZWithCorporateVoucher\": {\r\n \"message1\": \"Walgreens corporate office will directly bill the invoice contact entered on the contract one month after the clinic has been conducted. This will be delivered electronically in a secure email format.\",\r\n \"message2\": \"Please ask all participants to provide a photocopy of their insurance card for processing purposes.\"\r\n },\r\n \"IMZWithCorporateVoucherNo\": {\r\n \"message1\": \"A completed VAR form will be required for each participant before receiving an Immunization. Making these available prior to the clinic will allow participants to be immunized more efficiently.\",\r\n \"message2\": \"Walgreens corporate office will directly bill the invoice contact entered on the contract one month after the clinic has been conducted. This will be delivered electronically in a secure email format.\"\r\n },\r\n \"IMZWithoutCorporate\": {\r\n \"message1\": \"A completed VAR form will be required for each participant before receiving an Immunization. Making these available prior to the clinic will allow participants to be immunized more efficiently.\",\r\n \"message2\": \"Please ask all participants to provide a photocopy of their insurance card for processing purposes.\"\r\n },\r\n \r\n },\r\n \"RestrictedState1\": {\r\n \"IMZWithCorporateVoucher\": {\r\n \"message1\": \"Message 1\",\r\n \"message2\": \"Message 2\"\r\n },\r\n \"IMZWithCorporateVoucherNo\": {\r\n \"message1\": \"Message 1\",\r\n \"message2\": \"Message 2\"\r\n },\r\n \"IMZWithoutCorporate\": {\r\n \"message1\": \"Message 1\",\r\n \"message2\": \"Message 2\"\r\n },\r\n \r\n },\r\n \"RestrictedState2\": {\r\n \"IMZWithCorporateVoucher\": {\r\n \"message1\": \"Message 1\",\r\n \"message2\": \"Message 2\"\r\n },\r\n \"IMZWithCorporateVoucherNo\": {\r\n \"message1\": \"Message 1\",\r\n \"message2\": \"Message 2\"\r\n },\r\n \"IMZWithoutCorporate\": {\r\n \"message1\": \"Message 1\",\r\n \"message2\": \"Message 2\"\r\n },\r\n \r\n },\r\n \r\n }","export const userLoginData: any = [\r\n {\r\n \"pk\": \"41\",\r\n \"userName\": \"0p/oCKBOHpBmN9rxZdamLV8l2brl2jjDh27kLmPhduo=\",\r\n \"password\":\"96Ca58ohZFMhDTbhrxxfsZCnBL80vaNyQm2So5mieqA=\",\r\n \"role\":\"upiabNMrzu0lSpI02UuwMQ==\"\r\n } \r\n\r\n]\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, NavigationStart } from '@angular/router';\r\nimport { Observable , Subject } from 'rxjs';\r\n\r\nimport { Alert, AlertType } from '../app/models/Alert';\r\n\r\n@Injectable()\r\nexport class AlertService {\r\n private subject = new Subject();\r\n private keepAfterRouteChange = false;\r\n public ChangecorpStoreApptTrackerBannerColor$ = new Subject();\r\n\r\n private setWarningAlert = new Subject();\r\n\r\n constructor(private router: Router) {\r\n // clear alert messages on route change unless 'keepAfterRouteChange' flag is true\r\n router.events.subscribe(event => {\r\n if (event instanceof NavigationStart) {\r\n if (this.keepAfterRouteChange) {\r\n // only keep for a single route change\r\n this.keepAfterRouteChange = false;\r\n } else {\r\n // clear alert messages\r\n this.clear();\r\n }\r\n }\r\n });\r\n }\r\n\r\n getAlert(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n\r\n\r\n getWarningAlert():Observable{\r\n return this.setWarningAlert.asObservable();\r\n }\r\n sendWarningAlert(IP: boolean,SR:boolean,PCA:boolean) {\r\n this.setWarningAlert.next({ip:IP,sr:SR,pca:PCA});\r\n }\r\n clearWarningAlert() {\r\n this.setWarningAlert.next();\r\n }\r\n\r\n\r\n\r\n success(message: string, keepAfterRouteChange = false) {\r\n this.alert(AlertType.Success, message, keepAfterRouteChange);\r\n }\r\n\r\n error(message: string, keepAfterRouteChange = false) {\r\n this.alert(AlertType.Error, message, keepAfterRouteChange);\r\n }\r\n\r\n info(message: string, keepAfterRouteChange = false) {\r\n this.alert(AlertType.Info, message, keepAfterRouteChange);\r\n }\r\n\r\n warn(message: string, keepAfterRouteChange = false) {\r\n this.alert(AlertType.Warning, message, keepAfterRouteChange);\r\n }\r\n\r\n alert(type: AlertType, message: string, keepAfterRouteChange = false) {\r\n this.keepAfterRouteChange = keepAfterRouteChange;\r\n this.subject.next({ type: type, message: message });\r\n }\r\n\r\n clear() {\r\n // clear alerts\r\n this.subject.next();\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { Alert, AlertType } from '../../app/models/Alert';\r\nimport { AlertService } from '../alert.service';\r\n\r\n@Component({\r\n selector: 'app-alert',\r\n templateUrl: './alert.component.html',\r\n styleUrls: ['./alert.component.css']\r\n})\r\nexport class AlertComponent implements OnInit {\r\nalerts: Alert[] = [];\r\n\r\n constructor(private alertService: AlertService) { }\r\n\r\n ngOnInit() {\r\n this.alertService.getAlert().subscribe((alert: Alert) => {\r\n if (!alert) {\r\n // clear alerts when an empty alert is received\r\n this.alerts = [];\r\n return;\r\n }\r\n\r\n // add alert to array\r\n this.alerts.push(alert);\r\n });\r\n }\r\n\r\n removeAlert(alert: Alert) {\r\n this.alerts = this.alerts.filter(x => x !== alert);\r\n }\r\n\r\n cssClass(alert: Alert) {\r\n if (!alert) {\r\n return;\r\n }\r\n\r\n // return css class based on alert type\r\n switch (alert.type) {\r\n case AlertType.Success:\r\n return 'alert alert-success';\r\n case AlertType.Error:\r\n return 'alert alert-danger';\r\n case AlertType.Info:\r\n return 'alert alert-info';\r\n case AlertType.Warning:\r\n return 'alert alert-warning';\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n title = 'app';\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule,CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { AdminModule } from '../app/modules/admin/admin.module';\r\nimport { AuthModule } from '../app/modules/auth/auth.module';\r\nimport { ReportsModule } from '../app/modules/reports/reports.module';\r\nimport { StoreModule } from '../app/modules/store/store.module';\r\n\r\nimport { CommonComponentsModule } from '../app/modules/common/common.module';\r\nimport { AdminRouteGuard } from './guards/admin.route.guard';\r\nimport { HomeRouteGuard } from './guards/home.route.gaurd';\r\n\r\n\r\n// Components\r\nimport { AppComponent } from './app.component';\r\n\r\nimport { HeaderComponent } from '../app/modules/common/components/header/header.component';\r\n// Routes\r\nimport { APP_ROUTES } from './routes/app.routes';\r\nimport { ReusableModule } from './modules/common/components/reusable.module';\r\n//import { LoggerModule, NgxLoggerLevel } from 'ngx-logger';\r\n\r\nimport { LandingComponent } from './modules/auth/components/landing/landing.component';\r\nimport { AuthenticationService } from './modules/common/services/authentication.service';\r\nimport { ClinicDetailsModule } from './modules/clinicdetails/clinicdetails.module';\r\nimport { ResourcesModule } from './modules/resources/resources.module';\r\nimport { HomeModule } from './modules/home/home.module';\r\nimport { ContractagreementModule } from './modules/contractaggreement/contractagreement.module';\r\nimport { CanDeactivateGuard } from './guards/can-deactivate/can-deactivate.guard';\r\nimport { PatientcareadvocacyModule } from './modules/patientcareadvocacy/patientcareadvocacy.module';\r\nimport { NgxSpinnerModule } from \"ngx-spinner\";\r\nimport { TableModule } from 'primeng/table';\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { InputMaskModule } from 'primeng/inputmask';\r\nimport { KeyFilterModule } from 'primeng/keyfilter';\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { SharedModule } from './shared/shared.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n HeaderComponent, \r\n // LandingComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpClientModule,\r\n AccordionModule,\r\n ResourcesModule,\r\n AdminModule,\r\n AuthModule,\r\n HomeModule,\r\n ReportsModule,\r\n StoreModule,\r\n InputMaskModule,\r\n KeyFilterModule,\r\n CommonComponentsModule,\r\n AutoCompleteModule,\r\n ReusableModule,\r\n FormsModule,\r\n ButtonModule,\r\n RouterModule.forRoot(APP_ROUTES, {}),\r\n BrowserAnimationsModule,\r\n ClinicDetailsModule,\r\n TooltipModule,\r\n PatientcareadvocacyModule,\r\n ContractagreementModule,\r\n NgxSpinnerModule,\r\n TableModule,\r\n MessagesModule,\r\n NgbModule,\r\n SharedModule, \r\n //LoggerModule.forRoot({ serverLoggingUrl: '/api/logs', level: NgxLoggerLevel.DEBUG, serverLogLevel: NgxLoggerLevel.ERROR }),\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA ],\r\n providers: [AuthenticationService, HomeRouteGuard, AdminRouteGuard, CanDeactivateGuard],\r\n bootstrap: [AppComponent]\r\n \r\n})\r\nexport class AppModule { }\r\n","export const ClinicalRequirementsImmunizations: any[] = [\r\n \"HPV (Gardasil 9)\",\r\n \"Prevnar 13\"\r\n]\r\nexport const ClinicalRequirementInstruction:string='If anyone other than the immunizing pharmacist is executing this agreement, please ensure that the immunizing pharmacist is aware of the policy.'\r\n\r\nexport const ClinicalRequirementsImmunizationsContent :any ={\r\n \"HPV (Gardasil 9)\":'Clinical guidelines require patients ages 27-45 to have a \"shared clinical discussion\" between the patient and healthcare provider in order to provide the HPV (Gardasil 9) immunization.

HPV Vaccine Clinical Information',\r\n \"Prevnar 13\":'Clinical guidelines require patients ages 65 and up to have a \"shared clinical discussion\" between the patient and healthcare provider in order to provide the Prevnar 13 immunization.

Prevnar 13 Vaccine Clinical Information'\r\n}\r\nexport const ClinicalRequirementsImmunizationsChkBoxContent :any ={\r\n \"HPV (Gardasil 9)\":'The immunizing pharmacist agrees to have a \"shared clinical discussion\" prior to administering HPV (Gardasil 9) with patients within the 27-45 age group.',\r\n \"Prevnar 13\":'The immunizing pharmacist agrees to have a \"shared clinical discussion\" prior to administering Prevnar 13 with patients within the 65 and up age group.'\r\n}\r\nexport const ImmunizationsClinicalRequirements: any = {\r\n \"userNote\":\"If anyone other than the immunizing pharmacist is executing this agreement, please ensure that the immunizing pharmacist is aware of the policy.\",\r\n \"imzClinicalrequirementsText\":{\r\n \"imzText\":'Clinical guidelines require patients ages {0} to have a {2} between the patient and healthcare provider in order to provide the {1} immunization. {3}',\r\n \"chkText\":'The immunizing pharmacist agrees to have a \"shared clinical discussion\" prior to administering {0} with patients within the {1} age group.'\r\n },\r\n \"links\":{\r\n \"HPV (Gardasil 9)\":'\"shared clinical discussion\"',\r\n \"HPV\":'\"shared clinical discussion\"'\r\n ,\"Prevnar 13\":'\"shared clinical discussion\"',\r\n \"Pneumonia\":'\"shared clinical discussion\"'\r\n },\r\n \"additionalLinks\":{\r\n \"HPV (Gardasil 9)\":'

HPV Vaccine Clinical Information',\r\n \"HPV\":'

HPV Vaccine Clinical Information'\r\n ,\"Prevnar 13\":'

Prevnar 13 Vaccine Clinical Information',\r\n \"Pneumonia\":'

Pneumonia Vaccine Clinical Information',\r\n },\r\n \"immunizations\":[\r\n \"HPV (Gardasil 9)\",\"HPV\"\r\n ,\"Prevnar 13\",\"Pneumonia\"\r\n ],\r\n \"imzClinicalReqAgeGroups\":{\r\n \"HPV (Gardasil 9)\":\"27-45\",\r\n \"HPV\":\"27-45\"\r\n ,\"Prevnar 13\":\"65 and up\" ,\r\n \"Pneumonia\":\"65 and up\"\r\n\r\n }\r\n}\r\n\r\nexport const CompleteClinic = {\r\n \"completeClinic\": \"Has the Total Administered been updated with the final count prior to Completing the clinic?\",\r\n}","export enum UserRole{\r\n STOREMANAGER = 'store manager',\r\n PHARMACYMANAGER = 'pharmacy manager',\r\n DISTRICTMANAGER = 'district manager',\r\n HEALTHCARESUPERVISOR = 'healthcare supervisor',\r\n DIRECTORPHARMACYRETAILOPERATIONS = 'director - rx and retail ops',\r\n REGIONALVICEPRESIDENT = 'regional vice president',\r\n REGIONALHEALTHCAREDIRECTOR = 'regional healthcare director',\r\n ADMIN = 'admin',\r\n DIRECTOR = 'director',\r\n PODUSER = 'pod healthcare supervisor'\r\n} ","export const BlockedImmunizations: any[] =[\r\n \"influenza - standard/pf injectable (trivalent)\", \r\n \"influenza - standard injectable quadrivalent\", \r\n \"influenza - high dose\" \r\n]","export const RestrictedStatesAllowedUsers: any[] = [\r\n \"samuel.nass@walgreens.com\",\r\n \"jerry.v.thomas@walgreens.com\",\r\n \"isabel.bolanos@walgreens.com\",\r\n \"csmith@tribpub.com\",\r\n \"enterpriseimmunizationservice@walgreens.com\",\r\n \"tyrone.clark@walgreens.com\"\r\n]","export const ErrorMessages: any = {\r\n \"ClinicInformationHeading\": \"Clinic Information Phone Error\",\r\n \"eventInformationHeading\": \"Event Information Phone Error\",\r\n \"ClinicInformationMessage\": \"Invalid phone number. Please enter a valid phone number in the Clinic Information section.\",\r\n \"EventInformationMessage\": \"Invalid phone number. Please enter a valid phone number in the Event Information section.\",\r\n \"OpportunityInformationHeading\": \"Opportunity Information Phone Error\",\r\n \"TestingOrganizationInformationHeading\": \"Organization Information Phone Error\",\r\n \"OpportunityInformationMessage\": \"Invalid phone number. Please enter a valid phone number in the Opportunity Information section.\",\r\n \"TestingOrganizationInformationMessage\": \"Invalid phone number. Please enter a valid phone number in the Organization Information section.\",\r\n \"PharmacistPostClinicInformationHeading\": \"Pharmacist & Post Clinic Information Phone Error\",\r\n \"PharmacistPostClinicInfoHeading\": \"Pharmacist & Post Clinic Information Error\",\r\n \"PharmacistPostClinicInformationMessage\": \"Invalid phone number. Please enter a valid phone number in the Pharmacist & Post Clinic Information section.\",\r\n \"PharmacistPostClinicErrorMsg\": \"Invalid Pharmacist Name. Please enter a valid Pharmacist Name in the Pharmacist & Post Clinic Information section.\",\r\n \"VouchersDistributedMsg\": \"Vouchers Distributed Cannot be Zero\",\r\n \"blockoutImmunizationValidationMessage\": \"The selected flu product is not available from April 15 to July 15. Please select another immunization or a clinic date after July 15 for clinic location(s): \",\r\n \"minimumShotsRequiredAlert\": \"If the 25 shot minimum requirement is not met to perform a clinic the client may be sent an invoice for the difference. Recommend the voucher (In-store use only) option for businesses that cannot meet this requirement.\",\r\n \"clinicDateReminderBefore2WeeksEN\": \"The selected clinic date is less than two weeks from the current date. Your vaccine will not arrive in time for this clinic. Work with your Healthcare Supervisor or District Manager to override the two week minimum scheduling issue and to obtain vaccine to support your clinic.\",\r\n \"eventDateReminderBefore2WeeksEN\": \"The selected event date is less than two weeks from the current date. Work with your site administrator (PatientCareAndAdvocacy@walgreens.com) to override the two week minimum scheduling issue.\",\r\n \"clinicDateReminderAfter2WeeksEN\": \"IMPORTANT REMINDER: If the contract is not signed at least two weeks prior to the clinic date, vaccine will not arrive in time for this clinic and you will need to work with local leadership to obtain vaccine from your area.\",\r\n \"coClinicDateReminderAfter2WeeksEN\": \"IMPORTANT REMINDER: If the community outreach clinic has not been submitted at least two weeks prior to the clinic date, vaccine will not arrive in time for this clinic and you will need to work with Community Outreach local leadership to obtain vaccine from your area.\",\r\n \"chClinicDateReminderAfter2WeeksEN\": \"IMPORTANT REMINDER: If the Charity (WAG Free Flu Voucher) Program clinic has not been submitted at least two weeks prior to the clinic date, vaccine will not arrive in time for this clinic and you will need to work with Community Outreach local leadership to obtain vaccine from your area.\",\r\n \"eventDateReminderAfter2WeeksEN\": \"IMPORTANT REMINDER: If the contract is not signed at least two weeks prior to the event date, vaccine will not arrive in time for this event and you will need to work with local leadership to obtain vaccine from your area.\",\r\n \"CorporateInvoiceError\": \"Please fill in all Invoice Form fields to proceed\",\r\n \"ContractCOImmunizationError\": \"Please select an Immunization Name and Payment Method\",\r\n \"eventDateTimeChanged\": \"Changes to date and time must be confirmed with the partner prior to being updated. If you have not confirmed these changes, please click Cancel and confirm with the partner first. If you Continue, an email will be sent to the partner with the revised date and time.\",\r\n \"errMsg\": \"Error\",\r\n \"sendAcessLink\": \"Send Access Link\",\r\n \"impRmndr\": \"SCHEDULING ISSUE\",\r\n \"impRmndrFor2Wks\": \"SCHEDULING WARNING\",\r\n \"MandatoryFields\": \"Mandatory fields are empty or have invalid entries. Please check the fields highlighted in red and enter or correct the information.\",\r\n \"noMatchingEmails\": \"Email & Confirm Email do not match. Please enter matching emails to continue.\",\r\n \"assignedStore\": \"Please provide a valid store assignment id.\",\r\n \"coSucccess\": \"The Community Outreach Program saved successfully.\",\r\n \"coSummary\": 'Community Outreach Program',\r\n \"chSucccess\": \"The Charity (WAG Free Flu Voucher) Program Updated successfully.\",\r\n \"chSummary\": 'Charity (WAG Free Flu Voucher) Outreach Program',\r\n \"inValidForm\": 'Invalid Form',\r\n 'unKnownError': \"Unknown Error Occurred.\",\r\n 'MinNumberOfShots': \"The number of estimated shots is below the 50 participant minimum in {0}. Each of the 50 participants must receive at least one shot.\",\r\n 'MinNumberOfShotsForLTCF': \"If the 15 shot minimum requirement is not met to perform {0}, the client may be sent an invoice for the difference. Recommend the voucher (In-store use only) option for businesses that cannot meet this requirement.\",\r\n 'MinNumberOfShotsForDetails': \"If the 50 shot minimum requirement is not met to perform {0}, the client may be sent an invoice for the difference. Recommend the voucher (In-store use only) option for businesses that cannot meet this requirement.\",\r\n 'MinNumberOfShotsForDetails_2_7_6': \"If the 25 shot minimum is not met to perform a {0} clinic, recommend the voucher (In-store use only) option.\",\r\n 'MinNumberOfShotsForLTCFDetails': \"If the 15 shot minimum requirement is not met to perform {0}, the client may be sent an invoice for the difference. Recommend the voucher (In-store use only) option for businesses that cannot meet this requirement.\",\r\n 'MinNumberOfShotsForLTCFDetails_2_7_6': \"If the 15 shot minimum is not met to perform a {0} clinic, recommend the voucher (In-store use only) option.\",\r\n 'MinNumberOfShotsForDetailsHeader': \"Minimum Requirement Warning\",\r\n 'VerifyEmail': 'The email addresses entered into the Email and Verify Email fields do not match. Please enter matching email addresses.',\r\n \"clinicDateReminderAfter2WeeksENNonAdmin\": \"IMPORTANT REMINDER: If the contract is not signed at least two weeks prior to the clinic date, vaccine will not arrive in time for this clinic and you will need to work with local leadership to obtain vaccine from your area.\",\r\n \"voucherFluYes\": \"Please select at least one vaccine with Voucher Needed to conduct Voucher Distribution\",\r\n \"voucherRoutineYes\": \"You should select 'Yes' for at least 1 Routine Immunization. Please select 'Yes' for the Voucher option in the corporate invoice form\",\r\n 'contractImmunizationOption': \"Please select an Immunization and Payment Option from the dropdown to proceed.\",\r\n 'NoOutReachProgram': \"Select at least one Outreach Campaign to continue.\",\r\n 'Atleast1Immunization': \"Select at least one Immunization and Payment Method to continue.\",\r\n 'DesignationMisMatchCovid': \"This opportunity is missing a COVID designation. In order to proceed with contracting a COVID vaccine, update the Opportunity Profile with a COVID designation. If you want to save your current selections, click \" + \"Cancel\" + \" and then \" + \"Save\" + \" before updating the Opportunity.\",\r\n 'DesignationMisMatchFlu': \"This opportunity is missing a FLU and ROUTINE designation. In order to proceed with contracting a FLU and ROUTINE vaccine, update the Opportunity Profile with a FLU and ROUTINE designation. If you want to save your current selections, click \" + \"Cancel\" + \" and then \" + \"Save\" + \" before updating the Opportunity.\",\r\n 'CanAddFluImms': \"Ensure we offer flu vaccines, if applicable.\",\r\n 'CanAddRoutineImms': \"Ensure we offer non-flu vaccines such as COVID, pneumonia, and shingles, if applicable.\",\r\n 'DesignationMisMatchCovidCommOR': \"This opportunity is missing a COVID designation. In order to proceed with contracting a COVID vaccine, update the Opportunity Profile with a COVID designation.\",\r\n 'DesignationMisMatchFluCommOR': \"This opportunity is missing a FLU and ROUTINE designation. In order to proceed with contracting a FLU and ROUTINE vaccine, update the Opportunity Profile with a FLU and ROUTINE designation.\",\r\n 'AtleastPcaImmunization': \"Add a Service to continue to the next step.\",\r\n 'moreThan250Immunizations': 'You have entered an estimated quantity of {0} shots of {1} for {2}. Please confirm that this quantity is correct.',\r\n 'moreThan250ImmunizationsForDetails': 'You have entered an estimated quantity of {0} shots of {1} for {2}. Please confirm that this quantity is correct.',\r\n 'resolve': 'Please resolve the issues below to continue.',\r\n 'eventDateTimeConflict': 'WARNING: Event Conflict',\r\n 'min25ShotsHdr': 'Below Minimum Requirement for Estimated Shots',\r\n 'emailList': 'Please enter a valid email list. Enter a single email (email@example.com) or multiple emails separated by commas (email1@example.com,email2@example.com,email3@example.com).',\r\n 'emailMessgae': 'Please enter valid email. Enter a single email (email@example.com) or multiple emails separated by commas (email1@example.com,email2@example.com,email3@example.com).',\r\n 'sendEmailMessgae': 'Please enter a valid email',\r\n 'contractSaved': 'The Walgreens Community Off-Site Agreement has been Saved Successfully.',\r\n 'asoLulaSaved': 'The Walgreens Limited Use License Agreement has been Saved Successfully.',\r\n 'contractEmailSent': 'The Walgreens Community Off-Site Agreement email has been sent.',\r\n 'asolulaEmailSent': 'The Walgreens Limited Use License Agreement email has been sent.',\r\n 'asoLula': \"Limited Use License Agreement\",\r\n 'contract': 'Community Off-Site Agreement',\r\n 'contractAlert': 'Conflict Alert',\r\n 'clincLocDateTimeSingleConflict': 'The Date and Time you have selected for {0} overlaps with another clinic already scheduled for your store on {1} from {2} to {3} for {4}. Please select a different time or date for this clinic in order to save or send this agreement',\r\n 'eventLocDateTimeSingleConflict': 'The Date and Time you have selected for {0} overlaps with another event already scheduled for your store on {1} from {2} to {3} for {4}. Please select a different time or date for this event in order to save or send this agreement',\r\n 'restrictedStateDateConflict': 'The Date you have selected for {0} falls in between April 1st and August 31st. Please select a different date greater than or equal September 1st for this clinic in order to save or send this agreement.',\r\n 'multipleClinicDatesConflictLineItem': 'There are multiple scheduling conflicts in this agreement. Please select a different time or date for the following clinics in order to save or send this agreement.

',\r\n 'multipleEventsDatesConflictLineItem': 'There are multiple scheduling conflicts in this agreement. Please select a different time or date for the following events in order to save or send this agreement.

',\r\n 'clincLocDateTimeMultipleConflict': '{0} overlaps a clinic already scheduled for your store on {1} from {2} to {3} for {4}.',\r\n 'eventLocDateTimeMultipleConflict': '{0} overlaps a event already scheduled for your store on {1} from {2} to {3} for {4}.',\r\n 'approveContract': 'The highlighted input fields are empty or invalid. Please update and submit',\r\n 'restrictedStates': 'All Additional District of {0} Offsite Clinics must be Approved. Please work with Region {1} Leadership.',\r\n 'cancel_save': 'The Community Outreach setup has not been completed. If you leave the setup without submitting clinic Immunizations, Payment Methods and Locations the Community Outreach log status and event will not be saved.',\r\n 'dotNotAllowedCharacter': 'Invalid characters are not allowed as a Copay Value (Example: 25.22).',\r\n 'invalidZipCode': 'The entered zip code is invalid.',\r\n 'invalidPhoneNo': 'The entered phone number is invalid.',\r\n 'invalidFaxNo': 'The entered fax number is invalid.',\r\n 'unSavedData': 'WARNING: Unsaved Data',\r\n \"followp_alert\": 'The Follow-Up Email Reminder setup has not been completed. If you leave the page without saving, the Follow-Up log status and email reminder will not be saved.',\r\n \"charity_alert\": 'The Charity (WAG Free Flu Voucher) setup has not been completed. If you leave the page without saving, the Charity (WAG Free Flu Voucher) log status and event will not be saved.',\r\n \"contract_alert\": 'The Community OffSite Agreement setup has not been completed. If you leave the page without saving, the Community Offsite Agreement log status and event will not be saved.',\r\n \"co_alert\": 'The Community Outreach Program setup has not been completed. If you leave the page without saving, the Community Outreach Program log status and event will not be saved.',\r\n \"eq_alert\": 'The Equity Event setup has not been completed. If you leave the page without saving, the Equity Event log status and event will not be saved.',\r\n 'warning': \"WARNING\",\r\n 'specialCharacters': 'Remove invalid characters from the Immunizations Estimated Quantity field.',\r\n \"schedule_alert\": 'The SR Event setup has not been completed. If you leave the page without saving, the Scheduled Event log status and event will not be saved.',\r\n 'routineVoucherExpiryInValid': 'The Enhanced Vaccine Voucher expiration dates do not match. All Enhanced Vaccine Voucher expiration dates must be the same expiration date.',\r\n 'fluVoucherExpiryInValid': 'The Flu Voucher expiration dates do not match. All Flu Voucher expiration dates must be the same expiration date.',\r\n 'agreement': \"Community Offsite Agreement\",\r\n \"comOutreach\": 'Community Outreach Program',\r\n 'coSaved': 'The Walgreens Community Outreach clinic has been scheduled.',\r\n \"equityEvents\": 'Equity Event Program',\r\n 'eqSaved': 'The Walgreens Equity Event has been scheduled.',\r\n 'serverError': 'Error',\r\n 'clientError': 'Error',\r\n 'invalidDates': 'For Restricted States, dates between May 1st and August 31st are invalid. Please select appropriate dates.',\r\n 'clinicConfirm': 'This clinic has been successfully logged as confirmed.',\r\n 'clinicConfirmWithSchdlr': 'This clinic has been confirmed successfully and an email has been sent to the clinic contact with links to the Appointment Scheduler and Appointment Tracking for this clinic.',\r\n 'clinicConfirmWithCPSchdlr': 'This clinic has been confirmed successfully and the clinic details have been sent to CURA Patient.',\r\n 'eventConfirm': 'This event has been successfully logged as Confirmed.',\r\n 'clinicComplete': 'This clinic has been successfully logged as Completed.',\r\n 'clinicCompleteWithSchdlr': 'This clinic has been completed successfully and an email has been sent to the clinic contact with links to the Appointment Scheduler and Appointment Tracking for this clinic.',\r\n 'clinicCompleteWithCPSchdlr': 'This clinic has been completed successfully and the clinic details have been sent to CURA Patient.',\r\n 'eventComplete': 'This event has been successfully logged as Completed.',\r\n 'clinicCancel': 'This clinic has been Cancelled.',\r\n 'clinicCancelForClinicType3And5': 'Clinic – {0} has scheduled appointments. The Cancellation will be reviewed by a Walgreens Administrator prior to cancelling the scheduled appointments and sending a notification to appointment holders.',\r\n 'clinicCancelForClinicType3And5ForAdmin': 'Clinic - {0} has scheduled appointments. Cancelling the clinic will trigger an email to the clinic contact to approve the sending of cancellation emails to all affected appointment holders. Emails will not be sent to appointment holders until approved by the clinic contact.',\r\n 'eventCancel': 'This event has been Cancelled.',\r\n 'clinicDetails': 'Clinic Details',\r\n 'eventDetails': 'Event Details',\r\n 'clinicDetailsDelete': 'The clinic details deleted successfully.',\r\n 'eventDetailsDelete': 'The event details deleted successfully.',\r\n 'communityOutreachDelete': 'Removing the Community Outreach Program cannot be undone. If you \"Continue\" the community outreach locations associated with this business and all of their program details will be permanently deleted.',\r\n 'charityProgramDelete': 'Removing the Charity (WAG Free Flu Voucher) cannot be undone. If you \"Continue\" the Charity (WAG Free Flu Voucher) locations associated with this business and all of their program details will be permanently deleted.',\r\n 'localProgramDelete': 'Deleting the Community Off-Site Agreement cannot be undone. If you \"Continue\" the contract, contract approval, all clinic locations associated with this business and all of their program details will be permanently deleted.',\r\n 'clinicSave': 'This clinic has been updated successfully.',\r\n 'clinicSavedWithSchdlr': 'This clinic has been updated successfully and an email has been sent to the clinic contact with links to the Appointment Scheduler and Appointment Tracking for this clinic.',\r\n 'clinicSavedWithCPSchdlr': 'This clinic has been updated successfully and the clinic details have been sent to CURA Patient.',\r\n 'eventSave': 'This event has been updated successfully.',\r\n 'invalidEmail': 'Please enter a valid email.',\r\n 'invalidPhoneFormat': 'Please enter a valid phone format.',\r\n \"DetailsMandatoryFields\": \"Please enter values for all required fields.\",\r\n 'reassignStoreChkHdr': 'Reset contact status',\r\n 'reassignStoreChkMsg': 'Do you want to maintain the current status of this clinic or change it back to {0}?',\r\n 'reassignStoreChkMsgForCO': 'Do you want to maintain the current status of this clinic or change it back to {0}?',\r\n 'reAssignStoreInvalidActionHdr': 'Store change with contact status warning',\r\n 'reAssignStoreInvalidActionMsg': 'You cannot reassign the clinic store location and change the status of the clinic at the same time.',\r\n 'moreDosesInDetailsPageError': \"

Changing the number of flu doses for this clinic within 14 days of the scheduled date may result in the store having insufficient inventory. Consider another date or check with the DM to obtain sufficient inventory.

\",\r\n 'totalAdministeredIsNOK': 'Please correct the Total Administered value.',\r\n 'eventTotalAdministeredIsNOK': 'Please correct the Actual Attendance value.',\r\n 'clinicListEmpty': 'At least one Clinic Date should be added to send the Contract for Approval.',\r\n 'coClinicListEmpty': 'At least one Clinic Date should be added to submit Community Outreach Program.',\r\n 'clinicRegistration': 'Clinic Registration & Scheduling',\r\n 'blockApptKeyMessage': '{0} has scheduled appointments. Reducing the immunizers or unscheduling the clinic(s) will cancel the appointments. Click \"Continue\" to reduce immunizers or unschedule the clinic(s) and send the rescheduled appointment email.',\r\n 'dashBoardErrorMessage': 'The date and time you have selected for {0} overlaps
another clinic already scheduled for your store on {1}
from {2} to {3} for {4}.
Please select a different time or date for this clinic.',\r\n 'dashBoardOverlapErrorMessage': 'The date and time you have selected for {0} overlaps another clinic already scheduled for store {1} on {2} from {3} to {4} for {5}.',\r\n 'DashboardReassignmentWarning': 'Please be aware that the clinic you are reassigning has appointments scheduled.
These appointments will be reassigned along with the clinic(s) {0}.',\r\n 'CorpClinicDetailsRspErrorSummary': 'Reschedule Appointment confirmation',\r\n 'CorpClinicDetailsChangedWarning': 'This Clinic has scheduled appointments. Changing the clinic details ({1}) will cancel the appointments and trigger an email to the patients to reschedule their appointments. Click \"Continue\" to change the details and send email.',\r\n 'CorpClinicDetailsChangedErrMsg': 'This Clinic has scheduled appointments. Changing the clinic details ({1}) will cancel the appointments and trigger an email to the patients to reschedule their appointments. If it is necessary to change the details please open a ticket with the Ask the Retail Hub via Pharmacy > Community Outreach Portal > Immunizations.',\r\n 'CorpClinicDetailsLocationChangedWarning': 'Saving changes to the location of this clinic will immediately send a change of clinic location email to anyone with a scheduled appointment for this clinic. Are you sure you want to update this clinic?',\r\n 'CorpClinicCancelClinicWarning': 'Cancelling this clinic will initiate a Cancelled Clinic email to all scheduled patients for this clinic. Click \"Continue\" to cancel the clinic and send the emails.',\r\n 'CorpClinicCancelPastClinicWarning': 'The date for the selected clinic has already passed. If you continue, the clinic will move to a \"Cancelled\" status but no emails will be sent for the scheduled appointments.',\r\n 'PCAAddWarning': 'The store you are assigning this organization to cannot be in a different state than the organization’s location.',\r\n 'DuplicatePCAAdd': 'There is already an organization in the system with the same {0}.
If you would like to add the organization below to your store {1}, please select an organization and click Add.',\r\n 'ElectronicSignatureErrorHdng': 'Contract Alert',\r\n 'ElectronicSignatureErrorMsg': 'The electronic signature does not match the signer\\'s name in the agreement. Please click on Step 1 and verify that the entered “Name” matches the name you are entering as the electronic signature',\r\n 'ValidateRHDEmail': 'The email provided is not a valid Walgreens Regional user. Please correct the email and try again.',\r\n 'DuplicatePCAAddress': 'There is an existing partner available with the same address. The matching Store IDs and Partners are: {0}. To eliminate duplicate partners from being created, this organization will not be added.

To add this partner to a store, use the “Search for an Existing Partner” function, add the partner and save. Please contact a site administrator if you need assistance.',\r\n 'DuplicatePCAPhone': 'There is an existing partner available with the same phone number. The matching Store IDs and Partners are: {0}. To eliminate duplicate partners from being created, this organization will not be added.

To add this partner to a store, use the “Search for an Existing Partner” function, add the partner and save. Please contact a site administrator if you need assistance.',\r\n 'DuplicateTestingOrg': 'There is already an organization assigned to this store with the same organization name: {0}.',\r\n 'clinicNotConfirmedMsg': 'In order to Complete the clinic, you will need to Confirm it first. Please enter the name of the person at the business or organization who confirmed the event with you in the \"Confirmed By\" field and click the Confirm button.',\r\n 'StopAddLocationAmend': 'The contract for this clinic has been amended and sent for approval. New locations may not be added until the amended contract is approved.',\r\n 'DisbaleButtonsAmend': 'The contract for this clinic has been amended and sent for approval. Updates may not be made to the Clinic Details until the amended contract is approved. If the amendment needs to be revoked, please contact a site administrator.',\r\n 'eventDateTimeConflictErrText': 'Click \\'Cancel\\' to change the conflicting date and time or \\'Override\\' if sufficient staff is available to perform multiple events.',\r\n 'cancerScreeningEventsHeading': 'Error in Cancer Screening Events',\r\n 'locationRequirementsHeading': 'Error in Location Requirements',\r\n 'locationRequirements': 'Cancer Screening services cannot be provided unless the location requirements are met. Please confirm and check off the satisfied requirements. If the requirements cannot be met, than the store cannot hold an event.',\r\n 'cancerEventWarning': 'This store will exceed the maximum of two Cancer Screening events allowed per year. Please remove events or Cancel the LULA setup if you have already scheduled two events for the year. If you have questions, please contact a site administrator (PatientCareAndAdvocacy@walgreens.com).',\r\n 'noStoreAssigned': 'There are no stores assigned to you. Please contact an administrator.',\r\n 'nullClinicAgreementPk': 'Invalid Clinic Agreement Number. Please contact an administrator.',\r\n 'nullStoreId': 'Invalid Store Id. Please contact an administrator.',\r\n 'CoCharityForUnapprovedOpportunity': \"The selected opportunity has not been approved and assigned to this store for the Immunization Program. Please ask your Healthcare Supervisor to assign this opportunity prior to initiating an Immunization Program Community Outreach or Charity event.\",\r\n 'error': \"An error has occurred. Please contact an administrator.\",\r\n 'locationHealthRoomRequirements': 'A free testing & counseling event cannot be provided unless the location requirements are met. If your store does not have a dedicated private health room or modular private health room and if your testing partner does not have a mobile testing unit, then please refer the testing partner to a store near you that meets the location requirements.',\r\n 'locationHealthRoomRequirementsYes': 'You have selected \"Yes\" to the organization using a mobile unit in Event: {0}. Please review and check the Location Requirement for a dedicated parking lot that can accommodate a mobile testing unit.',\r\n 'locationHealthRoomRequirementsNo': 'You have selected \"No\" to the organization using a mobile unit in Event: {0}. Please review and check the Location Requirement for a dedicated private health room or modular private health room that can accommodate testing and counseling services.',\r\n 'locationHealthRoomRequiredFooter': 'If your location cannot meet the requirement, update your selections accordingly.',\r\n 'eventRemoved': \"The event you are looking for is no longer available. It may have been reassigned or removed.\",\r\n 'clinicDetailsErrHeader': \"Alert\",\r\n 'confirmClinicCancellation': 'Are you sure you want to Cancel the Clinic? Store re-assignments and date/time changes should be made in the clinic details and saved. Contact a site administrator for Corporate Clinic store re-assignments.',\r\n 'confirmCancelEvent': 'Are you sure you want to Cancel this Event?',\r\n 'removeCancelledClinicStatus': 'Cancelled status has been removed successfully.',\r\n 'errorVARForm': 'An error has occurred while generating the VAR form. This form will be available to download from the confirmation email sent to the provided email.',\r\n 'errorSchedulerMsg': \"An error has occurred.\",\r\n 'CIError': \"A contract has already been initiated for this opportunity.\",\r\n 'scheduleClinicReportFilterError': \"Please select at least one {0}.\",\r\n 'clinicalRequirementsError': 'The Clinical Requirements have not been checked. {0} cannot be administered unless the clinical requirements are agreed upon by the immunizing pharmacist.',\r\n 'walgreensMandatoryEmail': 'Please enter a valid Contact Phone.',\r\n 'validatePortalEmailError': 'The email you have entered does not exist in the portal. Please use an alias email (e.g., rxm.00000@store.walgreens.com), not a personal email containing a name.',\r\n 'requiredFields': 'Please fill out all required fields highlighted in red with valid information.',\r\n 'geo_zero_results': 'The address entered cannot be located. Please check the address and resubmit the form.',\r\n 'geo_unknown_error': 'Sorry, we are experiencing a problem. Please try again.',\r\n 'geo_timed_out': 'Sorry, the request has timed out. Please try again.',\r\n 'approveRejectCancellationText': '

Email notifications have been sent to the appointment holders affected by your cancelled clinic. If you have other clinic dates and times scheduled, they will be provide the option to reschedule at one of the other clinics.

If you have any questions or would like to discuss our immunization voucher program, please contact your Walgreens representative.
Walgreens Representative: {0}
Phone: {1}
Email: {2}

',\r\n 'approveRejectCancellationTextNoContactInfo': '

Email notifications have been sent to the appointment holders affected by your cancelled clinic. If you have other clinic dates and times scheduled, they will be provide the option to reschedule at one of the other clinics.

If you have any questions or would like to discuss our immunization voucher program, please contact your Walgreens representative.',\r\n 'clinicLengthMoreThan8Hrs': 'The duration for the event, based on the start and end times, is more than 8 hours. Please verify that this is correct.',\r\n 'clinicLengthAlert': 'The selected end time is the same or precedes the selected start time. Please correct the selected times for this event.',\r\n 'slotsBlockedWarning': 'Updating the clinic date or times may affect appointment time slots that have been previously blocked out for breaks. Please check the Appointment Tracking Scheduled Breaks to ensure that the appropriate appointment slots have been blocked.',\r\n 'turnOffApptSchdWarning': 'Disabling the appointment scheduler will remove this clinic location as an option in the appointment scheduler. However, any previously scheduled appointments will remain scheduled.',\r\n 'immunizerWarningMainPara': 'Based on the number of estimated shots and the duration of the clinic, additional immunizers may be needed at the clinic locations below. If another immunizer cannot attend the clinic, consider lengthening the duration of the clinic.

',\r\n 'noClinicApptsWarning': 'Updating the existing clinic to Voucher Only may result in cancellation of appointments that have been previously registered.',\r\n 'immunizerWarning': '{0} may need up to {1} immunizers.
',\r\n \"new_clinicDateReminderBefore2WeeksEN\": \"The selected clinic date is less than two weeks from the current date. Your vaccine will not arrive in time for this clinic. Work with your Healthcare Supervisor or District Manager to obtain vaccine to support your clinic.\",\r\n 'COVIDvisitTypeError': 'The visit you have selected for {0} does not match with the esitmated quantity you have entered. Please enter correct values.',\r\n 'covidVisitGap': 'The selected clinic date for {0} Visit {1} and {2} Visit {3} is less than the {4} days required for a {5} COVID vaccine from the previous visit date.',\r\n 'InvalidCOVIDContractHeader': 'Invalid Immunization',\r\n 'InvalidCOVIDContractError': 'A combination of COVID and non-COVID immunizations may not be added to the same contract. Please add a new opportunity and override the duplicate warning to initiate a second contract with the client.',\r\n 'InvalidCOVIDMNFContractError': 'A combination of different COVID manufactured immunizations may not be added to the same contract.',\r\n 'DoseComb': 'COVID Community Outreach Clinics require both COVID-19 vaccine doses to be added to the clinic. Please add Dose {0}.',\r\n 'RemoveLogStatus': 'Are you sure you want to remove the last logged status? The clinic status will be reverted to the prior status.',\r\n 'RemoveCancelled': 'Are you sure you want to remove the Cancelled status? The clinic status will be reverted to the status prior to the cancellation.',\r\n 'covidVoucherError': 'A COVID-19 Voucher has been added as an Immunization product. Please change Voucher Needed to \"Yes\" or remove the COVID-19 Voucher.',\r\n 'covidVoucherError1': 'A COVID-19 Voucher must be added as an Immunization product. Please add a COVID-19 Voucher or change Voucher Needed to “No”.',\r\n 'NoSupportForDose1OrDose2': '{0} is no longer Available. Please contact site administrator.',\r\n 'localContractsVerbiage': \"Note: If the client requests a combined clinic with Flu/Routine and COVID add a new duplicate opportunity and select the appropriate designation as needed. Click here for Job Aid\",\r\n 'vouchersDistributed': \"Vouchers Distributed cannot be greater than the Estimated Shots per clinic. Please be sure to include the number of Vouchers Distributed in the number of Estimated Shots.\",\r\n 'lowerCountVouchersDistributed': \"The value entered for Vouchers Distributed lowers the number of shots to be provided at the clinic below the minimum.\",\r\n 'immunizationWithoutVoucherPayment': \"{0} has been set as 'No Clinic - Voucher Distribution Only'. To continue, do one of the following: Set the Estimated Shots for any Immunization without a 'Voucher: Corporate to Invoice Employer Directly' payment method to '0', go back to Step 1 and add the 'Voucher: Corporate to Invoice Employer Directly' payment method to the Immunization, or uncheck the 'No Clinic - Voucher Distribution Only' setup option.\",\r\n 'immunizationWithoutVoucherPaymentForEuityEvents': \"{0} has been set as No Clinic - Voucher Distribution Only'. To continue, do one of the following: Set the Estimated Shots for any immunization without a Voucher payment method to '0' Go back to Step 1 and add a Voucher payment method to any immunization with a value greater than '0' Uncheck the 'No Clinic - Voucher Distribution Only' setup option\",\r\n \"COVIDManufacturerReminder\": \"Select the COVID manufacturer assigned to the host store to streamline distribution and reduce waste.\",\r\n \"deleteOpportunityHeader\": \"Delete Opportunity\",\r\n \"deleteOpportunityConfirmation\": \"Are you sure you want to delete this opportunity? Once deleted it will no longer appear in the Community Outreach Portal for any Outreach Programs.\",\r\n \"cannotDeleteOpportunity\": \"This opportunity cannot be deleted because it is in the process of being contracted or has scheduled clinic(s) or event(s).\",\r\n \"deleteCommunityOutreachHeader\": \"Deleting A Community Outreach Clinic\",\r\n \"deleteCommunityOutreachConfirmation\": 'Deleting a Community Outreach Clinic cannot be undone. If you \"Continue\", all clinics associated with this client will be permanently deleted.',\r\n \"deleteOffSiteAgreementHeader\": \"Deleting An Off-Site Agreement\",\r\n \"deleteOffSiteAgreementConfirmation\": 'Deleting the Community Off-Site Agreement cannot be undone. If you \"Continue\" the contract, contract approval, all clinic locations associated with this business, all of their program details, and any pending amended contracts will be permanently deleted.',\r\n \"serviceAgreementAcceptence\": 'The Service Fee Acknowledgement has not been checked. The Community Off-Site Agreement cannot be sent unless the service fee has been acknowledged.',\r\n \"sesionalCovid19Info\": \"COVID 19 vaccines are now seasonal and will not be available for clinics scheduled between May 20th and August 15th. Please remove the COVID 19 vaccines or set the COVID 19 Estimated Shots to '0' for clinics between May 20th and August 15th to continue.\",\r\n \"estimatedParticipantsWarning\": \"If the 50 participant minimum requirement is not met to perform LOCATION the client may be sent an invoice for the difference. Recommend the voucher (In-store use only) option for businesses that cannot meet this requirement.\",\r\n \"estimatedShotsWarning\": \"The Estimated Number of Shots for any single immunization cannot be greater than the Estimated Number of Participants. Please either increase the number of participants or decrease the number of shots to continue.\",\r\n \"estimatedShotsWarninglt50\": \"The number of estimated shots is below the 50 participant minimum in LOCATION . Each of the 50 participants must receive at least one shot.\"\r\n}","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { SessionDetails } from '../utility/session';\r\nimport { UserRole } from '../config-files/UserRole';\r\n\r\n@Injectable()\r\nexport class AdminRouteGuard {\r\n\r\n constructor(\r\n private router: Router) {\r\n }\r\n\r\n canActivate() { \r\n \r\n var userProfile = SessionDetails.GetUserProfile();\r\n if (userProfile) {\r\n if (userProfile.userRole.toLowerCase() == UserRole.DISTRICTMANAGER)\r\n return true;\r\n if (userProfile.userRole.toLowerCase() == UserRole.DIRECTORPHARMACYRETAILOPERATIONS)\r\n return true;\r\n else if (userProfile.userRole.toLowerCase() == UserRole.HEALTHCARESUPERVISOR)\r\n return true;\r\n else if (userProfile.userRole.toLowerCase() == UserRole.REGIONALVICEPRESIDENT)\r\n return true;\r\n else if (userProfile.userRole.toLowerCase() == UserRole.REGIONALHEALTHCAREDIRECTOR)\r\n return true;\r\n else if (userProfile.userRole.toLowerCase() == UserRole.ADMIN)\r\n return true;\r\n else if (userProfile.userRole.toLowerCase() == UserRole.STOREMANAGER)\r\n return true;\r\n else if (userProfile.userRole.toLowerCase() == UserRole.PHARMACYMANAGER)\r\n return true;\r\n else if (userProfile.userRole.toLowerCase() == UserRole.PODUSER)\r\n return true;\r\n }\r\n this.router.navigate(['/login']);\r\n return false;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport {ComponentCanDeactivate} from './component-can-deactivate';\r\nimport { MessageServiceService } from '../../modules/store/services/message-service.service';\r\n\r\nexport interface CanDeactivate {\r\n canDeactivate(component: T, route: ActivatedRouteSnapshot, state: RouterStateSnapshot):\r\n Observable|Promise|boolean;\r\n }\r\n\r\n@Injectable()\r\nexport class CanDeactivateGuard implements CanDeactivate {\r\n constructor(private message_service: MessageServiceService){}\r\n //canDeactivate(component: ComponentCanDeactivate): boolean {\r\n canDeactivate(component: ComponentCanDeactivate): boolean | Observable {\r\n if(!component.canDeactivate()){\r\n this.message_service.setCanShowRouteChangeConfirmation(true);\r\n return this.message_service.getCanRouteChange();\r\n }\r\n return true;\r\n }\r\n}\r\n","import { HostListener, Directive } from \"@angular/core\";\r\n\r\n@Directive()\r\nexport abstract class ComponentCanDeactivate {\r\n \r\n abstract canDeactivate(): boolean;\r\n\r\n\r\n\r\n @HostListener('window:beforeunload', ['$event'])\r\n unloadNotification($event: any) {\r\n if (!this.canDeactivate()) {\r\n $event.returnValue =true;\r\n }\r\n }\r\n}","import { ComponentCanDeactivate } from '../can-deactivate/component-can-deactivate';\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { Directive } from \"@angular/core\";\r\n\r\n@Directive()\r\nexport abstract class FormCanDeactivate extends ComponentCanDeactivate {\r\n\r\n abstract get form(): NgForm;\r\n abstract getModelDiff(): any;\r\n canDeactivate(): boolean {\r\n\r\n //return !this.form.touched && (this.form.submitted || !this.form.dirty)\r\n var diff = this.getModelDiff();\r\n return !(Object.keys(diff).length > 0);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\n@Injectable()\r\nexport class HomeRouteGuard {\r\n constructor(private router: Router) { }\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n \r\n return true;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { MessageServiceService } from '../../modules/store/services/message-service.service';\r\n\r\nexport interface CanDeactivate {\r\n canDeactivate(component: T, route: ActivatedRouteSnapshot, state: RouterStateSnapshot):\r\n Observable | Promise | boolean;\r\n}\r\n\r\n@Injectable()\r\nexport class NavigationCanDeactivateGuard implements CanDeactivate {\r\n constructor(private messageService: MessageServiceService) {\r\n this._subscription = true;\r\n this.messageService.getNavigationClicked().subscribe(next => {\r\n this._subscription = next;\r\n });\r\n }\r\n private _subscription;\r\n canDeactivate() {\r\n if (this._subscription) {\r\n this.messageService.setNavigationClicked(true);\r\n // push current state again to prevent further attempts.\r\n history.pushState(null, null, location.href);\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../environments/environment';\r\nimport { Util } from './utility/util';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { SelectType } from './models/OutreachOpportunity';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LookupService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n public getLookUpValues(columnName: string, category: string): Observable{\r\n const url = `${environment.API_URL}/${environment.RESOURCES.GET_LOOKUP_VALUES}/${columnName}/${category}`;\r\n return this.http.get(url, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n}\r\n","export class ActivityReport {\r\n userId: number;\r\n userRole: string;\r\n filterBy: number;\r\n regionNumber: number;\r\n areaNumber: number;\r\n podNumber: number;\r\n districtNumber: number;\r\n outreachStartDate: string;\r\n timePeriod: string;\r\n outreachEffort: number;\r\n isCurrentSeason: number;\r\n reportName: string = \"\";\r\n outputType: string = \"\";\r\n constructor(user_id: number, user_role: string, filter_by: number, regional_number: number, area_number: number, pod_number: number, district_number: number, outreach_start_date: string, time_period: string, outreach_effort: number, is_current_season: number, report_name: string, output_type: string) {\r\n this.userId = user_id;\r\n this.userRole=user_role;\r\n this.filterBy = filter_by;\r\n this.regionNumber = regional_number;\r\n this.areaNumber = area_number;\r\n this.podNumber = pod_number;\r\n this.districtNumber = district_number;\r\n this.outreachStartDate = outreach_start_date;\r\n this.timePeriod = time_period;\r\n this.outreachEffort = outreach_effort;\r\n this.reportName=report_name;\r\n this.outputType = output_type;\r\n this.isCurrentSeason = is_current_season;\r\n }\r\n}","export class AddBusiness {\r\n public businessId:number = -1;\r\n public BusinessName:string = '';\r\n public Phone:string = '';\r\n public FirstName:string = '';\r\n public LastName:string = '';\r\n public EMail:string = '';\r\n public TollFree:string = '';\r\n public Industry:string = '';\r\n public JobTitle: string = '';\r\n public WebsiteURL:string ='';\r\n public Address1:string ='';\r\n public EmploymentSize:number=0;\r\n public Address2:string ='';\r\n public CharityHHSVoucher:boolean=false;\r\n public CommunityOutreach:boolean=false;\r\n public City:string='';\r\n public ZipCode:string = '';\r\n public ZipCode4:string = '';\r\n public state:string = '';\r\n public County:string=\"\";\r\n public SeniorOutreach:boolean=false;\r\n public ImmunizationProgram:boolean=false;\r\n public BusinessSelected:string;\r\n public BusinessInfoSelected:number=1;\r\n public SeniorOutReachStore:string;\r\n public ImmunizationProgramStore:string;\r\n public ContractInitiated:boolean = false;\r\n public ContractRejected:boolean = false;\r\n public ContractSent:boolean = false;\r\n public ScheduledEvent:boolean = false;\r\n public addressmatchkey:string =\"\";\r\n constructor( ){}\r\n }","export class Alert {\r\n type: AlertType;\r\n message: string;\r\n}\r\n\r\nexport enum AlertType {\r\n Success,\r\n Error,\r\n Info,\r\n Warning\r\n}","\r\nexport class CorporateTrackerSchedulerClinics {\r\n isClient:number;\r\n clientId:number=-1;\r\n apptType:number=0;\r\n reportName: string = \"\";\r\n outputType: string = \"\";\r\n constructor(is_client: number, client_id: number, appt_type:number, report_name: string, output_type: string) {\r\n this.isClient = is_client;\r\n this.clientId = client_id;\r\n this.apptType = appt_type;\r\n this.reportName = report_name;\r\n this.outputType = output_type;\r\n }\r\n}","export class DistrictCompliance {\r\n districtId:number;\r\n outreachEffort:number;\r\n yearStartDate:string;\r\n quarter:number;\r\n outputType: string = null;\r\n reportName: string = null;\r\n constructor(district_id: number, outreach_effort: number, year_start_date: string, quarter: number, output_type?: string, report_name?: string, ) {\r\n this.districtId = district_id;\r\n this.outreachEffort = outreach_effort;\r\n this.yearStartDate = year_start_date;\r\n this.quarter = quarter;\r\n this.outputType = output_type;\r\n this.reportName = report_name;\r\n }\r\n }","export class SrEventScheduledDetails {\r\n dateOfEvent: any;\r\n eventStartTime: string;\r\n eventEndTime: string;\r\n eventTypeId: number;\r\n eventDescription: string;\r\n walgreensRoleId: number;\r\n walgreensRoleDescription: string;\r\n numberOfAttendes: number;\r\n refreshments: string;\r\n fundingId: string;\r\n provideEducationalMaterial: boolean;\r\n description: string;\r\n totalCost: string;\r\n eventContactLogDate: Date;\r\n}\r\nexport class LogOutreachStatus {\r\n businessPk: number;\r\n firstName: string;\r\n lastName: string;\r\n jobTitle: string;\r\n outreachProgram: string;\r\n outreachBusinessPk: number;\r\n contactDate: Date;\r\n outreachStatusId: number;\r\n outreachStatusTitle: string;\r\n Disposition:string;\r\n feedback: string;\r\n createdBy: number;\r\n clinicAgreementPk: number;\r\n contactLogPk : number;\r\n industry: string;\r\n other: string;\r\n}\r\n\r\nexport class FollowUpDetails {\r\n emailTo: string;\r\n followupDate: any;\r\n isSendEmailReminder: boolean;\r\n createdBy: number;\r\n}\r\n\r\nexport class ErrorS {\r\n errorCode: number;\r\n errorMessage: string;\r\n}\r\n\r\nexport class FollowUp {\r\n logOutreachStatus: LogOutreachStatus;\r\n followUpDetails: FollowUpDetails;\r\n srEventScheduledDetails: SrEventScheduledDetails;\r\n errorS: ErrorS;\r\n constructor() {\r\n this.logOutreachStatus = new LogOutreachStatus();\r\n this.followUpDetails = new FollowUpDetails();\r\n this.srEventScheduledDetails=new SrEventScheduledDetails();\r\n \r\n }\r\n}"," export class FollowUpDetails {\r\n outreachPk: number;\r\n contactLogPk: number;\r\n outreachEffortCode: string;\r\n followupDate: string;\r\n emailTo: string;\r\n emailReminder: boolean;\r\n updatedBy: number;\r\n updatedDate: Date;\r\n }\r\n\r\n export class FollowUpDetailsList {\r\n followUpDetailsList: FollowUpDetails[];\r\n constructor()\r\n {\r\n this.followUpDetailsList = [];\r\n }\r\n \r\n }\r\n\r\n\r\n","\r\nexport class HighLevelCompliance {\r\n outreachEffort: string = null;\r\n yearStartDate: string = null;\r\n quarter: string = null;\r\n reportName: string = \"\";\r\n outputType: string = \"\";\r\n constructor(outreach_effort: string, year_start_date: string, quarter, report_name: string, output_type: string) {\r\n this.outreachEffort = outreach_effort;\r\n this.yearStartDate = year_start_date;\r\n this.quarter = quarter;\r\n this.reportName = report_name;\r\n this.outputType = output_type;\r\n }\r\n}","\r\nexport class HighLevelStatus {\r\n outreachEffort:string=null;\r\n userId:number;\r\n districtId:number=0;\r\n fromDate:string=null;\r\n toDate:string=null;\r\n reportName: string = \"\";\r\n outputType: string = \"\";\r\n covidOnly: boolean;\r\n ddlState : string = \"\";\r\n constructor(state : string, outreach_effort:string,user_id: number, district_id:number, from_date:string,to_date:string, covidOnly: boolean, report_name: string, output_type: string) {\r\n this.outreachEffort = outreach_effort;\r\n this.userId = user_id;\r\n this.districtId = district_id;\r\n this.fromDate = from_date;\r\n this.toDate = to_date;\r\n this.reportName=report_name;\r\n this.outputType = output_type;\r\n this.covidOnly = covidOnly;\r\n this.ddlState = state;\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n ","export class ImmunizationCheck\r\n{\r\n immunizationPk: number;\r\n immunizationName: string;\r\n spanishName: string;\r\n clinicTypeName:string;\r\n immunizationAbvEN:string;\r\n immunizationAbvSP:string;\r\n clinicType:number;\r\n price: number;\r\n directBillPrice: number;\r\n directBillVoucherPrice: number;\r\n isActive: boolean;\r\n isCurrentSeason:boolean;\r\n isBlockImmunization:boolean;\r\n allowOverride:boolean;\r\n\r\n}","export class ImmunizationFinance {\r\n fromDate:string;\r\n toDate:string;\r\n isCurrentSeason:number;\r\n ipSeason:number;\r\n includeDates:boolean;\r\n reportName:string = null;\r\n outputType:string = null;\r\n covidOnly:boolean;\r\n constructor(from_date:string,to_date:string,is_current_season:number,ip_season:number,include_dates:boolean,covid_only:boolean,report_name?: string,output_type?: string) {\r\n this.fromDate = from_date;\r\n this.toDate = to_date;\r\n this.isCurrentSeason = is_current_season;\r\n this.ipSeason = ip_season;\r\n this.includeDates = include_dates;\r\n this.outputType = output_type;\r\n this.reportName = report_name;\r\n this.covidOnly = covid_only;\r\n }\r\n}","export class JsFluOppContactStatusModel {\r\n regionNumber: number;\r\n areaNumber: number;\r\n podNumber: number;\r\n districtNumber: number;\r\n fromDate: Date\r\n toDate: Date\r\n outreachEffort: number;\r\n contacted: number;\r\n status: string;\r\n state: string;\r\n pageIndex:number;\r\n}","export class MinimumShotExceptions {\r\n fromDate:string;\r\n toDate:string;\r\n isCurrentSeason: boolean;\r\n includeDates:boolean;\r\n reportName: string = \"\";\r\n outputType: string = \"\";\r\n ipSeason: number = 0;\r\n covidOnly: boolean;\r\n constructor(from_date: string, to_date: string, iscurrent_season: boolean, include_date_range: boolean, report_name: string, output_type: string, covid_only:boolean, ipSeason?: number) {\r\n this.fromDate = from_date;\r\n this.toDate=to_date;\r\n this.isCurrentSeason = iscurrent_season;\r\n this.includeDates = include_date_range;\r\n this.reportName=report_name;\r\n this.outputType = output_type;\r\n this.covidOnly = covid_only;\r\n this.ipSeason = ipSeason;\r\n }\r\n}","export class MovePatientsBetweenPatientGroupsModel {\r\n fromPG: string\r\n toPG: string\r\n}\r\n","export const OutReachProgramType = {\r\n contracts:'contracts',\r\n communityoutreach:'communityoutreach',\r\n equityevents : 'equityevents'\r\n \r\n}","\r\nexport class AddOutreachOpportunity { \r\n addressMatchKey: string; \r\n totalS: number;\r\n businessPk: number;\r\n outreachBusinessPk:number;\r\n businessName: string;\r\n firstName: string;\r\n lastName: string;\r\n jobTitle: string;\r\n email: string;\r\n phone: string;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n zipCode: string;\r\n tollFree: string;\r\n ext: string;\r\n alternateContactExt: string;\r\n industry: string;\r\n others: string;\r\n employmentSize: number;\r\n residents: number;\r\n isCheckDnc:any;\r\n isScheduledClinics:any;\r\n isOverrideDupCheck:any;\r\n isRemoveContactLog:any;\r\n canReassign:any;\r\n organizationtype?:number;\r\n isStandardized:boolean;\r\n isCovidOpportunity:boolean;\r\n isFluOpportunity:boolean;\r\n isNoContractOpportunity:boolean;\r\n privateClinicFees:string;\r\n outreachEffortList: OutreachEffortList[];\r\n errorS: ErrorS;\r\n pkhash:string;\r\n covidOpportunityType: number;\r\n fluOpportunityType:number;\r\n targetPopulation: string;\r\n communityPartner?: boolean;\r\n communityPartnerName: string;\r\n healthDeptInvolved: string;\r\n opportunityHostLocation: string;\r\n vaccineInventorySource: string;\r\n covidClinicType:string;\r\n notes:string;\r\n LTCFType:string;\r\n ccn:string;\r\n alternateFirstName:string;\r\n alternateLastName:string;\r\n alternatePhone:string;\r\n alternateJobTitle:string;\r\n alternateEMail:string;\r\n\r\n constructor() {\r\n this.outreachEffortList = new Array();\r\n this.organizationtype = null;\r\n this.isStandardized = false;\r\n this.isCovidOpportunity = null;\r\n this.isFluOpportunity = null;\r\n this.privateClinicFees = \"8.50\";\r\n this.notes=\"\";\r\n }\r\n}\r\n\r\n\r\nexport class OutreachEffortList {\r\n outreachProgram: string;\r\n outreachBusinessPk: number;\r\n storeId: number;\r\n storePk: number;\r\n isCharityInitiated: any;\r\n isCommunityInitiated: any;\r\n existingStoreId:number;\r\n isChecked:any;\r\n}\r\nexport class ErrorS {\r\n errorCode: number;\r\n errorMessage: string;\r\n}\r\n\r\nexport class SelectType{\r\n id: number;\r\n value: string;\r\n}","\r\n export class StoreInfo {\r\n storeId: number;\r\n storePk: number;\r\n address: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n zipCode: string;\r\n constructor(){\r\n this.state = \"\"; \r\n }\r\n }\r\n \r\n export class TestingPartnerInfo {\r\n businessName: string;\r\n firstName: string;\r\n lastName: string;\r\n jobTitle: string;\r\n address1: string;\r\n address2?: any;\r\n phone: string;\r\n city: string;\r\n state: string;\r\n zip: string;\r\n email?: any;\r\n }\r\n \r\n export class ClinicImzQtyList {\r\n clinicPk: number;\r\n immunizationPk: number;\r\n paymentTypeId: number;\r\n estimatedQuantity: number;\r\n immunizationName: string;\r\n paymentTypeName: string;\r\n }\r\n \r\n export class ClinicList {\r\n pk: number;\r\n location: string;\r\n contactFirstName: string;\r\n contactLastName: string;\r\n contactEmail: string;\r\n contactPhone: string;\r\n clinicDate: Date;\r\n startTime: string;\r\n endTime: string;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n zipCode: string;\r\n estShots: string;\r\n isReassign: boolean;\r\n isNoClinic: boolean;\r\n isCurrent: boolean;\r\n fluExpiryDate?: any;\r\n routineExpiryDate?: any;\r\n latitude: number;\r\n longitude: number;\r\n clinicImzQtyList: ClinicImzQtyList[];\r\n }\r\n \r\n export class ClinicImmunizationList {\r\n immunizationPk: number;\r\n immunizationName: string;\r\n immunizationSpanishName?: any;\r\n price?: any;\r\n paymentTypeId?: any;\r\n paymentTypeName?: any;\r\n paymentTypeSpanishName?: any;\r\n sendInvoiceTo: number;\r\n name?: any;\r\n address1?: any;\r\n address2?: any;\r\n city?: any;\r\n state?: any;\r\n zip?: any;\r\n phone?: any;\r\n email?: any;\r\n isTaxExempt?: any;\r\n isCopay?: any;\r\n copayValue?: any;\r\n isVoucherNeeded?: any;\r\n voucherExpirationDate?: any;\r\n showprice?: any;\r\n }\r\n \r\n export class ClientInfo {\r\n client: string;\r\n name: string;\r\n title: string;\r\n reviewedDate: Date;\r\n }\r\n \r\n export class WalgreenCoInfo {\r\n name: string;\r\n title: string;\r\n preparedDate: Date;\r\n districtNumber: number;\r\n rhdEmail: string;\r\n rhdName?: any;\r\n }\r\n \r\n export class ErrorS {\r\n errorCode: number;\r\n errorMessage?: any;\r\n }\r\n \r\n export class ContractThankYou {\r\n storeState?: any;\r\n hasPrefilledForms: boolean;\r\n pdfVarFormEn?: any;\r\n pdfVarFormEsp?: any;\r\n }\r\n \r\n export class PCAContractAgreementModel {\r\n totalS: number;\r\n clinicAgreementPk: number;\r\n contactLogPk: number;\r\n isApproved: any;\r\n approvedOrRejectedBy: string;\r\n rvpApprovedOrRejectedBy:string;\r\n signature: string;\r\n rhdSignature: string;\r\n isCurrent?:boolean;\r\n isLocationReqAvailable:number;\r\n isHealthRoomAvailable:number;\r\n isEmailSent: number;\r\n notes?: any;\r\n dateCreated: Date;\r\n businessUserEmails: string;\r\n contractPostedByUser?: any;\r\n contactWagUser?: any;\r\n lastUpdatedDate: Date;\r\n licenseAgreementNum?: any;\r\n storeInfo: StoreInfo;\r\n testingPartnerInfo: TestingPartnerInfo;\r\n isRHDApproved?: any;\r\n dateApproved:Date;\r\n dateRHDApproved:Date;\r\n clinicList: ClinicList[];\r\n clinicImmunizationList: ClinicImmunizationList[];\r\n clientInfo: ClientInfo;\r\n walgreenCoInfo: WalgreenCoInfo;\r\n legalNoticeAddressInfo?: any;\r\n errorS: ErrorS;\r\n contractThankYou: ContractThankYou;\r\n }\r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n","export class PotentialLocalBusiness{\r\n storeId: number;\r\n outreachEffort: string;\r\n contacted: number;\r\n fromDate: string;\r\n toDate: string;\r\n status: number;\r\n reportName: string;\r\n outputType: string;\r\n constructor(store_id: number, outreach_effort: string, contacted: number, from_date: string, to_date: string, status:number, report_name?: string,output_type?: string) {\r\n this.storeId = store_id;\r\n this.outreachEffort = outreach_effort;\r\n this.contacted = contacted;\r\n this.fromDate = from_date;\r\n this.toDate = to_date;\r\n this.status=status;\r\n this.outputType = output_type;\r\n this.reportName = report_name;\r\n }\r\n}\r\nexport class PotentialCOVIDBusiness{\r\n storeId: number;\r\n regionNumber: number;\r\n areaNumber: number;\r\n districtNumber: number;\r\n outreachEffort: string;\r\n contacted: number;\r\n fromDate: string;\r\n toDate: string;\r\n status: number;\r\n reportName: string;\r\n outputType: string;\r\n state: string\r\n constructor(store_id: number, regionNumber: number, areaNumber:number, districtNumber:number, outreach_effort: string, contacted: number, from_date: string, to_date: string, status:number, report_name?: string,output_type?: string, state?: string) {\r\n this.storeId = store_id;\r\n this.outreachEffort = outreach_effort;\r\n this.contacted = contacted;\r\n this.fromDate = from_date;\r\n this.toDate = to_date;\r\n this.status=status;\r\n this.outputType = output_type;\r\n this.reportName = report_name;\r\n this.regionNumber = regionNumber;\r\n this.areaNumber = areaNumber;\r\n this.districtNumber = districtNumber;\r\n this.state = state;\r\n }\r\n}","export class RestrictedClinicsAndOpportunitiesReport {\r\n fromDate:string;\r\n toDate:string;\r\n includeDates:string;\r\n state:string;\r\n reportType:string;\r\n reportName:string = null;\r\n outputType:string = null;\r\n constructor(from_date:string,to_date:string,include_dates:string,state:string,report_type:string,report_name?: string,output_type?: string) {\r\n this.fromDate = from_date;\r\n this.toDate = to_date;\r\n this.includeDates=include_dates;\r\n this.state=state;\r\n this.reportType=report_type;\r\n this.outputType = output_type;\r\n this.reportName = report_name;\r\n }\r\n}","export class ScheduledAppointment {\r\n userRole: string = \"\";\r\n userId: number;\r\n clientId: number;\r\n clinicPk: number = 0;\r\n apptType: number;\r\n room:string=null;\r\n clinicDate:string=null;\r\n outputType: string = null;\r\n reportName: string = null;\r\n regionNumber:number = -1;\r\n areaNumber:number = -1;\r\n districtNumber:number = -1\r\n podNumber = -1;\r\n constructor(user_role: string, user_pk: number, client_pk: number, clinic_pk: number, appts_type: number,\r\n regionNumber:number , areaNumber:number , podNumber: number, districtNumber:number,\r\n appt_room?:string,appt_date?:string, output_type?: string, report_name?: string,\r\n ) {\r\n this.userRole = user_role;\r\n this.userId = user_pk;\r\n this.clientId = client_pk;\r\n this.clinicPk = clinic_pk;\r\n this.apptType = appts_type;\r\n this.room=appt_room;\r\n this.clinicDate=appt_date;\r\n this.outputType = output_type;\r\n this.reportName = report_name;\r\n this.regionNumber = regionNumber;\r\n this.areaNumber = areaNumber;\r\n this.districtNumber = districtNumber;\r\n this.podNumber = podNumber;\r\n }\r\n}","export class ScheduledClinicStatus{\r\n storeId:number;\r\n outreachEffort: number;\r\n contacted:number;\r\n fromDate: string;\r\n toDate: string;\r\n status:number;\r\n outputType: string;\r\n reportName: string;\r\n constructor(store_id: number, outreach_effort: number, contacted: number, from_date: string, to_date: string, status:number, report_name?: string,output_type?: string) {\r\n this.storeId = store_id;\r\n this.outreachEffort = outreach_effort;\r\n this.contacted = contacted;\r\n this.fromDate = from_date;\r\n this.toDate = to_date;\r\n this.status=status;\r\n this.outputType = output_type;\r\n this.reportName = report_name;\r\n }\r\n}","export class ScheduledClinics {\r\n userId: number;\r\n outreachEffort: number;\r\n outreachStatus: any;\r\n clinicType:any;\r\n includeDates: boolean;\r\n fromDate: string;\r\n toDate: string;\r\n ipSeason: number;\r\n isPreviousSeason:boolean;\r\n pageIndex:number;\r\n regionNumber:number;\r\n outputType: string;\r\n reportName: string;\r\n covidOnly:boolean;\r\n state:string;\r\n pageSize?:number;\r\n opportunityDesignationType:string;\r\n constructor(user_id: number, outreach_effort: number, outreach_status: any,clinic_type:any, \r\n include_dates: boolean, from_date: string, to_date: string, ip_season: number,\r\n is_previous_season:boolean,page_index:number,covid_only:boolean,regionNumber:number, state:string,opportunityDesignation:string,\r\n report_name?: string,\r\n output_type?: string,\r\n page_Size?:number) {\r\n this.userId = user_id;\r\n this.outreachEffort = outreach_effort;\r\n this.outreachStatus = outreach_status;\r\n this.clinicType = clinic_type;\r\n this.includeDates = include_dates;\r\n this.fromDate = from_date;\r\n this.toDate = to_date;\r\n this.ipSeason = ip_season;\r\n this.isPreviousSeason=is_previous_season;\r\n this.pageIndex=page_index;\r\n this.outputType = output_type;\r\n this.reportName = report_name;\r\n this.covidOnly = covid_only;\r\n this.regionNumber = regionNumber;\r\n this.state=state;\r\n this.opportunityDesignationType=opportunityDesignation;\r\n this.pageSize = page_Size;\r\n }\r\n}","import { tryParse } from \"selenium-webdriver/http\";\r\n\r\nexport class ScheduledEventsReport {\r\n userId: number;\r\n userRole: string;\r\n yearStartDate: string;\r\n quarter: string;\r\n outreachEffort: number;\r\n isCurrentSeason: number;\r\n reportName: string = \"\";\r\n outputType: string = \"\";\r\n constructor(user_id: number, user_role: string, outreach_start_date: string, quarter: string, outreach_effort: number, is_current_season: number, report_name: string, output_type: string) {\r\n this.userId = user_id;\r\n this.userRole = user_role;\r\n this.yearStartDate = outreach_start_date;\r\n this.quarter = quarter\r\n this.outreachEffort = outreach_effort;\r\n this.reportName = report_name;\r\n this.outputType = output_type;\r\n this.isCurrentSeason = is_current_season;\r\n }\r\n}","export class SearchCuraPatientPatientGroupsModel {\r\n searchString: string = ''; \r\n}\r\n","export class TestingEvents{\r\n userId: number;\r\n outreachEffort: number;\r\n outreachStatus: any;\r\n includeDates: boolean;\r\n fromDate: string;\r\n toDate: string;\r\n ipSeason: number;\r\n isPreviousSeason:boolean;\r\n pageIndex:number;\r\n organizationType:any;\r\n outputType: string;\r\n reportName: string;\r\n pageSize?:number;\r\n constructor(user_id: number, outreach_effort: number, outreach_status: any, include_dates: boolean, from_date: string, to_date: string, ip_season: number, is_previous_season:boolean,page_index:number, organiztion_type:any,report_name?: string,output_type?: string,page_Size?:number) {\r\n this.userId = user_id;\r\n this.outreachEffort = outreach_effort;\r\n this.outreachStatus = outreach_status;\r\n this.includeDates = include_dates;\r\n this.fromDate = from_date;\r\n this.toDate = to_date;\r\n this.ipSeason = ip_season;\r\n this.isPreviousSeason=is_previous_season;\r\n this.pageIndex=page_index;\r\n this.organizationType=organiztion_type;\r\n this.outputType = output_type;\r\n this.reportName = report_name;\r\n this.pageSize = page_Size;\r\n }\r\n}","export class UnsubscribeEmailData\r\n{\r\n TemplateName : string;\r\n EmailId: string;\r\n} ","export class ClinicsList {\r\n clinicPk: number;\r\n clinicStoreId: number;\r\n clinicDate: string;\r\n clinicStartTime: string;\r\n clinicEndTime: string;\r\n isScheduled: boolean;\r\n immunizers: number;\r\n maxImmunizers?: number;\r\n signupEndDate: any;\r\n constructor() {\r\n this.isScheduled = false;\r\n }\r\n}\r\n\r\nexport class ClientInfo {\r\n clientId: number;\r\n businessName: string;\r\n siteStatus: number;\r\n encryptedClientKey: string;\r\n encryptedSiteLink: string;\r\n encryptedClientApptTrackingLink: string;\r\n}\r\n\r\nexport class SiteLogoAndStyles {\r\n mastheadLogo: string;\r\n logoFile: string;\r\n bannerColor: string;\r\n bannerTextColor: string;\r\n buttonColor: string;\r\n buttonTextColor: string;\r\n alternateText: string;\r\n}\r\n\r\nexport class SiteLandingPageText {\r\n headerText: string;\r\n bodyText: string;\r\n footerText: string;\r\n}\r\n\r\nexport class SiteRequiredRegisField {\r\n fieldName: string;\r\n displayName: string;\r\n isFieldVisible: number;\r\n isFieldRequired: number;\r\n}\r\n\r\nexport class UpdateSchedulerSiteDesign {\r\n clinicsList: ClinicsList[];\r\n clientInfo: ClientInfo;\r\n siteLogoAndStyles: SiteLogoAndStyles;\r\n siteLandingPageText: SiteLandingPageText;\r\n siteRequiredRegisFields: SiteRequiredRegisField[];\r\n}\r\n\r\n","\r\nexport class UserAccessLog {\r\n districtId: string;\r\n season: string = null;\r\n reportName: string = \"\";\r\n outputType: string = \"\";\r\n constructor(district_id:string, season: string,report_name:string,output_type: string) {\r\n this.districtId = district_id;\r\n this.season = season;\r\n this.reportName = report_name;\r\n this.outputType = output_type;\r\n }\r\n}"," export class UserProfile {\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n address: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n zip: string;\r\n phone: string;\r\n fax: string;\r\n company: string;\r\n created: Date;\r\n createdBy: string;\r\n isDeleted: boolean;\r\n updatedOn: Date;\r\n updatedBy: string;\r\n areaCode: string;\r\n suiteNumber: string;\r\n username: string;\r\n userRole: number;\r\n password: string;\r\n assignUserRole?:number;\r\n isGenericEmail?:boolean;\r\n isEdit?:boolean;\r\n }\r\n\r\n export class UserProfileModel {\r\n pk: number;\r\n profile_model: UserProfile[];\r\n constructor() {\r\n this.profile_model = new Array();\r\n }\r\n }\r\n\r\n","export class VaccinePurchase {\r\n fromDate:string;\r\n toDate:string;\r\n isCurrentSeason:number;\r\n reportName:string = null;\r\n outputType:string = null;\r\n vaccineType:string = null;\r\n covidOnly: boolean;\r\n constructor(from_date:string,to_date:string,is_current_season:number,vaccine_type:string,covid_only:boolean,report_name?: string,output_type?: string) {\r\n this.fromDate = from_date;\r\n this.toDate = to_date;\r\n this.isCurrentSeason = is_current_season;\r\n this.outputType = output_type;\r\n this.reportName = report_name;\r\n this.vaccineType = vaccine_type;\r\n this.covidOnly = covid_only;\r\n }\r\n}","export class WeeklyVaccinePurchasing {\r\n fromDate: string;\r\n toDate: string;\r\n fileName:string;\r\n isCurrentSeason: number;\r\n reportName: string = \"\";\r\n outputType: string = \"\";\r\n vaccineType: string;\r\n covidOnly:boolean;\r\n constructor(from_date: string, to_date: string, file_name: string, is_current_season: number, report_name: string, output_type: string, vaccine_type:string,covidOnly:boolean) {\r\n this.fromDate = from_date;\r\n this.toDate=to_date;\r\n this.fileName = file_name;\r\n this.isCurrentSeason=is_current_season;\r\n this.reportName=report_name;\r\n this.outputType = output_type;\r\n this.vaccineType = vaccine_type;\r\n this.covidOnly=covidOnly\r\n }\r\n}","export class WorkflowMonitor {\r\n userId: number;\r\n userRole: string;\r\n outreachEffort: number;\r\n reportName: string = \"\";\r\n outputType: string = \"\";\r\n constructor(user_id: number, user_role: string, outreach_effort: number, report_name: string, output_type: string) {\r\n this.userId = user_id;\r\n this.userRole=user_role;\r\n this.outreachEffort = outreach_effort;\r\n this.reportName=report_name;\r\n this.outputType = output_type;\r\n }\r\n}","export class CancelSchedulledClinics{\r\n actionValue:number;\r\n userPk:number;\r\n cancelledList: CancelAppointments[];\r\n \r\n}\r\nexport class CancelAppointments{\r\n clinicPk:number;\r\n outreachPK :number;\r\n clinicName:string;\r\n}","export class LogOutreachStatus {\r\n businessPk: number;\r\n firstName: string;\r\n lastName: string;\r\n jobTitle: string;\r\n outreachProgram: string;\r\n outreachBusinessPk: number;\r\n contactDate: Date;\r\n outreachStatusId: number;\r\n outreachStatusTitle: string;\r\n feedback: string;\r\n createdBy: number;\r\n clinicAgreementPk: number;\r\n contactLogPk: number;\r\n}\r\n\r\nexport class ClinicImzQtyList {\r\n clinicPk: number;\r\n immunizationPk: number;\r\n immunizationName: string;\r\n paymentTypeId: number;\r\n estimatedQuantity: number;\r\n paymentTypeName: string;\r\n vouchersDistributed: number;\r\n}\r\n\r\nexport class ClinicList {\r\n pk: number;\r\n location: string;\r\n contactFirstName: string;\r\n contactLastName: string;\r\n contactEmail: string;\r\n contactPhone: string;\r\n clinicDate: string = '';\r\n startTime: string;\r\n endTime: string;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n zipCode: string;\r\n isNoClinic: number;\r\n isCurrent: boolean;\r\n public latitude: string = ''\r\n public longitude: string = ''\r\n public previousContact: string = ''\r\n public previousLocation: string = ''\r\n public localEstmdShots: number\r\n public localvouchersDist: number\r\n clinicImzQtyList: ClinicImzQtyList[];\r\n constructor() {\r\n this.isNoClinic = 0;\r\n this.state = \"\";\r\n }\r\n}\r\n\r\nexport class charityVoucherProgram {\r\n clinicAgreementPk: number;\r\n contactLogPk: number;\r\n isApproved: boolean;\r\n approvedOrRejectedBy: string;\r\n isEmailSent: boolean;\r\n dateCreated: Date;\r\n lastUpdatedDate: Date;\r\n contactWagUser: string;\r\n clinicList: ClinicList[];\r\n}\r\n\r\nexport class ErrorS {\r\n errorCode: number;\r\n errorMessage: string;\r\n}\r\nexport class ClinicImmunizationList {\r\n pk: number;\r\n clinicPk: number;\r\n immunizationPk: number;\r\n immunizationName: string;\r\n price: number;\r\n paymentTypeId: number;\r\n paymentTypeName: string;\r\n sendInvoiceTo: number;\r\n name: string;\r\n address1?: any;\r\n address2?: any;\r\n city?: any;\r\n state?: any;\r\n zip?: any;\r\n phone?: any;\r\n email?: any;\r\n isTaxExempt?: any;\r\n isCopay?: any;\r\n copayValue: number;\r\n isVoucherNeeded?: any;\r\n voucherExpirationDate?: any;\r\n}\r\n\r\n\r\nexport class CharityProgram {\r\n //public clinicList: Array = new Array();\r\n logOutreachStatus: LogOutreachStatus;\r\n clinicImmunizationList: ClinicImmunizationList;\r\n charityVoucherProgram: charityVoucherProgram;\r\n isSendLocationChangeEmailToAppts: any;\r\n isSendRescheduleEmailToAppts: any;\r\n errorS: ErrorS;\r\n constructor() {\r\n this.isSendLocationChangeEmailToAppts = false;\r\n this.isSendRescheduleEmailToAppts = false;\r\n }\r\n}\r\n\r\n","import { Injectable } from \"@angular/core\";\r\n@Injectable()\r\nexport class ClientInfo {\r\n headername : string = '';\r\n clientname : string = '';\r\n titlename : string = '';\r\n attentionto: string = '';\r\n address1: string= '';\r\n address2: string= '';\r\n cityname: string= ''; \r\n statename: string= '';\r\n zipcode: string= '';\r\n}\r\n"," \r\n export class ClinicDetailsDelete {\r\n clinicPk: number;\r\n userPk: number;\r\n clinicType: number;\r\n username: string;\r\n clinicName: string;\r\n clinicStoreId: number;\r\n businessName: string;\r\n contractedStoreId: number;\r\n pData : string;\r\n }\r\n\r\n\r\n","export class OpportunityInfo {\r\n businessPk: number;\r\n outreachBusinessPk: number;\r\n clinicAgreementPk: number;\r\n childClinicAgreementId: number;\r\n childClinicAgreementApproved: boolean;\r\n contractedStoreId: number;\r\n storeId: number;\r\n storeState: string;\r\n regionNumber: number;\r\n clinicType: number;\r\n businessName: string;\r\n firstName?: any;\r\n lastName?: any;\r\n businessAddress: string;\r\n businessAddress2: string;\r\n businessCity: string;\r\n businessState: string;\r\n businessZip: string;\r\n jobTitle?: any;\r\n businessContactEmail?: any;\r\n phone: string;\r\n fax: string;\r\n maxClinicLocationId: number;\r\n naClinicAddlComments?: any;\r\n naClinicSplBillingInstr?: any;\r\n recipientId: string;\r\n naClinicPlanId: string;\r\n naClinicGroupId: string;\r\n pharmacistName?: any;\r\n pharmacistPhone?: any;\r\n totalHours?: any;\r\n naClinicCopay: any;\r\n naClinicCoverageType: any;\r\n covidOpportunityType: number;\r\n fluOpportunityType: number;\r\n pk_hash: string;\r\n clientReportingEmail: string;\r\n b2BTeamEmail: string;\r\n salesForceOpportunityId: string;\r\n salesForceAccountName: string;\r\n clinicFee: number;\r\n isNoClinicFee: boolean;\r\n vouchersDistributed: number;\r\n vouchersRedeemed: number;\r\n IsPreviousClinic: 0 | 1 | null;\r\n}\r\n\r\nexport class ClinicImzQtyList {\r\n clinicPk: number;\r\n immunizationPk: number;\r\n immunizationName: string;\r\n paymentTypeId: number;\r\n paymentTypeName: string;\r\n estimatedQuantity: number;\r\n totalImmAdministered?: number;\r\n vouchersDistributed?: number;\r\n paperVars?: number;\r\n price: any;\r\n showPrice: any;\r\n isClinicalReqd?: boolean;\r\n clinicalReqdApprovedBy?: number;\r\n clinicalReqApprovedDate?: any;\r\n}\r\n\r\nexport class ClinicList {\r\n areApptsPresent: number;\r\n noSlotsOfBlocked: Number;\r\n clinicPk: number;\r\n clinicStoreId: number;\r\n clinicNumber: number;\r\n naClinicLocation: string;\r\n intakeID: string;\r\n naContactFirstName: string;\r\n naContactLastName: string;\r\n naContactEmail: string;\r\n naClinicAddress1: string;\r\n naClinicAddress2: string;\r\n naClinicCity: string;\r\n naClinicState: string;\r\n naClinicZip: string;\r\n naClinicContactPhone: string;\r\n clinicDate: any;//\r\n clinicScheduledOn: Date;\r\n naClinicStartTime: string;\r\n naClinicEndTime: string;\r\n isReassign: number;\r\n isNoClinic: number;\r\n isApptSchedulerEnabled: boolean;\r\n confirmedClientName?: any;\r\n clinicLatitude?: any;\r\n clinicLongitude?: any;\r\n isCompleted: any;\r\n isConfirmed: any;\r\n isCancelled: any;\r\n coPayFLUGroupId?: any;\r\n coPayROUTINEGroupId?: any;\r\n fluExpiryDate?: any;\r\n routineExpiryDate?: any;\r\n covidExpiryDate?: any;\r\n visitType?: any\r\n coOutreachTypeId?: any;\r\n coOutreachTypeDesc?: any;\r\n reassignType: string;\r\n reassignedTo: number;\r\n clinicRoom: any;\r\n isScheduled: any;\r\n naClinicContactPhoneExt: any;\r\n isCovidClinic: boolean;\r\n isFluClinic: boolean;\r\n clinicImzQtyList: ClinicImzQtyList[];\r\n manufacturer: number;\r\n doseNumber: number;\r\n apptSchedulerType?: number;\r\n isDataPostedToCP?: boolean;\r\n privateCPSchedulerLink: string;\r\n isCuraAppointmentScheduled?: boolean;\r\n isSendCancellationEmailsApproved?: boolean;\r\n patientGroupId: string;\r\n clientReportingEmail: string;\r\n b2BTeamEmail: string;\r\n vouchersDistributed: number;\r\n estimatedParticipants: number | null;\r\n paperVars: number | null;\r\n IsPreviousClinic: 0 | 1 | null;\r\n}\r\n\r\nexport class ClinicImmunizationList {\r\n pk: number;\r\n clinicPk: number;\r\n immunizationPk: number;\r\n immunizationName: string;\r\n price: number;\r\n paymentTypeId: number;\r\n paymentTypeName: string;\r\n sendInvoiceTo: number;\r\n name: string;\r\n address1?: any;\r\n address2?: any;\r\n city?: any;\r\n state?: any;\r\n zip?: any;\r\n phone?: any;\r\n email?: any;\r\n isTaxExempt?: any;\r\n isCopay?: any;\r\n copayValue: number;\r\n isVoucherNeeded?: any;\r\n voucherExpirationDate?: any;\r\n}\r\n\r\nexport class ClinicsUpdateHistoryLogList {\r\n pk: number;\r\n updatedOn: any;\r\n updateAction: string;\r\n updatedField?: any;\r\n updateSubCategory?: any;\r\n updatedValue?: any;\r\n updatedBy: string;\r\n}\r\n\r\nexport class ErrorS {\r\n errorCode: number;\r\n errorMessage?: any;\r\n}\r\n\r\nexport class ClinicDetailsUpdate {\r\n userPk: number;\r\n clinicContactStatus?: any;\r\n disposition: string;\r\n feedback?: any;\r\n canReassignClinic: number;\r\n opportunityInfo: OpportunityInfo;\r\n clinicList: ClinicList[];\r\n clinicImmunizationList: ClinicImmunizationList[];\r\n clinicsUpdateHistoryLogList: ClinicsUpdateHistoryLogList[];\r\n isSendLocationChangeEmailToAppts: any;\r\n isSendRescheduleEmailToAppts: any;\r\n errorS: ErrorS;\r\n pData: string;\r\n constructor() {\r\n this.isSendLocationChangeEmailToAppts = false;\r\n this.isSendRescheduleEmailToAppts = false;\r\n this.clinicContactStatus = null;\r\n }\r\n}\r\n\r\n\r\n","export class ClinicList {\r\n clinicPk: number;\r\n clinicType: string;\r\n storeId: number;\r\n oldStoreId: number;\r\n isCanceled: number;\r\n dateAdded: Date;\r\n latitude: number;\r\n longitude: number;\r\n locationId: number;\r\n}\r\n\r\nexport class ErrorS {\r\n errorCode: number;\r\n errorMessage: string;\r\n}\r\n\r\nexport class ClinicAssignment {\r\n totalS: number;\r\n userPk: number;\r\n assignedTo: number;\r\n updateAction: number;\r\n clinicList: ClinicList[];\r\n errorS: ErrorS;\r\n}\r\n\r\n","import {Immunization, Immunization2} from './contract'\r\n\r\nexport class coClinics {\r\n public location: string;\r\n public contactFirstName: string;\r\n public contactLastName: string;\r\n public contactEmail: string;\r\n public contactPhone: string;\r\n public clinicDate: string;\r\n public startTime: string;\r\n public endTime: string;\r\n public address1: string;\r\n public address2: string;\r\n public city: string;\r\n public state: string;\r\n public zipCode: string;\r\n public isCurrent: number;\r\n public coOutreachTypeId: number;\r\n public coOutreachTypeDesc: string;\r\n public latitude: string = '';\r\n public longitude: string = '';\r\n public isCovidClinic:number = 0;\r\n public clinicImzQtyList: Immunization[]=[];\r\n constructor(){\r\n this.isCurrent = 1;\r\n}\r\n}\r\nexport class ErrorS {\r\n public errorCode: string;\r\n public errorMessage: string;\r\n constructor(){\r\n this.errorCode='0';\r\n this.errorMessage = '';\r\n }\r\n}\r\nexport class LogOutreachStatus {\r\n public businessPk: number;\r\n public firstName: string;\r\n public lastName: string;\r\n public jobTitle: string;\r\n public outreachProgram: string;\r\n public outreachBusinessPk: number;\r\n public contactDate: Date;\r\n public outreachStatusId: number;\r\n public outreachStatusTitle: string;\r\n public feedback: string;\r\n public createdBy: number;\r\n public clinicAgreementPk: number;\r\n constructor(){\r\n this.businessPk = 0;\r\n this.clinicAgreementPk = -1;\r\n this.outreachBusinessPk = -1;\r\n\r\n }\r\n}\r\nexport class CommunityOutreach {\r\n public logOutreachStatus: LogOutreachStatus = new LogOutreachStatus();\r\n public clinicAgreementPk: number;\r\n public contactLogPk: number;\r\n public isApproved: number;\r\n public approvedOrRejectedBy: string;\r\n public isEmailSent: number;\r\n public dateCreated: string;\r\n public lastUpdatedDate: string;\r\n public contactWagUser: string;\r\n public clinicImmunizationList: Immunization2[];\r\n public clinicList: Array \r\n public errorS: ErrorS \r\n constructor(){\r\n this.clinicAgreementPk = -1;\r\n this.contactLogPk = -1;\r\n this.isApproved = 0;\r\n this.approvedOrRejectedBy = \"CommunityUpdate@WagOutreach.com\";\r\n this.isEmailSent = 0;\r\n this.clinicImmunizationList = [];\r\n this.clinicList = new Array();\r\n this.errorS = new ErrorS();\r\n this.logOutreachStatus = new LogOutreachStatus();\r\n }\r\n}\r\n\r\nexport class EquityEvent {\r\n public logOutreachStatus: LogOutreachStatus = new LogOutreachStatus();\r\n public clinicAgreementPk: number;\r\n public contactLogPk: number;\r\n public isApproved: number;\r\n public approvedOrRejectedBy: string;\r\n public isEmailSent: number;\r\n public dateCreated: string;\r\n public lastUpdatedDate: string;\r\n public contactWagUser: string;\r\n public clinicImmunizationList: Immunization2[];\r\n public clinicList: Array \r\n public errorS: ErrorS \r\n constructor(){\r\n this.clinicAgreementPk = -1;\r\n this.contactLogPk = -1;\r\n this.isApproved = 0;\r\n this.approvedOrRejectedBy = \"CommunityUpdate@WagOutreach.com\";\r\n this.isEmailSent = 0;\r\n this.clinicImmunizationList = [];\r\n this.clinicList = new Array();\r\n this.errorS = new ErrorS();\r\n this.logOutreachStatus = new LogOutreachStatus();\r\n }\r\n}\r\n\r\nexport class CommOutreachProgram {\r\n public clinicAgreementPk: number;\r\n public contactLogPk: number;\r\n public isApproved: number;\r\n public approvedOrRejectedBy: string;\r\n public isEmailSent: number;\r\n //public dateCreated: string;\r\n //public lastUpdatedDate: string;\r\n //public contactWagUser: string;\r\n public clinicImmunizationList: Immunization2[];\r\n public clinicList: Array \r\n public errorS: ErrorS \r\n constructor(){\r\n this.clinicAgreementPk = -1;\r\n this.contactLogPk = -1;\r\n this.isApproved = 0;\r\n this.approvedOrRejectedBy = \"CommunityUpdate@WagOutreach.com\";\r\n this.isEmailSent = 0;\r\n this.clinicImmunizationList = [];\r\n this.clinicList = new Array();\r\n this.errorS = new ErrorS(); \r\n }\r\n}\r\n\r\nexport class CommunityOutreachServiceModel {\r\n public logOutreachStatus: LogOutreachStatus;\r\n public commOutreachProgram: CommOutreachProgram;\r\n constructor(){\r\n this.logOutreachStatus = new LogOutreachStatus();\r\n this.commOutreachProgram = new CommOutreachProgram();\r\n }\r\n}\r\n\r\n\r\nexport class EquityEventsProgram {\r\n public clinicAgreementPk: number;\r\n public contactLogPk: number;\r\n public isApproved: number;\r\n public approvedOrRejectedBy: string;\r\n public isEmailSent: number;\r\n //public dateCreated: string;\r\n //public lastUpdatedDate: string;\r\n //public contactWagUser: string;\r\n public clinicImmunizationList: Immunization2[];\r\n public clinicList: Array \r\n public errorS: ErrorS \r\n constructor(){\r\n this.clinicAgreementPk = -1;\r\n this.contactLogPk = -1;\r\n this.isApproved = 0;\r\n this.approvedOrRejectedBy = \"CommunityUpdate@WagOutreach.com\";\r\n this.isEmailSent = 0;\r\n this.clinicImmunizationList = [];\r\n this.clinicList = new Array();\r\n this.errorS = new ErrorS(); \r\n }\r\n}\r\n\r\nexport class EquityEventsServiceModel {\r\n public logOutreachStatus: LogOutreachStatus;\r\n public commOutreachProgram: CommOutreachProgram;\r\n constructor(){\r\n this.logOutreachStatus = new LogOutreachStatus();\r\n this.commOutreachProgram = new CommOutreachProgram();\r\n }\r\n}\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nexport class Immunization {\r\n public clinicPk: number = 0;\r\n public immunizationPk: string = '';\r\n public immunizationName: string = '';\r\n public immunizationAbvNameEN: string = '';\r\n public paymentTypeName: string = '';\r\n public paymentTypeId: string = '';\r\n public estimatedQuantity: number;\r\n public clear() {\r\n this.clinicPk = 0;\r\n this.immunizationPk = '';\r\n this.immunizationName = '';\r\n this.paymentTypeName = '';\r\n this.paymentTypeId = '';\r\n this.estimatedQuantity = 0;\r\n this.immunizationAbvNameEN = '';\r\n }\r\n}\r\n\r\nexport class Clinic {\r\n public clinicImzQtyList: Immunization[] = [];\r\n public location: string = '';\r\n public contactFirstName: string = '';\r\n public contactName: string = '';\r\n public contactLastName: string = '';\r\n public contactEmail: string = '';\r\n public contactPhone: string = '';\r\n public clinicDate: string = '';\r\n public startTime: string = '';\r\n public endTime: string = '';\r\n public address1: string = '';\r\n public address2: string = '';\r\n public city: string = '';\r\n public state: string = '';\r\n public zipCode: string = '';\r\n public isReassign: number = 0;\r\n public isNoClinic: number;\r\n public previousContact: number = 0;\r\n public previousLocation: number = 0;\r\n public isCurrent: number = 1;\r\n public fluExpiryDate: string = '';\r\n public routineExpiryDate: string = '';\r\n public latitude: string = '';\r\n public longitude: string = '';\r\n public estShots: string = '';\r\n public localvouchersDist: string = '';\r\n public coOutreachTypeId: string;\r\n public coOutreachTypeDesc: string;\r\n public jobTitle: string;\r\n public visitType: string = \"\";\r\n public estimatedParticipants: number;\r\n public mobileOrg: 0 | 1 | '';\r\n\r\n // public dose1: number = 0;\r\n // public dose2: number = 0;\r\n public isCovidClinic: number = 0;\r\n public vouchersDistributed: number;\r\n public isNoClinicFee: boolean = false;\r\n public clinicFee: number;\r\n public IsPreviousClinic: 0 | 1 | null;\r\n constructor() {\r\n this.isReassign = 0;\r\n this.isNoClinic = 0;\r\n\r\n this.clinicDate = null;\r\n this.estShots = \"\";\r\n this.fluExpiryDate = null;\r\n this.isCurrent = 1;\r\n this.isNoClinic = 0;\r\n this.isReassign = 0;\r\n this.latitude = null;\r\n this.longitude = null;\r\n this.routineExpiryDate = null;\r\n this.vouchersDistributed = 0;\r\n this.mobileOrg = '';\r\n }\r\n}\r\n\r\nexport class Immunization2 {\r\n public immunizationPk: string;\r\n public immunizationName: string;\r\n public immunizationAbvNameEN: string;\r\n public immunizationSpanishName: string;\r\n public price: number;\r\n public paymentTypeId: string;\r\n public paymentTypeName: string;\r\n public estimatedQuantity: number;\r\n public paymentTypeSpanishName: string\r\n public sendInvoiceTo: number;\r\n public name: string;\r\n public address1: string;\r\n public city: string;\r\n public state: string;\r\n public zip: string;\r\n public phone: string;\r\n public email: string;\r\n public email2: string;\r\n public isTaxExempt: number;\r\n public isCopay: number;\r\n public copayValue: number;\r\n public isVoucherNeeded: number;\r\n public voucherExpirationDate: string\r\n public showprice: number;\r\n public isClinicalReqd: Boolean;\r\n public clinicalReqdApprovedBy: number;\r\n public clinicalReqApprovedDate: string;\r\n public clear() {\r\n this.immunizationPk = '';\r\n this.immunizationName = '';\r\n this.paymentTypeName = '';\r\n this.paymentTypeId = '';\r\n this.estimatedQuantity = 0;\r\n this.isCopay = 0;\r\n this.isVoucherNeeded = 0;\r\n this.sendInvoiceTo = 0;\r\n this.showprice = 1;\r\n this.voucherExpirationDate = null;\r\n this.paymentTypeId = null;\r\n this.paymentTypeName = null;\r\n this.price = null;\r\n }\r\n}\r\n\r\nexport class Immunizations {\r\n public Immunization: Immunization2[] = [];\r\n}\r\n\r\nexport class Client {\r\n public client: string = '';\r\n public name: string = '';\r\n public title: string = '';\r\n public reviewedDate: string = '';\r\n}\r\n\r\nexport class WalgreenCo {\r\n public name: string = '';\r\n public eSignature: string = '';\r\n public title: string = '';\r\n public preparedDate: string = '';\r\n public districtNumber: string = '';\r\n public rhdName: string = \"\";\r\n public rhdEmail: string = \"\";\r\n public contactPhone: string = \"\";\r\n public contactEmail: string = \"\";\r\n}\r\n\r\n@Injectable()\r\nexport class LegalNoticeAddress {\r\n public attentionTo: string\r\n public address1: string\r\n public address2: string\r\n public city: string\r\n public state: string\r\n public zipCode: string\r\n constructor() {\r\n this.attentionTo = '';\r\n this.address1 = '';\r\n this.address2 = '';\r\n this.city = '';\r\n this.state = '';\r\n this.zipCode = '';\r\n }\r\n}\r\n\r\nexport class contractThankYou {\r\n public storeState: string = '';\r\n public hasPrefilledForms: number = 0;\r\n public pdfVarFormEn: string = '';\r\n public pdfVarFormEsp: string = '';\r\n}\r\n\r\nexport class ContractData {\r\n clear() {\r\n this.clinicImmunizationList.forEach(imz => imz.clear());\r\n }\r\n clinicAgreementPk: number;\r\n parentClinicAgreementId: number;\r\n contactLogPk: number;\r\n isApproved: number;\r\n isLocationReqAvailable: number;\r\n isHealthRoomAvailable: number;\r\n approvedOrRejectedBy: string;\r\n signature: string;\r\n rhdSignature: string;\r\n isEmailSent: number = 0;\r\n businessUserEmails: string;\r\n notes: string;\r\n dateCreated: Date;\r\n contractPostedByUser: string;\r\n isRHDApproved: number;\r\n licenseAgreementNum: string;\r\n isEmailSentToRHD: string;\r\n contactWagUser: string;\r\n hasServiceAgreementAccepted: boolean;\r\n modifiedBy: string;\r\n public dateApproved: Date;\r\n public dateRHDApproved: Date;\r\n public clinicList: Array = new Array();\r\n public clinicImmunizationList: Immunization2[] = [];\r\n public clientInfo: Client;\r\n public walgreenCoInfo: WalgreenCo;\r\n public legalNoticeAddressInfo: LegalNoticeAddress;\r\n public contracTthankYou: contractThankYou;\r\n constructor() {\r\n this.contractPostedByUser = 'Walgreens User';\r\n this.contactWagUser = '';\r\n this.isEmailSent = null;\r\n this.isEmailSentToRHD = null;\r\n this.isRHDApproved = null;\r\n this.isApproved = null;\r\n this.licenseAgreementNum = null;\r\n this.isLocationReqAvailable = null;\r\n this.isHealthRoomAvailable = null;\r\n this.clientInfo = new Client();\r\n this.walgreenCoInfo = new WalgreenCo();\r\n this.legalNoticeAddressInfo = new LegalNoticeAddress();\r\n this.contracTthankYou = new contractThankYou();\r\n }\r\n}\r\nexport class LanguageVariables {\r\n // language variables\r\n\r\n public thirdPartyRightsText: string = '';\r\n public thirdPartyRights: string = '';\r\n\r\n public inWitnessWhereOff: string = '';\r\n\r\n public inWitnessWhereOff2ndLine: string = '';\r\n\r\n public wallGreensCommOffsiteTitle1: string = '';\r\n\r\n public wallGreensCommOffsiteTitle2: string = '';\r\n\r\n public wallGreensResponsibilities: string = '';\r\n\r\n public wallGreensResponsibilitiesPara1Heading: string = '';\r\n\r\n public sendLegalNoticeToClient: string = '';\r\n\r\n public sendLegalNoticeToWalgreens: string = '';\r\n\r\n public wallGreensResponsibilitiesCvrdServices: string = '';\r\n\r\n public profJudgementHeading: string = '';\r\n\r\n public profJudgementText: string = '';\r\n\r\n public provHealthCrProfHdng: string = '';\r\n\r\n public provHealthCrProfText: string = '';\r\n\r\n public clientsResponsibilites: string = '';\r\n\r\n public vouchersHeading: string = '';\r\n\r\n public vouchersText: string = '';\r\n\r\n public offSiteLocation: string = '';\r\n\r\n public eligibleParticipants: string = '';\r\n\r\n public important: string = '';\r\n\r\n public offSiteLocationText1: string = '';\r\n\r\n public eligibleParticipantsText1: string = '';\r\n\r\n public siteMin: string = '';\r\n\r\n public siteAvg: string = '';\r\n\r\n public siteMinText: string = '';\r\n\r\n public siteAvgText: string = '';\r\n\r\n public pmtAndBIlling: string = '';\r\n\r\n public paymentHd: string = '';\r\n\r\n public paymentText: string = '';\r\n\r\n public latePayment: string = '';\r\n\r\n public latePaymentText: string = '';\r\n\r\n public costIncreasetext: string = '';\r\n\r\n public costIncrease: string = '';\r\n\r\n public termAndTermCaps: string = '';\r\n\r\n public termAndTerm: string = '';\r\n\r\n public termAndTermText: string = '';\r\n\r\n public effectAndTerminiation: string = '';\r\n\r\n public effectAndTerminiationText: string = '';\r\n\r\n public waiver: string = '';\r\n\r\n public waiverText: string = '';\r\n\r\n public insurAndIndemnify: string = '';\r\n\r\n public insurance: string = '';\r\n\r\n public insuranceText: string = '';\r\n\r\n public indemnification: string = '';\r\n\r\n public indemnificationText: string = '';\r\n\r\n public generalTerms: string = '';\r\n\r\n public confidentiality: string = '';\r\n\r\n public confidentialityP1: string = '';\r\n\r\n public phi: string = '';\r\n\r\n public phiAb: string = '';\r\n\r\n public confidentialityP2: string = '';\r\n public confidentialityUniversalText: string = '';\r\n public singleStarTAndC: string = '';\r\n public singleStarTAndC2: string = ''\r\n public article2Text: string = '';\r\n\r\n public Advertising: string = '';\r\n\r\n public AdvertisingText: string = '';\r\n\r\n public frcMaj: string = '';\r\n\r\n public frcMajText: string = '';\r\n\r\n public compliance: string = '';\r\n\r\n public complianceText: string = '';\r\n\r\n public assignment: string = '';\r\n\r\n public assignmentText: string = '';\r\n\r\n public notices: string = '';\r\n\r\n public noticesText: string = '';\r\n\r\n public entireAgr: string = '';\r\n\r\n public entireAgrText: string = '';\r\n\r\n public counterPart: string = '';\r\n public counterPartsText: string = '';\r\n\r\n public rights: string = '';\r\n\r\n public businessName: string = '';\r\n public name: string = \"\";\r\n public eSignature: string = \"\";\r\n public title: string = '';\r\n public attentionTo: string;\r\n public date: string = '';\r\n public district: string = '';\r\n public attentionToTxt: string = '';\r\n public address1: string = '';\r\n public address2: string = '';\r\n public city: string = '';\r\n public state: string = '';\r\n public zip: string = '';\r\n public approveAgrmnt: string = '';\r\n public approveText: string = '';\r\n public electrSign: string = '';\r\n public notes: string = '';\r\n public pageTitle: string = '';\r\n public approve: string = '';\r\n public reject: string = '';\r\n public submit: string = '';\r\n public printAgreementTxt: string = '';\r\n public clinicLocation: string = '';\r\n public clinicDate: string = '';\r\n public clinicTime: string = '';\r\n public contact: string = '';\r\n public phone: string = '';\r\n public estShots: string = ''\r\n public location: string = '';\r\n public time: string = '';\r\n public email: string = '';\r\n public emailAgrmntTo = '';\r\n public multipleEmailAddrss = '';\r\n public sendAgreeMnt = '';\r\n public editAgreeMnt = '';\r\n public saveAgreeMnt = '';\r\n public cancelTxt = '';\r\n public noteTxt = '';\r\n public table1 = '';\r\n public cancel: string = '';\r\n public contactName: string = \"\";\r\n public contactPhone: string = \"\";\r\n public contactEmail: string = \"\";\r\n public dose: string = \"\";\r\n public privateClinicFees: string = \"\";\r\n public privateClinicFeesText: string = \"\";\r\n public businessConfidentiality: string = \"\";\r\n public businessConfidentialityText: string = \"\";\r\n public clinicFee: string = \"\";\r\n public participants = \"\";\r\n}\r\n","\r\n export class ClinicList {\r\n businessPk: number;\r\n outreachBusinessPk: number;\r\n clinicPk: number;\r\n clinicType: string;\r\n storeId: number;\r\n districtNumber: number;\r\n businessName: string;\r\n naClinicLocation: string;\r\n naClinicAddress1: string;\r\n naClinicAddress2: string;\r\n naClinicCity: string;\r\n naClinicState: string;\r\n naClinicZip: string;\r\n storeAddress: string;\r\n isStoreUpdated: boolean;\r\n contactPhone: string;\r\n naClinicDate: Date;\r\n isCurrent: boolean;\r\n isCanceled: boolean;\r\n isChecked: boolean;\r\n }\r\n\r\n export class DashBoard {\r\n userPk: number;\r\n assignedTo: number;\r\n pageIndex: number;\r\n filterBy: string;\r\n filterById: string;\r\n searchByValue: string;\r\n sortByField: string;\r\n totalCount: number;\r\n startIndex: number;\r\n finalIndex: number;\r\n noOfRecordsInPage:number;\r\n sortOrder:boolean;\r\n clinicList: ClinicList[];\r\n }\r\n","\r\n export class PrimaryAddress {\r\n storeId: number;\r\n businessPk: number;\r\n businessName: string;\r\n outreachPk: number;\r\n phone: string;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n zipCode: string;\r\n }\r\n\r\n export class DuplicateAddressList {\r\n storeId: number;\r\n businessPk: number;\r\n businessName: string;\r\n outreachPk: number;\r\n phone: string;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n zipCode: string;\r\n }\r\n\r\n export class DuplicateBusiness {\r\n totalS: number;\r\n totalRecs: number;\r\n primaryAddress: PrimaryAddress;\r\n duplicateAddressList: DuplicateAddressList[];\r\n constructor()\r\n {\r\n this.primaryAddress=new PrimaryAddress();\r\n }\r\n }\r\n\r\n\r\n\r\n","export class EncryptDecrypt {\r\n encryptedS: string;\r\n decryptedS: string;\r\n}","export class EventDetailsData {\r\n clinicPk: number;\r\n clinicType: string;\r\n contactLogPk:string;\r\n \r\n}","import { Injectable } from \"@angular/core\";\r\n@Injectable()\r\nexport class Globalvariables {\r\n spanishLanguage : string;\r\n headerText : string;\r\n attachment: string;\r\n message : string;\r\n \r\n imz: string;\r\n payment: string;\r\n rates : string;\r\n \r\n englishLanguage : string;\r\n enheader : string;\r\n enattachment: string;\r\n language: string;\r\n showBtnEn : boolean = false;\r\n showBtnSp : boolean = true;\r\n enlanguageSelection: boolean;\r\n splanguageSelection: boolean;\r\n json : string;\r\n}\r\n"," export class OpportunityInfo {\r\n businessPk: number;\r\n outreachBusinessPk: number;\r\n clinicAgreementPk: number;\r\n contractedStoreId: number;\r\n storeId: number;\r\n storeState: string;\r\n regionNumber: number;\r\n clinicType: number;\r\n businessName: string;\r\n firstName: string;\r\n lastName: string;\r\n businessAddress: string;\r\n businessAddress2: string;\r\n businessCity: string;\r\n businessState: string;\r\n businessZip: string;\r\n jobTitle: string;\r\n businessContactEmail: string;\r\n phone: string;\r\n maxClinicLocationId: number;\r\n naClinicAddlComments: string;\r\n naClinicSplBillingInstr: string;\r\n recipientId: string;\r\n naClinicPlanId: string;\r\n naClinicGroupId: string;\r\n pharmacistName: string;\r\n pharmacistPhone: string;\r\n totalHours: string;\r\n naClinicCopay:any;\r\n naClinicCoverageType:any;\r\n }\r\n\r\n export class ClinicImzQtyList {\r\n clinicPk: number;\r\n immunizationPk: number;\r\n immunizationName: string;\r\n paymentTypeId: number;\r\n paymentTypeName: string;\r\n estimatedQuantity: number;\r\n totalImmAdministered: number;\r\n vouchersDistributed: number;\r\n }\r\n\r\n export class ClinicList {\r\n clinicPk: number;\r\n clinicStoreId: number;\r\n clinicNumber: number;\r\n naClinicLocation: string;\r\n naContactFirstName: string;\r\n naContactLastName: string;\r\n naContactEmail: string;\r\n naClinicAddress1: string;\r\n naClinicAddress2: string;\r\n naClinicCity: string;\r\n naClinicState: string;\r\n naClinicZip: string;\r\n naClinicContactPhone: string;\r\n clinicDate: Date;\r\n clinicScheduledOn: Date;\r\n naClinicStartTime: string;\r\n naClinicEndTime: string;\r\n isReassign: number;\r\n isNoClinic: boolean;\r\n confirmedClientName: string;\r\n clinicLatitude: number;\r\n clinicLongitude: number;\r\n isCompleted: boolean;\r\n isConfirmed: boolean;\r\n isCancelled: boolean;\r\n coPayFLUGroupId: string;\r\n coPayROUTINEGroupId: string;\r\n fluExpiryDate: Date;\r\n routineExpiryDate: Date;\r\n coOutreachTypeId: number;\r\n coOutreachTypeDesc: string;\r\n clinicImzQtyList: ClinicImzQtyList[];\r\n constructor(){\r\n this.isNoClinic = false;\r\n //this.clinicDate = new Date();\r\n //this.naClinicStartTime = new Date(this.clinicDate.getFullYear(), this.clinicDate.getMonth(), this.clinicDate.getDate(), 8, 0, 0);\r\n }\r\n }\r\n\r\n export class ClinicImmunizationList {\r\n pk: number;\r\n clinicPk: number;\r\n immunizationPk: number;\r\n immunizationName: string;\r\n price: number;\r\n paymentTypeId: number;\r\n paymentTypeName: string;\r\n sendInvoiceTo: number;\r\n name: string;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n zip: string;\r\n phone: string;\r\n email: string;\r\n isTaxExempt: boolean;\r\n isCopay: boolean;\r\n copayValue: number;\r\n isVoucherNeeded: boolean;\r\n voucherExpirationDate: Date;\r\n }\r\n\r\n export class ClinicsUpdateHistoryLogList {\r\n pk: number;\r\n updatedOn: Date;\r\n updateAction: string;\r\n updatedField: string;\r\n updateSubCategory: string;\r\n updatedValue: string;\r\n updatedBy: string;\r\n }\r\n\r\n export class ErrorS {\r\n errorCode: number;\r\n errorMessage: string;\r\n }\r\n\r\n export class LocalClinicDetails {\r\n opportunityInfo: OpportunityInfo;\r\n clinicList: ClinicList[];\r\n clinicImmunizationList: ClinicImmunizationList[];\r\n clinicsUpdateHistoryLogList: ClinicsUpdateHistoryLogList[];\r\n errorS: ErrorS;\r\n }\r\n\r\n\r\n"," export class OpportunitiesList {\r\n businessPk: number;\r\n outreachBusinessPk: number;\r\n storeId: number;\r\n districtNumber: number;\r\n areaNumber: number;\r\n businessName: string;\r\n address: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n zip: string;\r\n actualLocationEmploymentSize: number;\r\n storeAddress: string;\r\n isStoreUpdated: boolean;\r\n contactPhone: string;\r\n lastContactDate: Date;\r\n outreachStatusId: number;\r\n outreachStatus: string;\r\n businessRank: boolean;\r\n canReassign: boolean;\r\n isChecked: boolean;\r\n }\r\n\r\n export class LocalLeads {\r\n userPk: number;\r\n assignedTo: number;\r\n pageIndex: number;\r\n filterBy: string;\r\n filterById: string;\r\n searchByValue: string;\r\n sortByField: string;\r\n totalCount: number;\r\n startIndex: number;\r\n finalIndex: number;\r\n noOfRecordsInPage:number;\r\n sortOrder:boolean;\r\n opportunitiesList: OpportunitiesList[];\r\n }\r\n\r\n","export class OpportunitiesList {\r\n businessPk: number;\r\n outreachBusinessPk: number;\r\n storeId: number;\r\n lastContactDate: Date;\r\n outreachStatusId: number;\r\n isStatusUpdated: boolean;\r\n latitude: number;\r\n longitude: number;\r\n locationId: number;\r\n assignToDistrict: number;\r\n}\r\n\r\nexport class LocalLeadsSave {\r\n userPk: number;\r\n assignedTo: number;\r\n updateAction: number;\r\n isAssignAllInDistrict: boolean;\r\n assignToDistrict: number;\r\n override_sr_events:boolean;\r\n opportunitiesList: OpportunitiesList[];\r\n disposition: string;\r\n}\r\n\r\nexport class recaptchaRequest {\r\n secret:string = '6LeKNuIUAAAAAM1PI5hdJEKntORMP9statIe1H1N';\r\n response:string; \r\n}\r\n\r\n\r\n\r\n","export class LogData{\r\n type:string;\r\n message:string;\r\n}","import { Injectable } from \"@angular/core\";\r\nexport class SR {\r\n contacts: string;\r\n lastContact: string;\r\n outreachStatus: string;\r\n contactLogPk: string;\r\n outreachStatusTitle: string;\r\n outreachProgram:string;\r\n isScheduledClinics: boolean;\r\n outreachBusinessPk : number;\r\n clinicAgreementPk : number;\r\n \r\n}\r\n\r\nexport class IP {\r\n contacts: string;\r\n lastContact: string;\r\n outreachStatus: string;\r\n contactLogPk: string;\r\n outreachStatusTitle: string;\r\n outreachProgram:string;\r\n isScheduledClinics: boolean;\r\n outreachBusinessPk : number;\r\n clinicAgreementPk : number;\r\n \r\n \r\n}\r\nexport class PCA {\r\n contacts: string;\r\n lastContact: string;\r\n outreachStatus: string;\r\n contactLogPk: string;\r\n outreachStatusTitle: string;\r\n outreachProgram:string;\r\n isScheduledClinics: boolean;\r\n outreachBusinessPk : number;\r\n clinicAgreementPk : number;\r\n \r\n}\r\n\r\nexport class OutreachEffort {\r\n SR: SR;\r\n IP: IP;\r\n PCA: PCA;\r\n constructor()\r\n {\r\n this.SR=new SR();\r\n this.IP=new IP();\r\n this.PCA=new PCA();\r\n }\r\n}\r\n@Injectable()\r\nexport class Opportunities {\r\n storeId: number;\r\n businessPk: number;\r\n businessName: string;\r\n industry: string;\r\n others: string;\r\n firstName: string;\r\n lastName: string;\r\n contactName: string;\r\n phone: string;\r\n address: string;\r\n state: string;\r\n jobTitle: string;\r\n zip: string;\r\n createDate: Date;\r\n isStandardized: boolean;\r\n isMilitaryOpportunity:boolean;\r\n isPreviousClient:boolean;\r\n isInterestClickedInRetentionEmail:boolean;\r\n employmentSize?: any;\r\n contactEmail?: any;\r\n accountType: string;\r\n isExistingBusiness: boolean;\r\n isB2BSmallBusiness: boolean;\r\n isDirectB2BMail: boolean;\r\n contactLogPk: string;\r\n outreachEffort: OutreachEffort;\r\n contacts: string;\r\n lastContact: string;\r\n outreachStatusTitle: string;\r\n outreachStatus: string;\r\n businessType: number;\r\n clinicTime?: any;\r\n clinicDate?: any;\r\n sicCode: number;\r\n leadStoreId?: any;\r\n sicPriority: number;\r\n naClinicGroupId?: any;\r\n isPCA:any;\r\n organizationType?:number;\r\n isCovidOpportunity:boolean ;\r\n isFluOpportunity:boolean;\r\n isNoContractOpportunity:boolean;\r\n covidOpportunityType:number;\r\n fluOpportunityType:number;\r\n isTopPriorityFromLead:boolean;\r\n isHighPriority:boolean;\r\n constructor()\r\n {\r\n this.outreachEffort=new OutreachEffort();\r\n this.isPCA = false;\r\n this.isCovidOpportunity = null;\r\n this.covidOpportunityType = null;\r\n }\r\n}","export class LulaAsoRelease2 {\r\n use: any[];\r\n term: string;\r\n tradenames_publications: string;\r\n indemnity: any[];\r\n surrender: string;\r\n insurance: string;\r\n miscellaneous: string; \r\n conditionalTnCInsurance:string ;\r\n tnCCutOffDate:string = \"01/31/2023\";\r\n constructor(){ \r\n this.use=[\"Walgreens grants Host Licensee an exclusive limited duration revocable right, privilege and license to access and use that portion of the Event Location designated by Walgreens for the @serviceValue Testing Event (as described on the cover page of this Agreement) on the specified Event Dates and Event Hours.\", \"If required, Host Licensee shall remit to Walgreens the License Fee or Cost Recovery Charge on or before the Fee Remittance Date.\", \"Host Licensee shall conduct the @serviceValue Testing Event in full compliance with all applicable governmental requirements, in a first-class manner, free of liens for materials or labor furnished to Host Licensee, and at Host Licensee’s sole cost and expense. Host Licensee represents and warrants that: (i) Host Licensee has all authorizations, licenses and permits that are necessary to conduct the @serviceValue Testing Event; (ii) the Host Licensee and its employees, guests, invitees, agents, contractors and representatives (the “Host Licensee Parties”) will not violate any laws, regulations, rules, or governmental requirements in connection with, or during the @serviceValue Testing Event; (iii) shall ensure that the @serviceValue Testing Event is carried out in a safe and controlled manner; (iv) the Host Licensee Parties shall not: (A) obstruct, prevent or interfere with access to the Event Location by any Walgreen representative; (B) unreasonably interfere with the use or enjoyment of the Event Location; (C) cause or create any nuisance within the Event Location, including excessive noise; (D) bring or generate any hazardous materials of any kind into the Event Location; and (E) fail to comply with any directive of any Walgreens representative, and with any life or safety rule or regulation of the Event Location. Host Licensee agrees that all materials, chemicals and services relating to the Host Licensee’s use and/or occupation of the Event Location shall be provided in accordance with all statutes, ordinances, rules and regulations governing health, safety and the environment.\", \"Host Licensee shall provide, at Host Licensee’s sole cost and expense, all services, supplies and equipment required for the @serviceValue Testing Event. Walgreens assumes no responsibility and shall not be liable for any damaged or stolen items and/or equipment placed by Host Licensee in the Event Location. Host Licensee may not store any items or equipment in the Event Location or affix anything to or alter any surface of the interior or exterior of the Event Location. Host Licensee shall obtain a signed acknowledgment from each individual who receives services at the @serviceValue Testing Event that identifies that the professional testing services are being provided by Host Licensee, in such form as has been approved in advance by Walgreens (which shall specify that the professional testing services are being provided by Host Licensee, \\“whose trained healthcare professionals are not employed by and are not agents of Walgreen Co., its subsidiaries, including Take Care Health Systems, LLC, or their affiliated providers\\”), and Host Licensee shall maintain all such signed acknowledgements in each patient’s medical record for a period of time after the @serviceValue Testing Event no shorter than the longest medical record retention requirement under any law, regulation, rule or governmental requirement that applies to the patient’s test results from the @serviceValue Testing Event.\", \"Smoking is not permitted in the Event Location or in and around the Event Location.\", \"Walgreens reserves the right to approve, in advance, all food and beverages brought into the Event Location.\"];\r\n this.term=\"The term of this Agreement shall commence on the specified Event Date and continue through the specified Event Hours. Notwithstanding the above, Walgreens shall have the right to terminate this Agreement at any time by providing notice to Host Licensee. Any holding over by Host Licensee shall not operate, except by written agreement, to extend or renew this Agreement or to imply or create a new agreement.\";\r\n this.tradenames_publications=\"Host Licensee must obtain Walgreens' written approval prior to publication and/or distribution of any and all publications, using the terms \\“Walgreen,\\” \\“Walgreens,\\” \\“Walgreen Co.\\” or the Walgreen logo.\";\r\n this.indemnity=[\"Host Licensee assumes full responsibility and liability for any injury to Walgreens or any third persons or damage to property caused by, resulting from, or arising out of any act or omission related to Host Licensee’s use and/or occupation of the Event Location, whether or not such liability arises out of acts or omissions by Host Licensee or the Host Licensee Parties.\", \"Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties or its/their use of the Event Location).\", \"This indemnity shall survive any expiration or termination of this Agreement. Host Licensee shall also reimburse Walgreens for any expenses reasonably incurred by Walgreens to protect itself from, or to remedy, breaches of this Agreement.\"];\r\n this.surrender=\"Upon surrender, the Event Location and any other portions of any adjoining property affected by, involved in, or used by Host Licensee shall be returned in as good condition as when first occupied by Host Licensee. Host Licensee shall be responsible for the cleanup, removal, and/or disposal of all debris, displays, equipment, machinery and other items deposited, used or created in, on or about the Event Location as a result of Host Licensee’s use and/or occupation of the Event Location, and shall repair any damage caused by the removal of such items and equipment, all at Host Licensee’s sole cost and expense. Host Licensee shall pay to Walgreens the Hold Over Fee if the Host Licensee Parties do not vacate the Event Location upon the termination of the Event Hours.\";\r\n this.insurance = \"At all times during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) worker’s compensation insurance with statutory limits in the state(s) where services are being provided and employer’s liability coverage in the amount of $500,000 each accident for bodily injury by accident, $500,000 each employee for bodily injury by disease and $500,000 policy aggregate limit for bodily injury by disease; (b) professional liability insurance for all professionals conducting any @serviceValue Testing or counseling services at the Event with minimum limits of $1,000,000 per occurrence; $3,000,000 aggregate; (c) commercial general liability insurance for bodily injury, including death, and property damage liability in an amount of $1,000,000 per occurrence and $2,000,000 in the aggregate; and (d) automobile liability insurance with a minimum combined single limit of $500,000 per accident covering the use of all owned, hired and non-owned autos. The automobile and general liability policies shall name Walgreen Co. as additional insured. Umbrella/excess liability insurance can support the above insurance requirements and coverage shall not be more restrictive than the primary liability coverage and include Walgreens’ additional insured status. Host Licensee acknowledges that Host Licensee retains the risk of loss, damage or destruction to their owned or leased tangible property. Host Licensee shall provide to Walgreen Co. evidence of coverage prior to execution of this Agreement. The insurance amounts indicated are minimum requirements and not limits of liability. They are not to be construed as either party’s consent to substitute or limit Host Licensee’s financial liability in excess of the amounts set forth except as otherwise agreed in the Agreement.\";\r\n this.miscellaneous = \"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney’s fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State of Illinois shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement. The parties expressly consent to exclusive personal jurisdiction and venue in the state and federal courts located in Cook County, Illinois.\"\r\n this.conditionalTnCInsurance= \"At all times during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) worker’s compensation insurance with statutory limits in the state(s) where services are being provided and employer’s liability coverage in the amount of $500,000 each accident for bodily injury by accident, $500,000 each employee for bodily injury by disease and $500,000 policy aggregate limit for bodily injury by disease; (b) professional liability insurance for all professionals conducting any @serviceValue Testing or counseling services at the Event with minimum limits of $1,000,000 per occurrence; $3,000,000 aggregate; (c) commercial general liability insurance for bodily injury, including death, and property damage liability in an amount of $1,000,000 per occurrence and $2,000,000 in the aggregate; and (d) automobile liability insurance with a minimum combined single limit of $500,000 per accident covering the use of all owned, hired and non-owned autos. The automobile and general liability policies shall name Walgreen Co. as additional insured. Umbrella/excess liability insurance can support the above insurance requirements and coverage shall not be more restrictive than the primary liability coverage and include Walgreens’ additional insured status. Host Licensee acknowledges that Host Licensee retains the risk of loss, damage or destruction to their owned or leased tangible property. Host Licensee shall provide to Walgreen Co. evidence of coverage prior to execution of this Agreement. The insurance amounts indicated are minimum requirements and not limits of liability. They are not to be construed as either party’s consent to substitute or limit Host Licensee’s financial liability in excess of the amounts set forth except as otherwise agreed in the Agreement.\"\r\n }\r\n}\r\n\r\n export class LulaGovRelease2 {\r\n use: any[];\r\n term: string;\r\n tradenames_publications: string;\r\n indemnity: any[];\r\n surrender: string;\r\n insurance: string;\r\n miscellaneous: string; \r\n conditionalTnCInsurance:string = \"At all times during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) worker’s compensation insurance with statutory limits in the state(s) where services are being provided and employer’s liability coverage in the amount of $1,000,000 each accident for bodily injury by accident, $1,000,000 each employee for bodily injury by disease and $1,000,000 policy aggregate limit for bodily injury by disease; (b) professional liability insurance for all professionals conducting any @serviceValue Testing or counseling services at the Event with minimum limits of $1,000,000 per occurrence; $3,000,000 aggregate; (c) commercial general liability insurance for bodily injury, including death, and property damage liability in an amount of $1,000,000 per occurrence and $2,000,000 in the aggregate; and (d) automobile liability insurance with a minimum combined single limit of $1,000,000 per accident covering the use of all owned, hired and non-owned autos. The automobile and general liability policies shall name Walgreen Co. as additional insured. Umbrella/excess liability insurance can support the above insurance requirements and coverage shall not be more restrictive than the primary liability coverage and include Walgreens’ additional insured status. Host Licensee acknowledges that Host Licensee retains the risk of loss, damage or destruction to their owned or leased tangible property. Host Licensee shall provide to Walgreen Co. evidence of coverage prior to execution of this Agreement. The insurance amounts indicated are minimum requirements and not limits of liability. They are not to be construed as either party’s consent to substitute or limit Host Licensee’s financial liability in excess of the amounts set forth except as otherwise agreed in the Agreement.\";\r\n tnCCutOffDate:string = \"01/31/2023\";\r\n constructor(state:string=null){\r\n \r\n //By default the below are used if the state is passed. \r\n this.use=[\"Walgreens grants Host Licensee an exclusive limited duration revocable right, privilege and license to access and use that portion of the Event Location designated by Walgreens for the @serviceValue Testing Event (as described on the cover page of this Agreement) on the specified Event Dates and Event Hours.\", \"If required, Host Licensee shall remit to Walgreens the License Fee or Cost Recovery Charge on or before the Fee Remittance Date.\", \"Host Licensee shall conduct the @serviceValue Testing Event in full compliance with all applicable governmental requirements, in a first-class manner, free of liens for materials or labor furnished to Host Licensee, and at Host Licensee’s sole cost and expense. Host Licensee represents and warrants that: (i) Host Licensee has all authorizations, licenses and permits that are necessary to conduct the @serviceValue Testing Event; (ii) the Host Licensee and its employees, guests, invitees, agents, contractors and representatives (the “Host Licensee Parties”) will not violate any laws, regulations, rules, or governmental requirements in connection with, or during the @serviceValue Testing Event; (iii) shall ensure that the @serviceValue Testing Event is carried out in a safe and controlled manner; (iv) the Host Licensee Parties shall not: (A) obstruct, prevent or interfere with access to the Event Location by any Walgreen representative; (B) unreasonably interfere with the use or enjoyment of the Event Location; (C) cause or create any nuisance within the Event Location, including excessive noise; (D) bring or generate any hazardous materials of any kind into the Event Location; and (E) fail to comply with any directive of any Walgreens representative, and with any life or safety rule or regulation of the Event Location. Host Licensee agrees that all materials, chemicals and services relating to the Host Licensee’s use and/or occupation of the Event Location shall be provided in accordance with all statutes, ordinances, rules and regulations governing health, safety and the environment.\", \"Host Licensee shall provide, at Host Licensee’s sole cost and expense, all services, supplies and equipment required for the @serviceValue Testing Event. Walgreens assumes no responsibility and shall not be liable for any damaged or stolen items and/or equipment placed by Host Licensee in the Event Location. Host Licensee may not store any items or equipment in the Event Location or affix anything to or alter any surface of the interior or exterior of the Event Location. Host Licensee shall obtain a signed acknowledgment from each individual who receives services at the @serviceValue Testing Event that identifies that the professional testing services are being provided by Host Licensee, in such form as has been approved in advance by Walgreens (which shall specify that the professional testing services are being provided by Host Licensee, \\“whose trained healthcare professionals are not employed by and are not agents of Walgreen Co., its subsidiaries, including Take Care Health Systems, LLC, or their affiliated providers\\”), and Host Licensee shall maintain all such signed acknowledgements in each patient’s medical record for a period of time after the @serviceValue Testing Event no shorter than the longest medical record retention requirement under any law, regulation, rule or governmental requirement that applies to the patient’s test results from the @serviceValue Testing Event.\", \"Smoking is not permitted in the Event Location or in and around the Event Location.\", \"Walgreens reserves the right to approve, in advance, all food and beverages brought into the Event Location.\"];\r\n this.term=\"The term of this Agreement shall commence on the specified Event Date and continue through the specified Event Hours. Notwithstanding the above, Walgreens shall have the right to terminate this Agreement at any time by providing notice to Host Licensee. Any holding over by Host Licensee shall not operate, except by written agreement, to extend or renew this Agreement or to imply or create a new agreement.\";\r\n this.tradenames_publications=\"Host Licensee must obtain Walgreens'; written approval prior to publication and/or distribution of any and all publications, using the terms \\“Walgreen,\\” “Walgreens,\\” \\“Walgreen Co.\\” or the Walgreen logo.\";\r\n this.indemnity=[\"Host Licensee assumes full responsibility and liability for any injury to Walgreens or any third persons or damage to property caused by, resulting from, or arising out of any act or omission related to Host Licensee’s use and/or occupation of the Event Location, whether or not such liability arises out of acts or omissions by Host Licensee or the Host Licensee Parties.\", \"Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties or its/their use of the Event Location).\", \"This indemnity shall survive any expiration or termination of this Agreement. Host Licensee shall also reimburse Walgreens for any expenses reasonably incurred by Walgreens to protect itself from, or to remedy, breaches of this Agreement.\"]; \r\n this.surrender=\"Upon surrender, the Event Location and any other portions of any adjoining property affected by, involved in, or used by Host Licensee shall be returned in as good condition as when first occupied by Host Licensee. Host Licensee shall be responsible for the cleanup, removal, and/or disposal of all debris, displays, equipment, machinery and other items deposited, used or created in, on or about the Event Location as a result of Host Licensee’s use and/or occupation of the Event Location, and shall repair any damage caused by the removal of such items and equipment, all at Host Licensee’s sole cost and expense. Host Licensee shall pay to Walgreens the Hold Over Fee if the Host Licensee Parties do not vacate the Event Location upon the termination of the Event Hours.\";\r\n \r\n if(state){\r\n //For state specific the below fields will be overridden\r\n switch(state.toLowerCase()){\r\n case \"fl\":\r\n this.indemnity=[\"\\\"Host Licensee is part of an executive branch agency of the State of Florida and as such possesses sovereign immunity and limited liability as described in Section 768.28, Florida Statutes. Nothing herein is intended as a waiver of sovereign immunity or as a consent to be sued by any third party for any cause or matter arising from this agreement. Within the limits of Section 768.28, Fla. Stat., and other applicable law, Host Licensee agrees to be responsible for its own negligence and for the negligence of its agents or employees acting in the course and scope of agency/employment.\\\"\", \"To the extent permitted by applicable sovereign immunity laws, Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties or its/their use of the Event Location).\"];\r\n this.insurance=\"At all times during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) worker’s compensation insurance with statutory limits in the state(s) where services are being provided and employer’s liability coverage in the amount of $1,000,000 each accident for bodily injury by accident, $1,000,000 each employee for bodily injury by disease and $1,000,000 policy aggregate limit for bodily injury by disease; (b) professional liability insurance for all professionals conducting any @serviceValue Testing or counseling services at the Event with minimum limits of $1,000,000 per occurrence; $3,000,000 aggregate; (c) commercial general liability insurance for bodily injury, including death, and property damage liability in an amount of $1,000,000 per occurrence and $2,000,000 in the aggregate; and (d) automobile liability insurance with a minimum combined single limit of $1,000,000 per accident covering the use of all owned, hired and non-owned autos. The automobile and general liability policies shall name Walgreen Co. as additional insured. Umbrella/excess liability insurance can support the above insurance requirements and coverage shall not be more restrictive than the primary liability coverage and include Walgreens’ additional insured status. Host Licensee acknowledges that Host Licensee retains the risk of loss, damage or destruction to their owned or leased tangible property. Host Licensee shall provide to Walgreen Co. evidence of coverage prior to execution of this Agreement. The insurance amounts indicated are minimum requirements and not limits of liability. They are not to be construed as either party’s consent to substitute or limit Host Licensee’s financial liability in excess of the amounts set forth except as otherwise agreed in the Agreement.\";\r\n this.miscellaneous=\"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney's fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State of Illinois shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement.\";\r\n break;\r\n case \"tx\":\r\n this.indemnity=[\"Host Licensee and Walgreens agree to each be solely responsible for claims alleging bodily injury, including death, and property damage arising from each party's own negligence, acts or omissions in the performance of each of their individual duties hereunder, and shall be financially and legally responsible for all liabilities, costs, damages, expenses and attorney fees resulting from, or attributable to any and all of their individual acts or omissions. No party shall have any obligation to indemnify the other, and/or its agents, employees and representatives.\"];\r\n this.insurance=\"At all times during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) worker’s compensation insurance with statutory limits in the state(s) where services are being provided and employer’s liability coverage in the amount of $1,000,000 each accident for bodily injury by accident, $1,000,000 each employee for bodily injury by disease and $1,000,000 policy aggregate limit for bodily injury by disease; (b) professional liability insurance for all professionals conducting any @serviceValue Testing or counseling services at the Event with minimum limits of $1,000,000 per occurrence; $3,000,000 aggregate; (c) commercial general liability insurance for bodily injury, including death, and property damage liability in an amount of $1,000,000 per occurrence and $2,000,000 in the aggregate; and (d) automobile liability insurance with a minimum combined single limit of $1,000,000 per accident covering the use of all owned, hired and non-owned autos. The automobile and general liability policies shall name Walgreen Co. as additional insured. Umbrella/excess liability insurance can support the above insurance requirements and coverage shall not be more restrictive than the primary liability coverage and include Walgreens’ additional insured status. Host Licensee acknowledges that Host Licensee retains the risk of loss, damage or destruction to their owned or leased tangible property. Host Licensee shall provide to Walgreen Co. evidence of coverage prior to execution of this Agreement. The insurance amounts indicated are minimum requirements and not limits of liability. They are not to be construed as either party’s consent to substitute or limit Host Licensee’s financial liability in excess of the amounts set forth except as otherwise agreed in the Agreement.\"; \r\n this.miscellaneous=\"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney's fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State in which the Event Location is located shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement.\";\r\n break;\r\n default:\r\n this.indemnity=[\"Host Licensee assumes full responsibility and liability for any injury to Walgreens or any third persons or damage to property caused by, resulting from, or arising out of any act or omission related to Host Licensee’s use and/or occupation of the Event Location, whether or not such liability arises out of acts or omissions by Host Licensee or the Host Licensee Parties.\", \"Only to the extent not prohibited by applicable state law, Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties or its/their use of the Event Location).\", \"This indemnity shall survive any expiration or termination of this Agreement. Host Licensee shall also reimburse Walgreens for any expenses reasonably incurred by Walgreens to protect itself from, or to remedy, breaches of this Agreement.\"];\r\n this.miscellaneous=\"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney's fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State in which the Event Location is located shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement.\";\r\n this.insurance=\"At all times during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) worker’s compensation insurance with statutory limits in the state(s) where services are being provided and employer’s liability coverage in the amount of $1,000,000 each accident for bodily injury by accident, $1,000,000 each employee for bodily injury by disease and $1,000,000 policy aggregate limit for bodily injury by disease; (b) professional liability insurance for all professionals conducting any @serviceValue Testing or counseling services at the Event with minimum limits of $1,000,000 per occurrence; $3,000,000 aggregate; (c) commercial general liability insurance for bodily injury, including death, and property damage liability in an amount of $1,000,000 per occurrence and $2,000,000 in the aggregate; and (d) automobile liability insurance with a minimum combined single limit of $1,000,000 per accident covering the use of all owned, hired and non-owned autos. The automobile and general liability policies shall name Walgreen Co. as additional insured. Umbrella/excess liability insurance can support the above insurance requirements and coverage shall not be more restrictive than the primary liability coverage and include Walgreens’ additional insured status. Host Licensee acknowledges that Host Licensee retains the risk of loss, damage or destruction to their owned or leased tangible property. Host Licensee shall provide to Walgreen Co. evidence of coverage prior to execution of this Agreement. The insurance amounts indicated are minimum requirements and not limits of liability. They are not to be construed as either party’s consent to substitute or limit Host Licensee’s financial liability in excess of the amounts set forth except as otherwise agreed in the Agreement.\";\r\n break; \r\n }\r\n }\r\n else{\r\n // If state is not supplied below fields will be overridden\r\n this.use=[\"Walgreens grants Host Licensee an exclusive limited duration revocable right, privilege and license to access and use that portion of the Event Location designated by Walgreens for the @serviceValue Testing Event (as described on the cover page of this Agreement) on the specified Event Dates and Event Hours.\", \"If required, Host Licensee shall remit to Walgreens the License Fee or Cost Recovery Charge on or before the Fee Remittance Date.\", \"Host Licensee shall conduct the @serviceValue Testing Event in full compliance with all applicable governmental requirements, in a first-class manner, free of liens for materials or labor furnished to Host Licensee, and at Host Licensee’s sole cost and expense. Host Licensee represents and warrants that: (i) Host Licensee has all authorizations, licenses and permits that are necessary to conduct the @serviceValue Testing Event; (ii) the Host Licensee and its employees, guests, invitees, agents, contractors and representatives (the “Host Licensee Parties”) will not violate any laws, regulations, rules, or governmental requirements in connection with, or during the @serviceValue Testing Event; (iii) shall ensure that the @serviceValue Testing Event is carried out in a safe and controlled manner; (iv) the Host Licensee Parties shall not: (A) obstruct, prevent or interfere with access to the Event Location by any Walgreen representative; (B) unreasonably interfere with the use or enjoyment of the Event Location; (C) cause or create any nuisance within the Event Location, including excessive noise; (D) bring or generate any hazardous materials of any kind into the Event Location; and (E) fail to comply with any directive of any Walgreens representative, and with any life or safety rule or regulation of the Event Location. Host Licensee agrees that all materials, chemicals and services relating to the Host Licensee’s use and/or occupation of the Event Location shall be provided in accordance with all statutes, ordinances, rules and regulations governing health, safety and the environment.\", \"Host Licensee shall provide, at Host Licensee’s sole cost and expense, all services, supplies and equipment required for the @serviceValue Testing Event. Walgreens assumes no responsibility and shall not be liable for any damaged or stolen items and/or equipment placed by Host Licensee in the Event Location. Host Licensee may not store any items or equipment in the Event Location or affix anything to or alter any surface of the interior or exterior of the Event Location. Host Licensee shall obtain a signed acknowledgment from each individual who receives services at the @serviceValue Testing Event that identifies that the professional testing services are being provided by Host Licensee, in such form as has been approved in advance by Walgreens (which shall specify that the professional testing services are being provided by Host Licensee, \\“whose trained healthcare professionals are not employed by and are not agents of Walgreen Co., its subsidiaries, including Take Care Health Systems, LLC, or their affiliated providers\\”), and Host Licensee shall maintain all such signed acknowledgements in each patient’s medical record for a period of time after the @serviceValue Testing Event no shorter than the longest medical record retention requirement under any law, regulation, rule or governmental requirement that applies to the patient’s test results from the @serviceValue Testing Event.\", \"Smoking is not permitted in the Event Location or in and around the Event Location.\", \"Walgreens reserves the right to approve, in advance, all food and beverages brought into the Event Location.\"];\r\n this.term=\"The term of this Agreement shall commence on the specified Event Date and continue through the specified Event Hours. Notwithstanding the above, Walgreens shall have the right to terminate this Agreement at any time by providing notice to Host Licensee. Any holding over by Host Licensee shall not operate, except by written agreement, to extend or renew this Agreement or to imply or create a new agreement.\";\r\n this.tradenames_publications=\"Host Licensee must obtain Walgreens'; written approval prior to publication and/or distribution of any and all publications, using the terms \\“Walgreen,\\” “Walgreens,\\” \\“Walgreen Co.\\” or the Walgreen logo.\";\r\n this.surrender=\"Upon surrender, the Event Location and any other portions of any adjoining property affected by, involved in, or used by Host Licensee shall be returned in as good condition as when first occupied by Host Licensee. Host Licensee shall be responsible for the cleanup, removal, and/or disposal of all debris, displays, equipment, machinery and other items deposited, used or created in, on or about the Event Location as a result of Host Licensee’s use and/or occupation of the Event Location, and shall repair any damage caused by the removal of such items and equipment, all at Host Licensee’s sole cost and expense. Host Licensee shall pay to Walgreens the Hold Over Fee if the Host Licensee Parties do not vacate the Event Location upon the termination of the Event Hours.\";\r\n this.indemnity=[\"Host Licensee assumes full responsibility and liability for any injury to Walgreens or any third persons or damage to property caused by, resulting from, or arising out of any act or omission related to Host Licensee’s use and/or occupation of the Event Location, whether or not such liability arises out of acts or omissions by Host Licensee or the Host Licensee Parties.\", \"Only to the extent not prohibited by applicable state law, Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties or its/their use of the Event Location).\", \"This indemnity shall survive any expiration or termination of this Agreement. Host Licensee shall also reimburse Walgreens for any expenses reasonably incurred by Walgreens to protect itself from, or to remedy, breaches of this Agreement.\"];\r\n this.miscellaneous=\"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney's fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State in which the Event Location is located shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement.\";\r\n this.insurance=\"At all times during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) worker’s compensation insurance with statutory limits in the state(s) where services are being provided and employer’s liability coverage in the amount of $1,000,000 each accident for bodily injury by accident, $1,000,000 each employee for bodily injury by disease and $1,000,000 policy aggregate limit for bodily injury by disease; (b) professional liability insurance for all professionals conducting any @serviceValue Testing or counseling services at the Event with minimum limits of $1,000,000 per occurrence; $3,000,000 aggregate; (c) commercial general liability insurance for bodily injury, including death, and property damage liability in an amount of $1,000,000 per occurrence and $2,000,000 in the aggregate; and (d) automobile liability insurance with a minimum combined single limit of $1,000,000 per accident covering the use of all owned, hired and non-owned autos. The automobile and general liability policies shall name Walgreen Co. as additional insured. Umbrella/excess liability insurance can support the above insurance requirements and coverage shall not be more restrictive than the primary liability coverage and include Walgreens’ additional insured status. Host Licensee acknowledges that Host Licensee retains the risk of loss, damage or destruction to their owned or leased tangible property. Host Licensee shall provide to Walgreen Co. evidence of coverage prior to execution of this Agreement. The insurance amounts indicated are minimum requirements and not limits of liability. They are not to be construed as either party’s consent to substitute or limit Host Licensee’s financial liability in excess of the amounts set forth except as otherwise agreed in the Agreement.\";\r\n }\r\n }\r\n }\r\n\r\n \r\n\r\n export class OpoLulaRelease2 {\r\n use: any[];\r\n term: string;\r\n tradenames_publications: string;\r\n indemnity: any[];\r\n surrender: string;\r\n insurance: string;\r\n miscellaneous: string; \r\n conditionalTnCInsurance:string;\r\n tnCCutOffDate:string = \"01/31/2023\";\r\n\r\n inwitnesswhereof:string;\r\n \r\n constructor(state:string=null){\r\n \r\n this.use=[\"Walgreens grants Host Licensee an exclusive limited duration revocable right, privilege and license to access and use that portion of the Event Location designated by Walgreens for the Organ Donor Registration Event (as described on the cover page of this Agreement) on the specified Event Dates and Event Hours.\",\"If required, Host Licensee shall remit to Walgreens the License Fee or Cost Recovery Charge on or before the Fee Remittance Date.\",\"Host Licensee shall conduct the Organ Donor Registration Event in full compliance with all applicable governmental requirements, in a first-class manner, free of liens for materials or labor furnished to Host Licensee, and at Host Licensee’s sole cost and expense. Host Licensee represents and warrants that: (i) Host Licensee has any and all authorizations, licenses and permits necessary to conduct the Organ Donor Registration Event; (ii) the Host Licensee and its employees, guests, invitees, agents, contractors and representatives (the \\\"Host Licensee Parties\\\") will not violate any laws, regulations, rules, or governmental requirements in connection with, or during the Organ Donor Registration Event; (iii) shall ensure that the Organ Donor Registration Event is carried out in a safe and controlled manner; (iv) the Host Licensee Parties shall not: (A) obstruct, prevent or interfere with access to the Event Location by any Walgreen representative; (B) unreasonably interfere with the use or enjoyment of the Event Location; (C) cause or create any nuisance within the Event Location, including excessive noise; (D) bring or generate any hazardous materials of any kind into the Event Location; and (E) fail to comply with any directive of any Walgreens representative, and with any life or safety rule or regulation of the Event Location. Host Licensee agrees that all materials, chemicals and services relating to the Host Licensee’s use and/or occupation of the Event Location shall be provided in accordance with all statutes, ordinances, rules and regulations governing health, safety and the environment.\",\"Host Licensee shall provide, at Host Licensee’s sole cost and expense, all services, supplies and equipment required for the Organ Donor Registration Event. Walgreens assumes no responsibility and shall not be liable for any damaged or stolen items and/or equipment placed by Host Licensee in the Event Location. Host Licensee may not store any items or equipment in the Event Location or affix anything to or alter any surface of the interior or exterior of the Event Location.\",\"Smoking is not permitted in the Event Location or in and around the Event Location.\",\"Walgreens reserves the right to approve, in advance, all food and beverages brought into the Event Location.\"];\r\n this.term=\"The term of this Agreement shall commence on the specified Event Date and continue through the specified Event Hours. Notwithstanding the above, Walgreens shall have the right to terminate this Agreement at any time by providing notice to Host Licensee. Any holding over by Host Licensee shall not operate, except by written agreement, to extend or renew this Agreement or to imply or create a new agreement.\";\r\n this.tradenames_publications=\"Host Licensee must obtain Walgreens’ written approval prior to publication and/or distribution of any and all publications, using the terms \\\"Walgreen,\\\" \\\"Walgreens,\\\" \\“Walgreen Co.\\\" or the Walgreen logo.\";\r\n this.surrender=\"Upon surrender, the Event Location and any other portions of any adjoining property affected by, involved in, or used by Host Licensee shall be returned in as good condition as when first occupied by Host Licensee. Host Licensee shall be responsible for the cleanup, removal, and/or disposal of all debris, displays, equipment, machinery and other items deposited, used or created in, on or about the Event Location as a result of Host Licensee’s use and/or occupation of the Event Location, and shall repair any damage caused by the removal of such items and equipment, all at Host Licensee’s sole cost and expense. Host Licensee shall pay to Walgreens the Hold Over Fee if the Host Licensee Parties do not vacate the Event Location upon the termination of the Event Hours.\";\r\n this.indemnity=[\"Host Licensee assumes full responsibility and liability for any injury to Walgreens or any third persons or damage to property caused by, resulting from, or arising out of any act or omission related to Host Licensee’s use and/or occupation of the Event Location, whether or not such liability arises out of acts or omissions by Host Licensee or the Host Licensee Parties.\", \"Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties or its/their use of the Event Location).\", \"This indemnity shall survive any expiration or termination of this Agreement. Host Licensee shall also reimburse Walgreens for any expenses reasonably incurred by Walgreens to protect itself from, or to remedy, breaches of this Agreement.\"];\r\n this.miscellaneous=\"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney’s fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State of Illinois shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement. The parties expressly consent to exclusive personal jurisdiction and venue in the state and federal courts located in Cook County, Illinois.\";\r\n this.insurance=\"At all times, during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens employers’ liability and worker’s compensation insurance in amounts required by applicable law. Host Licensee shall provide evidence of coverage prior to the Event Date.\";\r\n this.inwitnesswhereof=\"the parties have caused this Agreement to be executed in duplicate originals and do each hereby warrant and represent that its respective signatory who has signed this Agreement below is on the date of this Agreement duly authorized to execute this Agreement by all necessary and appropriate action on behalf of the entity for which he or she is signing.\";\r\n this.conditionalTnCInsurance = \"At all times, during the Term, Host Licensee shall maintain, or shall cause to be maintained at Host Licensee's sole cost and expense, (a) Workers Compensation and Employers Liability Insurance; (b) Professional Liability Insurance for all professionals conducting any {0} at the Event with minimum limits of $1,000,000 each claim; $3,000,000 aggregate; (c) Commercial General Liability Insurance with minimum limits of $1,000,000 per occurrence, $1,000,000 for Personal Injury subject to $2,000,000 aggregate and coverage for product liability with minimum limits of $2,000,000 per occurrence; $2,000,000 aggregate naming Walgreen Co. as Additional Insured. Host Licensee shall provide Walgreen Co. with a certificate of insurance prior to execution of this Agreement.\";\r\n }\r\n }\r\n export class CancerLulaRelease2 {\r\n use: any[];\r\n term: string;\r\n tradenames_publications: string;\r\n indemnity: any[];\r\n surrender: string;\r\n insurance: string;\r\n miscellaneous: string; \r\n conditionalTnCInsurance:string = \"At all times during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) worker’s compensation insurance with statutory limits in the state(s) where services are being provided and employer’s liability coverage in the amount of $1,000,000 each accident for bodily injury by accident, $1,000,000 each employee for bodily injury by disease and $1,000,000 policy aggregate limit for bodily injury by disease; (b) professional liability insurance for all professionals conducting any Cancer Screenings at the Event with minimum limits of $1,000,000 per occurrence; $3,000,000 aggregate; (c) commercial general liability insurance for bodily injury, including death, and property damage liability in an amount of $1,000,000 per occurrence and $2,000,000 in the aggregate; and (d) automobile liability insurance with a minimum combined single limit of $1,000,000 per accident covering the use of all owned, hired and non-owned autos. The automobile and general liability policies shall name Walgreen Co. as additional insured. Umbrella/excess liability insurance can support the above insurance requirements and coverage shall not be more restrictive than the primary liability coverage and include Walgreens’ additional insured status. Host Licensee acknowledges that Host Licensee retains the risk of loss, damage or destruction to their owned or leased tangible property. Host Licensee shall provide to Walgreen Co. evidence of coverage prior to execution of this Agreement. The insurance amounts indicated are minimum requirements and not limits of liability. They are not to be construed as either party’s consent to substitute or limit Host Licensee’s financial liability in excess of the amounts set forth except as otherwise agreed in the Agreement.\";\r\n tnCCutOffDate:string = \"01/31/2023\";\r\n\r\n inwitnesswhereof:string;\r\n \r\n constructor(state:string=null){\r\n \r\n this.use=[\"Walgreens grants Host Licensee an exclusive limited duration revocable right, privilege and license to access and use that portion of the Event Location designated by Walgreens for the Cancer Screening Event (as described on the cover page of this Agreement) on the specified Event Dates and Event Hours.\",\"If required, Host Licensee shall remit to Walgreens the License Fee or Cost Recovery Charge on or before the Fee Remittance Date.\",\"Host Licensee shall conduct or cause to be conducted by a contractor of Host Licensee (the \\\"Host Contractor\\\") the Cancer Screening Event in full compliance with all applicable governmental requirements, in a first-class manner, free of liens for materials or labor furnished to Host Licensee, and at Host Licensee’s sole cost and expense. Host Licensee represents and warrants that: (i) Host Licensee or Host Contractor has all authorizations, licenses and permits that are necessary to conduct the Cancer Screening Event; (ii) the Host Licensee and its employees, guests, invitees, agents, contractors and representatives (the \\\"Host Licensee Parties\\\") will not violate any laws, regulations, rules, or governmental requirements in connection with, or during the Cancer Screening Event; (iii) shall ensure that the Cancer Screening Event is carried out in a safe and controlled manner; (iv) the Host Licensee Parties shall not: (A) obstruct, prevent or interfere with access to the Event Location by any Walgreen representative; (B) unreasonably interfere with the use or enjoyment of the Event Location; (C) cause or create any nuisance within the Event Location, including excessive noise; (D) bring or generate any hazardous materials of any kind into the Event Location; and (E) fail to comply with any directive of any Walgreens representative, and with any life or safety rule or regulation of the Event Location. Host Licensee agrees that all materials, chemicals and services relating to the Host Licensee’s use and/or occupation of the Event Location shall be provided in accordance with all statutes, ordinances, rules and regulations governing health, safety and the environment.\",\"Host Licensee shall provide, at Host Licensee’s sole cost and expense, all services, supplies and equipment required for the Cancer Screening Event. Walgreens assumes no responsibility and shall not be liable for any damaged or stolen items and/or equipment placed by Host Licensee in the Event Location. Host Licensee may not store any items or equipment in the Event Location or affix anything to or alter any surface of the interior or exterior of the Event Location unless Host Licensee first obtains permission via email from the Walgreens contact listed in Part 3 above. Host Licensee shall obtain a signed acknowledgment from each individual who receives services at the Cancer Screening Event that identifies that the professional testing services are being provided by Host Licensee, in such form as has been approved in advance by Walgreens (which shall specify that the professional testing services are being provided by Host Licensee, \\\"whose trained healthcare professionals are not employed by and are not agents of Walgreen Co., its subsidiaries, including Take Care Health Systems, LLC, or their affiliated providers\\\"), and Host Licensee shall cause all such signed acknowledgements to be maintained in each patient’s medical record for a period of time after the Cancer Screening Event no shorter than the longest medical record retention requirement under any law, regulation, rule or governmental requirement that applies to the patient’s test results from the Cancer Screening Event.\",\"Smoking is not permitted in the Event Location or in and around the Event Location.\",\"Walgreens reserves the right to approve, in advance, all food and beverages brought into the Event Location.\"];\r\n this.term=\"The term of this Agreement shall commence on the specified Event Date and continue through the specified Event Hours. Notwithstanding the above, Walgreens shall have the right to terminate this Agreement at any time by providing notice to Host Licensee. Any holding over by Host Licensee shall not operate, except by written agreement, to extend or renew this Agreement or to imply or create a new agreement.\";\r\n this.tradenames_publications=\"Host Licensee must obtain Walgreens' written approval prior to publication and/or distribution of any and all publications, using the terms \\\"Walgreen,\\\" \\\"Walgreens,\\\" \\\"Walgreen Co.\\\" or the Walgreen logo.\";\r\n this.surrender=\"Upon surrender, the Event Location and any other portions of any adjoining property affected by, involved in, or used by Host Licensee shall be returned in as good condition as when first occupied by Host Licensee. Host Licensee shall be responsible for the cleanup, removal, and/or disposal of all debris, displays, equipment, machinery and other items deposited, used or created in, on or about the Event Location as a result of Host Licensee’s use and/or occupation of the Event Location, and shall repair any damage caused by the removal of such items and equipment, all at Host Licensee’s sole cost and expense. Host Licensee shall pay to Walgreens the Hold Over Fee if the Host Licensee Parties do not vacate the Event Location upon the termination of the Event Hours.\";\r\n this.indemnity=[\"Host Licensee assumes full responsibility and liability for any injury to Walgreens or any third persons or damage to property caused by, resulting from, or arising out of any act or omission related to Host Licensee’s use and/or occupation of the Event Location that arises out of acts or omissions by Host Licensee or the Host Licensee Parties.\", \"Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions by Host Licensee or Host Licensee Parties occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties).\", \"This indemnity shall survive any expiration or termination of this Agreement. Host Licensee shall also reimburse Walgreens for any expenses reasonably incurred by Walgreens to protect itself from, or to remedy, breaches of this Agreement.\"];\r\n this.miscellaneous=\"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney’s fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State of Illinois shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement. The parties expressly consent to exclusive personal jurisdiction and venue in the state and federal courts located in Cook County, Illinois.\";\r\n this.insurance=\"At all times during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) worker’s compensation insurance with statutory limits in the state(s) where services are being provided and employer’s liability coverage in the amount of $1,000,000 each accident for bodily injury by accident, $1,000,000 each employee for bodily injury by disease and $1,000,000 policy aggregate limit for bodily injury by disease; (b) professional liability insurance for all professionals conducting any Cancer Screenings at the Event with minimum limits of $1,000,000 per occurrence; $3,000,000 aggregate; (c) commercial general liability insurance for bodily injury, including death, and property damage liability in an amount of $1,000,000 per occurrence and $2,000,000 in the aggregate; and (d) automobile liability insurance with a minimum combined single limit of $1,000,000 per accident covering the use of all owned, hired and non-owned autos. The automobile and general liability policies shall name Walgreen Co. as additional insured. Umbrella/excess liability insurance can support the above insurance requirements and coverage shall not be more restrictive than the primary liability coverage and include Walgreens’ additional insured status. Host Licensee acknowledges that Host Licensee retains the risk of loss, damage or destruction to their owned or leased tangible property. Host Licensee shall provide to Walgreen Co. evidence of coverage prior to execution of this Agreement. The insurance amounts indicated are minimum requirements and not limits of liability. They are not to be construed as either party’s consent to substitute or limit Host Licensee’s financial liability in excess of the amounts set forth except as otherwise agreed in the Agreement.\";\r\n this.inwitnesswhereof=\"the parties have caused this Agreement to be executed in duplicate originals and do each hereby warrant and represent that its respective signatory who has signed this Agreement below is on the date of this Agreement duly authorized to execute this Agreement by all necessary and appropriate action on behalf of the entity for which he or she is signing.\";\r\n }\r\n }\r\n\r\n\r\n export class LulaSTIRelease2 {\r\n use: any[];\r\n term: string;\r\n tradenames_publications: string;\r\n indemnity: any[];\r\n surrender: string;\r\n insurance: string;\r\n miscellaneous: string; \r\n conditionalTnCInsurance:string ;\r\n tnCCutOffDate:string = \"01/31/2023\";\r\n constructor(){ \r\n this.use=[\"Walgreens grants Host Licensee an exclusive limited duration revocable right, privilege and license to access and use that portion of the Event Location designated by Walgreens for the STI Testing Event (as described on the cover page of this Agreement) on the specified Event Dates and Event Hours.\", \"If required, Host Licensee shall remit to Walgreens the License Fee or Cost Recovery Charge on or before the Fee Remittance Date.\", \"Host Licensee shall conduct the STI Testing Event in full compliance with all applicable governmental requirements, in a first-class manner, free of liens for materials or labor furnished to Host Licensee, and at Host Licensee’s sole cost and expense. Host Licensee represents and warrants that: (i) Host Licensee has all authorizations, licenses and permits that are necessary to conduct the STI Testing Event; (ii) the Host Licensee and its employees, guests, invitees, agents, contractors and representatives (the “Host Licensee Parties”) will not violate any laws, regulations, rules, or governmental requirements in connection with, or during the STI Testing Event; (iii) shall ensure that the STI Testing Event is carried out in a safe and controlled manner; (iv) the Host Licensee Parties shall not: (A) obstruct, prevent or interfere with access to the Event Location by any Walgreen representative; (B) unreasonably interfere with the use or enjoyment of the Event Location; (C) cause or create any nuisance within the Event Location, including excessive noise; (D) bring or generate any hazardous materials of any kind into the Event Location; and (E) fail to comply with any directive of any Walgreens representative, and with any life or safety rule or regulation of the Event Location. Host Licensee agrees that all materials, chemicals and services relating to the Host Licensee’s use and/or occupation of the Event Location shall be provided in accordance with all statutes, ordinances, rules and regulations governing health, safety and the environment.\", \"Host Licensee shall provide, at Host Licensee’s sole cost and expense, all services, supplies and equipment required for the STI Testing Event. Walgreens assumes no responsibility and shall not be liable for any damaged or stolen items and/or equipment placed by Host Licensee in the Event Location. Host Licensee may not store any items or equipment in the Event Location or affix anything to or alter any surface of the interior or exterior of the Event Location. Host Licensee shall obtain a signed acknowledgment from each individual who receives services at the STI Testing Event that identifies that the professional testing services are being provided by Host Licensee, in such form as has been approved in advance by Walgreens (which shall specify that the professional testing services are being provided by Host Licensee, \\“whose trained healthcare professionals are not employed by and are not agents of Walgreen Co., its subsidiaries, including Take Care Health Systems, LLC, or their affiliated providers\\”), and Host Licensee shall maintain all such signed acknowledgements in each patient’s medical record for a period of time after the STI Testing Event no shorter than the longest medical record retention requirement under any law, regulation, rule or governmental requirement that applies to the patient’s test results from the STI Testing Event.\", \"Smoking is not permitted in the Event Location or in and around the Event Location.\", \"Walgreens reserves the right to approve, in advance, all food and beverages brought into the Event Location.\"];\r\n this.term=\"The term of this Agreement shall commence on the specified Event Date and continue through the specified Event Hours. Notwithstanding the above, Walgreens shall have the right to terminate this Agreement at any time by providing notice to Host Licensee. Any holding over by Host Licensee shall not operate, except by written agreement, to extend or renew this Agreement or to imply or create a new agreement.\";\r\n this.tradenames_publications=\"Host Licensee must obtain Walgreens' written approval prior to publication and/or distribution of any and all publications, using the terms \\“Walgreen,\\” \\“Walgreens,\\” \\“Walgreen Co.\\” or the Walgreen logo.\";\r\n this.indemnity=[\"Host Licensee assumes full responsibility and liability for any injury to Walgreens or any third persons or damage to property caused by, resulting from, or arising out of any act or omission related to Host Licensee’s use and/or occupation of the Event Location, whether or not such liability arises out of acts or omissions by Host Licensee or the Host Licensee Parties.\", \"Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties or its/their use of the Event Location).\", \"This indemnity shall survive any expiration or termination of this Agreement. Host Licensee shall also reimburse Walgreens for any expenses reasonably incurred by Walgreens to protect itself from, or to remedy, breaches of this Agreement.\"];\r\n this.surrender=\"Upon surrender, the Event Location and any other portions of any adjoining property affected by, involved in, or used by Host Licensee shall be returned in as good condition as when first occupied by Host Licensee. Host Licensee shall be responsible for the cleanup, removal, and/or disposal of all debris, displays, equipment, machinery and other items deposited, used or created in, on or about the Event Location as a result of Host Licensee’s use and/or occupation of the Event Location, and shall repair any damage caused by the removal of such items and equipment, all at Host Licensee’s sole cost and expense. Host Licensee shall pay to Walgreens the Hold Over Fee if the Host Licensee Parties do not vacate the Event Location upon the termination of the Event Hours.\";\r\n this.insurance = \"At all times during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) worker’s compensation insurance with statutory limits in the state(s) where services are being provided and employer’s liability coverage in the amount of $500,000 each accident for bodily injury by accident, $500,000 each employee for bodily injury by disease and $500,000 policy aggregate limit for bodily injury by disease; (b) professional liability insurance for all professionals conducting any STI Testing or counseling services at the Event with minimum limits of $1,000,000 per occurrence; $3,000,000 aggregate; (c) commercial general liability insurance for bodily injury, including death, and property damage liability in an amount of $1,000,000 per occurrence and $2,000,000 in the aggregate; and (d) automobile liability insurance with a minimum combined single limit of $500,000 per accident covering the use of all owned, hired and non-owned autos. The automobile and general liability policies shall name Walgreen Co. as additional insured. Umbrella/excess liability insurance can support the above insurance requirements and coverage shall not be more restrictive than the primary liability coverage and include Walgreens’ additional insured status. Host Licensee acknowledges that Host Licensee retains the risk of loss, damage or destruction to their owned or leased tangible property. Host Licensee shall provide to Walgreen Co. evidence of coverage prior to execution of this Agreement. The insurance amounts indicated are minimum requirements and not limits of liability. They are not to be construed as either party’s consent to substitute or limit Host Licensee’s financial liability in excess of the amounts set forth except as otherwise agreed in the Agreement.\";\r\n this.miscellaneous = \"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney’s fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State of Illinois shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement. The parties expressly consent to exclusive personal jurisdiction and venue in the state and federal courts located in Cook County, Illinois.\"\r\n this.conditionalTnCInsurance= \"At all times during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) worker’s compensation insurance with statutory limits in the state(s) where services are being provided and employer’s liability coverage in the amount of $500,000 each accident for bodily injury by accident, $500,000 each employee for bodily injury by disease and $500,000 policy aggregate limit for bodily injury by disease; (b) professional liability insurance for all professionals conducting any STI Testing or counseling services at the Event with minimum limits of $1,000,000 per occurrence; $3,000,000 aggregate; (c) commercial general liability insurance for bodily injury, including death, and property damage liability in an amount of $1,000,000 per occurrence and $2,000,000 in the aggregate; and (d) automobile liability insurance with a minimum combined single limit of $500,000 per accident covering the use of all owned, hired and non-owned autos. The automobile and general liability policies shall name Walgreen Co. as additional insured. Umbrella/excess liability insurance can support the above insurance requirements and coverage shall not be more restrictive than the primary liability coverage and include Walgreens’ additional insured status. Host Licensee acknowledges that Host Licensee retains the risk of loss, damage or destruction to their owned or leased tangible property. Host Licensee shall provide to Walgreen Co. evidence of coverage prior to execution of this Agreement. The insurance amounts indicated are minimum requirements and not limits of liability. They are not to be construed as either party’s consent to substitute or limit Host Licensee’s financial liability in excess of the amounts set forth except as otherwise agreed in the Agreement.\"\r\n }\r\n }\r\n\r\n export class LulaHIVAndHepatitisRelease2 {\r\n use: any[];\r\n term: string;\r\n tradenames_publications: string;\r\n indemnity: any[];\r\n surrender: string;\r\n insurance: string;\r\n miscellaneous: string; \r\n conditionalTnCInsurance:string ;\r\n tnCCutOffDate:string = \"01/31/2023\";\r\n constructor(){ \r\n this.use=[\"Walgreens grants Host Licensee an exclusive limited duration revocable right, privilege and license to access and use that portion of the Event Location designated by Walgreens for the HIV AND HEPATITIS Testing Event (as described on the cover page of this Agreement) on the specified Event Dates and Event Hours.\", \"If required, Host Licensee shall remit to Walgreens the License Fee or Cost Recovery Charge on or before the Fee Remittance Date.\", \"Host Licensee shall conduct the HIV AND HEPATITIS Testing Event in full compliance with all applicable governmental requirements, in a first-class manner, free of liens for materials or labor furnished to Host Licensee, and at Host Licensee’s sole cost and expense. Host Licensee represents and warrants that: (i) Host Licensee has all authorizations, licenses and permits that are necessary to conduct the HIV AND HEPATITIS Testing Event; (ii) the Host Licensee and its employees, guests, invitees, agents, contractors and representatives (the “Host Licensee Parties”) will not violate any laws, regulations, rules, or governmental requirements in connection with, or during the HIV AND HEPATITIS Testing Event; (iii) shall ensure that the HIV AND HEPATITIS Testing Event is carried out in a safe and controlled manner; (iv) the Host Licensee Parties shall not: (A) obstruct, prevent or interfere with access to the Event Location by any Walgreen representative; (B) unreasonably interfere with the use or enjoyment of the Event Location; (C) cause or create any nuisance within the Event Location, including excessive noise; (D) bring or generate any hazardous materials of any kind into the Event Location; and (E) fail to comply with any directive of any Walgreens representative, and with any life or safety rule or regulation of the Event Location. Host Licensee agrees that all materials, chemicals and services relating to the Host Licensee’s use and/or occupation of the Event Location shall be provided in accordance with all statutes, ordinances, rules and regulations governing health, safety and the environment.\", \"Host Licensee shall provide, at Host Licensee’s sole cost and expense, all services, supplies and equipment required for the HIV AND HEPATITIS Testing Event. Walgreens assumes no responsibility and shall not be liable for any damaged or stolen items and/or equipment placed by Host Licensee in the Event Location. Host Licensee may not store any items or equipment in the Event Location or affix anything to or alter any surface of the interior or exterior of the Event Location. Host Licensee shall obtain a signed acknowledgment from each individual who receives services at the HIV AND HEPATITIS Testing Event that identifies that the professional testing services are being provided by Host Licensee, in such form as has been approved in advance by Walgreens (which shall specify that the professional testing services are being provided by Host Licensee, \\“whose trained healthcare professionals are not employed by and are not agents of Walgreen Co., its subsidiaries, including Take Care Health Systems, LLC, or their affiliated providers\\”), and Host Licensee shall maintain all such signed acknowledgements in each patient’s medical record for a period of time after the HIV AND HEPATITIS Testing Event no shorter than the longest medical record retention requirement under any law, regulation, rule or governmental requirement that applies to the patient’s test results from the HIV AND HEPATITIS Testing Event.\", \"Smoking is not permitted in the Event Location or in and around the Event Location.\", \"Walgreens reserves the right to approve, in advance, all food and beverages brought into the Event Location.\"];\r\n this.term=\"The term of this Agreement shall commence on the specified Event Date and continue through the specified Event Hours. Notwithstanding the above, Walgreens shall have the right to terminate this Agreement at any time by providing notice to Host Licensee. Any holding over by Host Licensee shall not operate, except by written agreement, to extend or renew this Agreement or to imply or create a new agreement.\";\r\n this.tradenames_publications=\"Host Licensee must obtain Walgreens' written approval prior to publication and/or distribution of any and all publications, using the terms \\“Walgreen,\\” \\“Walgreens,\\” \\“Walgreen Co.\\” or the Walgreen logo.\";\r\n this.indemnity=[\"Host Licensee assumes full responsibility and liability for any injury to Walgreens or any third persons or damage to property caused by, resulting from, or arising out of any act or omission related to Host Licensee’s use and/or occupation of the Event Location, whether or not such liability arises out of acts or omissions by Host Licensee or the Host Licensee Parties.\", \"Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties or its/their use of the Event Location).\", \"This indemnity shall survive any expiration or termination of this Agreement. Host Licensee shall also reimburse Walgreens for any expenses reasonably incurred by Walgreens to protect itself from, or to remedy, breaches of this Agreement.\"];\r\n this.surrender=\"Upon surrender, the Event Location and any other portions of any adjoining property affected by, involved in, or used by Host Licensee shall be returned in as good condition as when first occupied by Host Licensee. Host Licensee shall be responsible for the cleanup, removal, and/or disposal of all debris, displays, equipment, machinery and other items deposited, used or created in, on or about the Event Location as a result of Host Licensee’s use and/or occupation of the Event Location, and shall repair any damage caused by the removal of such items and equipment, all at Host Licensee’s sole cost and expense. Host Licensee shall pay to Walgreens the Hold Over Fee if the Host Licensee Parties do not vacate the Event Location upon the termination of the Event Hours.\";\r\n this.insurance = \"At all times during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) worker’s compensation insurance with statutory limits in the state(s) where services are being provided and employer’s liability coverage in the amount of $500,000 each accident for bodily injury by accident, $500,000 each employee for bodily injury by disease and $500,000 policy aggregate limit for bodily injury by disease; (b) professional liability insurance for all professionals conducting any HIV AND HEPATITIS Testing or counseling services at the Event with minimum limits of $1,000,000 per occurrence; $3,000,000 aggregate; (c) commercial general liability insurance for bodily injury, including death, and property damage liability in an amount of $1,000,000 per occurrence and $2,000,000 in the aggregate; and (d) automobile liability insurance with a minimum combined single limit of $500,000 per accident covering the use of all owned, hired and non-owned autos. The automobile and general liability policies shall name Walgreen Co. as additional insured. Umbrella/excess liability insurance can support the above insurance requirements and coverage shall not be more restrictive than the primary liability coverage and include Walgreens’ additional insured status. Host Licensee acknowledges that Host Licensee retains the risk of loss, damage or destruction to their owned or leased tangible property. Host Licensee shall provide to Walgreen Co. evidence of coverage prior to execution of this Agreement. The insurance amounts indicated are minimum requirements and not limits of liability. They are not to be construed as either party’s consent to substitute or limit Host Licensee’s financial liability in excess of the amounts set forth except as otherwise agreed in the Agreement.\";\r\n this.miscellaneous = \"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney’s fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State of Illinois shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement. The parties expressly consent to exclusive personal jurisdiction and venue in the state and federal courts located in Cook County, Illinois.\"\r\n this.conditionalTnCInsurance= \"At all times during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) worker’s compensation insurance with statutory limits in the state(s) where services are being provided and employer’s liability coverage in the amount of $500,000 each accident for bodily injury by accident, $500,000 each employee for bodily injury by disease and $500,000 policy aggregate limit for bodily injury by disease; (b) professional liability insurance for all professionals conducting any HIV AND HEPATITIS Testing or counseling services at the Event with minimum limits of $1,000,000 per occurrence; $3,000,000 aggregate; (c) commercial general liability insurance for bodily injury, including death, and property damage liability in an amount of $1,000,000 per occurrence and $2,000,000 in the aggregate; and (d) automobile liability insurance with a minimum combined single limit of $500,000 per accident covering the use of all owned, hired and non-owned autos. The automobile and general liability policies shall name Walgreen Co. as additional insured. Umbrella/excess liability insurance can support the above insurance requirements and coverage shall not be more restrictive than the primary liability coverage and include Walgreens’ additional insured status. Host Licensee acknowledges that Host Licensee retains the risk of loss, damage or destruction to their owned or leased tangible property. Host Licensee shall provide to Walgreen Co. evidence of coverage prior to execution of this Agreement. The insurance amounts indicated are minimum requirements and not limits of liability. They are not to be construed as either party’s consent to substitute or limit Host Licensee’s financial liability in excess of the amounts set forth except as otherwise agreed in the Agreement.\"\r\n }\r\n }\r\n\r\n\r\n export class LulaHIVRelease2 {\r\n use: any[];\r\n term: string;\r\n tradenames_publications: string;\r\n indemnity: any[];\r\n surrender: string;\r\n insurance: string;\r\n miscellaneous: string; \r\n conditionalTnCInsurance:string ;\r\n tnCCutOffDate:string = \"01/31/2023\";\r\n constructor(){ \r\n this.use=[\"Walgreens grants Host Licensee an exclusive limited duration revocable right, privilege and license to access and use that portion of the Event Location designated by Walgreens for the HIV Testing Event (as described on the cover page of this Agreement) on the specified Event Dates and Event Hours.\", \"If required, Host Licensee shall remit to Walgreens the License Fee or Cost Recovery Charge on or before the Fee Remittance Date.\", \"Host Licensee shall conduct the HIV Testing Event in full compliance with all applicable governmental requirements, in a first-class manner, free of liens for materials or labor furnished to Host Licensee, and at Host Licensee’s sole cost and expense. Host Licensee represents and warrants that: (i) Host Licensee has all authorizations, licenses and permits that are necessary to conduct the HIV Testing Event; (ii) the Host Licensee and its employees, guests, invitees, agents, contractors and representatives (the “Host Licensee Parties”) will not violate any laws, regulations, rules, or governmental requirements in connection with, or during the HIV Testing Event; (iii) shall ensure that the HIV Testing Event is carried out in a safe and controlled manner; (iv) the Host Licensee Parties shall not: (A) obstruct, prevent or interfere with access to the Event Location by any Walgreen representative; (B) unreasonably interfere with the use or enjoyment of the Event Location; (C) cause or create any nuisance within the Event Location, including excessive noise; (D) bring or generate any hazardous materials of any kind into the Event Location; and (E) fail to comply with any directive of any Walgreens representative, and with any life or safety rule or regulation of the Event Location. Host Licensee agrees that all materials, chemicals and services relating to the Host Licensee’s use and/or occupation of the Event Location shall be provided in accordance with all statutes, ordinances, rules and regulations governing health, safety and the environment.\", \"Host Licensee shall provide, at Host Licensee’s sole cost and expense, all services, supplies and equipment required for the HIV Testing Event. Walgreens assumes no responsibility and shall not be liable for any damaged or stolen items and/or equipment placed by Host Licensee in the Event Location. Host Licensee may not store any items or equipment in the Event Location or affix anything to or alter any surface of the interior or exterior of the Event Location. Host Licensee shall obtain a signed acknowledgment from each individual who receives services at the HIV Testing Event that identifies that the professional testing services are being provided by Host Licensee, in such form as has been approved in advance by Walgreens (which shall specify that the professional testing services are being provided by Host Licensee, \\“whose trained healthcare professionals are not employed by and are not agents of Walgreen Co., its subsidiaries, including Take Care Health Systems, LLC, or their affiliated providers\\”), and Host Licensee shall maintain all such signed acknowledgements in each patient’s medical record for a period of time after the HIV Testing Event no shorter than the longest medical record retention requirement under any law, regulation, rule or governmental requirement that applies to the patient’s test results from the HIV Testing Event.\", \"Smoking is not permitted in the Event Location or in and around the Event Location.\", \"Walgreens reserves the right to approve, in advance, all food and beverages brought into the Event Location.\"];\r\n this.term=\"The term of this Agreement shall commence on the specified Event Date and continue through the specified Event Hours. Notwithstanding the above, Walgreens shall have the right to terminate this Agreement at any time by providing notice to Host Licensee. Any holding over by Host Licensee shall not operate, except by written agreement, to extend or renew this Agreement or to imply or create a new agreement.\";\r\n this.tradenames_publications=\"Host Licensee must obtain Walgreens' written approval prior to publication and/or distribution of any and all publications, using the terms \\“Walgreen,\\” \\“Walgreens,\\” \\“Walgreen Co.\\” or the Walgreen logo.\";\r\n this.indemnity=[\"Host Licensee assumes full responsibility and liability for any injury to Walgreens or any third persons or damage to property caused by, resulting from, or arising out of any act or omission related to Host Licensee’s use and/or occupation of the Event Location, whether or not such liability arises out of acts or omissions by Host Licensee or the Host Licensee Parties.\", \"Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties or its/their use of the Event Location).\", \"This indemnity shall survive any expiration or termination of this Agreement. Host Licensee shall also reimburse Walgreens for any expenses reasonably incurred by Walgreens to protect itself from, or to remedy, breaches of this Agreement.\"];\r\n this.surrender=\"Upon surrender, the Event Location and any other portions of any adjoining property affected by, involved in, or used by Host Licensee shall be returned in as good condition as when first occupied by Host Licensee. Host Licensee shall be responsible for the cleanup, removal, and/or disposal of all debris, displays, equipment, machinery and other items deposited, used or created in, on or about the Event Location as a result of Host Licensee’s use and/or occupation of the Event Location, and shall repair any damage caused by the removal of such items and equipment, all at Host Licensee’s sole cost and expense. Host Licensee shall pay to Walgreens the Hold Over Fee if the Host Licensee Parties do not vacate the Event Location upon the termination of the Event Hours.\";\r\n this.insurance = \"At all times during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) worker’s compensation insurance with statutory limits in the state(s) where services are being provided and employer’s liability coverage in the amount of $500,000 each accident for bodily injury by accident, $500,000 each employee for bodily injury by disease and $500,000 policy aggregate limit for bodily injury by disease; (b) professional liability insurance for all professionals conducting any HIV Testing or counseling services at the Event with minimum limits of $1,000,000 per occurrence; $3,000,000 aggregate; (c) commercial general liability insurance for bodily injury, including death, and property damage liability in an amount of $1,000,000 per occurrence and $2,000,000 in the aggregate; and (d) automobile liability insurance with a minimum combined single limit of $500,000 per accident covering the use of all owned, hired and non-owned autos. The automobile and general liability policies shall name Walgreen Co. as additional insured. Umbrella/excess liability insurance can support the above insurance requirements and coverage shall not be more restrictive than the primary liability coverage and include Walgreens’ additional insured status. Host Licensee acknowledges that Host Licensee retains the risk of loss, damage or destruction to their owned or leased tangible property. Host Licensee shall provide to Walgreen Co. evidence of coverage prior to execution of this Agreement. The insurance amounts indicated are minimum requirements and not limits of liability. They are not to be construed as either party’s consent to substitute or limit Host Licensee’s financial liability in excess of the amounts set forth except as otherwise agreed in the Agreement.\";\r\n this.miscellaneous = \"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney’s fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State of Illinois shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement. The parties expressly consent to exclusive personal jurisdiction and venue in the state and federal courts located in Cook County, Illinois.\"\r\n this.conditionalTnCInsurance= \"At all times during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) worker’s compensation insurance with statutory limits in the state(s) where services are being provided and employer’s liability coverage in the amount of $500,000 each accident for bodily injury by accident, $500,000 each employee for bodily injury by disease and $500,000 policy aggregate limit for bodily injury by disease; (b) professional liability insurance for all professionals conducting any HIV Testing or counseling services at the Event with minimum limits of $1,000,000 per occurrence; $3,000,000 aggregate; (c) commercial general liability insurance for bodily injury, including death, and property damage liability in an amount of $1,000,000 per occurrence and $2,000,000 in the aggregate; and (d) automobile liability insurance with a minimum combined single limit of $500,000 per accident covering the use of all owned, hired and non-owned autos. The automobile and general liability policies shall name Walgreen Co. as additional insured. Umbrella/excess liability insurance can support the above insurance requirements and coverage shall not be more restrictive than the primary liability coverage and include Walgreens’ additional insured status. Host Licensee acknowledges that Host Licensee retains the risk of loss, damage or destruction to their owned or leased tangible property. Host Licensee shall provide to Walgreen Co. evidence of coverage prior to execution of this Agreement. The insurance amounts indicated are minimum requirements and not limits of liability. They are not to be construed as either party’s consent to substitute or limit Host Licensee’s financial liability in excess of the amounts set forth except as otherwise agreed in the Agreement.\"\r\n \r\n }\r\n }\r\n\r\n export class LulaHepatitisRelease2 {\r\n use: any[];\r\n term: string;\r\n tradenames_publications: string;\r\n indemnity: any[];\r\n surrender: string;\r\n insurance: string;\r\n miscellaneous: string; \r\n conditionalTnCInsurance:string ;\r\n tnCCutOffDate:string = \"01/31/2023\";\r\n constructor(){ \r\n this.use=[\"Walgreens grants Host Licensee an exclusive limited duration revocable right, privilege and license to access and use that portion of the Event Location designated by Walgreens for the HEPATITIS Testing Event (as described on the cover page of this Agreement) on the specified Event Dates and Event Hours.\", \"If required, Host Licensee shall remit to Walgreens the License Fee or Cost Recovery Charge on or before the Fee Remittance Date.\", \"Host Licensee shall conduct the HEPATITIS Testing Event in full compliance with all applicable governmental requirements, in a first-class manner, free of liens for materials or labor furnished to Host Licensee, and at Host Licensee’s sole cost and expense. Host Licensee represents and warrants that: (i) Host Licensee has all authorizations, licenses and permits that are necessary to conduct the HEPATITIS Testing Event; (ii) the Host Licensee and its employees, guests, invitees, agents, contractors and representatives (the “Host Licensee Parties”) will not violate any laws, regulations, rules, or governmental requirements in connection with, or during the HEPATITIS Testing Event; (iii) shall ensure that the HEPATITIS Testing Event is carried out in a safe and controlled manner; (iv) the Host Licensee Parties shall not: (A) obstruct, prevent or interfere with access to the Event Location by any Walgreen representative; (B) unreasonably interfere with the use or enjoyment of the Event Location; (C) cause or create any nuisance within the Event Location, including excessive noise; (D) bring or generate any hazardous materials of any kind into the Event Location; and (E) fail to comply with any directive of any Walgreens representative, and with any life or safety rule or regulation of the Event Location. Host Licensee agrees that all materials, chemicals and services relating to the Host Licensee’s use and/or occupation of the Event Location shall be provided in accordance with all statutes, ordinances, rules and regulations governing health, safety and the environment.\", \"Host Licensee shall provide, at Host Licensee’s sole cost and expense, all services, supplies and equipment required for the HEPATITIS Testing Event. Walgreens assumes no responsibility and shall not be liable for any damaged or stolen items and/or equipment placed by Host Licensee in the Event Location. Host Licensee may not store any items or equipment in the Event Location or affix anything to or alter any surface of the interior or exterior of the Event Location. Host Licensee shall obtain a signed acknowledgment from each individual who receives services at the HEPATITIS Testing Event that identifies that the professional testing services are being provided by Host Licensee, in such form as has been approved in advance by Walgreens (which shall specify that the professional testing services are being provided by Host Licensee, \\“whose trained healthcare professionals are not employed by and are not agents of Walgreen Co., its subsidiaries, including Take Care Health Systems, LLC, or their affiliated providers\\”), and Host Licensee shall maintain all such signed acknowledgements in each patient’s medical record for a period of time after the STI Testing Event no shorter than the longest medical record retention requirement under any law, regulation, rule or governmental requirement that applies to the patient’s test results from the STI Testing Event.\", \"Smoking is not permitted in the Event Location or in and around the Event Location.\", \"Walgreens reserves the right to approve, in advance, all food and beverages brought into the Event Location.\"];\r\n this.term=\"The term of this Agreement shall commence on the specified Event Date and continue through the specified Event Hours. Notwithstanding the above, Walgreens shall have the right to terminate this Agreement at any time by providing notice to Host Licensee. Any holding over by Host Licensee shall not operate, except by written agreement, to extend or renew this Agreement or to imply or create a new agreement.\";\r\n this.tradenames_publications=\"Host Licensee must obtain Walgreens' written approval prior to publication and/or distribution of any and all publications, using the terms \\“Walgreen,\\” \\“Walgreens,\\” \\“Walgreen Co.\\” or the Walgreen logo.\";\r\n this.indemnity=[\"Host Licensee assumes full responsibility and liability for any injury to Walgreens or any third persons or damage to property caused by, resulting from, or arising out of any act or omission related to Host Licensee’s use and/or occupation of the Event Location, whether or not such liability arises out of acts or omissions by Host Licensee or the Host Licensee Parties.\", \"Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties or its/their use of the Event Location).\", \"This indemnity shall survive any expiration or termination of this Agreement. Host Licensee shall also reimburse Walgreens for any expenses reasonably incurred by Walgreens to protect itself from, or to remedy, breaches of this Agreement.\"];\r\n this.surrender=\"Upon surrender, the Event Location and any other portions of any adjoining property affected by, involved in, or used by Host Licensee shall be returned in as good condition as when first occupied by Host Licensee. Host Licensee shall be responsible for the cleanup, removal, and/or disposal of all debris, displays, equipment, machinery and other items deposited, used or created in, on or about the Event Location as a result of Host Licensee’s use and/or occupation of the Event Location, and shall repair any damage caused by the removal of such items and equipment, all at Host Licensee’s sole cost and expense. Host Licensee shall pay to Walgreens the Hold Over Fee if the Host Licensee Parties do not vacate the Event Location upon the termination of the Event Hours.\";\r\n this.insurance = \"At all times during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) worker’s compensation insurance with statutory limits in the state(s) where services are being provided and employer’s liability coverage in the amount of $500,000 each accident for bodily injury by accident, $500,000 each employee for bodily injury by disease and $500,000 policy aggregate limit for bodily injury by disease; (b) professional liability insurance for all professionals conducting any STI Testing or counseling services at the Event with minimum limits of $1,000,000 per occurrence; $3,000,000 aggregate; (c) commercial general liability insurance for bodily injury, including death, and property damage liability in an amount of $1,000,000 per occurrence and $2,000,000 in the aggregate; and (d) automobile liability insurance with a minimum combined single limit of $500,000 per accident covering the use of all owned, hired and non-owned autos. The automobile and general liability policies shall name Walgreen Co. as additional insured. Umbrella/excess liability insurance can support the above insurance requirements and coverage shall not be more restrictive than the primary liability coverage and include Walgreens’ additional insured status. Host Licensee acknowledges that Host Licensee retains the risk of loss, damage or destruction to their owned or leased tangible property. Host Licensee shall provide to Walgreen Co. evidence of coverage prior to execution of this Agreement. The insurance amounts indicated are minimum requirements and not limits of liability. They are not to be construed as either party’s consent to substitute or limit Host Licensee’s financial liability in excess of the amounts set forth except as otherwise agreed in the Agreement.\";\r\n this.miscellaneous = \"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney’s fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State of Illinois shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement. The parties expressly consent to exclusive personal jurisdiction and venue in the state and federal courts located in Cook County, Illinois.\"\r\n this.conditionalTnCInsurance= \"At all times during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) worker’s compensation insurance with statutory limits in the state(s) where services are being provided and employer’s liability coverage in the amount of $500,000 each accident for bodily injury by accident, $500,000 each employee for bodily injury by disease and $500,000 policy aggregate limit for bodily injury by disease; (b) professional liability insurance for all professionals conducting any STI Testing or counseling services at the Event with minimum limits of $1,000,000 per occurrence; $3,000,000 aggregate; (c) commercial general liability insurance for bodily injury, including death, and property damage liability in an amount of $1,000,000 per occurrence and $2,000,000 in the aggregate; and (d) automobile liability insurance with a minimum combined single limit of $500,000 per accident covering the use of all owned, hired and non-owned autos. The automobile and general liability policies shall name Walgreen Co. as additional insured. Umbrella/excess liability insurance can support the above insurance requirements and coverage shall not be more restrictive than the primary liability coverage and include Walgreens’ additional insured status. Host Licensee acknowledges that Host Licensee retains the risk of loss, damage or destruction to their owned or leased tangible property. Host Licensee shall provide to Walgreen Co. evidence of coverage prior to execution of this Agreement. The insurance amounts indicated are minimum requirements and not limits of liability. They are not to be construed as either party’s consent to substitute or limit Host Licensee’s financial liability in excess of the amounts set forth except as otherwise agreed in the Agreement.\" }\r\n } ","export class LulaAso {\r\n use: any[]=[\"Walgreens hereby grants to Host Licensee an exclusive limited duration revocable right, privilege and license to access and use that portion of the Event Location designated by Walgreens for the @serviceValue Testing Event on the Event Date(s) and for the Event Hours (each as described on the cover page of this Agreement).\", \"If required, Host Licensee shall remit to Walgreens the License Fee or Cost Recovery Charge on or before the Fee Remittance Date.\", \"Host Licensee shall conduct the @serviceValue Testing Event in full compliance with all applicable governmental requirements, in a first-class manner, free of liens for materials or labor furnished to Host Licensee, and at Host Licensee’s sole cost and expense. Host Licensee represents and warrants that: (i) Host Licensee has all authorizations, licenses and permits that are necessary to conduct the @serviceValue Testing Event; (ii) Host Licensee and its employees, guests, invitees, agents, contractors and representatives (the \\\"Host Licensee Parties\\\") will not violate any laws, regulations, rules or governmental requirements in connection with, or during the @serviceValue Testing Event; (iii) Host Licensee shall ensure that the @serviceValue Testing Event is carried out in a safe and controlled manner; and (iv) the Host Licensee Parties shall not: (A) obstruct, prevent or interfere with access to the Event Location by any Walgreens representative; (B) unreasonably interfere with the use or enjoyment of the Event Location; (C) cause or create any nuisance within the Event Location, including excessive noise; (D) bring into or generate in the Event Location any hazardous materials of any kind; or (E) fail to comply with any directive of any Walgreens representative or with any life or safety rule or regulation of the Event Location. Host Licensee agrees that all materials, chemicals and services relating to the Host Licensee’s use and/or occupation of the Event Location shall be provided in accordance with all statutes, ordinances, rules and regulations governing health, safety and the environment.\", \"Host Licensee shall provide, at Host Licensee’s sole cost and expense, all services, supplies and equipment required for the @serviceValue Testing Event. Walgreens assumes no responsibility and shall not be liable for any damaged or stolen items and/or equipment placed by Host Licensee in the Event Location. Host Licensee may not store any items or equipment in the Event Location or affix anything to or alter any surface of the interior or exterior of the Event Location. Host Licensee shall obtain a signed acknowledgment from each individual who receives services at the @serviceValue Testing Event that identifies that the professional testing services are being provided by Host Licensee, in such form as has been approved in advance by Walgreens (which shall specify that the professional testing services are being provided by Host Licensee, \\\"whose trained healthcare professionals are not employed by and are not agents of Walgreen Co., its subsidiaries, including Take Care Health Systems, LLC, or their affiliated providers\\\"), and Host Licensee shall maintain all such signed acknowledgements in each patient’s medical record for a period of time after the @serviceValue Testing Event no shorter than the longest medical record retention requirement under any law, regulation, rule or governmental requirement that applies to the patient’s test results from the @serviceValue Testing Event.\", \"Smoking is not permitted in the Event Location or in and around the Event Location.\", \"Walgreens reserves the right to approve, in advance, all food and beverages brought into the Event Location.\"];\r\n term: string=\"The term of this Agreement shall commence on the specified Event Date and continue through the specified Event Hours. Notwithstanding the above, Walgreens shall have the right to terminate this Agreement at any time by providing notice to Host Licensee. Any holding over by Host Licensee shall not operate, except by written agreement, to extend or renew this Agreement or to imply or create a new agreement.\";\r\n tradenames_publications: string=\"Host Licensee must obtain Walgreens' written approval prior to publication and/or distribution of any and all publications, using the terms \\\"Walgreen,\\\" \\\"Walgreens,\\\" \\\"Walgreen Co.\\\" or the Walgreen logo.\";\r\n indemnity: any[]=[\"Host Licensee hereby assumes full responsibility and liability for any injury to Walgreens or any third persons or damage to property caused by, resulting from, or arising out of any act or omission related to Host Licensee’s use and/or occupation of the Event Location, whether or not such liability arises out of acts or omissions by Host Licensee or the Host Licensee Parties.\", \"Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties or its/their use of the Event Location).\", \"This indemnity shall survive any expiration or termination of this Agreement. Host Licensee shall also reimburse Walgreens for any expenses reasonably incurred by Walgreens to protect itself from, or to remedy, breaches of this Agreement.\"];\r\n surrender: string=\"Upon surrender, the Event Location and any other portions of any adjoining property affected by, involved in, or used by Host Licensee shall be returned in as good condition as when first occupied by Host Licensee. Host Licensee shall be responsible for the cleanup, removal, and/or disposal of all debris, displays, equipment, machinery and other items deposited, used or created in, on or about the Event Location as a result of Host Licensee’s use and/or occupation of the Event Location, and shall repair any damage caused by the removal of such items and equipment, all at Host Licensee’s sole cost and expense.\";\r\n insurance: string = \"At all times, during the term of this Agreement, Host Licensee shall maintain at its sole expense the following policies of insurance: (a) Workers Compensation and Employers Liability Insurance in amounts required by applicable law; and (b) Professional Liability Insurance for all professionals providing any service at the @serviceValue Testing Event with individual or aggregate limits of liability acceptable to Walgreens. A certificate of insurance showing evidence of the required coverage must be submitted to Walgreens prior to or simultaneously with the execution of this Agreement by Host Licensee.\";\r\n miscellaneous: string = \"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney’s fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State of Illinois shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement.\"; \r\n conditionalTnCInsurance:string = \"At all times, during the Term, Host Licensee shall maintain, or shall cause to be maintained at Host Licensee's sole cost and expense, (a) Workers Compensation and Employers Liability Insurance; (b) Professional Liability Insurance for all professionals conducting any {0} at the Event with minimum limits of $1,000,000 each claim; $3,000,000 aggregate; (c) Commercial General Liability Insurance with minimum limits of $1,000,000 per occurrence, $1,000,000 for Personal Injury subject to $2,000,000 aggregate and coverage for product liability with minimum limits of $2,000,000 per occurrence; $2,000,000 aggregate naming Walgreen Co. as Additional Insured. Host Licensee shall provide Walgreen Co. with a certificate of insurance prior to execution of this Agreement.\";\r\n tnCCutOffDate:string = \"09/06/2019\";\r\n constructor(){\r\n this.indemnity=[\"Host Licensee hereby assumes full responsibility and liability for any injury to Walgreens or any third persons or damage to property caused by, resulting from, or arising out of any act or omission related to Host Licensee’s use and/or occupation of the Event Location, whether or not such liability arises out of acts or omissions by Host Licensee or the Host Licensee Parties.\", \"Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties or its/their use of the Event Location).\", \"This indemnity shall survive any expiration or termination of this Agreement. Host Licensee shall also reimburse Walgreens for any expenses reasonably incurred by Walgreens to protect itself from, or to remedy, breaches of this Agreement.\"];\r\n this.use=[\"Walgreens hereby grants to Host Licensee an exclusive limited duration revocable right, privilege and license to access and use that portion of the Event Location designated by Walgreens for the @serviceValue Testing Event on the Event Date(s) and for the Event Hours (each as described on the cover page of this Agreement).\", \"If required, Host Licensee shall remit to Walgreens the License Fee or Cost Recovery Charge on or before the Fee Remittance Date.\", \"Host Licensee shall conduct the @serviceValue Testing Event in full compliance with all applicable governmental requirements, in a first-class manner, free of liens for materials or labor furnished to Host Licensee, and at Host Licensee’s sole cost and expense. Host Licensee represents and warrants that: (i) Host Licensee has all authorizations, licenses and permits that are necessary to conduct the @serviceValue Testing Event; (ii) Host Licensee and its employees, guests, invitees, agents, contractors and representatives (the \\\"Host Licensee Parties\\\") will not violate any laws, regulations, rules or governmental requirements in connection with, or during the @serviceValue Testing Event; (iii) Host Licensee shall ensure that the @serviceValue Testing Event is carried out in a safe and controlled manner; and (iv) the Host Licensee Parties shall not: (A) obstruct, prevent or interfere with access to the Event Location by any Walgreens representative; (B) unreasonably interfere with the use or enjoyment of the Event Location; (C) cause or create any nuisance within the Event Location, including excessive noise; (D) bring into or generate in the Event Location any hazardous materials of any kind; or (E) fail to comply with any directive of any Walgreens representative or with any life or safety rule or regulation of the Event Location. Host Licensee agrees that all materials, chemicals and services relating to the Host Licensee’s use and/or occupation of the Event Location shall be provided in accordance with all statutes, ordinances, rules and regulations governing health, safety and the environment.\", \"Host Licensee shall provide, at Host Licensee’s sole cost and expense, all services, supplies and equipment required for the @serviceValue Testing Event. Walgreens assumes no responsibility and shall not be liable for any damaged or stolen items and/or equipment placed by Host Licensee in the Event Location. Host Licensee may not store any items or equipment in the Event Location or affix anything to or alter any surface of the interior or exterior of the Event Location. Host Licensee shall obtain a signed acknowledgment from each individual who receives services at the @serviceValue Testing Event that identifies that the professional testing services are being provided by Host Licensee, in such form as has been approved in advance by Walgreens (which shall specify that the professional testing services are being provided by Host Licensee, \\\"whose trained healthcare professionals are not employed by and are not agents of Walgreen Co., its subsidiaries, including Take Care Health Systems, LLC, or their affiliated providers\\\"), and Host Licensee shall maintain all such signed acknowledgements in each patient’s medical record for a period of time after the @serviceValue Testing Event no shorter than the longest medical record retention requirement under any law, regulation, rule or governmental requirement that applies to the patient’s test results from the @serviceValue Testing Event.\", \"Smoking is not permitted in the Event Location or in and around the Event Location.\", \"Walgreens reserves the right to approve, in advance, all food and beverages brought into the Event Location.\"];\r\n this.term=\"The term of this Agreement shall commence on the specified Event Date and continue through the specified Event Hours. Notwithstanding the above, Walgreens shall have the right to terminate this Agreement at any time by providing notice to Host Licensee. Any holding over by Host Licensee shall not operate, except by written agreement, to extend or renew this Agreement or to imply or create a new agreement.\";\r\n this.tradenames_publications=\"Host Licensee must obtain Walgreens' written approval prior to publication and/or distribution of any and all publications, using the terms \\\"Walgreen,\\\" \\\"Walgreens,\\\" \\\"Walgreen Co.\\\" or the Walgreen logo.\";\r\n this.surrender=\"Upon surrender, the Event Location and any other portions of any adjoining property affected by, involved in, or used by Host Licensee shall be returned in as good condition as when first occupied by Host Licensee. Host Licensee shall be responsible for the cleanup, removal, and/or disposal of all debris, displays, equipment, machinery and other items deposited, used or created in, on or about the Event Location as a result of Host Licensee’s use and/or occupation of the Event Location, and shall repair any damage caused by the removal of such items and equipment, all at Host Licensee’s sole cost and expense.\";\r\n }\r\n}\r\n\r\nexport class LulaGov extends LulaAso {\r\n constructor(state:string=null){\r\n super();\r\n if(state){\r\n switch(state.toLowerCase()){\r\n case \"fl\":\r\n this.indemnity=[\"\\\"Host Licensee is part of an executive branch agency of the State of Florida and as such possesses sovereign immunity and limited liability as described in Section 768.28, Florida Statutes. Nothing herein is intended as a waiver of sovereign immunity or as a consent to be sued by any third party for any cause or matter arising from this agreement. Within the limits of Section 768.28, Fla. Stat., and other applicable law, Host Licensee agrees to be responsible for its own negligence and for the negligence of its agents or employees acting in the course and scope of agency/employment.\\\"\", \"To the extent permitted by applicable sovereign immunity laws, Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties or its/their use of the Event Location).\"];\r\n this.insurance=\"Host Licensee is as executive branch agency of the State of Florida as defined by Section 768.28, Fla. Stat., and accepts responsibility for identifying and determining the type and extent of liability insurance necessary to provide reasonable financial protections for Host Licensee and the clients to be served under this agreement. Host Licensee will provide Walgreens with verification of such insurance coverage, which may be provided by a self-insurance program established and operated under the laws of the State of Florida.\";\r\n this.miscellaneous=\"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney's fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State of Illinois shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement.\";\r\n break;\r\n case \"tx\":\r\n this.indemnity=[\"Host Licensee and Walgreens agree to each be solely responsible for claims alleging bodily injury, including death, and property damage arising from each party's own negligence, acts or omissions in the performance of each of their individual duties hereunder, and shall be financially and legally responsible for all liabilities, costs, damages, expenses and attorney fees resulting from, or attributable to any and all of their individual acts or omissions. No party shall have any obligation to indemnify the other, and/or its agents, employees and representatives.\"];\r\n this.insurance=\"At all times, during the term of this Agreement, Host Licensee shall maintain at its sole expense the following policies of insurance: (a) Workers Compensation and Employers Liability Insurance in amounts required by applicable law; and (b) Professional Liability Insurance for all professionals providing any service at the @serviceValue Testing Event with individual or aggregate limits of liability acceptable to Walgreens. A certificate of insurance showing evidence of the required coverage must be submitted to Walgreens prior to or simultaneously with the execution of this Agreement by Host Licensee.\"; \r\n this.miscellaneous=\"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney's fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State in which the Event Location is located shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement.\";\r\n break;\r\n default:\r\n this.indemnity=[\"Host Licensee hereby assumes full responsibility and liability for any injury to Walgreens or any third persons or damage to property caused by, resulting from, or arising out of any act or omission related to Host Licensee's use and/or occupation of the Event Location, whether or not such liability arises out of acts or omissions by Host Licensee or the Host Licensee Parties.\", \"Only to the extent not prohibited by applicable state law, Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties or its/their use of the Event Location).\", \"This indemnity shall survive any expiration or termination of this Agreement. Host Licensee shall also reimburse Walgreens for any expenses reasonably incurred by Walgreens to protect itself from, or to remedy, breaches of this Agreement.\"];\r\n this.miscellaneous=\"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney's fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State in which the Event Location is located shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement.\";\r\n this.insurance=\"At all times, during the term of this Agreement, Host Licensee shall maintain at its sole expense the following policies of insurance: (a) Workers Compensation and Employers Liability Insurance in amounts required by applicable law; and (b) Professional Liability Insurance for all professionals providing any service at the @serviceValue Testing Event with individual or aggregate limits of liability acceptable to Walgreens. A certificate of insurance showing evidence of the required coverage must be submitted to Walgreens prior to or simultaneously with the execution of this Agreement by Host Licensee.\";\r\n break; \r\n }\r\n }\r\n else{\r\n this.use=[\"Walgreens hereby grants to Host Licensee an exclusive limited duration revocable right, privilege and license to access and use that portion of the Event Location designated by Walgreens for the @serviceValue Testing Event on the Event Date(s) and for the Event Hours (each as described on the cover page of this Agreement).\", \"If required, Host Licensee shall remit to Walgreens the License Fee or Cost Recovery Charge on or before the Fee Remittance Date.\", \"Host Licensee shall conduct the @serviceValue Testing Event in full compliance with all applicable governmental requirements, in a first-class manner, free of liens for materials or labor furnished to Host Licensee, and at Host Licensee’s sole cost and expense. Host Licensee represents and warrants that: (i) Host Licensee has all authorizations, licenses and permits that are necessary to conduct the @serviceValue Testing Event; (ii) Host Licensee and its employees, guests, invitees, agents, contractors and representatives (the \\\"Host Licensee Parties\\\") will not violate any laws, regulations, rules or governmental requirements in connection with, or during the @serviceValue Testing Event; (iii) Host Licensee shall ensure that the @serviceValue Testing Event is carried out in a safe and controlled manner; and (iv) the Host Licensee Parties shall not: (A) obstruct, prevent or interfere with access to the Event Location by any Walgreens representative; (B) unreasonably interfere with the use or enjoyment of the Event Location; (C) cause or create any nuisance within the Event Location, including excessive noise; (D) bring into or generate in the Event Location any hazardous materials of any kind; or (E) fail to comply with any directive of any Walgreens representative or with any life or safety rule or regulation of the Event Location. Host Licensee agrees that all materials, chemicals and services relating to the Host Licensee’s use and/or occupation of the Event Location shall be provided in accordance with all statutes, ordinances, rules and regulations governing health, safety and the environment.\", \"Host Licensee shall provide, at Host Licensee’s sole cost and expense, all services, supplies and equipment required for the @serviceValue Testing Event. Walgreens assumes no responsibility and shall not be liable for any damaged or stolen items and/or equipment placed by Host Licensee in the Event Location. Host Licensee may not store any items or equipment in the Event Location or affix anything to or alter any surface of the interior or exterior of the Event Location. Host Licensee shall obtain a signed acknowledgment from each individual who receives services at the @serviceValue Testing Event that identifies that the professional testing services are being provided by Host Licensee, in such form as has been approved in advance by Walgreens (which shall specify that the professional testing services are being provided by Host Licensee, \\\"whose trained healthcare professionals are not employed by and are not agents of Walgreen Co., its subsidiaries, including Take Care Health Systems, LLC, or their affiliated providers\\\"), and Host Licensee shall maintain all such signed acknowledgements in each patient’s medical record for a period of time after the @serviceValue Testing Event no shorter than the longest medical record retention requirement under any law, regulation, rule or governmental requirement that applies to the patient’s test results from the @serviceValue Testing Event.\", \"Smoking is not permitted in the Event Location or in and around the Event Location.\", \"Walgreens reserves the right to approve, in advance, all food and beverages brought into the Event Location.\"];\r\n this.term=\"The term of this Agreement shall commence on the specified Event Date and continue through the specified Event Hours. Notwithstanding the above, Walgreens shall have the right to terminate this Agreement at any time by providing notice to Host Licensee. Any holding over by Host Licensee shall not operate, except by written agreement, to extend or renew this Agreement or to imply or create a new agreement.\";\r\n this.tradenames_publications=\"Host Licensee must obtain Walgreens' written approval prior to publication and/or distribution of any and all publications, using the terms \\\"Walgreen,\\\" \\\"Walgreens,\\\" \\\"Walgreen Co.\\\" or the Walgreen logo.\";\r\n this.surrender=\"Upon surrender, the Event Location and any other portions of any adjoining property affected by, involved in, or used by Host Licensee shall be returned in as good condition as when first occupied by Host Licensee. Host Licensee shall be responsible for the cleanup, removal, and/or disposal of all debris, displays, equipment, machinery and other items deposited, used or created in, on or about the Event Location as a result of Host Licensee’s use and/or occupation of the Event Location, and shall repair any damage caused by the removal of such items and equipment, all at Host Licensee’s sole cost and expense.\";\r\n this.indemnity=[\"Host Licensee hereby assumes full responsibility and liability for any injury to Walgreens or any third persons or damage to property caused by, resulting from, or arising out of any act or omission related to Host Licensee's use and/or occupation of the Event Location, whether or not such liability arises out of acts or omissions by Host Licensee or the Host Licensee Parties.\", \"Only to the extent not prohibited by applicable state law, Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties or its/their use of the Event Location).\", \"This indemnity shall survive any expiration or termination of this Agreement. Host Licensee shall also reimburse Walgreens for any expenses reasonably incurred by Walgreens to protect itself from, or to remedy, breaches of this Agreement.\"];\r\n this.miscellaneous=\"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney's fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State in which the Event Location is located shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement.\";\r\n this.insurance=\"At all times, during the term of this Agreement, Host Licensee shall maintain at its sole expense the following policies of insurance: (a) Workers Compensation and Employers Liability Insurance in amounts required by applicable law; and (b) Professional Liability Insurance for all professionals providing any service at the @serviceValue Testing Event with individual or aggregate limits of liability acceptable to Walgreens. A certificate of insurance showing evidence of the required coverage must be submitted to Walgreens prior to or simultaneously with the execution of this Agreement by Host Licensee.\";\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nexport class OpoLula extends LulaAso {\r\n inwitnesswhereof:string;\r\n \r\n constructor(state:string=null){\r\n super();\r\n this.use=[\"Walgreens grants Host Licensee an exclusive limited duration revocable right, privilege and license to access and use that portion of the Event Location designated by Walgreens for the Organ Donor Registration Event (as described on the cover page of this Agreement) on the specified Event Dates and Event Hours.\",\"If required, Host Licensee shall remit to Walgreens the License Fee or Cost Recovery Charge on or before the Fee Remittance Date.\",\"Host Licensee shall conduct the Organ Donor Registration Event in full compliance with all applicable governmental requirements, in a first-class manner, free of liens for materials or labor furnished to Host Licensee, and at Host Licensee’s sole cost and expense. Host Licensee represents and warrants that: (i) Host Licensee has any and all authorizations, licenses and permits necessary to conduct the Organ Donor Registration Event; (ii) the Host Licensee and its employees, guests, invitees, agents, contractors and representatives (the \\\"Host Licensee Parties\\\") will not violate any laws, regulations, rules, or governmental requirements in connection with, or during the Organ Donor Registration Event; (iii) shall ensure that the Organ Donor Registration Event is carried out in a safe and controlled manner; (iv) the Host Licensee Parties shall not: (A) obstruct, prevent or interfere with access to the Event Location by any Walgreen representative; (B) unreasonably interfere with the use or enjoyment of the Event Location; (C) cause or create any nuisance within the Event Location, including excessive noise; (D) bring or generate any hazardous materials of any kind into the Event Location; and (E) fail to comply with any directive of any Walgreens representative, and with any life or safety rule or regulation of the Event Location. Host Licensee agrees that all materials, chemicals and services relating to the Host Licensee’s use and/or occupation of the Event Location shall be provided in accordance with all statutes, ordinances, rules and regulations governing health, safety and the environment.\",\"Host Licensee shall provide, at Host Licensee’s sole cost and expense, all services, supplies and equipment required for the Organ Donor Registration Event. Walgreens assumes no responsibility and shall not be liable for any damaged or stolen items and/or equipment placed by Host Licensee in the Event Location. Host Licensee may not store any items or equipment in the Event Location or affix anything to or alter any surface of the interior or exterior of the Event Location.\",\"Smoking is not permitted in the Event Location or in and around the Event Location.\",\"Walgreens reserves the right to approve, in advance, all food and beverages brought into the Event Location.\"];\r\n this.term=\"The term of this Agreement shall commence on the specified Event Date and continue through the specified Event Hours. Notwithstanding the above, Walgreens shall have the right to terminate this Agreement at any time by providing notice to Host Licensee. Any holding over by Host Licensee shall not operate, except by written agreement, to extend or renew this Agreement or to imply or create a new agreement.\";\r\n this.tradenames_publications=\"Host Licensee must obtain Walgreens’ written approval prior to publication and/or distribution of any and all publications, using the terms \\\"Walgreen,\\\" \\\"Walgreens,\\\" \\“Walgreen Co.\\\" or the Walgreen logo.\";\r\n this.surrender=\"Upon surrender, the Event Location and any other portions of any adjoining property affected by, involved in, or used by Host Licensee shall be returned in as good condition as when first occupied by Host Licensee. Host Licensee shall be responsible for the cleanup, removal, and/or disposal of all debris, displays, equipment, machinery and other items deposited, used or created in, on or about the Event Location as a result of Host Licensee’s use and/or occupation of the Event Location, and shall repair any damage caused by the removal of such items and equipment, all at Host Licensee’s sole cost and expense. Host Licensee shall pay to Walgreens the Hold Over Fee if the Host Licensee Parties do not vacate the Event Location upon the termination of the Event Hours.\";\r\n this.indemnity=[\"Host Licensee assumes full responsibility and liability for any injury to Walgreens or any third persons or damage to property caused by, resulting from, or arising out of any act or omission related to Host Licensee's use and/or occupation of the Event Location, whether or not such liability arises out of acts or omissions by Host Licensee or the Host Licensee Parties.\", \"Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties or its/their use of the Event Location).\", \"This indemnity shall survive any expiration or termination of this Agreement. Host Licensee shall also reimburse Walgreens for any expenses reasonably incurred by Walgreens to protect itself from, or to remedy, breaches of this Agreement.\"];\r\n this.miscellaneous=\"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney’s fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State of Illinois shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement. The parties expressly consent to exclusive personal jurisdiction and venue in the state and federal courts located in Cook County, Illinois.\";\r\n this.insurance=\"At all times, during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens employers’ liability and worker’s compensation insurance in amounts required by applicable law. Host Licensee shall provide evidence of coverage prior to the Event Date.\";\r\n this.inwitnesswhereof=\"the parties have caused this Agreement to be executed in duplicate originals and do each hereby warrant and represent that its respective signatory who has signed this Agreement below is on the date of this Agreement duly authorized to execute this Agreement by all necessary and appropriate action on behalf of the entity for which he or she is signing.\";\r\n }\r\n}\r\nexport class CancerLula extends LulaAso {\r\n inwitnesswhereof:string;\r\n \r\n constructor(state:string=null){\r\n super();\r\n this.use=[\"Walgreens grants Host Licensee an exclusive limited duration revocable right, privilege and license to access and use that portion of the Event Location designated by Walgreens for the Cancer Screening Event (as described on the cover page of this Agreement) on the specified Event Dates and Event Hours.\",\"If required, Host Licensee shall remit to Walgreens the License Fee or Cost Recovery Charge on or before the Fee Remittance Date.\",\"Host Licensee shall conduct or cause to be conducted by a contractor of Host Licensee (the \\\"Host Contractor\\\") the Cancer Screening Event in full compliance with all applicable governmental requirements, in a first-class manner, free of liens for materials or labor furnished to Host Licensee, and at Host Licensee’s sole cost and expense. Host Licensee represents and warrants that: (i) Host Licensee or Host Contractor has all authorizations, licenses and permits that are necessary to conduct the Cancer Screening Event; (ii) the Host Licensee and its employees, guests, invitees, agents, contractors and representatives (the \\\"Host Licensee Parties\\\") will not violate any laws, regulations, rules, or governmental requirements in connection with, or during the Cancer Screening Event; (iii) shall ensure that the Cancer Screening Event is carried out in a safe and controlled manner; (iv) the Host Licensee Parties shall not: (A) obstruct, prevent or interfere with access to the Event Location by any Walgreen representative; (B) unreasonably interfere with the use or enjoyment of the Event Location; (C) cause or create any nuisance within the Event Location, including excessive noise; (D) bring or generate any hazardous materials of any kind into the Event Location; and (E) fail to comply with any directive of any Walgreens representative, and with any life or safety rule or regulation of the Event Location. Host Licensee agrees that all materials, chemicals and services relating to the Host Licensee’s use and/or occupation of the Event Location shall be provided in accordance with all statutes, ordinances, rules and regulations governing health, safety and the environment.\",\"Host Licensee shall provide, at Host Licensee’s sole cost and expense, all services, supplies and equipment required for the Cancer Screening Event. Walgreens assumes no responsibility and shall not be liable for any damaged or stolen items and/or equipment placed by Host Licensee in the Event Location. Host Licensee may not store any items or equipment in the Event Location or affix anything to or alter any surface of the interior or exterior of the Event Location unless Host Licensee first obtains permission via email from the Walgreens contact listed in Part 3 above. Host Licensee shall obtain a signed acknowledgment from each individual who receives services at the Cancer Screening Event that identifies that the professional testing services are being provided by Host Licensee, in such form as has been approved in advance by Walgreens (which shall specify that the professional testing services are being provided by Host Licensee, \\\"whose trained healthcare professionals are not employed by and are not agents of Walgreen Co., its subsidiaries, including Take Care Health Systems, LLC, or their affiliated providers\\\"), and Host Licensee shall cause all such signed acknowledgements to be maintained in each patient’s medical record for a period of time after the Cancer Screening Event no shorter than the longest medical record retention requirement under any law, regulation, rule or governmental requirement that applies to the patient’s test results from the Cancer Screening Event.\",\"Smoking is not permitted in the Event Location or in and around the Event Location.\",\"Walgreens reserves the right to approve, in advance, all food and beverages brought into the Event Location.\"];\r\n this.term=\"The term of this Agreement shall commence on the specified Event Date and continue through the specified Event Hours. Notwithstanding the above, Walgreens shall have the right to terminate this Agreement at any time by providing notice to Host Licensee. Any holding over by Host Licensee shall not operate, except by written agreement, to extend or renew this Agreement or to imply or create a new agreement.\";\r\n this.tradenames_publications=\"Host Licensee must obtain Walgreens' written approval prior to publication and/or distribution of any and all publications, using the terms \\\"Walgreen,\\\" \\\"Walgreens,\\\" \\\"Walgreen Co.\\\" or the Walgreen logo.\";\r\n this.surrender=\"Upon surrender, the Event Location and any other portions of any adjoining property affected by, involved in, or used by Host Licensee shall be returned in as good condition as when first occupied by Host Licensee. Host Licensee shall be responsible for the cleanup, removal, and/or disposal of all debris, displays, equipment, machinery and other items deposited, used or created in, on or about the Event Location as a result of Host Licensee’s use and/or occupation of the Event Location, and shall repair any damage caused by the removal of such items and equipment, all at Host Licensee’s sole cost and expense. Host Licensee shall pay to Walgreens the Hold Over Fee if the Host Licensee Parties do not vacate the Event Location upon the termination of the Event Hours.\";\r\n this.indemnity=[\"Host Licensee assumes full responsibility and liability for any injury to Walgreens or any third persons or damage to property caused by, resulting from, or arising out of any act or omission related to Host Licensee's use and/or occupation of the Event Location that arises out of acts or omissions by Host Licensee or the Host Licensee Parties.\", \"Host Licensee shall indemnify and save and hold harmless Walgreens, its affiliates, subsidiaries, agents, employees, officers, directors and landlords (as applicable) from and against any and all costs, losses, damages (direct and consequential) claims and expenses (including, but not limited, to attorney's fees and court and investigative costs) which Walgreens may suffer or pay as a result of claims or suits arising out of any damage, liability or injury (including death) caused by or resulting from activities, acts or omissions by Host Licensee or Host Licensee Parties occurring during the duration of this Agreement (including costs, losses, expenses, claims, damages, liability or injury which arise(s) out of negligent acts or omissions by the Host Licensee Parties).\", \"This indemnity shall survive any expiration or termination of this Agreement. Host Licensee shall also reimburse Walgreens for any expenses reasonably incurred by Walgreens to protect itself from, or to remedy, breaches of this Agreement.\"];\r\n this.miscellaneous=\"This Agreement constitutes the entire agreement between the parties, and supersedes any previous oral and written agreement between the parties with respect to the subject matter hereof. This Agreement may not be modified, waived, altered or changed unless in writing signed by the parties hereto. Host Licensee may not assign its rights under this Agreement to any party. In the event litigation is commenced by either party hereto against the other in connection with the enforcement of any provision of this Agreement, the attorney’s fees and costs incurred by the prevailing party shall be paid by the non-prevailing party. The laws of the State of Illinois shall govern any and all claims, disputes or causes of action arising under or relating to the Agreement. The parties expressly consent to exclusive personal jurisdiction and venue in the state and federal courts located in Cook County, Illinois.\";\r\n this.insurance=\"At all times, during the Term, Host Licensee shall maintain, or shall cause to be maintained, without any cost or expense to Walgreens: (a) employers’ liability and worker’s compensation insurance in amounts required by applicable law; and (b) professional liability insurance for all professionals conducting any Cancer Screening or counseling services at the Event with individual or aggregate limits of liability acceptable to Walgreens. Host Licensee shall provide evidence of coverage prior to execution of this Agreement.\";\r\n this.inwitnesswhereof=\"the parties have caused this Agreement to be executed in duplicate originals and do each hereby warrant and represent that its respective signatory who has signed this Agreement below is on the date of this Agreement duly authorized to execute this Agreement by all necessary and appropriate action on behalf of the entity for which he or she is signing.\";\r\n }\r\n}","export class OpportunityInfo {\r\n businessPk: number;\r\n outreachBusinessPk: number;\r\n clinicAgreementPk: number;\r\n contractedStoreId: number;\r\n storeId: number;\r\n storeState: string;\r\n regionNumber: number;\r\n clinicType: number;\r\n businessName: string;\r\n firstName?: any;\r\n lastName?: any;\r\n businessAddress: string;\r\n businessAddress2: string;\r\n businessCity: string;\r\n businessState: string;\r\n businessZip: string;\r\n jobTitle?: any;\r\n businessContactEmail?: any;\r\n phone: string;\r\n maxClinicLocationId: number;\r\n naClinicAddlComments?: any;\r\n licenseAgreementNum:number;\r\n}\r\n\r\nexport class ClinicImzQtyList {\r\n clinicPk: number;\r\n immunizationPk: number;\r\n immunizationName: string;\r\n paymentTypeId: number;\r\n paymentTypeName: string;\r\n estimatedQuantity: number;\r\n totalImmAdministered?: number;\r\n preliminaryPositives?:number;\r\n price: any;\r\n showPrice: any;\r\n}\r\n\r\nexport class ClinicList {\r\n clinicPk: number;\r\n clinicStoreId: number;\r\n clinicNumber: number;\r\n naClinicLocation: string;\r\n naContactFirstName: string;\r\n naContactLastName: string;\r\n naContactEmail: string;\r\n naClinicAddress1: string;\r\n naClinicAddress2: string;\r\n naClinicCity: string;\r\n naClinicState: string;\r\n naClinicZip: string;\r\n naClinicContactPhone: string;\r\n clinicDate: any;//\r\n clinicScheduledOn: Date;\r\n naClinicStartTime: string;\r\n naClinicEndTime: string;\r\n mobileorg: 0 | 1 | null;\r\n confirmedClientName?: any;\r\n clinicLatitude?: any;\r\n clinicLongitude?: any;\r\n isCompleted: any;\r\n isConfirmed: any;\r\n isCancelled: any;\r\n coOutreachTypeId?: any;\r\n coOutreachTypeDesc?: any;\r\n clinicRoom: any;\r\n isScheduled: any;\r\n naClinicContactPhoneExt: any;\r\n clinicImzQtyList: ClinicImzQtyList[];\r\n}\r\n\r\nexport class ClinicImmunizationList {\r\n pk: number;\r\n clinicPk: number;\r\n immunizationPk: number;\r\n immunizationName: string;\r\n price: number;\r\n paymentTypeId: number;\r\n paymentTypeName: string;\r\n sendInvoiceTo: number;\r\n name: string;\r\n address1?: any;\r\n address2?: any;\r\n city?: any;\r\n state?: any;\r\n zip?: any;\r\n phone?: any;\r\n email?: any;\r\n}\r\n\r\nexport class ClinicsUpdateHistoryLogList {\r\n pk: number;\r\n updatedOn: any;\r\n updateAction: string;\r\n updatedField?: any;\r\n updateSubCategory?: any;\r\n updatedValue?: any;\r\n updatedBy: string;\r\n}\r\n\r\nexport class ProofOfDocs{\r\n pk:number;\r\n clinicAgreementPk:number\r\n fileName:string;\r\n fileDisplayName:string;\r\n}\r\n\r\nexport class ErrorS {\r\n errorCode: number;\r\n errorMessage?: any;\r\n}\r\n\r\nexport class PCATestingEventDetails {\r\n userPk: number;\r\n clinicContactStatus?: any;\r\n feedback?:string;\r\n opportunityInfo: OpportunityInfo;\r\n clinicList: ClinicList[];\r\n clinicImmunizationList: ClinicImmunizationList[];\r\n clinicsUpdateHistoryLogList: ClinicsUpdateHistoryLogList[];\r\n proofOfDocs: ProofOfDocs[];\r\n errorS: ErrorS;\r\n constructor() {\r\n this.opportunityInfo = new OpportunityInfo();\r\n this.clinicList = new Array(new ClinicList());\r\n this.clinicImmunizationList = new Array(new ClinicImmunizationList());\r\n this.clinicsUpdateHistoryLogList = new Array(new ClinicsUpdateHistoryLogList());\r\n }\r\n}\r\n\r\n\r\n","import { WalgreenCo, Client } from \"./contract\";\r\n\r\nexport enum MobileOrg {\r\n YES = 1,\r\n NO = 0\r\n}\r\nexport class PcaEvent {\r\n // public immunizationPk:string;\r\n // public immunizationName:string;\r\n public contactFirstName: string;\r\n public contactLastName: string;\r\n public jobTitle: string;\r\n public contactPhone: string;\r\n public contactEmail: string;\r\n public address1: string;\r\n public city: string;\r\n public state: string;\r\n public zipCode: string;\r\n public storeId: string;\r\n public locations: any;\r\n public immunization: Array\r\n\r\n constructor() {\r\n // this.immunizationPk=\"\";\r\n this.immunization = new Array();\r\n // this.immunizationName=\"\";\r\n this.contactFirstName = \"\";\r\n this.contactLastName = \"\";\r\n this.jobTitle = \"\";\r\n this.contactPhone = \"\";\r\n this.contactEmail = \"\";\r\n this.address1 = \"\";\r\n this.city = \"\";\r\n this.state = \"\";\r\n this.zipCode = \"\";\r\n this.storeId = \"\";\r\n\r\n }\r\n}\r\nexport class PcaEventSchedule {\r\n public location: string;\r\n public eventDate: string;\r\n public startTime: string;\r\n public endTime: string;\r\n public estimatedQuantity: number;\r\n public mobileOrg: MobileOrg | '';\r\n constructor() {\r\n this.eventDate = null;\r\n this.startTime = null;\r\n this.endTime = null;\r\n this.estimatedQuantity = null;\r\n this.mobileOrg = '';\r\n }\r\n}\r\nexport class PcaContract {\r\n\r\n public licenseAgreementNum: string;\r\n public businessUserEmails: string;\r\n public isEmailSent: number;\r\n public isApproved: number;\r\n public isRhdApproved: number;\r\n public isEmailSentToRHD: number; //todo remove this variable after live\r\n public clinicAgreementPk: number;\r\n public isLocationReqAvailable: number;\r\n public isHealthRoomAvailable: number\r\n public isCurrent: number;\r\n public approvedOrRejectedBy: string;\r\n public contactLogPk: number;\r\n public lastUpdatedDate: string;\r\n public dateCreated: Date;\r\n public dateApproved: Date;\r\n public dateRHDApproved: Date;\r\n public notes: string;\r\n public signature: string;\r\n public rhdSignature: string;\r\n public totalS: number;\r\n public immunization: Array;\r\n public pcaClinic: PcaEvent;\r\n public pcaEvenScheduleList: Array;\r\n public walgreenCoInfo: WalgreenCo;\r\n public testingPartner: OpportunityInfo;\r\n public store: Store;\r\n public clientInfo: Client;\r\n constructor() {\r\n this.pcaClinic = null;\r\n this.immunization = null;\r\n this.walgreenCoInfo = null;\r\n this.testingPartner = null;\r\n this.store = null;\r\n this.pcaEvenScheduleList = new Array();\r\n this.isApproved = null;\r\n this.isEmailSent = null;\r\n this.isCurrent = 1;\r\n this.dateApproved = null;\r\n }\r\n init() {\r\n this.pcaClinic = new PcaEvent();\r\n this.immunization = new Array();\r\n this.walgreenCoInfo = new WalgreenCo();\r\n this.testingPartner = new OpportunityInfo();\r\n this.store = new Store();\r\n }\r\n wipeData() {\r\n this.isApproved = null;\r\n this.isEmailSent = null;\r\n this.isRhdApproved = null;\r\n this.notes = null;\r\n this.immunization = null;\r\n this.pcaClinic = null;\r\n this.walgreenCoInfo = null;\r\n this.testingPartner = null;\r\n this.store = null;\r\n this.pcaEvenScheduleList = [];\r\n this.clientInfo = null;\r\n\r\n }\r\n}\r\nexport class PcaImmunization {\r\n public immunizationPk: string = \"\";\r\n public immunizationName: string = \"\";\r\n public paymentTypeId?: string = \"\";\r\n}\r\nexport class Errors {\r\n public errorCode: number;\r\n public errorMessage: string;\r\n}\r\nexport class OpportunityInfo {\r\n public businessName: string;\r\n public email: string;\r\n public firstName: string;\r\n public lastName: string;\r\n public jobTitle: string;\r\n public address1: string;\r\n public address2: string;\r\n public phone: string;\r\n public city: string;\r\n public state: string;\r\n public zip: string;\r\n public zipCode: string;\r\n constructor() {\r\n this.businessName = \"\";\r\n this.email = \"\";\r\n this.firstName = \"\";\r\n this.lastName = \"\";\r\n this.jobTitle = \"\";\r\n this.address1 = \"\";\r\n this.address2 = \"\";\r\n this.phone = \"\";\r\n this.city = \"\";\r\n this.state = \"\";\r\n this.zip = \"\";\r\n this.zipCode = \"\";\r\n }\r\n}\r\nexport class Store {\r\n public storeId: string;\r\n public storePk: string;\r\n public address: string;\r\n public address2: string;\r\n public city: string;\r\n public state: string;\r\n public zipCode: string;\r\n public zip: string;\r\n}\r\nexport class PCACancerMetrics {\r\n public EventCount: number;\r\n public Year: number;\r\n}"," export class DetailList {\r\n outreachBusinessPk: number=-1;\r\n clinicPk: number=-1;\r\n apptPk: number=-1;\r\n firstName: string='';\r\n middleName?: string='';\r\n lastName: string='';\r\n email: string='';\r\n employeeId: string='';\r\n apptDate: string='';\r\n apptTime: string='';\r\n apptTimeOfDay: string='';\r\n apptRoom: string='';\r\n confirmationId: string=null;\r\n clinicState: string='';\r\n clinicLocation: string='';\r\n clinicStoreId:number=-1;\r\n clientId?:number=null;\r\n naClinicGroupId?:number=null;\r\n schedulerRegistration?:string='';\r\n storeAddress?:string='';\r\n storeState:string = \"OT\";\r\n isCovidClinic:boolean = false;\r\n isDose2ClinicSchedulerEnabled:boolean;\r\n selectedImmunization: { clinicPk: number; immunizationPk: number; }[] = [];\r\n constructor(){};\r\n }\r\n export class ErrorS {\r\n errorCode: number;\r\n errorMessage: string;\r\n }\r\n export class schedulerRegistrationDetails {\r\n detailList: DetailList[];\r\n errorS: ErrorS;\r\n constructor(){\r\n this.detailList=new Array();\r\n };\r\n }","export class SchedulerUserInfo {\r\n userName: string;\r\n userPk: number;\r\n password: string;\r\n designPk: number;\r\n appointmentPK: number;\r\n redirectPage: string;\r\n clinicPK: number;\r\n}","export class Schedulevent {\r\n contactLogPk: number;\r\n dateOfEvent: any;\r\n eventStartTime: string;\r\n eventEndTime: string;\r\n eventTypeId: number;\r\n eventDescription: string;\r\n walgreensRoleId: number;\r\n walgreensRoleDescription: string;\r\n numberOfAttendees: number;\r\n refreshments: boolean;\r\n fundingId: number;\r\n provideEducationalMaterial: boolean;\r\n description: string;\r\n totalCost: number;\r\n contactDate: Date;\r\n}\r\n","\r\nexport class StoreComplianceSR {\r\n outreachEffort: string = null;\r\n userPk: string;\r\n yearStartDate: string = null;\r\n quarter: string = null;\r\n reportName: string = \"\";\r\n outputType: string = \"\";\r\n constructor(outreach_effort: string, userPk: string, year_start_date: string, quarter, report_name: string, output_type: string) {\r\n this.outreachEffort = outreach_effort;\r\n this.userPk = userPk;\r\n this.yearStartDate = year_start_date;\r\n this.quarter = quarter;\r\n this.reportName = report_name;\r\n this.outputType = output_type;\r\n }\r\n}\r\nexport class StoreComplianceIP {\r\n outreachEffort: string = null;\r\n userPk: number;\r\n regionNumber: number;\r\n areaNumber: number;\r\n podNumber: number;\r\n districtNumber: number;\r\n yearStartDate: string = null;\r\n quarter: string = null;\r\n reportName: string = \"\";\r\n outputType: string = \"\";\r\n covidOnly: number;\r\n constructor(outreach_effort: string, user_pk: number, region_number: number, area_number: number,pod_number: number, district_number: number, year_start_date: string, quarter, report_name: string, output_type: string, covid_Only: number) {\r\n this.outreachEffort = outreach_effort;\r\n this.userPk = user_pk;\r\n this.regionNumber = region_number;\r\n this.areaNumber = area_number;\r\n this.podNumber = pod_number;\r\n this.districtNumber = district_number;\r\n this.yearStartDate = year_start_date;\r\n this.quarter = quarter;\r\n this.reportName = report_name;\r\n this.outputType = output_type;\r\n this.covidOnly = covid_Only;\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\n@Injectable()\r\nexport class StoreProfile {\r\n storePk: number;\r\n storeId: number;\r\n storeAddress: string;\r\n storeAddress2: string;\r\n storeCity: string;\r\n storeState: string;\r\n lastStatusProvided: Date;\r\n}","export class ThankyouData\r\n{\r\n //hasPrefilledForms : number;\r\n hasPrefilledForms : boolean;\r\n isCovidClinic:boolean = false;\r\n storeState:string;\r\n pdfVarFormEn: string;\r\n pdfVarFormEsp:string;\r\n voucherNeeded:boolean;\r\n isRestrictedState:boolean;\r\n corporateInvoice:boolean;\r\n cashPaid:boolean;\r\n submitInsurance:boolean;\r\n medicalInsurance:boolean;\r\n pharmacyInsurance:boolean;\r\n printContents:string;\r\n isCovidOpportunity: boolean;\r\n covidOpportunityType: number;\r\n}","export class UserAccessLinkUserList {\r\n userPk: number;\r\n email: number;\r\n userRole: string;\r\n}\r\n\r\nexport class ErrorS {\r\n errorCode: number;\r\n errorMessage: string;\r\n}\r\n\r\nexport class SendUserAccessLink {\r\n userAccessLinkUserList: UserAccessLinkUserList[];\r\n errorS: ErrorS;\r\n}","export class UserInfo\r\n{\r\n email: string;\r\n userName: string;\r\n userPk: number;\r\n userRole: string;\r\n isAdmin:boolean;\r\n isPowerUser:boolean;\r\n firstName: string;\r\n lastName: string;\r\n locationType: string;\r\n assignedLocations: string;\r\n}","export class UserLoginInfo\r\n{\r\n pk: string;\r\n userName: string;\r\n password: string;\r\n role: string;\r\n \r\n}","export class VoucherFormData\r\n{\r\n outreachBusinessPk: number;\r\n clinicPk: number;\r\n covidOpportunityType:number;\r\n downloadType: string;\r\n pdfPath: string;\r\n }","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UserProfileComponent } from '../admin/components/user-profile/user-profile.component';\r\nimport { EditUserComponent } from '../admin/components/user-profile/edit-user/edit-user.component';\r\nimport { AddUserComponent } from '../admin/components/user-profile/add-user/add-user.component';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { UserProfileService } from '../admin/services/user-profile.service';\r\nimport { RouterModule } from '@angular/router';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ReusableModule } from '../common/components/reusable.module';\r\nimport { StoreModule } from '../store/store.module';\r\nimport { CorporateSchedulerComponent } from './components/corporate-scheduler/corporate-scheduler.component';\r\nimport { TableModule } from 'primeng/table';\r\nimport { CorporateSchedulerPreviewComponent } from './components/corporate-scheduler-preview/corporate-scheduler-preview.component';\r\nimport { WalgreensSchedulerRegistrationComponent } from './components/walgreens-scheduler-registration/walgreens-scheduler-registration.component';\r\nimport { CorporateuploaderstatusComponent } from './components/corporateuploaderstatus/corporateuploaderstatus.component';\r\nimport { CorporateuploaderComponent } from './components/corporateuploader/corporateuploader.component';\r\nimport { CorporateuploaderService } from './services/corporateuploader.service';\r\nimport { WalgreensSchedulerConfirmationComponent } from './components/walgreens-scheduler-confirmation/walgreens-scheduler-confirmation.component';\r\nimport { SchedulerLandingComponent } from './components/scheduler-landing/scheduler-landing.component';\r\nimport { PreviewService } from './services/preview.service';\r\nimport { ClientSchedulerApptTrackerComponent } from './components/client-scheduler-appt-tracker/client-scheduler-appt-tracker.component';\r\nimport { SchedulerregistrationService } from './services/schedulerregistration.service';\r\nimport {CheckboxModule} from 'primeng/checkbox';\r\nimport { CorporateStoreApptTrackerComponent } from './components/corporate-store-appt-tracker/corporate-store-appt-tracker.component';\r\nimport { StoreprofileuploaderstatusComponent } from './components/storeUploader/storeprofileuploaderstatus/storeprofileuploaderstatus.component';\r\nimport { StoreprofileuploaderComponent } from './components/storeUploader/storeprofileuploader/storeprofileuploader.component';\r\nimport { StoreprofilereportandupdateComponent } from './components/storeUploader/storeprofilereportandupdate/storeprofilereportandupdate.component';\r\nimport { UploadstoreprofilesComponent } from './components/storeUploader/uploadstoreprofiles/uploadstoreprofiles.component';\r\nimport { StoreProfileUploadCompleteComponent } from './components/storeUploader/store-profile-upload-complete/store-profile-upload-complete.component';\r\nimport { UpdatestoreprofileComponent } from './components/storeUploader/updatestoreprofile/updatestoreprofile.component';\r\nimport { ImmunizationCheckComponent } from './components/immunization-check/immunization-check.component';\r\nimport { AddEditImmunizationCheckComponent } from './components/immunization-check/add-edit-immunization-check/add-edit-immunization-check.component';\r\nimport { DroppedStoreReassignmentsComponent } from './components/dropped-store-reassignments/dropped-store-reassignments.component';\r\nimport { GroupidsuploaderComponent } from './components/groupidsuploader/groupidsuploader.component';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { PickListModule } from 'primeng/picklist';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { ListboxModule } from 'primeng/listbox';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { ColorPickerModule } from 'primeng/colorpicker';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { ProgressSpinnerModule } from 'primeng/progressspinner';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { PaginatorModule } from 'primeng/paginator';\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { PatientReassignmentComponent } from './components/patient-reassignment/patient-reassignment.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DialogModule,\r\n NgbModule,\r\n ConfirmDialogModule,\r\n FormsModule,\r\n AutoCompleteModule,\r\n RouterModule,\r\n ReusableModule,\r\n StoreModule,\r\n AccordionModule,\r\n PaginatorModule,\r\n CalendarModule,\r\n DialogModule,\r\n CheckboxModule,\r\n ReactiveFormsModule,\r\n ProgressSpinnerModule,\r\n TabViewModule,\r\n TableModule,\r\n ColorPickerModule,\r\n TooltipModule,\r\n ListboxModule,\r\n MultiSelectModule,\r\n PickListModule, \r\n NgxSpinnerModule\r\n ],\r\n declarations: [\r\n UserProfileComponent, \r\n CorporateuploaderComponent, \r\n CorporateuploaderstatusComponent,\r\n EditUserComponent, \r\n AddUserComponent, \r\n CorporateSchedulerComponent, \r\n CorporateSchedulerPreviewComponent,\r\n WalgreensSchedulerRegistrationComponent,\r\n WalgreensSchedulerConfirmationComponent, \r\n SchedulerLandingComponent,\r\n ClientSchedulerApptTrackerComponent, \r\n CorporateStoreApptTrackerComponent, \r\n StoreprofileuploaderstatusComponent,\r\n StoreprofileuploaderComponent, \r\n StoreprofilereportandupdateComponent, \r\n UploadstoreprofilesComponent, \r\n StoreProfileUploadCompleteComponent, \r\n UpdatestoreprofileComponent,\r\n ImmunizationCheckComponent, \r\n AddEditImmunizationCheckComponent, \r\n DroppedStoreReassignmentsComponent, \r\n GroupidsuploaderComponent, \r\n PatientReassignmentComponent\r\n ],\r\n providers: [\r\n UserProfileService, \r\n CorporateuploaderService, \r\n PreviewService,\r\n SchedulerregistrationService, \r\n { provide: 'Window', useValue: window }\r\n ]\r\n})\r\nexport class AdminModule { }\r\n","import { Component, OnInit, ViewChild, SimpleChange, Input } from '@angular/core';\r\n//import { Table } from '../../../../../../node_modules/primeng/table';\r\nimport { PreviewService } from '../../services/preview.service';\r\nimport { Table } from 'primeng/table';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { Router } from '@angular/router';\r\nimport { Location, LocationStrategy } from '@angular/common';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { defaultSiteDesignInfo } from '../../../../JSON/schedulerDefaultValues';\r\nimport { SchedulerregistrationService } from '../../services/schedulerregistration.service';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { CorporateTrackerSchedulerClinics } from '../../../../models/CorporateTrackerSchedulerClinics';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { ErrorMessages } from '../../../../../../src/app/config-files/error-messages';\r\n\r\n\r\n@Component({\r\n selector: 'app-client-scheduler-appt-tracker',\r\n templateUrl: './client-scheduler-appt-tracker.component.html',\r\n styleUrls: ['./client-scheduler-appt-tracker.component.css']\r\n})\r\nexport class ClientSchedulerApptTrackerComponent implements OnInit {\r\n first:number;\r\n cols: any[];\r\n index: number = 0;\r\n showVarHCSLocal: boolean = false;\r\n showVarHCS: boolean = false;\r\n searchValue: string = '';\r\n date3: any;\r\n appointmentCols: any[];\r\n corporate_client_list: any;\r\n appTbl: any = [];\r\n backVisible: boolean = false;\r\n scheduledAppointmentInfo: any;\r\n siteDesignInfo: any = {};\r\n @ViewChild('appointmenttbl', {static : false})\r\n private table: Table;\r\n @ViewChild('appointmenttbl', {static : false}) dataTableClinic: Table;\r\n BannerColor: string = '';\r\n BannerTextColor: string = '';\r\n ButtonBgColor: string = '';\r\n ButtonTextcolor: string = '';\r\n clientLogo: string = \"\";\r\n businessName: string = '';\r\n clinicsList: any = [];\r\n ddlApptType: number = 0;\r\n clinicPk: number = 0;\r\n totalScheduledCount: number = 0;\r\n totalUnscheduledCount: number = 0;\r\n totalImmunizers: number = 0;\r\n selectedDataList: any = [];\r\n @Input() clinicDetails: any;\r\n\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n errorPopUp: boolean = false;\r\n savePopup: boolean = false;\r\n\r\n userProfile: any;\r\n\r\n showBlockUnblockButtons: boolean = false;\r\n // \r\n\r\n ctrlKeyDown = false;\r\n recordsExist: boolean = false;\r\n confirmPopup: boolean = false;\r\n isBlockAppts: boolean;\r\n block_unblock_apts_obj: any = {\r\n \"eeApptTimeSlots\": []\r\n };\r\n confirmationId: any = [];\r\n pageIndex: number;\r\n constructor(private _location: Location, private previewService: PreviewService, private scheduler_regisration: SchedulerregistrationService, private spinner: NgxSpinnerService, private router: Router, private location: LocationStrategy, private messageService: MessageServiceService) {\r\n\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n\r\n this.scheduledAppointmentInfo = SessionDetails.getSchedulerUserInfo();\r\n if (!this.scheduledAppointmentInfo) {\r\n if (sessionStorage[\"corporateTrackInfo\"]) {\r\n this.scheduledAppointmentInfo = JSON.parse(sessionStorage[\"corporateTrackInfo\"]);\r\n sessionStorage.removeItem(\"corporateTrackInfo\");\r\n } else {\r\n this.scheduledAppointmentInfo = {\r\n \"designPk\": -1,\r\n \"redirectTo\": \"schedulerRegistration\",\r\n \"apptPk\": -1,\r\n \"clinicPk\": -1\r\n };\r\n }\r\n } else {\r\n sessionStorage.removeItem(\"sI\");\r\n }\r\n this.scheduler_regisration.getSchedulerSiteDesign(this.scheduledAppointmentInfo.designPk).subscribe((result: any) => {\r\n if (Object.keys(result).length > 0) {\r\n if (!result.clientInfo.enryptedClientKey || this.clinicPk > 0) {\r\n result.siteLogoAndStyles = defaultSiteDesignInfo.defaultDesignValues;\r\n result.siteLandingPageText = defaultSiteDesignInfo.defaultTextValues;\r\n }\r\n \r\n this.siteDesignInfo = result;\r\n this.businessName = (this.siteDesignInfo.clientInfo.businessName) ? this.siteDesignInfo.clientInfo.businessName : '';\r\n this.BannerColor = this.siteDesignInfo.siteLogoAndStyles.bannerColor;\r\n this.clientLogo = ((this.siteDesignInfo.siteLogoAndStyles && this.siteDesignInfo.siteLogoAndStyles.logoFile &&\r\n this.siteDesignInfo.siteLogoAndStyles.logoFile !== \"string\") ? environment.RESOURCES.CORPORATE_SCHEDULER_UPLOADED_LOGOS_URL + this.siteDesignInfo.siteLogoAndStyles.logoFile : '');\r\n\r\n if (this.clinicPk) {\r\n this.clientLogo = \"assets/images/Walgreens_Logo_2022.png\";\r\n }\r\n this.BannerTextColor = this.siteDesignInfo.siteLogoAndStyles.bannerTextColor;\r\n //this.ButtonBgColor = this.siteDesignInfo.siteLogoAndStyles.buttonColor;\r\n this.ButtonBgColor = \"#323264\";\r\n this.ButtonTextcolor = this.siteDesignInfo.siteLogoAndStyles.buttonTextcolor;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.clinicDetails) {\r\n this.location.onPopState(() => {\r\n // set isBackButtonClicked to true.\r\n this.messageService.setNavigationClicked(true);\r\n return false;\r\n });\r\n document.addEventListener('keyup', () => {\r\n this.ctrlKeyDown = false;\r\n });\r\n document.addEventListener('keydown', (e) => {\r\n if ((e.which || e.keyCode) == 116 || ((e.which || e.keyCode) == 82 && this.ctrlKeyDown)) {\r\n // Pressing F5 or Ctrl+R\r\n //e.preventDefault();\r\n if (this.scheduledAppointmentInfo) {\r\n sessionStorage[\"corporateTrackInfo\"] = JSON.stringify(this.scheduledAppointmentInfo);\r\n }\r\n if (this.siteDesignInfo) {\r\n sessionStorage[\"corporateTrackDesignInfo\"] = JSON.stringify(this.siteDesignInfo);\r\n }\r\n if (this.clinicDetails) {\r\n sessionStorage[\"event_details\"] = JSON.stringify(this.clinicDetails);\r\n }\r\n } else if ((e.which || e.keyCode) == 17) {\r\n // Pressing only Ctrl\r\n this.ctrlKeyDown = true;\r\n }\r\n });\r\n window.onbeforeunload = (ev) => {\r\n if (this.scheduledAppointmentInfo) {\r\n sessionStorage[\"corporateTrackInfo\"] = JSON.stringify(this.scheduledAppointmentInfo);\r\n }\r\n if (this.siteDesignInfo) {\r\n sessionStorage[\"corporateTrackDesignInfo\"] = JSON.stringify(this.siteDesignInfo);\r\n }\r\n // if (this.clinicDetails) {\r\n // sessionStorage[\"event_details\"] = JSON.stringify(this.clinicDetails);\r\n // }\r\n };\r\n }\r\n if (this.clinicDetails && this.clinicDetails.clinicPk > 0) {\r\n sessionStorage.removeItem(\"sI\");\r\n this.clinicPk = this.clinicDetails.clinicPk;\r\n this.backVisible = true;\r\n }\r\n\r\n this.getCorporateClientApptsCounts();\r\n this.showBlockUnblockButtons = (this.clinicPk > 0 || this.userProfile.userRole === 'Admin'\r\n || this.userProfile.userRole === 'Pharmacy Manager' || this.userProfile.userRole === 'Store Manager'\r\n || this.userProfile.userRole === 'District Manager' || this.userProfile.userRole === 'Healthcare Supervisor'\r\n || this.userProfile.userRole === 'Director - Rx and Retail Ops' || this.userProfile.userRole === 'Regional Vice President'\r\n || this.userProfile.userRole === 'Regional Healthcare Director') && (this.userProfile.userName !== 'sm_schedule.appointment');\r\n //this.getCorporateClientList();\r\n this.getAppointmentTrackingList();\r\n if (this.clinicPk > 0) {\r\n this.appointmentCols = [\r\n { field: 'businessClinic', header: 'Clinic' },\r\n { field: 'clinicAddress', header: 'Location' },\r\n { field: 'apptDate', header: 'Appt Date' },\r\n { field: 'apptAvlTimes', header: 'Appt Time' },\r\n { field: 'apptTimeSlot', header: 'Time Slot' },\r\n { field: 'PatientName', header: 'Name' },\r\n // { field: 'employeeId', header: 'Employee ID' },\r\n { field: 'confirmationId', header: 'Confirmation ID' }\r\n ];\r\n }\r\n else if (this.clinicPk == 0) {\r\n this.appointmentCols = [\r\n { field: 'businessClinic', header: 'Clinic' },\r\n { field: 'clinicAddress', header: 'Location' },\r\n { field: 'apptDate', header: 'Appt Date' },\r\n { field: 'apptAvlTimes', header: 'Appt Time' },\r\n { field: 'apptTimeSlot', header: 'Time Slot' },\r\n { field: 'confirmationId', header: 'Confirmation ID' }\r\n ];\r\n }\r\n\r\n }\r\n\r\n\r\n onTableHeaderCheckboxToggle(event: any) {\r\n if (event.checked == true) {\r\n if (this.first == 0) {\r\n this.pageIndex = 1\r\n }\r\n else if (this.first > 0) {\r\n this.pageIndex = (this.first / 10) + 1\r\n }\r\n let slicedArray = this.appTbl.slice(((this.pageIndex - 1) * (10)), this.pageIndex * 10);\r\n this.selectedDataList = slicedArray;\r\n }\r\n }\r\n\r\n paginate(event) {\r\n this.selectedDataList = [];\r\n }\r\n\r\n displayFieldCss(hName: string) {\r\n if (hName == 'Location') {\r\n return 'wth250';\r\n }\r\n\r\n else {\r\n return '';\r\n }\r\n }\r\n\r\n disabledEnableRow(obj: any) {\r\n if (obj && obj.isBlocked) {\r\n return 'trackerApptDisabled';\r\n } else {\r\n return 'trackerApptEnabled';\r\n }\r\n }\r\n\r\n clFld() {\r\n this.searchValue = '';\r\n this.table.reset();\r\n }\r\n handleChange(e) {\r\n this.index = e.index;\r\n }\r\n\r\n onClickedOutside(e: Event) {\r\n this.showVarHCS = false;\r\n }\r\n onClickedOutsidee(e: Event) {\r\n this.showVarHCSLocal = false;\r\n }\r\n storeSearchHCS() {\r\n this.showVarHCS = !this.showVarHCS;\r\n }\r\n\r\n getAppointmentTrackingList() {\r\n this.recordsExist = true;\r\n let is_client = (this.scheduledAppointmentInfo.designPk > 0) ? 1 : 0;\r\n let client_id = (is_client) ? this.scheduledAppointmentInfo.designPk : this.clinicPk;\r\n let corporate_tracker_sch_clinics = new CorporateTrackerSchedulerClinics(is_client, client_id, this.ddlApptType, \"\", \"\");\r\n this.previewService.getAppointmentTrackingDetails(corporate_tracker_sch_clinics).subscribe((data: any) => {\r\n this.clinicsList = data;\r\n this.appTbl = data;//.slice(start_number, (start_number + 10));\r\n this.recordsExist = data.length > 0 ? true : false;\r\n this.table.reset();\r\n });\r\n }\r\n\r\n filterChanged() {\r\n this.getAppointmentTrackingList();\r\n }\r\n\r\n refreshClicked() {\r\n this.ddlApptType = 0;\r\n this.dataTableClinic.first = 0;\r\n this.dataTableClinic.paginator;\r\n this.getAppointmentTrackingList();\r\n this.getCorporateClientApptsCounts();\r\n }\r\n\r\n getCorporateClientList() {\r\n this.previewService.getCorporateClientList().subscribe((data: any) => {\r\n this.corporate_client_list = data.corporateClientList;\r\n });\r\n }\r\n\r\n getCorporateClientApptsCounts() {\r\n this.previewService.getAppointmentTrackingCounts(this.scheduledAppointmentInfo.designPk, this.clinicPk).subscribe(result => {\r\n this.totalImmunizers = result[0].numImmunizers;\r\n this.totalScheduledCount = result[0].totalScheduled;\r\n this.totalUnscheduledCount = result[0].totalUnscheduled;\r\n });\r\n }\r\n\r\n refreshStoreSearch() {\r\n this.searchValue = \"\";\r\n this.ddlApptType = 0;\r\n this.selectedDataList = [];\r\n this.dataTableClinic.first = 0;\r\n this.dataTableClinic.paginator;\r\n this.getAppointmentTrackingList();\r\n this.getCorporateClientApptsCounts();\r\n }\r\n navigateApptTracker() {\r\n sessionStorage[\"corporateTrackInfo\"] = JSON.stringify(this.scheduledAppointmentInfo);\r\n sessionStorage[\"corporateTrackDesignInfo\"] = JSON.stringify(this.siteDesignInfo);\r\n if (this.clinicDetails) {\r\n sessionStorage[\"event_details\"] = JSON.stringify(this.clinicDetails);\r\n }\r\n this.messageService.setNavigationClicked(false);\r\n //this.router.navigate(['/schedulerAppttracking']);\r\n if (this.clinicPk > 0) {\r\n this.router.navigate(['/corpScheduledAppts']);//communityoutreach/\r\n } else {\r\n this.router.navigate(['/schedulerAppttracking']);\r\n }\r\n }\r\n GoTo() {\r\n if (this.clinicPk > 0) {\r\n this.messageService.setNavigationClicked(false);\r\n sessionStorage.removeItem(\"event_details\");\r\n this.router.navigate(['/communityoutreach/storehome'])\r\n }\r\n }\r\n\r\n blockUnblockAppts(is_block_appts: boolean) {\r\n this.isBlockAppts = is_block_appts;\r\n this.block_unblock_apts_obj.eeApptTimeSlots = [];\r\n this.confirmationId = [];\r\n if (is_block_appts) {\r\n this.selectedDataList.forEach(element => {\r\n var temp = {};\r\n if (!element.isBlocked && element.PatientName != 'PHARMACIST BREAK') {\r\n temp[\"designPk\"] = (this.scheduledAppointmentInfo.designPk > 0) ? 1 : 0;\r\n temp[\"designerPk\"] = (this.scheduledAppointmentInfo.designPk > 0) ? this.scheduledAppointmentInfo.designPk : 0;\r\n temp[\"clinicPk\"] = element.clinicPk;\r\n temp[\"apptPk\"] = element.apptPk;\r\n temp[\"apptTimePk\"] = element.apptTimePk;\r\n this.block_unblock_apts_obj.eeApptTimeSlots.push(temp);\r\n if (element.confirmationId != null)\r\n this.confirmationId.push(element.confirmationId);\r\n }\r\n });\r\n } else {\r\n this.selectedDataList.forEach(element => {\r\n var temp = {};\r\n if (element.isBlocked || element.PatientName === 'PHARMACIST BREAK') {\r\n temp[\"designPk\"] = (this.scheduledAppointmentInfo.designPk > 0) ? 1 : 0;\r\n temp[\"designerPk\"] = (this.scheduledAppointmentInfo.designPk > 0) ? this.scheduledAppointmentInfo.designPk : 0;\r\n temp[\"clinicPk\"] = element.clinicPk;\r\n temp[\"apptPk\"] = element.apptPk;\r\n temp[\"apptTimePk\"] = element.apptTimePk;\r\n this.block_unblock_apts_obj.eeApptTimeSlots.push(temp);\r\n }\r\n });\r\n }\r\n if (this.confirmationId.length > 0) {\r\n this.dialogMsg = \"Are you sure you want to block the selected appointment(s)? Blocking any appointment slots that have already been scheduled will send an appointment cancellation email to the appointment holder. This action cannot be undone.\";\r\n this.dialogSummary = \"Confirm Block Appointments\";\r\n this.confirmPopup = true;\r\n return false;\r\n }\r\n else if (this.block_unblock_apts_obj.eeApptTimeSlots.length > 0) {\r\n this.confirmblockUnblockAppts();\r\n } else {\r\n let msg: string = \"\";\r\n msg = 'Please select an appointment to ' + ((is_block_appts) ? 'block' : 'unblock');\r\n this.showDialogError(\"Block/Unblock Appointments\", msg);\r\n //show message\r\n }\r\n }\r\n confirmblockUnblockAppts() {\r\n this.spinner.show();\r\n this.previewService.blockUnblockAppts(this.isBlockAppts, this.block_unblock_apts_obj).subscribe((result: any) => {\r\n this.spinner.hide();\r\n this.selectedDataList = [];\r\n let msg: string = \"\";\r\n let sch_unsch_text: string = \"\";\r\n if (this.ddlApptType === 1 || this.ddlApptType === 3) {\r\n sch_unsch_text = \" Scheduled \";\r\n } else if (this.ddlApptType === 2) {\r\n sch_unsch_text = \" Unscheduled \";\r\n } else if (this.ddlApptType === 0) {\r\n sch_unsch_text = \" \";\r\n }\r\n msg = \"Selected \" + sch_unsch_text + \"appointment(s) \" + ((this.isBlockAppts) ? 'blocked' : 'unblocked') + \" successfully.\"\r\n this.showDialogSaved(\"Block/Unblock Appointments\", msg);\r\n this.confirmPopup = false;\r\n },\r\n err => {\r\n this.showDialogError(\"Block/Unblock Appointments\", ErrorMessages.unKnownError);\r\n this.spinner.hide();\r\n });\r\n}\r\nError() {\r\n this.errorPopUp = false;\r\n}\r\nOk() {\r\n this.refreshStoreSearch();\r\n this.savePopup = false;\r\n}\r\nshowDialogError(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.errorPopUp = true;\r\n}\r\nshowDialogSaved(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.savePopup = true;\r\n}\r\nshowRowCheckboxes() {\r\n return ((this.showBlockUnblockButtons) ? '' : 'showTrackerGridCheckbox');\r\n}\r\n\r\nngOnChanges(changes: { [propKey: string]: SimpleChange }) {\r\n if (changes[\"clinicDetails\"]) {\r\n this.clinicDetails = changes[\"clinicDetails\"].currentValue;\r\n }\r\n}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { PreviewService } from '../../services/preview.service';\r\nimport { environment } from '../../../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-corporate-scheduler-preview',\r\n templateUrl: './corporate-scheduler-preview.component.html',\r\n styleUrls: ['./corporate-scheduler-preview.component.css']\r\n})\r\nexport class CorporateSchedulerPreviewComponent implements OnInit {\r\n data: any = [];\r\n BannerColor: string = '';\r\n BannerTextColor: string = '';\r\n ButtonBgColor: string = '';\r\n ButtonTextColor: string = '';\r\n LogoFile: string = '';\r\n MastheadLogo: string = '';\r\n BodyText: string = '';\r\n FooterText: string = '';\r\n HeaderText: string = '';\r\n image_source: any = \"\";\r\n clientLogo:any;\r\n constructor(private previewService: PreviewService) { }\r\n\r\n ngOnInit() { \r\n this.data = (sessionStorage[\"previewInfo\"])?JSON.parse(sessionStorage[\"previewInfo\"]):{};\r\n this.BannerColor = this.data.BannerColor;\r\n this.BannerTextColor = this.data.BannerTextColor;\r\n this.ButtonBgColor = this.data.ButtonBgColor;\r\n this.ButtonTextColor = this.data.ButtonTextColor;\r\n this.clientLogo = environment.RESOURCES.CORPORATE_SCHEDULER_UPLOADED_LOGOS_URL + ((!this.data.LogoFileName)?'walgreens_email_logo.png':this.data.LogoFileName);\r\n this.BodyText = this.decodeHTML(this.data.BodyText);\r\n this.FooterText = this.decodeHTML(this.data.FooterText).replace(\"VIS Form.pdf\", \"visresources\");\r\n this.HeaderText = this.decodeHTML(this.data.HeaderText);\r\n sessionStorage.removeItem(\"previewInfo\");\r\n }\r\n\r\n\r\n closeWindow() {\r\n window.close()\r\n }\r\n\r\n decodeHTML(html) {\r\n var txt = document.createElement('textarea');\r\n txt.innerHTML = html;\r\n return txt.value;\r\n };\r\n\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit, ViewChild, Inject} from '@angular/core';\r\nimport { DOCUMENT } from '../../../../../../node_modules/@angular/common';\r\nimport { Router } from '../../../../../../node_modules/@angular/router';\r\nimport { PreviewService } from '../../services/preview.service';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { SortEvent } from 'primeng/api';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { UpdateSchedulerSiteDesign, SiteLandingPageText, SiteLogoAndStyles, ClientInfo, SiteRequiredRegisField, ClinicsList } from '../../../../models/UpdateSchedulerSiteDesign';\r\nimport { SiteRequiredFields } from '../../../../JSON/SiteRequiredFields';\r\nimport { MaxImmunizers } from '../../../../JSON/MaxImmunizers';\r\nimport { MinImmunizers } from '../../../../JSON/MinImmunizers';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { SchedulerUserInfo } from '../../../../models/schedulerUserInfo';\r\nimport { AuthenticationService } from '../../../common/services/authentication.service';\r\nimport { EncryptDecrypt } from '../../../../models/encryptDecrypt';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { String } from 'typescript-string-operations';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { Table } from 'primeng/table';\r\n\r\n@Component({\r\n\tselector: 'app-corporate-scheduler',\r\n\ttemplateUrl: './corporate-scheduler.component.html',\r\n\tstyleUrls: ['./corporate-scheduler.component.css'],\r\n\tproviders: [PreviewService]\r\n})\r\n\r\n\r\n\r\nexport class CorporateSchedulerComponent implements OnInit {\r\n\r\n\tshowHints:boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) === 'yes') ? false : true;\r\n\tpageName: string = \"corporateScheduler\";\r\n\tcorporateSchedulerForm: FormGroup;\r\n\tcols: any[];\r\n\tindex: number = 0;\r\n\tsearchValue: string = '';\r\n\tcopyText: any;\r\n\tdate3: any;\r\n\tdispEncryptedLink: boolean = false;\r\n\tappointmentCols: any[];\r\n\tBannerColor: string;\r\n\tBannerTextColor: string;\r\n\tButtonBgColor: string;\r\n\tButtonTextColor: string;\r\n\tlandingPageHeaderText: string = '';\r\n\tlandingPageBodyText: string = '';\r\n\tlandingPageFooterText: string = '';\r\n\r\n\tlandingPageHeaderText_value: string = '';\r\n\tlandingPageBodyText_value: string = '';\r\n\tlandingPageFooterText_value: string = '';\r\n\r\n\tdomain: any;\r\n\tprotocol: any;\r\n\tport: any;\r\n\tcsTbl: any[];\r\n\tuserProfile: any;\r\n\tapptSchedulerEncLink: string;\r\n\tcopyApptTrackingEncLink: string;\r\n\taccessSchedulerEncryptedLink: any;\r\n\taccessSchedulerTrackerEncryptedLink: any;\r\n\tisApptSchedulerEncLink: boolean = false;\r\n\tisApptTrackingEncLink: boolean = false;\r\n\tcorporate_client_list: any;\r\n\ttbl_show: boolean = false;\r\n\tdefaultDate: Date = new Date();\r\n\tmaxDateValue: Date = new Date();\r\n\tminDateValue: Date = new Date();\r\n\tselectedDataList: any[] = [];\r\n\tsign_up_date: Date;\r\n\tsignUpDates = [];\r\n\tsignUpMaxDates = [];\r\n\tclient_id: any = \"\";\r\n\tscheduler_site_design: any;\r\n\ttab_index: any;\r\n\tselectedValues: boolean = true;\r\n\tencryptedSiteLink: boolean = false;\r\n\tencryptedClientApptTrackingLink: boolean = false;\r\n\r\n\t//@ViewChild('dtclinic') dataTableClinic: Paginator;\r\n\t@ViewChild('dtclinic') dataTableClinic: Table;\r\n\tscheduleTotalRecords: number;\r\n\tprivate scheduleSource: any = {};\r\n\tsiteSetUp: boolean = false;\r\n\trequiredFields = [];\r\n\tminImmunizers: any = \"1\";\r\n\tmaxImmunizers: any = \"3\";\r\n\tsignUpDate: any;\r\n\tmaxImmunizersList: any[] = [];\r\n\tminImmunizersList: any[] = [];\r\n\tmessage_text: string = \"\";\r\n\tsignupEndDate: any[] = [];\r\n\tclient_name: any;\r\n\tsiteStatus: any = \"1\";\r\n\twalgreensLogo: any = 1;\r\n\tclientLogo: any = null;\r\n\tclient_log_image: any = null;\r\n\tmaxImmunizersData: any;\r\n\tminImmunizersData: any;\r\n\tselectedMaxValue = [];\r\n\tselectedMinValue = [];\r\n\twalgreensLogoChecked: any;\r\n\tsiteSetUpSuccess: boolean = false;\r\n\tuploadedFileName: string = '';\r\n\tfiles: any;\r\n\timage_source: any;\r\n\tsetValue: any = \"1\";\r\n\tuploadFileClinet: boolean = false;\r\n\toverRideOption: boolean = false;\r\n\tfileExt: string[] = [\"JPG\", \"JPEG\", \"PNG\"];\r\n\ttemp_true: any[] = [];\r\n\ttemp_false: any[] = [];\r\n\tpagination_value: boolean = false;\r\n\tschedulerSiteDesign: UpdateSchedulerSiteDesign;\r\n\tconstructor(@Inject('Window') private win: Window, private spinner: NgxSpinnerService,\r\n\t\tprivate router: Router, private _fb: FormBuilder, @Inject(DOCUMENT) private document: any, private previewService: PreviewService, private authenticationService: AuthenticationService,private message_service:MessageServiceService) {\r\n\t}\r\n\r\n\t@ViewChild('appointmenttbl')\r\n\tprivate table: Table;\r\n\r\n\tngOnInit() {\r\n\t\tthis.image_source = environment.image_file_path;\r\n\t\t//this.walgreensLogo = 1;\r\n\t\tthis.selectedDataList = [];\r\n\t\tlet today = new Date();\r\n\t\tvar temp_date = new Date((new Date(today.getFullYear(), today.getMonth(), today.getDate())).setDate(today.getDate() - 1));\r\n\t\tthis.minDateValue = new Date(temp_date.getFullYear(), temp_date.getMonth(), temp_date.getDate(), 8, 0, 0);\r\n\t\tthis.userProfile = SessionDetails.GetUserProfile();\r\n\t\tthis.corporateSchedulerForm = this._fb.group({\r\n\t\t\tfirstNameRequired: [0, null],\r\n\t\t\tfirstNameVisible: [1, null],\r\n\t\t\tmiddleNameRequired: [0, null],\r\n\t\t\tmiddleNameVisible: [0, null],\r\n\t\t\tlastNameRequired: [0, null],\r\n\t\t\tlastNameVisible: [1, null],\r\n\t\t\temployeeIdRequired: [0, null],\r\n\t\t\temployeeIdVisible: [1, null],\r\n\t\t\tEmailRequired: [1, null],\r\n\t\t\tEmailVisible: [1, null]\r\n\t\t\t// phoneRequired: [1, null],\r\n\t\t\t// phoneVisible: [1, null],\r\n\t\t\t// genderRequired: [1, null],\r\n\t\t\t// genderVisible: [1, null],\r\n\t\t\t// DOBRequired: [1, null],\r\n\t\t\t// DOBVisible: [1, null],\r\n\t\t\t// address1Required: [1, null],\r\n\t\t\t// address1Visible: [1, null],\r\n\t\t\t// address2Required: [1, null],\r\n\t\t\t// address2Visible: [1, null],\r\n\t\t\t// cityRequired: [1, null],\r\n\t\t\t// cityVisible: [1, null],\r\n\t\t\t// stateRequired: [1, null],\r\n\t\t\t// stateVisible: [1, null],\r\n\t\t\t// zipRequired: [1, null],\r\n\t\t\t// zipVisible: [1, null],\r\n\t\t});\r\n\t\t// this.previewService.change.subscribe(BannerColor => {\r\n\t\t// \tthis.BannerColor = BannerColor;\r\n\t\t// });\r\n\r\n\t\tthis.cols = [\r\n\t\t\t{ field: 'clientName', header: 'Clinic' },\r\n\t\t\t{ field: 'clinicAddress', header: 'Location' },\r\n\t\t\t{ field: 'clinicDate', header: 'Date' },\r\n\t\t\t{ field: 'clinicStartTime', header: 'Start Time' },\r\n\t\t\t{ field: 'clinicEndTime', header: 'End Time' },\r\n\t\t\t{ field: 'clinicStoreId', header: 'Store' },\r\n\t\t\t{ field: 'estimatedQuantity', header: 'Est Vol' },\r\n\t\t\t{ field: 'changedImmunizers', header: 'Min Immunizers' },\r\n\t\t\t{ field: 'changedMaxImmunizers', header: 'Max Immunizers' },\r\n\t\t\t{ field: 'signupEndDate', header: 'Sign-up End Date' }\r\n\t\t];\r\n\r\n\t\tthis.appointmentCols = [\r\n\t\t\t{ field: 'clinic', header: 'Clinic' },\r\n\t\t\t{ field: 'location', header: 'Location' },\r\n\t\t\t{ field: 'apptdate', header: 'Appt Date' },\r\n\t\t\t{ field: 'appttime', header: 'Appt Time' },\r\n\t\t\t{ field: 'timeslot', header: 'Time Slot' },\r\n\t\t\t{ field: 'name', header: 'Name' },\r\n\t\t\t{ field: 'employeeid', header: 'Employee ID' },\r\n\t\t\t{ field: 'confirmationid', header: 'Confirmation ID' }\r\n\t\t];\r\n\r\n\r\n\t\tthis.domain = this.document.location.hostname;\r\n\t\tthis.protocol = this.document.location.protocol;\r\n\t\tthis.port = this.document.location.port;\r\n\t\t//this.getCorporateSchedularClinics();\r\n\t\tthis.getCorporateClientList();\r\n\r\n\t}\r\n\tSort(value) {\r\n\r\n\t\tif (value == 'clinic' || value == 'location' || value == 'clinicDate')\r\n\t\t\treturn value;\r\n\t\telse\r\n\t\t\treturn '';\r\n\t}\r\n\r\n\tgetCorporateSchedularClinics(client_pk, start_number) {\r\n\t\tthis.pagination_value = false;\r\n\t\tthis.maxImmunizersList = [];\r\n\t\tthis.minImmunizersList = [];\r\n\t\tthis.temp_true = [];\r\n\t\tthis.temp_false = [];\r\n\t\tthis.selectedMaxValue = [];\r\n\t\tthis.selectedMinValue = []\r\n\t\tthis.selectedDataList = [];\r\n\t\tthis.scheduleSource = [];\r\n\t\tthis.signUpDates = [];\r\n\t\tthis.signUpMaxDates = [];\r\n\t\tlet min_date_Value;\r\n\t\tthis.spinner.show();\r\n\t\tthis.previewService.getCorporateSchedulerClinics(client_pk).subscribe((data:any) => {\r\n\t\t\tthis.scheduleSource = data;\r\n\t\t\tthis.maxImmunizersData = MaxImmunizers;\r\n\t\t\tthis.minImmunizersData = MinImmunizers;\r\n\r\n\t\t\tthis.csTbl = data.clinicList;//.slice(start_number, (start_number + 10));\r\n\t\t\tvar list = [];\r\n\t\t\tthis.scheduleSource.clinicList.filter(function (item) {\r\n\t\t\t\tif (item.isScheduled && !item.isCanceled) {\r\n\t\t\t\t\tlist.push(item);\r\n\t\t\t\t}\r\n\t\t\t\titem.clinicStartTime = item.clinicStartTime.replace(' AM', 'AM').replace(' PM', 'PM');\r\n\t\t\t\titem.clinicEndTime = item.clinicEndTime.replace(' AM', 'AM').replace(' PM', 'PM');\r\n\t\t\t}\r\n\t\t\t);\r\n\t\t\tthis.selectedDataList = list;\r\n\t\t\tthis.csTbl.forEach(item => {\r\n\t\t\t\tthis.selectedMaxValue.push((item.maxImmunizers == -1 || item.maxImmunizers == null) ? 3 : item.maxImmunizers);\r\n\t\t\t\tthis.selectedMinValue.push(item.immunizers);\r\n\t\t\t});\r\n\r\n\t\t\tthis.scheduleTotalRecords = data.clinicList.length;\r\n\t\t\tif (this.csTbl.length > 0)\r\n\t\t\t\tthis.tbl_show = true;\r\n\t\t\tif (this.dataTableClinic !== undefined) {\r\n\t\t\t\tthis.dataTableClinic.first = 0;\r\n\t\t\t\tthis.dataTableClinic.paginator;\r\n\t\t\t}\r\n\t\t\tfor (let i = 0; i < this.csTbl.length; i++) {\r\n\r\n\t\t\t\tif (this.csTbl[i].signupEndDate === null) {\r\n\t\t\t\t\tmin_date_Value = new Date(this.csTbl[i].clinicDate);\r\n\t\t\t\t\tthis.signUpDates.push(new Date(min_date_Value - 1));\r\n\t\t\t\t\tthis.signUpMaxDates.push(new Date(min_date_Value - 1));\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tmin_date_Value = new Date(this.csTbl[i].signupEndDate);\r\n\t\t\t\t\tlet max_date_value: any = new Date(this.csTbl[i].clinicDate);\r\n\t\t\t\t\tthis.signUpDates.push(min_date_Value);\r\n\t\t\t\t\tthis.signUpMaxDates.push(new Date(max_date_value - 1));\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t\tthis.spinner.hide();\r\n\r\n\t\t});\r\n\r\n\t}\r\n\tgetCorporateClientList() {\r\n\t\tthis.previewService.getCorporateClientList().subscribe((data:any) => {\r\n\t\t\tthis.corporate_client_list = data.corporateClientList;\r\n\t\t});\r\n\r\n\t}\r\n\r\n\r\n\tresetToDefault() {\r\n\t\t// var data = SessionDetails.getSchedulerSiteSetUpData();\r\n\t\t// if (data != null && this.client_id != \"\") {\r\n\t\t// \tthis.BannerColor = data.siteLogoAndStyles.bannerColor;\r\n\t\t// \tthis.BannerTextColor = data.siteLogoAndStyles.bannerTextColor;\r\n\t\t// \tthis.ButtonBgColor = data.siteLogoAndStyles.buttonColor;\r\n\t\t// \tthis.ButtonTextColor = data.siteLogoAndStyles.buttonTextColor;\r\n\t\t// }\r\n\t\t// else {\r\n\t\tthis.defautLogoValues();\r\n\t\t//}\r\n\t}\r\n\r\n\tdisplayFieldCss(hName: string) {\r\n\t\tif (hName == 'Location') {\r\n\t\t\treturn 'wth250 underline';\r\n\t\t}\r\n\t\tif (hName == 'Date') {\r\n\t\t\treturn 'underline';\r\n\t\t}\r\n\t\tif (hName == 'Sign-up End Date') {\r\n\t\t\treturn 'wth120 mediawth120';\r\n\t\t}\r\n\t\tif (hName == 'Clinic') {\r\n\t\t\treturn 'wth120 underline';\r\n\t\t}\r\n\t\tif (hName == 'Est Vol' || hName == 'Store') {\r\n\t\t\treturn 'mW40';\r\n\t\t}\r\n\t\tif (hName == 'Sign-up End Date') {\r\n\t\t\treturn 'mW80';\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tclFld() {\r\n\t\tthis.searchValue = '';\r\n\t\tthis.table.reset();\r\n\t}\r\n\thandleChange(e) {\r\n\t\tif(e>=0) {\r\n\t\t\tthis.pageNameChanger(e);\r\n\t\t\t\tsetTimeout(()=>{ \r\n\t\t\t\t\tthis.message_service.setShowTabbedHints(this.showHints);\r\n\t\t\t\t}, 200);\r\n\t\t}\r\n\t\telse{\r\n\t\t//this.selectedDataList = [];\r\n\t\tthis.index = this.tab_index = e.index;\r\n\t\t// if (this.index == 1) {\r\n\t\t// \tthis.getSchedulerSiteDesign();\r\n\t\t// }\r\n\t\t// if (this.index == 2) {\r\n\t\t// \tthis.getSchedulerSiteDesign();\r\n\t\t// }\r\n\t\r\n\t\tthis.pageNameChanger(this.index);\r\n\t\t\tsetTimeout(()=>{ \r\n\t\t\t\tthis.message_service.setShowTabbedHints(this.showHints);\r\n\t\t\t}, 200);\r\n\t\t}\r\n\t}\r\n\tngAfterViewInit(){ \r\n\t\tthis.message_service.setShowTabbedHints(this.showHints);\r\n\t}\r\n\topenNext() {\r\n\t\tthis.index = this.index + 1;\r\n\t\tthis.handleChange(this.index);\r\n\t}\r\n\topenPrev() {\r\n\t\tthis.index = this.index - 1;\r\n\t\tthis.handleChange(this.index);\r\n\t}\r\n\r\n\tpageNameChanger(e){\r\n\t\tswitch (e) {\r\n\t\t\tcase 0:\r\n\t\t\t\tthis.pageName = \"corporateScheduler\";\r\n\t\t\t\tbreak;\r\n\t\t\tcase 1:\r\n\t\t\t\tthis.pageName = \"corporateSchedulerLogoNStyle\";\r\n\t\t\t\tbreak;\r\n\t\t\tcase 2:\r\n\t\t\t\tthis.pageName = \"corporateSchedulerLandingPage\"\r\n\t\t\t\tbreak;\r\n\t\t\tcase 3:\r\n\t\t\t\tthis.pageName = \"corporateSchedulerFormFields\"\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tthis.pageName = \"corporateScheduler\"\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\t\r\n\r\n\tresetToDefaultText(text: string) {\r\n\t\tthis.defaultTextValues(text);\r\n\t}\r\n\ttoHTML(input): any {\r\n\t\treturn new DOMParser().parseFromString(input, \"text/html\").documentElement.textContent;\r\n\t}\r\n\topenPreview() {\r\n\t\tvar preview_info = {};\r\n\t\tpreview_info[\"LogoFileName\"] = this.client_log_image;\r\n\t\tpreview_info[\"BannerTextColor\"] = this.BannerTextColor;\r\n\t\tpreview_info[\"BannerColor\"] = this.BannerColor;\r\n\t\tpreview_info[\"ButtonBgColor\"] = this.ButtonBgColor;\r\n\t\tpreview_info[\"ButtonTextColor\"] = this.ButtonTextColor;\r\n\t\tpreview_info[\"BodyText\"] = this.landingPageBodyText.replace(/\\n/g, \"<br/>\");\r\n\t\tpreview_info[\"FooterText\"] = this.landingPageFooterText.replace(/\\n/g, \"<br/>\").replace(//g, \">\");\r\n\t\tpreview_info[\"HeaderText\"] = this.landingPageHeaderText.replace(/\\n/g, \"<br/>\");\r\n\t\tsessionStorage[\"previewInfo\"] = JSON.stringify(preview_info);\r\n\r\n\t\tlet path = this.protocol + \"//\" + this.domain + ((this.port) ? \":\" + this.port : \"\");\r\n\t\twindow.open(path + '/corporateSchedulerPreview', '_blank', 'location=yes,height=660,width=800,scrollbars=yes,status=yes');\r\n\t}\r\n\topenLandingPage() {\r\n\t\tlet path = this.protocol + \"//\" + this.domain + ((this.port) ? \":\" + this.port : \"\");\r\n\t\twindow.open(path + '/schedulerLanding', '_blank', 'location=yes,height=660,width=800,scrollbars=yes,status=yes');\r\n\t}\r\n\r\n\tshowEncryptedLinkDlg(ptype: any) {\r\n\t\tif (ptype == 'Tracking') {\r\n\t\t\tthis.dispEncryptedLink = true;\r\n\t\t\tthis.isApptTrackingEncLink = true;\r\n\t\t\tthis.isApptSchedulerEncLink = false;\r\n\t\t}\r\n\t\tif (ptype == 'Scheduler') {\r\n\t\t\tthis.dispEncryptedLink = true;\r\n\t\t\tthis.isApptSchedulerEncLink = true;\r\n\t\t\tthis.isApptTrackingEncLink = false;\r\n\t\t}\r\n\t}\r\n\tcopyEncryptedLink(linkText) {\r\n\t\tthis.copyText = document.getElementById(linkText);\r\n\t\tthis.copyText.select();\r\n\t\tdocument.execCommand(\"copy\");\r\n\t}\r\n\tnoRequireOptionChanged(event, checked: boolean) {\r\n\t\tthis.corporateSchedulerForm.controls[event.target.attributes.formcontrolname.nodeValue.replace('Required', 'Visible')].setValue(1);\r\n\t}\r\n\tClientChanged(client_pk) {\r\n\t\tif (client_pk !== \"\") {\r\n\t\t\tthis.uploadedFileName = '';\r\n\t\t\tthis.client_id = client_pk;\r\n\t\t\tthis.client_name = this.corporate_client_list.filter(item => item.pk === Number(this.client_id))[0].clientName;\r\n\t\t\tthis.signUpDates = [];\r\n\t\t\tthis.signUpMaxDates = [];\r\n\t\t\tthis.csTbl = [];\r\n\t\t\t// make required fields null\r\n\t\t\tif (this.schedulerSiteDesign) {\r\n\t\t\t\tthis.schedulerSiteDesign.siteRequiredRegisFields = [];\r\n\t\t\t}\r\n\t\t\tthis.getCorporateSchedularClinics(client_pk, 0);\r\n\r\n\t\t\tthis.getSchedulerSiteDesign();\r\n\t\t\tif (this.index !== 0) {\r\n\t\t\t\tthis.index = 0;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tgetSchedulerSiteDesign() {\r\n\r\n\t\tif (this.client_id !== undefined) {\r\n\t\t\tthis.siteStatus = \"1\";\r\n\t\t\tthis.defaultLandingValues();\r\n\t\t\tthis.defautLogoValues();\r\n\t\t\tthis.encryptedSiteLink = false;\r\n\t\t\tthis.encryptedClientApptTrackingLink = false;\r\n\t\t\t//this.clientLogo = null;\r\n\t\t\tthis.client_log_image = null;\r\n\t\t\tthis.previewService.getSchedulerSiteDesign(this.client_id).subscribe((data:any) => {\r\n\t\t\t\tthis.scheduler_site_design = data;\r\n\t\t\t\tthis.accessSchedulerEncryptedLink = this.scheduler_site_design.clientInfo.encryptedSiteLink;\r\n\t\t\t\tthis.accessSchedulerTrackerEncryptedLink = this.scheduler_site_design.clientInfo.encryptedClientApptTrackingLink;\r\n\t\t\t\t//SessionDetails.setSchedulerSiteSetUpData(data);\r\n\t\t\t\tthis.siteStatus = (this.scheduler_site_design.clientInfo.siteStatus || this.scheduler_site_design.clientInfo.siteStatus === null) ? \"1\" : \"0\";\r\n\t\t\t\tif (this.scheduler_site_design.clientInfo.enryptedClientKey !== null) {\r\n\t\t\t\t\tthis.encryptedSiteLink = true;\r\n\r\n\t\t\t\t\tthis.apptSchedulerEncLink = this.win.location.protocol + \"//\" + this.win.location.hostname + \"/ss\" + \"/\" + this.scheduler_site_design.clientInfo.enryptedClientKey;// this.scheduler_site_design.clientInfo.enryptedClientKey;\r\n\t\t\t\t}\r\n\t\t\t\tif (this.scheduler_site_design.clientInfo.encryptedClientApptTrackingLink !== null) {\r\n\t\t\t\t\tthis.encryptedClientApptTrackingLink = true;\r\n\t\t\t\t\tthis.copyApptTrackingEncLink = this.win.location.protocol + \"//\" + this.win.location.hostname + \"/ss\" + \"/\" + this.scheduler_site_design.clientInfo.encryptedClientApptTrackingLink;\r\n\t\t\t\t}\r\n\t\t\t\tif (this.scheduler_site_design.clientInfo.enryptedClientKey !== null) {\r\n\t\t\t\t\tthis.BannerColor = data.siteLogoAndStyles.bannerColor;\r\n\t\t\t\t\tthis.BannerTextColor = data.siteLogoAndStyles.bannerTextColor;\r\n\t\t\t\t\tthis.ButtonBgColor = data.siteLogoAndStyles.buttonColor;\r\n\t\t\t\t\tthis.ButtonTextColor = data.siteLogoAndStyles.buttonTextColor;\r\n\t\t\t\t\t//\tthis.walgreensLogo = data.siteLogoAndStyles.mastheadLogo;\r\n\t\t\t\t\tthis.clientLogo = data.siteLogoAndStyles.mastheadLogo;\r\n\t\t\t\t\tthis.client_log_image = this.clientLogo === \"Client Logo\" ? data.siteLogoAndStyles.logoFile : null;\r\n\t\t\t\t\t//\"Walgreens Logo\" : \"Client Logo\"\t\t\t\t\t\r\n\t\t\t\t\tif (this.clientLogo === \"Client Logo\") {\r\n\t\t\t\t\t\tthis.image_source = environment.API_URL + \"/ClientLogos/\" + this.client_log_image;\r\n\t\t\t\t\t\tthis.setValue = \"2\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (this.clientLogo === \"Walgreens Logo\") {\r\n\t\t\t\t\t\tthis.image_source = environment.image_file_path;\r\n\t\t\t\t\t\tthis.setValue = \"1\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.landingPageBodyText = this.decodeHTML(data.siteLandingPageText.bodyText).replace(//mg, \"\\n\").replace(\"<\", \"<\").replace(\">\", \">\");\r\n\t\t\t\t\tthis.landingPageFooterText = this.decodeHTML(data.siteLandingPageText.footerText).replace(//mg, \"\\n\").replace(\"<\", \"<\").replace(\">\", \">\");\r\n\t\t\t\t\tthis.landingPageHeaderText = this.decodeHTML(data.siteLandingPageText.headerText).replace(//mg, \"\\n\").replace(\"<\", \"<\").replace(\">\", \">\");\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.image_source = environment.image_file_path;\r\n\t\t\t\t\tthis.setValue = \"1\";\r\n\t\t\t\t}\r\n\t\t\t\tif (data.siteRequiredRegisFieldList.length > 0) {\r\n\t\t\t\t\tthis.corporateSchedulerForm = this._fb.group({\r\n\t\t\t\t\t\tfirstNameRequired: [data.siteRequiredRegisFieldList[0].isFieldRequired, null],\r\n\t\t\t\t\t\tfirstNameVisible: [data.siteRequiredRegisFieldList[0].isFieldVisible, null],\r\n\t\t\t\t\t\tmiddleNameRequired: [data.siteRequiredRegisFieldList[1].isFieldRequired, null],\r\n\t\t\t\t\t\tmiddleNameVisible: [data.siteRequiredRegisFieldList[1].isFieldVisible, null],\r\n\t\t\t\t\t\tlastNameRequired: [data.siteRequiredRegisFieldList[2].isFieldRequired, null],\r\n\t\t\t\t\t\tlastNameVisible: [data.siteRequiredRegisFieldList[2].isFieldVisible, null],\r\n\t\t\t\t\t\temployeeIdRequired: [data.siteRequiredRegisFieldList[3].isFieldRequired, null],\r\n\t\t\t\t\t\temployeeIdVisible: [data.siteRequiredRegisFieldList[3].isFieldVisible, null],\r\n\t\t\t\t\t\tEmailRequired: [data.siteRequiredRegisFieldList[4].isFieldRequired, null],\r\n\t\t\t\t\t\tEmailVisible: [data.siteRequiredRegisFieldList[4].isFieldVisible, null]\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.requiredFields.push(this.corporateSchedulerForm.value);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.corporateSchedulerForm = this._fb.group({\r\n\t\t\t\t\t\tfirstNameRequired: [0, null],\r\n\t\t\t\t\t\tfirstNameVisible: [1, null],\r\n\t\t\t\t\t\tmiddleNameRequired: [0, null],\r\n\t\t\t\t\t\tmiddleNameVisible: [0, null],\r\n\t\t\t\t\t\tlastNameRequired: [0, null],\r\n\t\t\t\t\t\tlastNameVisible: [1, null],\r\n\t\t\t\t\t\temployeeIdRequired: [0, null],\r\n\t\t\t\t\t\temployeeIdVisible: [1, null],\r\n\t\t\t\t\t\tEmailRequired: [1, null],\r\n\t\t\t\t\t\tEmailVisible: [1, null]\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.requiredFields.push(this.corporateSchedulerForm.value);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tdecodeHTML(html) {\r\n\t\tif (html !== null) {\r\n\t\t\tvar txt = document.createElement('textarea');\r\n\t\t\ttxt.innerHTML = html;\r\n\t\t\treturn txt.value;\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t};\r\n\r\n\tdefaultTextValues(text) {\r\n\t\tif (text === 'landingPageBodyText')\r\n\t\t\tthis.landingPageBodyText = this.decodeHTML(\"There's one thing we know about flu season and that is it's unpredictable.<br/><br/>That's why the CDC and other health organizations widely recommend that everyone 6 months of age and older get a flu shot every year as the best protection possible against the flu.<br/><br/>Thank you for taking this important step in protecting both yourself as well as those around you from the adverse effect of the flu.<br/><br/>Please use this page to create your appointment for your upcoming flu clinic.\").replace(//mg, \"\\n\").replace(\"<\", \"<\").replace(\">\", \">\");\r\n\t\tif (text === 'landingPageFooterText')\r\n\t\t\tthis.landingPageFooterText = this.decodeHTML(\"All participants are recommended to wear a face covering, comfortable clothing and a short sleeve shirt on the day of the clinic.\\n\\nIn addition, it is required for us to provide you with the Vaccine Information Statement (VIS) prior to receiving your vaccination.  Please review the VIS by clicking here\").replace(//mg, \"\\n\").replace(\"<\", \"<\").replace(\">\", \">\");\r\n\t\tif (text === 'landingPageHeaderText')\r\n\t\t\tthis.landingPageHeaderText = this.decodeHTML(\"Walgreens Immunization Clinic\").replace(//mg, \"\\n\").replace(\"<\", \"<\").replace(\">\", \">\");\r\n\t}\r\n\tdefaultLandingValues() {\r\n\r\n\t\tthis.landingPageBodyText = this.decodeHTML(\"There's one thing we know about flu season and that is it's unpredictable.<br/><br/>That's why the CDC and other health organizations widely recommend that everyone 6 months of age and older get a flu shot every year as the best protection possible against the flu.<br/><br/>Thank you for taking this important step in protecting both yourself as well as those around you from the adverse effect of the flu.<br/><br/>Please use this page to create your appointment for your upcoming flu clinic.\").replace(//mg, \"\\n\").replace(\"<\", \"<\").replace(\">\", \">\");\r\n\t\tthis.landingPageFooterText = this.decodeHTML(\"Please wear comfortable clothing and a short sleeve shirt on the day of the clinic.\\n\\nIn addition, it is required for us to provide you with the Vaccine Information Statement (VIS) prior to receiving your vaccination.  Please review the VIS by clicking here\").replace(//mg, \"\\n\").replace(\"<\", \"<\").replace(\">\", \">\");\r\n\t\tthis.landingPageHeaderText = this.decodeHTML(\"Walgreens Immunization Clinic\").replace(//mg, \"\\n\").replace(\"<\", \"<\").replace(\">\", \">\");\r\n\t}\r\n\r\n\tdefautLogoValues() {\r\n\t\tthis.BannerColor = '#02a0c0';\r\n\t\tthis.BannerTextColor = '#FFFFFF';\r\n\t\tthis.ButtonBgColor = '#02a0c0';\r\n\t\tthis.ButtonTextColor = '#FFFFFF';\r\n\t\t//this.walgreensLogo = \"walgreens_1901_logo.png\";\r\n\t\t//this.clientLogo = null;\r\n\t}\r\n\t// loadDataLazy(event) {\r\n\t// \tthis.selectedMaxValue = [];\r\n\t// \tthis.selectedMinValue = [];\r\n\t// \t//this.selectedDataList = [];\r\n\t// \tthis.signUpDates = [];\r\n\t// \tthis.signUpMaxDates = [];\r\n\t// \tlet min_date_Value;\r\n\t// \tvar curr_page_rec_count = event.first + Number(event.rows);\r\n\t// \tvar page_to_get = curr_page_rec_count / 50;\r\n\t// \tpage_to_get = Math.ceil(page_to_get);\r\n\t// \tvar start_number = event.first;\r\n\t// \tvar source_obj: any = {};\r\n\t// \tsource_obj = this.scheduleSource;\r\n\t// \tthis.csTbl = this.scheduleSource.clinicList.slice(start_number, (start_number + Number(event.rows)));\r\n\t// \tvar list = [];\r\n\t// \tthis.csTbl.filter(function (item) {\r\n\t// \t\tif (item.isScheduled == true) {\r\n\t// \t\t\tlist.push(item);\r\n\t// \t\t}\r\n\t// \t}\r\n\t// \t);\r\n\t// \tfor (let i = 0; i < this.csTbl.length; i++) {\r\n\r\n\t// \t\tif (this.csTbl[i].signupEndDate == null) {\r\n\t// \t\t\tmin_date_Value = new Date(this.csTbl[i].clinicDate);\r\n\t// \t\t\tthis.signUpDates.push(new Date(min_date_Value - 1));\r\n\t// \t\t\tthis.signUpMaxDates.push(new Date(min_date_Value - 1));\r\n\t// \t\t}\r\n\t// \t\telse {\r\n\t// \t\t\tmin_date_Value = new Date(this.csTbl[i].signupEndDate);\r\n\t// \t\t\tlet max_date_value: any = new Date(this.csTbl[i].clinicDate);\r\n\t// \t\t\tthis.signUpDates.push(min_date_Value);\r\n\t// \t\t\tthis.signUpMaxDates.push(new Date(max_date_value - 1));\r\n\t// \t\t}\r\n\r\n\t// \t}\r\n\r\n\t// \tvar temp_var = [];\r\n\t// \tvar temp_true = [];\r\n\t// \tvar temp_list = this.selectedDataList;\r\n\t// \t// var list_data = this.selectedDataList;\r\n\t// \t// list.forEach(function (item) {\r\n\t// \t// \tvar index = list_data.findIndex(it => it.clinicPk === item.clinicPk);\r\n\t// \t// \tif (index == -1) {\r\n\t// \t// \t\tlist_data.push(item);\r\n\t// \t// \t}\r\n\t// \t// }\r\n\t// \t// );\r\n\t// \t// this.selectedDataList = list_data;\r\n\r\n\t// \tthis.csTbl.forEach(item => {\r\n\t// \t\tthis.selectedMaxValue.push((item.maxImmunizers == -1 || item.maxImmunizers == null) ? 3 : item.maxImmunizers);\r\n\t// \t\tthis.selectedMinValue.push(item.immunizers);\r\n\t// \t});\r\n\r\n\r\n\t// \t//}\r\n\t// }\r\n\tokClicked() {\r\n\t\tthis.siteSetUp = false;\r\n\t}\r\n\r\n\tSave() {\r\n\t\tvar validation: boolean = true;\r\n\t\tif (this.client_id !== \"\") {\r\n\t\t\t//\"Walgreens Logo\" : \"Client Logo\"\r\n\t\t\tif (this.setValue == \"2\" && (this.client_log_image == null)) {\r\n\t\t\t\tthis.uploadFileClinet = true;\r\n\t\t\t\tthis.message_text = \"Logo & Styles Error: Please upload a client logo file or select the default Walgreens logo.\";\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tthis.spinner.show();\r\n\t\t\tvar scheduler_site_design = new UpdateSchedulerSiteDesign();\r\n\t\t\tvar siteLandingPageText = new SiteLandingPageText();\r\n\t\t\tvar siteLogoAndStyles = new SiteLogoAndStyles();\r\n\r\n\t\t\t//Assigning \r\n\t\t\tsiteLandingPageText.bodyText = this.landingPageBodyText.replace(/\\n/g, \"<br/>\");\r\n\t\t\tsiteLandingPageText.footerText = this.landingPageFooterText.replace(/\\n/g, \"<br/>\").replace(//g, \">\");\r\n\t\t\tsiteLandingPageText.headerText = this.landingPageHeaderText.replace(/\\n/g, \"<br/>\");\r\n\t\t\tscheduler_site_design.siteLandingPageText = siteLandingPageText;\r\n\r\n\t\t\tsiteLogoAndStyles.bannerColor = this.BannerColor;\r\n\t\t\tsiteLogoAndStyles.bannerTextColor = this.BannerTextColor;\r\n\t\t\tsiteLogoAndStyles.buttonColor = this.ButtonBgColor;\r\n\t\t\tsiteLogoAndStyles.buttonTextColor = this.ButtonTextColor;\r\n\t\t\tsiteLogoAndStyles.logoFile = this.setValue == 1 ? \"walgreens_email_logo.png\" : this.client_log_image;\r\n\t\t\tsiteLogoAndStyles.mastheadLogo = this.setValue == 1 ? \"Walgreens Logo\" : \"Client Logo\";\r\n\t\t\tsiteLogoAndStyles.alternateText = \"walgreens\";\r\n\r\n\t\t\tscheduler_site_design.siteLogoAndStyles = siteLogoAndStyles;\r\n\r\n\t\t\t// clientInfo.clientId = this.client_id;\r\n\t\t\t// clientInfo.encryptedClientApptTrackingLink = null;\r\n\t\t\t// clientInfo.encryptedSiteLink = null;\r\n\t\t\t// clientInfo.encryptedClientKey = null;\r\n\t\t\t// clientInfo.clientName = this.client_name;\r\n\t\t\t// clientInfo.siteStatus = this.client_id;\r\n\t\t\tscheduler_site_design.clientInfo = this.scheduler_site_design.clientInfo;\r\n\t\t\tscheduler_site_design.clientInfo.siteStatus = Number(this.siteStatus);\r\n\r\n\t\t\tvar siteRequiredFields1 = new Array();\r\n\t\t\t//Required Fields\r\n\t\t\tif (this.scheduler_site_design.siteRequiredRegisFieldList.length <= 0) {\r\n\t\t\t\tscheduler_site_design.siteRequiredRegisFields = SiteRequiredFields;\r\n\t\t\t\tthis.scheduler_site_design.siteRequiredRegisFieldList = SiteRequiredFields;\r\n\t\t\t}\r\n\t\t\tif (this.scheduler_site_design.siteRequiredRegisFieldList.length > 0) {\r\n\t\t\t\tthis.scheduler_site_design.siteRequiredRegisFieldList.forEach(item => {\r\n\t\t\t\t\tvar siteRequiredFields = new SiteRequiredRegisField();\r\n\t\t\t\t\tsiteRequiredFields.displayName = item.displayName;\r\n\t\t\t\t\tsiteRequiredFields.fieldName = item.fieldName;\r\n\t\t\t\t\tif (siteRequiredFields.fieldName !== null)\r\n\t\t\t\t\t\tsiteRequiredFields.isFieldRequired = this.corporateSchedulerForm.controls[item.fieldName.concat(\"Required\")].value ? 1 : 0;// this.scheduler_site_design.siteRequiredRegisFieldList[i].isFieldVisible;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tsiteRequiredFields.isFieldRequired = 0;\r\n\t\t\t\t\tif (siteRequiredFields.displayName !== null)\r\n\t\t\t\t\t\tsiteRequiredFields.isFieldVisible = this.corporateSchedulerForm.controls[item.fieldName.concat(\"Visible\")].value ? 1 : 0;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tsiteRequiredFields.isFieldVisible = 0;\r\n\t\t\t\t\tsiteRequiredFields1.push(siteRequiredFields);\r\n\t\t\t\t});\r\n\t\t\t\tscheduler_site_design.siteRequiredRegisFields = siteRequiredFields1;\r\n\t\t\t}\r\n\r\n\t\t\t//ClinicsList\r\n\t\t\t//var clinicList = new Array();\r\n\r\n\t\t\tvar temp_var = [];\r\n\t\t\tvar temp_true = [];\r\n\t\t\tvar all_data = [];\r\n\t\t\tvar temp_list = this.selectedDataList;\r\n\t\t\t// this.scheduleSource.clinicList.filter(function (item) {\r\n\t\t\t// \tvar temp = temp_list.filter(function (inner_item) {\r\n\t\t\t// \t\tif (inner_item.clinicPk == item.clinicPk) {\r\n\t\t\t// \t\t\tvar index1 = all_data.findIndex(it => it.clinicPk === item.clinicPk);\r\n\t\t\t// \t\t\tif (index1 == -1) {\r\n\t\t\t// \t\t\t\tall_data.push(item);\r\n\t\t\t// \t\t\t}\r\n\t\t\t// \t\t}\r\n\t\t\t// \t});\r\n\t\t\t// \tif (temp.length == 0 && item.isScheduled) {\r\n\t\t\t// \t\tvar index1 = all_data.findIndex(it => it.clinicPk === item.clinicPk);\r\n\t\t\t// \t\tif (index1 == -1) {\r\n\t\t\t// \t\t\tall_data.push(item);\r\n\t\t\t// \t\t}\r\n\r\n\t\t\t// \t}\r\n\t\t\t// });\r\n\t\t\t//temp_list = all_data;\r\n\t\t\tthis.scheduleSource.clinicList.filter(function (item) {\r\n\t\t\t\tvar temp = temp_list.filter(function (inner_item) {\r\n\t\t\t\t\tif (inner_item.clinicPk == item.clinicPk) {\r\n\t\t\t\t\t\t// if (temp == undefined && item.isScheduled == false) {\r\n\t\t\t\t\t\t// \t//item.isScheduled = false;\r\n\t\t\t\t\t\t// \t//temp_true.push(item);\r\n\t\t\t\t\t\t// }\r\n\t\t\t\t\t\tinner_item.isScheduled = true;\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t});\r\n\t\t\t\tif (temp.length == 0 && item.isScheduled) {\r\n\t\t\t\t\titem.isScheduled = false;\r\n\t\t\t\t\ttemp_var.push(item);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\ttemp_var.forEach(item => {\r\n\t\t\t\tthis.selectedDataList.push(item);\r\n\t\t\t});\r\n\t\t\tvar clinic_list = [];\r\n\t\t\tif (this.selectedDataList.length > 0) {\r\n\t\t\t\tscheduler_site_design.clinicsList = this.selectedDataList.filter(item => item.isStoreConfirmed);\r\n\t\t\t\tscheduler_site_design.clinicsList.forEach(element => {\r\n\t\t\t\t\tlet min_date_Value;\r\n\t\t\t\t\tmin_date_Value = new Date(element.clinicDate);\r\n\t\t\t\t\tthis.maxImmunizers = this.maxImmunizersList.filter(item => item.clinicPk == element.clinicPk);\r\n\t\t\t\t\tthis.minImmunizers = this.minImmunizersList.filter(item => item.clinicPk == element.clinicPk);\r\n\t\t\t\t\tthis.signUpDate = this.signupEndDate.filter(item => item.clinicPk == element.clinicPk);\r\n\t\t\t\t\telement.maxImmunizers = Number(this.maxImmunizers.length > 0 ? this.maxImmunizers[0].max_imm : (element.maxImmunizers == -1 || element.maxImmunizers == null) ? 3 : element.maxImmunizers);\r\n\t\t\t\t\telement.immunizers = Number(this.minImmunizers.length > 0 ? this.minImmunizers[0].min_imm : element.immunizers);\r\n\t\t\t\t\tif (element.immunizers > element.maxImmunizers) {\r\n\t\t\t\t\t\tthis.spinner.hide();\r\n\t\t\t\t\t\tthis.message_text = \"Min Immunizers should not exceed Max Immunizers\";\r\n\t\t\t\t\t\tthis.uploadFileClinet = true;\r\n\t\t\t\t\t\tvalidation = false;\r\n\t\t\t\t\t\treturn;\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\telement.signupEndDate = this.signUpDate.length > 0 ? this.signUpDate[0].signupEndDate : new Date(min_date_Value - 1);\r\n\t\t\t\t\telement.signupEndDate = this.signUpDate.length > 0 ? this.signUpDate[0].signupEndDate : element.signupEndDate.getMonth() + 1 + \"/\" + element.signupEndDate.getDate() + \"/\" + element.signupEndDate.getFullYear();\r\n\r\n\t\t\t\t\tif (this.maxImmunizers.length > 0 ||\r\n\t\t\t\t\t\tthis.minImmunizers.length > 0 || this.signUpDate.length > 0) {\r\n\t\t\t\t\t\tlet index = clinic_list.findIndex(it => it.clinicPk === element.clinicPk);\r\n\t\t\t\t\t\tif (index == -1) {\r\n\t\t\t\t\t\t\tclinic_list.push(element);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (this.temp_true.length > 0) {\r\n\t\t\t\t\t\tlet index = this.temp_true.findIndex(it => it.clinicPk === element.clinicPk);\r\n\t\t\t\t\t\tif (index > -1) {\r\n\t\t\t\t\t\t\tlet index1 = clinic_list.findIndex(it => it.clinicPk === element.clinicPk);\r\n\t\t\t\t\t\t\tif (index1 == -1) {\r\n\t\t\t\t\t\t\t\tclinic_list.push(element);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (this.temp_false.length > 0) {\r\n\t\t\t\t\t\tlet index = this.temp_false.findIndex(it => it.clinicPk === element.clinicPk);\r\n\t\t\t\t\t\tif (index > -1) {\r\n\t\t\t\t\t\t\tlet index1 = clinic_list.findIndex(it => it.clinicPk === element.clinicPk);\r\n\t\t\t\t\t\t\tif (index1 == -1) {\r\n\t\t\t\t\t\t\t\tclinic_list.push(element);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.maxImmunizers = [];\r\n\t\t\t\t\tthis.minImmunizers = [];\r\n\t\t\t\t\tthis.signUpDate = [];\r\n\t\t\t\t});\r\n\t\t\t\tscheduler_site_design.clinicsList = clinic_list;\r\n\t\t\t\tif (validation) {\r\n\t\t\t\t\tthis.previewService.updateSchedulerClientSetUp(scheduler_site_design, 0).subscribe((data:any) => {\r\n\t\t\t\t\t\tthis.spinner.hide();\r\n\t\t\t\t\t\tif (data.errorS !== null) {\r\n\t\t\t\t\t\t\tif (data.errorS.errorCode == -1) {\r\n\t\t\t\t\t\t\t\tthis.message_text = String.Format(ErrorMessages['blockApptKeyMessage'], data.errorS.errorMessage);\r\n\t\t\t\t\t\t\t\tthis.overRideOption = true;\r\n\t\t\t\t\t\t\t\tthis.schedulerSiteDesign = scheduler_site_design;\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.siteSetUpSuccess = true;\r\n\t\t\t\t\t\tthis.getCorporateSchedularClinics(this.client_id, 0);\r\n\t\t\t\t\t\tthis.getSchedulerSiteDesign();\r\n\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\terr => {\r\n\t\t\t\t\t\t\t/*switch (err) {\r\n\t\t\t\t\t\t\t\tcase 500:\r\n\t\t\t\t\t\t\t\t\talert('ErrorCode 500 received from Service');\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 400:\r\n\t\t\t\t\t\t\t\t\talert('Unhandled exception error code received from Service');\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\t\talert('Unhandled exception error code received from Service');\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}*/\r\n\t\t\t\t\t\t\tthis.showErrorMessage(err);\r\n\t\t\t\t\t\t\tthis.spinner.hide();\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.spinner.hide();\r\n\t\t\t\tthis.message_text = \"Please select at least one clinic\";\r\n\t\t\t\tthis.siteSetUp = true;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.spinner.hide();\r\n\t\t\tthis.message_text = \"Please select a corporate client\";\r\n\t\t\tthis.siteSetUp = true;\r\n\t\t}\r\n\r\n\t}\r\n\tmaxImmunizersChanged(clinic_pk, max_imm) {\r\n\t\tvar index = this.maxImmunizersList.findIndex(it => it.clinicPk === clinic_pk);\r\n\t\tif (index > -1) {\r\n\t\t\tthis.maxImmunizersList.splice(index, 1);\r\n\t\t}\r\n\t\tthis.maxImmunizersList.push({ \"clinicPk\": clinic_pk, \"max_imm\": max_imm });\r\n\t\t//this.selectedDataList.push(this.maxImmunizersList);\r\n\t}\r\n\tminImmunizersChanged(clinic_pk, min_imm) {\r\n\t\tvar index = this.minImmunizersList.findIndex(it => it.clinicPk === clinic_pk);\r\n\t\tif (index > -1) {\r\n\t\t\tthis.minImmunizersList.splice(index, 1);\r\n\t\t}\r\n\t\tthis.minImmunizersList.push({ \"clinicPk\": clinic_pk, \"min_imm\": min_imm });\r\n\t\t//this.selectedDataList.push(this.minImmunizersList);\r\n\t}\r\n\tselectSignUpDate(clinic_pk, value) {\r\n\t\tvar index = this.signupEndDate.findIndex(it => it.clinicPk === clinic_pk);\r\n\t\tif (index > -1) {\r\n\t\t\tthis.signupEndDate.splice(index, 1);\r\n\t\t}\r\n\t\tthis.signupEndDate.push({ \"clinicPk\": clinic_pk, \"signupEndDate\": value.getMonth() + 1 + \"/\" + value.getDate() + \"/\" + value.getFullYear() });\r\n\t}\r\n\tdisabledControl(value) {\r\n\t\tlet date = new Date(new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 0, 0));\r\n\t\tlet clinic_date: Date = new Date(value.clinicDate);\r\n\t\tif (value.isStoreConfirmed) {\r\n\r\n\t\t\tif (clinic_date <= date || value.isCanceled) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (date <= clinic_date) {\r\n\t\t\treturn true;\r\n\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t}\r\n\tok() {\r\n\t\tthis.siteSetUpSuccess = false;\r\n\t}\r\n\tuploadFile(event) {\r\n\t\tif (this.setValue == \"2\") {\r\n\t\t\tthis.files = event.target.files;\r\n\t\t\tif (this.files.length > 0) {\r\n\t\t\t\tif (this.isValidFiles(this.files)) {\r\n\t\t\t\t\tthis.client_log_image = this.uploadedFileName = event.target.files[0].name;\r\n\t\t\t\t\tlet formData: FormData = new FormData();\r\n\t\t\t\t\tif (this.files.length > 0) {\r\n\t\t\t\t\t\tfor (var j = 0; j < this.files.length; j++) {\r\n\t\t\t\t\t\t\tthis.files[j].name.replace(\".png\", \".PNG\").replace(\".jpeg\", \".JPEG\").replace(\".jpg\", \".JPG\");\r\n\t\t\t\t\t\t\tformData.append(\"file\", this.files[j]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.previewService.imageUpload(formData).subscribe(data => {\r\n\t\t\t\t\t\tthis.image_source = environment.API_URL + \"/ClientLogos/\" + this.uploadedFileName;\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\terr => {\r\n\t\t\t\t\t\t\t/*switch (err) {\r\n\t\t\t\t\t\t\t\tcase 500:\r\n\t\t\t\t\t\t\t\t\talert('ErrorCode 500 received from Service');\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 400:\r\n\t\t\t\t\t\t\t\t\talert('Unhandled exception error code received from Service');\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\t\talert('Unhandled exception error code received from Service');\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}*/\r\n\t\t\t\t\t\t\tthis.showErrorMessage(err);\r\n\t\t\t\t\t\t\tthis.client_log_image = null;\r\n\t\t\t\t\t\t\tthis.uploadedFileName = '';\r\n\t\t\t\t\t\t\tthis.image_source = '';\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.message_text = \"Please upload PNG, JPG or JPEG formats.\";\r\n\t\t\t\t\tthis.uploadFileClinet = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.message_text = \"Please select the client logo option to upload the image\";\r\n\t\t\tthis.uploadFileClinet = true;\r\n\t\t}\r\n\t\t//event = null;\r\n\t}\r\n\tsetradio(value: any) {\r\n\t\tthis.setValue = value;\r\n\t\tif (value === \"1\") {\r\n\t\t\tthis.image_source = environment.image_file_path;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.image_source = \"\";\r\n\t\t\tif (this.clientLogo === 'Client Logo' && this.client_log_image !== null) {\r\n\t\t\t\tthis.image_source = environment.API_URL + \"/ClientLogos/\" + this.client_log_image;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tuploadOk() {\r\n\t\tthis.uploadFileClinet = false;\r\n\t}\r\n\tprivate isValidFiles(files) {\r\n\t\treturn this.isValidFileExtension(files);\r\n\t}\r\n\r\n\tprivate isValidFileExtension(files) {\r\n\t\tfor (var i = 0; i < files.length; i++) {\r\n\t\t\t// Get file extension\r\n\t\t\tvar ext = files[i].name.toLocaleUpperCase().split('.').pop() || files[i].name;\r\n\r\n\t\t\t// Check the extension exists\r\n\t\t\tvar exists = this.fileExt.filter(element => element == ext);\r\n\t\t\tif (exists.length <= 0) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\t//return false;\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n\r\n\taccessScheduler() {\r\n\t\tif (!this.accessSchedulerEncryptedLink) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t/*var encrypt_data = new EncryptDecrypt();\r\n\t\tencrypt_data.encryptedS = this.accessSchedulerEncryptedLink;\r\n\t\tencrypt_data.decryptedS = \"\";\r\n\t\tthis.authenticationService.postEncryptionDecryption(encrypt_data).subscribe((data: any) => {\r\n\t\t\tlet decrypted_data = JSON.parse(data._body).decryptedS;\r\n\t\t\tif (decrypted_data !== null || decrypted_data !== undefined) {\r\n\t\t\t\tlet splited_Data = decrypted_data.split(\"|\");\r\n\t\t\t\tvar scheduleuserInfo = new SchedulerUserInfo();\r\n\t\t\t\tscheduleuserInfo.userName = splited_Data[0];\r\n\t\t\t\tscheduleuserInfo.userPk = splited_Data[1];\r\n\t\t\t\tscheduleuserInfo.password = splited_Data[2];\r\n\t\t\t\tscheduleuserInfo.designPk = splited_Data[3];\r\n\t\t\t\tscheduleuserInfo.appointmentPK = ((!splited_Data[4] || typeof (splited_Data[4]) === 'string') ? -1 : splited_Data[4]);\r\n\t\t\t\tscheduleuserInfo.redirectPage = ''// splited_Data[5];\r\n\t\t\t\tscheduleuserInfo.clinicPK = splited_Data[6] ? splited_Data[6] : -1;\r\n\t\t\t\tSessionDetails.setSchedulerUserInfo(scheduleuserInfo);\r\n\t\t\t\tlet path = this.protocol + \"//\" + this.domain + ((this.port) ? \":\" + this.port : \"\");\r\n\t\t\t\twindow.open(path + '/schedulerLanding');\r\n\t\t\t\t//this.router.navigate(['/schedulerLanding']);\r\n\t\t\t}\r\n\t\t});*/\r\n\t\tthis.navigateToSchedulerSites(\"schedulerLanding\");\r\n\t}\r\n\r\n\taccessTracker() {\r\n\t\tif (!this.accessSchedulerTrackerEncryptedLink) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t\r\n\t\tthis.navigateToSchedulerSites(\"clientSchedulerApptTracker\");\r\n\t}\r\n\tnavigateToSchedulerSites(page_name:string){\r\n\t\tvar encrypt_data = new EncryptDecrypt();\r\n\t\tencrypt_data.encryptedS = this.accessSchedulerTrackerEncryptedLink;\r\n\t\tencrypt_data.decryptedS = \"\";\r\n\t\tthis.authenticationService.postEncryptionDecryption(encrypt_data).subscribe((data: any) => {\r\n\t\t\tlet decrypted_data = JSON.parse(data._body).decryptedS;\r\n\t\t\tif (decrypted_data !== null || decrypted_data !== undefined) {\r\n\t\t\t\tdecrypted_data= SessionDetails.getD(SessionDetails.absJ,decrypted_data);\r\n\t\t\t\tlet splited_Data = decrypted_data.split(\"|\");\r\n\t\t\t\tvar scheduleuserInfo = new SchedulerUserInfo();\r\n\t\t\t\tscheduleuserInfo.userName = splited_Data[0];\r\n\t\t\t\tscheduleuserInfo.userPk = splited_Data[1];\r\n\t\t\t\tscheduleuserInfo.password = splited_Data[2];\r\n\t\t\t\tscheduleuserInfo.designPk = splited_Data[3];\r\n\t\t\t\tscheduleuserInfo.appointmentPK = ((!splited_Data[4] || typeof (splited_Data[4]) === 'string') ? -1 : splited_Data[4]);\r\n\t\t\t\tscheduleuserInfo.redirectPage = ''// splited_Data[5];\r\n\t\t\t\tscheduleuserInfo.clinicPK = splited_Data[6] ? splited_Data[6] : -1;\r\n\t\t\t\tSessionDetails.setSchedulerUserInfo(scheduleuserInfo);\r\n\t\t\t\tlet path = this.protocol + \"//\" + this.domain + ((this.port) ? \":\" + this.port : \"\");\r\n\t\t\t\twindow.open(path + '/' + page_name);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tOverride() {\r\n\t\tthis.spinner.show();\r\n\t\tthis.previewService.updateSchedulerClientSetUp(this.schedulerSiteDesign, 1).subscribe(data => {\r\n\t\t\tthis.siteSetUpSuccess = true;\r\n\r\n\t\t\t//this.selectedDataList = [];\r\n\t\t\tthis.maxImmunizersList = [];\r\n\t\t\tthis.minImmunizersList = [];\r\n\t\t\t//temp_true = [];\r\n\t\t\t//temp_var = [];\r\n\t\t\tthis.spinner.hide();\r\n\t\t\tthis.overRideOption = false;\r\n\r\n\t\t\tthis.getCorporateSchedularClinics(this.client_id, 0);\r\n\t\t\tthis.getSchedulerSiteDesign();\r\n\t\t},\r\n\t\t\terr => {\r\n\t\t\t\t/*switch (err) {\r\n\t\t\t\t\tcase 500:\r\n\t\t\t\t\t\talert('ErrorCode 500 received from Service');\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 400:\r\n\t\t\t\t\t\talert('Unhandled exception error code received from Service');\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\talert('Unhandled exception error code received from Service');\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}*/\r\n\t\t\t\tthis.showErrorMessage(err);\r\n\t\t\t\tthis.spinner.hide();\r\n\t\t\t});\r\n\t}\r\n\tshowErrorMessage(err:any){\r\n\t\tswitch (err) {\r\n\t\t\tcase 500:\r\n\t\t\t\talert('ErrorCode 500 received from Service');\r\n\t\t\t\tbreak;\r\n\t\t\tcase 400:\r\n\t\t\t\talert('Unhandled exception error code received from Service');\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\talert('Unhandled exception error code received from Service');\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\tCancel() {\r\n\r\n\t\tthis.getCorporateSchedularClinics(this.client_id, 0);\r\n\t\tthis.overRideOption = false;\r\n\t}\r\n\tonRowSelect(event, clinic_pk) {\r\n\t\tvar index = this.temp_true.findIndex(it => it.clinicPk === clinic_pk);\r\n\t\tif (index > -1) {\r\n\t\t\tthis.temp_true.splice(index, 1);\r\n\t\t}\r\n\t\tthis.temp_true.push(event);\r\n\t}\r\n\tonRowUnselect(event, clinic_pk) {\r\n\t\tvar index = this.temp_false.findIndex(it => it.clinicPk === clinic_pk);\r\n\t\tif (index > -1) {\r\n\t\t\tthis.temp_false.splice(index, 1);\r\n\t\t}\r\n\t\tthis.temp_false.push(event);\r\n\t}\r\n\tcustomSort(event: SortEvent) {\r\n\r\n\t\tif (event.field == 'clientName' || event.field == 'clinicAddress' || event.field == 'clinicDate') {\r\n\t\t\tvar reA = /[^a-zA-Z]/g;\r\n\t\t\tvar reN = /[^0-9]/g;\r\n\t\t\tevent.data.sort((data1, data2) => {\r\n\r\n\t\t\t\tlet value1 = data1[event.field];\r\n\t\t\t\tlet value2 = data2[event.field];\r\n\t\t\t\tlet result = null;\r\n\r\n\t\t\t\tif (value1 === null && value2 !== null)\r\n\t\t\t\t\tresult = -1;\r\n\t\t\t\telse if (value1 !== null && value2 === null)\r\n\t\t\t\t\tresult = 1;\r\n\t\t\t\telse if (value1 === null && value2 === null)\r\n\t\t\t\t\tresult = 0;\r\n\t\t\t\telse if (typeof value1 === 'string' && typeof value2 === 'string') {\r\n\t\t\t\t\tif (event.field === 'clientName' || event.field === 'clinicAddress') {\r\n\t\t\t\t\t\tvar aA = value1.replace(reA, \"\");\r\n\t\t\t\t\t\tvar bA = value2.replace(reA, \"\");\r\n\t\t\t\t\t\tif (aA === bA) {\r\n\t\t\t\t\t\t\tvar aN = parseInt(value1.replace(reN, \"\"), 10);\r\n\t\t\t\t\t\t\tvar bN = parseInt(value2.replace(reN, \"\"), 10);\r\n\t\t\t\t\t\t\tresult = aN === bN ? 0 : aN > bN ? 1 : -1;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tresult = aA > bA ? 1 : -1;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tresult = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t\tresult = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\r\n\r\n\t\t\t\treturn (event.order * result);\r\n\t\t\t\t//return result;\r\n\t\t\t});\r\n\t\t\tthis.signUpDates = [];\r\n\t\t\tthis.signUpMaxDates = [];\r\n\t\t\tthis.selectedMinValue = [];\r\n\t\t\tthis.selectedMaxValue = [];\r\n\t\t\tfor (let i = 0; i < event.data.length; i++) {\r\n\r\n\t\t\t\tif (event.data[i].signupEndDate == null) {\r\n\t\t\t\t\tlet min_date_Value: any = new Date(event.data[i].clinicDate);\r\n\t\t\t\t\tthis.signUpDates.push(new Date(min_date_Value - 1));\r\n\t\t\t\t\tthis.signUpMaxDates.push(new Date(min_date_Value - 1));\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tlet min_date_Value = new Date(event.data[i].signupEndDate);\r\n\t\t\t\t\tlet max_date_value: any = new Date(event.data[i].clinicDate);\r\n\t\t\t\t\tthis.signUpDates.push(min_date_Value);\r\n\t\t\t\t\tthis.signUpMaxDates.push(new Date(max_date_value - 1));\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\r\n\t\t\tevent.data.forEach(item => {\r\n\t\t\t\tthis.selectedMaxValue.push((item.maxImmunizers == -1 || item.maxImmunizers == null) ? 3 : item.maxImmunizers);\r\n\t\t\t\tthis.selectedMinValue.push(item.immunizers);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AlertService } from '../../../../alert.service';\r\n\r\n@Component({\r\n selector: 'app-corporate-store-appt-tracker',\r\n templateUrl: './corporate-store-appt-tracker.component.html',\r\n styleUrls: ['./corporate-store-appt-tracker.component.css']\r\n})\r\nexport class CorporateStoreApptTrackerComponent implements OnInit,OnDestroy {\r\n clinicDetails: any;\r\n ctrlKeyDown = false;\r\n constructor(private location: LocationStrategy, private messageService: MessageServiceService,private route: ActivatedRoute,private alertService:AlertService) {\r\n this.location.onPopState(() => {\r\n // set isBackButtonClicked to true.\r\n this.messageService.setNavigationClicked(true);\r\n return false;\r\n });\r\n this.clinicDetails = SessionDetails.GetEventDetails();\r\n if (this.clinicDetails && Object.keys(this.clinicDetails).length > 0) {\r\n sessionStorage.removeItem('event_details');\r\n }\r\n\r\n document.addEventListener('keyup', () => {\r\n this.ctrlKeyDown = false;\r\n });\r\n document.addEventListener('keydown', (e) => {\r\n if ((e.which || e.keyCode) == 116 || ((e.which || e.keyCode) == 82 && this.ctrlKeyDown)) {\r\n // Pressing F5 or Ctrl+R\r\n if (this.clinicDetails) {\r\n sessionStorage[\"event_details\"] = JSON.stringify(this.clinicDetails);\r\n }\r\n } else if ((e.which || e.keyCode) == 17) {\r\n // Pressing only Ctrl\r\n this.ctrlKeyDown = true;\r\n }\r\n });\r\n window.onbeforeunload = (ev) => {\r\n if (this.clinicDetails) {\r\n sessionStorage[\"event_details\"] = JSON.stringify(this.clinicDetails);\r\n }\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n this.alertService.ChangecorpStoreApptTrackerBannerColor$.next(true);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.alertService.ChangecorpStoreApptTrackerBannerColor$.next(false);\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { CorporateuploaderService } from '../../services/corporateuploader.service';\r\nimport { \r\n FormGroup,\r\n Validators,\r\n FormBuilder\r\n} from '@angular/forms';\r\nimport { Util } from '../../../../utility/util';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { Table } from 'primeng/table';\r\n@Component({\r\n selector: 'app-corporateuploader',\r\n templateUrl: './corporateuploader.component.html',\r\n styleUrls: ['./corporateuploader.component.css']\r\n})\r\nexport class CorporateuploaderComponent implements OnInit {\r\n\r\n fileExt: string[] = [\"XLSX\", \"XLS\", \"XLSM\"];\r\n\r\n corporateUploaderForm: FormGroup;\r\n viewSteps: boolean = true;\r\n uploadedFileName:string='';\r\n totalSteps: number = 3;\r\n currentStep: number;\r\n corporateUploadData: any;\r\n uploadData: boolean = false;\r\n invalidFile: boolean = false;\r\n userProfile: any;\r\n isError: boolean = false;\r\n dialogMessage: string = '';\r\n files:any;\r\n fileName:string='';\r\n totalInsert:any;\r\n totalFailed:any; \r\n private _dataTable: any;\r\n private rowCount: Number;\r\n private pageNoSize: any;\r\n exportfilename:string=\"clinicUploadReport\";\r\n cols: any[];\r\n @ViewChild('dataTable', { static: false }) dataTable: Table;\r\n constructor(private corporateuploaderService: CorporateuploaderService, private formBuilder: FormBuilder, private utility: Util,private spinner: NgxSpinnerService) { }\r\n\r\n ngOnInit() {\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n this.cols = [\r\n {field:\"issueType\",header:\"Remarks\"},\r\n {field:\"clientName\",header:\"Client Name\"},\r\n {field:\"localClientContactFirstName\",header:\"Local Client Contact First Name\"},\r\n {field:\"localClientContactLastName\",header:\"Local Client Contact Last Name\"},\r\n {field:\"localClientContactPhone\",header:\"Local Client Contact Phone #\"},\r\n {field:\"localClientContactEmail\",header:\"Local Client Contact Email\"},\r\n {field:\"industry\",header:\"Industry\"},\r\n {field:\"clinicLocationName\",header:\"Clinic Name\"},\r\n {field:\"clinicStreetAddress1\",header:\"Clinic Street Address 1\"},\r\n {field:\"clinicStreetAddress2\",header:\"Clinic Street Address 2\"},\r\n {field:\"room\",header:\"Room\"},\r\n {field:\"city\",header:\"City\"},\r\n {field:\"state\",header:\"State\"},\r\n {field:\"zip\",header:\"Zip\"},\r\n {field:\"clinicDate\",header:\"Clinic Date\"},\r\n {field:\"clinicStartTime\",header:\"Clinic Start Time\"},\r\n {field:\"clinicEndTime\",header:\"Clinic End Time\"},\r\n {field:\"totalEmployeeCount\",header:\"Total Employee Count\"},\r\n {field:\"coverageType\",header:\"Coverage Type (Employee Only/ Employee+Spouse/ Employee+Spouse+Family)\"},\r\n {field:\"vaccinesCovered\",header:\"Vaccines Covered\"},\r\n {field:\"intakeID\",header:\"Intake ID\"},\r\n {field:\"estimatedVolumePerProduct\",header:\"Estimated Volume Per Product\"}, \r\n {field:\"additionalCommentsInstructions\",header:\"Additional Comments/ Instructions\"},\r\n {field:\"specialBillingInstructions\",header:\"Special Billing Instructions\"},\r\n {field:\"worksiteSchedulerNeeded\",header:\"CURA Patient Appointment Scheduler\"},\r\n {field:\"paymentMethod\",header:\"Payment Method\"},\r\n {field:\"planId\",header:\"Plan ID\"},\r\n {field:\"groupId\",header:\"Group ID\"},\r\n {field:\"idRecipient\",header:\"ID Recipient\"},\r\n {field:\"byPasstoHostingStoreId\",header:\"By Pass to Hosting Store #\"},\r\n {field:\"clientReportingEmail\",header:\"Client Reporting Email\"},\r\n {field:\"b2BTeamEmail\",header:\"B2B Team Email\"},\r\n // {field:\"targetPopulation\",header:\"Target Population\"},\r\n // {field:\"communityPartner\",header:\"Community Partner\"},\r\n // {field:\"communityPartnerName\",header:\"Partner Name\"},\r\n // {field:\"healthDeptInvolved\",header:\"State or Local Health Dept Involved\"},\r\n // {field:\"opportunityHostLocation\",header:\"In-Store or Off-Site?\"},\r\n // {field:\"vaccineInventorySource\",header:\"Vaccine Inventory Source\"},\r\n {field:\"patientGroupId\",header:\"Patient Group\"},\r\n // {field:\"serviceFeeDollarAmount\",header:\"Service Fee Dollar Amount\"},\r\n {field:\"salesforceAccountID\",header:\"Salesforce Opportunity ID\"},\r\n {field:\"salesforceAccountName\",header:\"Salesforce Account Name\"}\r\n ];\r\n this.corporateUploaderForm = this.formBuilder.group({\r\n clinicType: ['', Validators.required],\r\n inputFile: [null, Validators.required],\r\n\r\n });\r\n\r\n }\r\n\r\n onFileChange(event) { \r\n this.files= event.target.files;\r\n // this.uploadData = false;\r\n this.uploadedFileName=event.target.files[0].name;\r\n \r\n }\r\n onSubmit()\r\n {\r\n this.corporateUploaderForm.controls['clinicType'].setValidators([Validators.required]);\r\n this.corporateUploaderForm.controls['clinicType'].updateValueAndValidity();\r\n this.corporateUploaderForm.controls['inputFile'].setValidators([Validators.required]);\r\n this.corporateUploaderForm.controls['inputFile'].updateValueAndValidity();\r\n if (this.corporateUploaderForm.valid) { \r\n this.uploadData = false;\r\n this.saveFiles(this.files);\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.corporateUploaderForm);\r\n return;\r\n }\r\n }\r\n saveFiles(files) {\r\n this.corporateUploadData = []; \r\n if (!this.isValidFiles(files)) {\r\n this.invalidFile = true; \r\n return;\r\n }\r\n\r\n if (files.length > 0) {\r\n let formData: FormData = new FormData();\r\n for (var j = 0; j < files.length; j++) {\r\n formData.append(\"file\", files[j]);\r\n }\r\n this.spinner.show();\r\n this.corporateuploaderService.upload(formData, this.corporateUploaderForm.value.clinicType, this.userProfile.userPk, this.userProfile.email.replace(/[.]/g, '^')).subscribe((data:any) => {\r\n this.spinner.hide();\r\n this.uploadedFileName='';\r\n this.corporateUploaderForm.controls['clinicType'].setValue('');\r\n this.corporateUploaderForm.controls['inputFile'].setValue(null);\r\n this.corporateUploaderForm.controls['clinicType'].setValidators(null);\r\n this.corporateUploaderForm.controls['clinicType'].updateValueAndValidity();\r\n this.corporateUploaderForm.controls['inputFile'].setValidators(null);\r\n this.corporateUploaderForm.controls['inputFile'].updateValueAndValidity();\r\n // this.uploadStatus.emit(true);\r\n if (data.corporateClinicList.length === 0 && data.errorS !== null) {\r\n this.isError = true;\r\n this.dialogMessage = data.errorS.errorMessage;\r\n }\r\n else if (data.corporateClinicList.length > 0) {\r\n this.corporateUploadData = data.corporateClinicList;\r\n this.corporateUploadData.forEach(element => {\r\n let paymentTypeIds = [];\r\n if (element.paymentMethod.indexOf('7') >= 0) {\r\n paymentTypeIds.push(\"Cash\");\r\n }\r\n if (element.paymentMethod.indexOf('11') >= 0) {\r\n paymentTypeIds.push(\"Insurance\");\r\n }\r\n if (element.paymentMethod.indexOf('6') >= 0) {\r\n paymentTypeIds.push(\"Off-Site: Corporate to Invoice Employer Directly\");\r\n }\r\n element.paymentMethod = paymentTypeIds.join(\",\"); \r\n });\r\n \r\n \r\n let total_insert=this.corporateUploadData.filter(item => item.isValidRecord)\r\n let total_failed=this.corporateUploadData.filter(item => !item.isValidRecord)\r\n this.totalInsert=total_insert.length;\r\n this.totalFailed=total_failed.length\r\n if (this.corporateUploadData.length > 0) {\r\n this.currentStep = 3;\r\n this.uploadData = true;\r\n this.fileName= this.files[0].name;\r\n }\r\n this.corporateUploaderForm = this.formBuilder.group({\r\n clinicType: ['', Validators.required],\r\n inputFile: [null, Validators.required],\r\n\r\n });\r\n }\r\n },\r\n error => {\r\n if (error.indexOf(\"417\") > -1) {\r\n this.spinner.hide();\r\n this.isError = true;\r\n this.uploadedFileName='';\r\n this.corporateUploaderForm.controls['inputFile'].setValue(null);\r\n this.corporateUploaderForm.controls['clinicType'].setValue('');\r\n this.corporateUploaderForm.controls['clinicType'].setValidators(null);\r\n this.corporateUploaderForm.controls['clinicType'].updateValueAndValidity();\r\n this.corporateUploaderForm.controls['inputFile'].setValidators(null);\r\n this.corporateUploaderForm.controls['inputFile'].updateValueAndValidity();\r\n this.dialogMessage = \"HTTP/1.1 417 Expectation Failed\";\r\n }\r\n }\r\n )\r\n }\r\n }\r\n private isValidFiles(files) {\r\n return this.isValidFileExtension(files);\r\n }\r\n\r\n private isValidFileExtension(files) {\r\n for (var i = 0; i < files.length; i++) {\r\n // Get file extension\r\n var ext = files[i].name.toLocaleUpperCase().split('.').pop() || files[i].name;\r\n\r\n // Check the extension exists\r\n var exists = this.fileExt.filter(element => element == ext);\r\n\r\n if (exists.length <= 0) {\r\n return false;\r\n }\r\n // return false;\r\n }\r\n return true;\r\n }\r\n\r\n isFieldValid(field: string) {\r\n return !this.corporateUploaderForm.get(field).valid && this.corporateUploaderForm.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n Continue() {\r\n\r\n }\r\n\r\n exportCSV(dataTable) {\r\n this.rowCount = 50;\r\n this.pageNoSize = 'page=0&size=' + this.rowCount;\r\n this.dataTable = dataTable;\r\n dataTable.exportCSV();\r\n}\r\n \r\n Ok() {\r\n this.invalidFile = false;\r\n }\r\n OkError() {\r\n this.isError = false;\r\n }\r\n}\r\n","import { Component, OnInit, Input, SimpleChange } from '@angular/core';\r\nimport { Subject, Subscription } from '../../../../../../node_modules/rxjs';\r\n\r\n@Component({\r\n selector: 'app-corporateuploaderstatus',\r\n templateUrl: './corporateuploaderstatus.component.html',\r\n styleUrls: ['./corporateuploaderstatus.component.css']\r\n})\r\nexport class CorporateuploaderstatusComponent implements OnInit {\r\n subscription: Subscription;\r\n step: number = 1;\r\n clinicstatus: string = \"Completed Clinic\";\r\n clickedPath = 'LocalClinicProgramDetails';\r\n message: any;\r\n store_id: any;\r\n\r\n @Input(\"totalSteps\") totalSteps: any;\r\n @Input(\"viewSteps\") viewSteps: any;\r\n @Input(\"currentStep\") currentStep: any;\r\n\r\n private onDestroy$ = new Subject();\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n ngOnChanges(changes: { [propKey: string]: SimpleChange }) {\r\n if (changes[\"viewSteps\"]) {\r\n this.viewSteps = changes[\"viewSteps\"].currentValue;\r\n }\r\n if (changes[\"totalSteps\"]) {\r\n this.totalSteps = changes[\"totalSteps\"].currentValue;\r\n }\r\n this.currentStep = ((changes[\"currentStep\"].currentValue) ? changes[\"currentStep\"].currentValue : this.step);\r\n \r\n this.GoToStep(this.currentStep);\r\n }\r\n\r\n GoToStep(step: number) {\r\n if (step == 2) {\r\n step = 2;\r\n // this.clinicstatus = 'Completed Clinic';\r\n \r\n }\r\n if (step == -1) {\r\n if (this.totalSteps == 2) {\r\n step = 2;\r\n // this.clinicstatus = 'Cancelled Clinic';\r\n } else if (this.totalSteps == 3) {\r\n step = 3;\r\n // this.clinicstatus = 'Cancelled Clinic';\r\n }\r\n }\r\n\r\n this.step = step;\r\n return;\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { HeaderserviceService } from '../../../common/services/headerservice.service';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n\r\n@Component({\r\n selector: 'app-dropped-store-reassignments',\r\n templateUrl: './dropped-store-reassignments.component.html',\r\n styleUrls: ['./dropped-store-reassignments.component.css']\r\n})\r\nexport class DroppedStoreReassignmentsComponent implements OnInit {\r\n cols: any[];\r\n droppedStoreDlg: boolean = false; \r\n errorShow: boolean = false;\r\n successShow: boolean = false;\r\n SelectedDroppedStores: any;\r\n droppedStores: any[] ;\r\n errorMessageShow: string;\r\n reassignShow: boolean= false;\r\n recordsExist: boolean = true;\r\n constructor(private service: HeaderserviceService,private spinner: NgxSpinnerService,) { }\r\n\r\n ngOnInit() {\r\n\r\n this.cols = [\r\n { field: 'storeId', header: 'Dropped Store #' },\r\n { field: 'DroppedStoreAddress', header: 'Dropped Store Address' },\r\n { field: 'closestStoreId', header: 'Closest Store #' },\r\n { field: 'ClosestStoreAddress', header: 'Closest Store Address' },\r\n { field: 'distance', header: 'Distance (mi)' },\r\n { field: 'opportunitiesCount', header: 'Opportunities' },\r\n { field: 'eventsCount', header: 'Events' }];\r\n\r\n this.getDroppedStoresForReassignment();\r\n\r\n }\r\n getDroppedStoresForReassignment() {\r\n this.spinner.show();\r\n this.service.getDroppedStoresForReassignment().subscribe((data) => {\r\n this.droppedStores = data;\r\n if (data.length > 0) {\r\n this.recordsExist = true;\r\n }\r\n else {\r\n this.recordsExist = false;\r\n }\r\n this.spinner.hide();\r\n } ,err=>{\r\n this.spinner.hide();\r\n }); \r\n }\r\n\r\n getHeaderWidth(colName: string) {\r\n switch (colName) {\r\n case \"Dropped Store #\":\r\n return 'w80';\r\n case \"Dropped Store Address\":\r\n return 'w250';\r\n case \"Closest Store #\":\r\n return 'w80';\r\n case \"Closest Store Address\":\r\n return 'w250';\r\n case \"Distance (mi)\":\r\n return 'w60';\r\n case \"Opportunities\":\r\n return 'w115 wb';\r\n case \"Events\":\r\n return 'w75';\r\n default:\r\n return '';\r\n }\r\n }\r\n reassignToClosetStore(isReassignAllstores:boolean) { \r\n this.spinner.show(); \r\n if (this.SelectedDroppedStores === undefined || this.SelectedDroppedStores === null || this.SelectedDroppedStores === '') {\r\n this.spinner.hide();\r\n this.droppedStoreDlg = true;\r\n this.reassignShow=false;\r\n }\r\n else {\r\n if(isReassignAllstores===false && this.SelectedDroppedStores.length === this.droppedStores.length)\r\n {\r\n this.reassignShow=true;\r\n this.spinner.hide();\r\n return;\r\n\r\n }\r\n this.reassignShow=false;\r\n this.service.reassignDroppedStoresToClosestStore(this.SelectedDroppedStores).subscribe((data: any) => {\r\n this.spinner.hide();\r\n this.successShow = true; \r\n },\r\n error => {\r\n this.spinner.hide();\r\n this.errorShow = true;\r\n this.errorMessageShow = error.errorS.errorMessage;\r\n \r\n }\r\n );\r\n }\r\n\r\n }\r\n\r\n successOkClick() {\r\n this.successShow = false;\r\n this.getDroppedStoresForReassignment();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { GroupiduploaderService } from '../../services/groupiduploader.service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\n\r\n@Component({\r\n selector: 'app-groupidsuploader',\r\n templateUrl: './groupidsuploader.component.html',\r\n styleUrls: ['./groupidsuploader.component.css'],\r\n providers: [GroupiduploaderService]\r\n})\r\nexport class GroupidsuploaderComponent implements OnInit {\r\n fileExt: string[] = [\"XLSX\", \"XLS\", \"XLSM\"];\r\n type: any;\r\n message: string;\r\n ipSeason: number;\r\n showMessage: boolean = false;\r\n showMessageAfter: boolean = false;\r\n uploadedFileName: any;\r\n files: any;\r\n isArchive: boolean = true;\r\n groupIdUploaderForm: FormGroup;\r\n submitted: boolean = false;\r\n fileError: boolean = false;\r\n color: any;\r\n isContinue: boolean = false;\r\n status: string;\r\n showPopUp: boolean = false;\r\n beforeFluCount: number = 0;\r\n beforeRoutineCount: number = 0;\r\n afterFluCount: number = 0;\r\n afterRoutineCount: number = 0;\r\n beforeFluVoucherCount : number =0;\r\n afterFluVoucherCount : number = 0;\r\n beforeRoutineVoucherCount: number = 0;\r\n afterRoutineVoucherCount: number = 0;\r\n\r\n constructor(private groupiduploaderService: GroupiduploaderService, private formBuilder: FormBuilder, private spinner: NgxSpinnerService) { }\r\n\r\n ngOnInit() {\r\n this.groupIdUploaderForm = this.formBuilder.group({\r\n type: ['', Validators.required],\r\n inputFile: [null, Validators.required],\r\n isArchive: [false]\r\n });\r\n this.getGroupIdsCount(false);\r\n }\r\n getGroupIdsCount(uploaded: boolean) {\r\n this.groupiduploaderService.getGroupIdsCount().subscribe((data:any) => {\r\n if (data.length > 0) {\r\n data.forEach(element => {\r\n if (element.description == 'Flu') {\r\n if (!uploaded) {\r\n this.beforeFluCount = element.unusedGroupIdsCount;\r\n } else {\r\n this.afterFluCount = element.unusedGroupIdsCount;\r\n }\r\n }\r\n else if(element.description == 'FLU Vouchers'){\r\n if (!uploaded) {\r\n this.beforeFluVoucherCount = element.unusedGroupIdsCount;\r\n } else {\r\n this.afterFluVoucherCount = element.unusedGroupIdsCount;\r\n }\r\n }\r\n else if(element.description == 'Routine Vouchers'){\r\n if (!uploaded) {\r\n this.beforeRoutineVoucherCount = element.unusedGroupIdsCount;\r\n } else {\r\n this.afterRoutineVoucherCount = element.unusedGroupIdsCount;\r\n }\r\n }\r\n else {\r\n if (!uploaded) {\r\n this.beforeRoutineCount = element.unusedGroupIdsCount;\r\n } else {\r\n this.afterRoutineCount = element.unusedGroupIdsCount;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n cancelArchive() {\r\n this.showPopUp = false;\r\n this.isContinue = false;\r\n }\r\n archiveGroupIds() {\r\n this.showPopUp = false;\r\n this.isContinue = true;\r\n this.onSubmit();\r\n }\r\n onFileChange(event) {\r\n this.files = event.target.files;\r\n this.uploadedFileName = event.target.files[0].name;\r\n this.isValidFileExtension(this.files);\r\n }\r\n get f() { return this.groupIdUploaderForm.controls; }\r\n onSubmit(): void {\r\n this.submitted = true;\r\n this.type = this.groupIdUploaderForm.value.type;\r\n this.isArchive = this.groupIdUploaderForm.value.isArchive;\r\n if (this.groupIdUploaderForm.invalid) {\r\n return;\r\n }\r\n else if (this.fileError) {\r\n return;\r\n }\r\n else if (!this.isContinue) {\r\n this.showPopUp = true;\r\n this.message = this.isArchive ? \"Are you sure you want to archive unassigned Group IDs? Uploaded Group IDs will replace all unassigned Group IDs.\" :\r\n \"Are you sure you want to proceed without archiving unassigned Group IDs? Uploaded Group IDs will be appended to the unassigned Group IDs.\";\r\n return;\r\n }\r\n else {\r\n this.isContinue = false;\r\n let cur_date = new Date();\r\n let s_date = new Date(ApplicationSettings.getIMmunizationStartDate(cur_date.getFullYear()));\r\n this.ipSeason = s_date.getFullYear();\r\n if (this.files.length > 0) {\r\n let formData: FormData = new FormData();\r\n for (var j = 0; j < this.files.length; j++) {\r\n formData.append(\"file\", this.files[j]);\r\n this.spinner.show();\r\n this.groupiduploaderService.upload(formData, this.groupIdUploaderForm.value, this.ipSeason).subscribe((data:any) => {\r\n this.color = \"red\";\r\n this.showMessage = true;\r\n this.showMessageAfter = false;\r\n this.spinner.hide();\r\n this.uploadedFileName = '';\r\n if (data == \"success\") {\r\n this.showMessageAfter = true;\r\n this.getGroupIdsCount(true);\r\n this.color = \"black\";\r\n this.status = this.type + \" Group IDs uploaded successfully.\";\r\n }\r\n else if (data == \"-1\") {\r\n this.status = this.type + \" type does not exist in database.\";\r\n }\r\n else if (data == \"-2\") {\r\n this.status = \"The upload process failed. \\\"GROUP ID\\\" coloumn is MISSING from the worksheet that's been uploaded.\";\r\n }\r\n else if (data == \"-3\") {\r\n this.status = \"The upload process failed. The spreadsheet does not contain valid rows.\";\r\n }\r\n else if (data == \"-4\") {\r\n this.status = \"The upload process failed. The spreadsheet does not contain a data sheet named \\\"\" + this.type + \"\\\".\";\r\n }\r\n else if (data == \"-5\") {\r\n this.status = this.type + \" Group IDs already exists in database.\";\r\n }\r\n else {\r\n this.status = data;\r\n }\r\n },\r\n error => {\r\n if (error.indexOf(\"417\") > -1) {\r\n this.spinner.hide();\r\n //this.status = this.type + \" Group IDs upload Failed.\";\r\n this.status = \"HTTP/1.1 417 Expectation Failed\";\r\n }\r\n })\r\n }\r\n }\r\n }\r\n }\r\n private isValidFileExtension(files) {\r\n for (var i = 0; i < files.length; i++) {\r\n // Get file extension\r\n var ext = files[i].name.toLocaleUpperCase().split('.').pop() || files[i].name;\r\n\r\n // Check the extension exists\r\n var exists = this.fileExt.filter(element => element == ext);\r\n\r\n if (exists.length <= 0) {\r\n this.fileError = true;\r\n return false;\r\n }\r\n }\r\n this.fileError = false;\r\n return true;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Util } from '../../../../../utility/util';\r\nimport { ImmunizationCheck } from '../../../../../models/Immunization-check';\r\nimport { ImmunizationCheckService } from '../../../services/immunization-check.service';\r\nimport { SessionDetails } from '../../../../../utility/session';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n\r\n@Component({\r\n selector: 'app-add-immunization-check',\r\n templateUrl: './add-edit-immunization-check.component.html',\r\n styleUrls: ['./add-edit-immunization-check.component.css'],\r\n providers: [ImmunizationCheckService]\r\n})\r\nexport class AddEditImmunizationCheckComponent implements OnInit {\r\n\r\n dropDownList: any[];\r\n isEdit: boolean = false;\r\n errorShow: boolean = false;\r\n successImmunizationCheck: boolean = false;\r\n addImmunizationCheck: FormGroup;\r\n immunizationCheck: ImmunizationCheck;\r\n immunizationPk: number;\r\n buttonName: string = 'Save';\r\n successMessage: string;\r\n errorMessageShow: string;\r\n headerMessage: string = 'Success';\r\n overrideAgreements: boolean = false;\r\n overrideAgreementMessage: string;\r\n\r\n constructor(private formBuilder: FormBuilder, private utility: Util, private immunzationService: ImmunizationCheckService, private router: Router, private spinner: NgxSpinnerService) {\r\n this.isEdit = false;\r\n this.buttonName = 'Save';\r\n }\r\n\r\n ngOnInit() {\r\n this.addImmunizationCheck = this.formBuilder.group({\r\n ImmunizationName: [null, Validators.required],\r\n SpanishName: [null, ''],\r\n Price: [null, Validators.required],\r\n DirectBillPrice: [null, ''],\r\n DirectBillVoucherPrice: [null, ''],\r\n ClinicType: ['', Validators.required],\r\n ImmunizationAbvEN: [null, ''],\r\n ImmunizationAbvSP: [null, ''],\r\n IsActive: [true, '']\r\n //,IsCurrentSeason: [false, '']\r\n //,IsBlockImmunization: [false, '']\r\n });\r\n this.getClinicTypes();\r\n this.immunizationPk = SessionDetails.GetImmunizationCheckPK();\r\n if (this.immunizationPk && this.immunizationPk > 0) {\r\n this.isEdit = true;\r\n this.getImmunizationCheckData(this.immunizationPk);\r\n this.buttonName = 'Update';\r\n }\r\n }\r\n\r\n isFieldValid(field: string) {\r\n return !this.addImmunizationCheck.get(field).valid && this.addImmunizationCheck.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n Cancel() {\r\n this.router.navigate(['/communityoutreach/immunizationcheck']);\r\n //navigation and clear\r\n }\r\n onAddEditImmunizationSubmit() {\r\n if (this.isEdit)\r\n this.EditImmunization();\r\n else\r\n this.AddImmunization();\r\n }\r\n EditImmunization() {\r\n if (!this.addImmunizationCheck.valid) {\r\n this.utility.validateAllFormFields(this.addImmunizationCheck);\r\n return;\r\n }\r\n else {\r\n //manual validations\r\n }\r\n //other validations\r\n\r\n //\r\n this.spinner.show();\r\n this.AssignFieldValues();\r\n this.immunzationService.updateImmunizationCheck(this.immunizationCheck).subscribe((res:any) => {\r\n this.spinner.hide();\r\n if (res.errorS !== null && res.errorS.errorCode === -1) {\r\n this.errorShow = true;\r\n this.errorMessageShow = res.errorS.errorMessage;\r\n }\r\n else if (res.conflictAgreements && res.conflictAgreements.length > 0) {\r\n this.overrideAgreements = true;\r\n this.overrideAgreementMessage = \"Are you sure you want to continue? Revising the immunizations and rates will update the affected immunizations and rates in all agreements that have not been approved.\";\r\n }\r\n else {\r\n this.successImmunizationCheck = true;\r\n if (res.clinicType === 3) {\r\n this.headerMessage = 'Reminder Alert';\r\n this.successMessage = 'Immunization updated successfully.

When Corporate Immunizations are modified update the Corporate Upload spreadsheet template and provide it to the Walgreens Client Services team.'\r\n }\r\n else {\r\n this.headerMessage = 'Success'\r\n this.successMessage = 'Immunization updated successfully';\r\n }\r\n }\r\n\r\n }, error => {\r\n this.spinner.hide();\r\n console.log(\"TODO\");\r\n switch (error.status) {\r\n case 500:\r\n alert('ErrorCode 500 received from Service');\r\n break;\r\n case 400:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n default:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n }\r\n })\r\n }\r\n AddImmunization() {\r\n if (!this.addImmunizationCheck.valid) {\r\n this.utility.validateAllFormFields(this.addImmunizationCheck);\r\n return;\r\n }\r\n else {\r\n //manual validations\r\n }\r\n //other validations\r\n\r\n //\r\n //add and save the data\r\n this.immunizationCheck = new ImmunizationCheck();\r\n this.AssignFieldValues();\r\n this.spinner.show();\r\n this.immunzationService.createImmunizationCheck(this.immunizationCheck).subscribe((res:any) => {\r\n this.spinner.hide();\r\n if (res.errorS !== null && res.errorS.errorCode === -1) {\r\n this.errorShow = true;\r\n this.errorMessageShow = res.errorS.errorMessage;\r\n }\r\n else {\r\n this.successImmunizationCheck = true;\r\n if (res.clinicType === 3) {\r\n this.headerMessage = 'Reminder Alert';\r\n this.successMessage = 'Immunization created successfully.

When Corporate Immunizations are modified update the Corporate Upload spreadsheet template and provide it to the Walgreens Client Services team.'\r\n }\r\n else {\r\n this.headerMessage = 'Success'\r\n this.successMessage = 'Immunization created successfully';\r\n }\r\n }\r\n },\r\n error => {\r\n this.spinner.hide();\r\n switch (error) {\r\n case 500:\r\n alert('ErrorCode 500 received from Service');\r\n break;\r\n case 400:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n default:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n }\r\n })\r\n }\r\n\r\n AssignFieldValues() {\r\n this.immunizationCheck.immunizationName = this.addImmunizationCheck.controls['ImmunizationName'].value;\r\n this.immunizationCheck.spanishName = this.addImmunizationCheck.controls['SpanishName'].value;\r\n this.immunizationCheck.price = this.addImmunizationCheck.controls['Price'].value;\r\n this.immunizationCheck.directBillPrice = this.addImmunizationCheck.controls['DirectBillPrice'].value;\r\n this.immunizationCheck.directBillVoucherPrice = this.addImmunizationCheck.controls['DirectBillVoucherPrice'].value;\r\n this.immunizationCheck.clinicType = this.addImmunizationCheck.controls['ClinicType'].value;\r\n this.immunizationCheck.immunizationAbvEN = this.addImmunizationCheck.controls['ImmunizationAbvEN'].value;\r\n this.immunizationCheck.immunizationAbvSP = this.addImmunizationCheck.controls['ImmunizationAbvSP'].value;\r\n this.immunizationCheck.isActive = this.addImmunizationCheck.controls['IsActive'].value;\r\n //this.immunizationCheck.isCurrentSeason = this.addImmunizationCheck.controls['IsCurrentSeason'].value;\r\n //this.immunizationCheck.isBlockImmunization = this.addImmunizationCheck.controls['IsBlockImmunization'].value;\r\n }\r\n getImmunizationCheckData(pk) {\r\n this.spinner.show();\r\n this.immunzationService.getImmunizationCheckByPk(pk).subscribe((res:any) => {\r\n this.immunizationCheck = res;\r\n let edit_immunization = this.immunizationCheck;\r\n this.addImmunizationCheck.controls['ImmunizationName'].setValue(edit_immunization.immunizationName);\r\n this.addImmunizationCheck.controls['SpanishName'].setValue(edit_immunization.spanishName);\r\n this.addImmunizationCheck.controls['Price'].setValue(edit_immunization.price.toFixed(2));\r\n if(edit_immunization.directBillPrice)\r\n this.addImmunizationCheck.controls['DirectBillPrice'].setValue(edit_immunization.directBillPrice.toFixed(2));\r\n \r\n if(edit_immunization.directBillVoucherPrice)\r\n this.addImmunizationCheck.controls['DirectBillVoucherPrice'].setValue(edit_immunization.directBillVoucherPrice.toFixed(2));\r\n this.addImmunizationCheck.controls['ClinicType'].setValue(edit_immunization.clinicType);\r\n this.addImmunizationCheck.controls['ImmunizationAbvEN'].setValue(edit_immunization.immunizationAbvEN);\r\n this.addImmunizationCheck.controls['ImmunizationAbvSP'].setValue(edit_immunization.immunizationAbvSP);\r\n this.addImmunizationCheck.controls['IsActive'].setValue(edit_immunization.isActive);\r\n //this.addImmunizationCheck.controls['IsCurrentSeason'].setValue(edit_immunization.isCurrentSeason);\r\n //this.addImmunizationCheck.controls['IsBlockImmunization'].setValue(edit_immunization.isBlockImmunization);\r\n this.spinner.hide();\r\n },\r\n err => {\r\n this.spinner.hide();\r\n console.log(\"TODO\");\r\n switch (err.status) {\r\n case 500:\r\n alert('ErrorCode 500 received from Service');\r\n break;\r\n case 400:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n default:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n }\r\n })\r\n }\r\n getClinicTypes() {\r\n \r\n this.spinner.show();\r\n this.immunzationService.getAllClinicTypes().subscribe((res:any) => {\r\n this.dropDownList = [];\r\n this.dropDownList = res;\r\n this.spinner.hide();\r\n\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n alert('ErrorCode 500 received from Service');\r\n break;\r\n case 400:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n default:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n }\r\n });\r\n }\r\n successOkClick() {\r\n this.successImmunizationCheck = false;\r\n this.router.navigate(['/communityoutreach/immunizationcheck']);\r\n }\r\n continueAgreementClick() {\r\n this.overrideAgreements = false;\r\n this.immunizationCheck.allowOverride = true;\r\n this.EditImmunization();\r\n }\r\n formatPrice(e,item:string){\r\n\r\n this.addImmunizationCheck.controls[item].setValue(this.utility.transformtoFixed(e));\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { ImmunizationCheckService } from '../../services/immunization-check.service';\r\nimport { ImmunizationCheck } from '../../../../models/Immunization-check';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-immunization-check',\r\n templateUrl: './immunization-check.component.html',\r\n styleUrls: ['./immunization-check.component.css'],\r\n providers: [ImmunizationCheckService]\r\n})\r\nexport class ImmunizationCheckComponent implements OnInit {\r\n cols: any[];\r\n immunizationChecks: ImmunizationCheck[] = [];\r\n totalData: ImmunizationCheck[] = [];\r\n test: string;\r\n recordsExist: boolean = false;\r\n // @ViewChild('tblImmunizationChecks') dataTableUser:DataTable;\r\n constructor(private spinner: NgxSpinnerService, private immunizationCheckService: ImmunizationCheckService,\r\n private router: Router) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.getImmunizationCheckDetails();\r\n this.cols = [\r\n { field: 'immunizationName', header: 'Immunization Name' },\r\n { field: 'price', header: 'Price' },\r\n { field: 'directBillPrice', header: 'Direct Bill Price' },\r\n { field: 'directBillVoucherPrice', header: 'Direct Bill Voucher Price' },\r\n { field: 'clinicTypeName', header: 'Clinic Type' },\r\n //{ field: 'isCurrentSeason', header: 'Current Season' },\r\n { field: 'isActive', header: 'Active' }\r\n ]\r\n }\r\n\r\n getImmunizationCheckDetails() {\r\n this.immunizationCheckService.getAllImmunizationChecks().subscribe((res:any) => {\r\n this.totalData = res;\r\n if (res && res.length > 0) {\r\n this.immunizationChecks = this.totalData.filter(p => p.isActive);\r\n this.recordsExist = true;\r\n }\r\n else {\r\n this.immunizationChecks = [];\r\n this.recordsExist = false;\r\n }\r\n this.spinner.hide();\r\n console.log(this.recordsExist);\r\n },\r\n error => {\r\n this.spinner.hide();\r\n console.log(error);\r\n })\r\n }\r\n\r\n getImmCheckCls(value: string) {\r\n switch (value) {\r\n case 'Immunization Name':\r\n return 'w400';\r\n case 'Clinic Type':\r\n case 'Price':\r\n case 'Active':\r\n return 'w100';\r\n case 'Direct Bill Price':\r\n return 'w200';\r\n default:\r\n return '';\r\n }\r\n }\r\n editImmunization(value: ImmunizationCheck) {\r\n SessionDetails.SetImmunizationCheckPK(value.immunizationPk);\r\n this.router.navigate(['/communityoutreach/edit-immunization']);\r\n }\r\n\r\n addImmunizationCheck() {\r\n SessionDetails.SetImmunizationCheckPK(0);\r\n this.router.navigate(['/communityoutreach/add-immunization']);\r\n }\r\n onChange(value) {\r\n if (value === \"0\")\r\n this.immunizationChecks = this.totalData.filter(p => p.isActive);\r\n else if (value === \"1\")\r\n this.immunizationChecks = this.totalData.filter(p => !p.isActive);\r\n else if (value === \"2\")\r\n this.immunizationChecks = this.totalData;\r\n }\r\n}\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { MovePatientsBetweenPatientGroupsModel } from '../../../../models/MovePatientsBetweenPatientGroupsModel';\r\nimport { SearchCuraPatientPatientGroupsModel } from '../../../../models/SearchCuraPatientPatientGroupsModel';\r\nimport { HeaderserviceService } from '../../../../modules/common/services/headerservice.service';\r\nimport { PatientgroupService } from '../../services/patientgroup.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-patient-reassignment',\r\n templateUrl: './patient-reassignment.component.html',\r\n styleUrls: ['./patient-reassignment.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n\r\n})\r\nexport class PatientReassignmentComponent implements OnInit {\r\n cols: any[];\r\n errorShow: boolean = false;\r\n successShow: boolean = false;\r\n SelectedSource: any;\r\n SelectedTarget: any;\r\n sourceResult: any = [];\r\n errorMessageShow: string;\r\n reassignShow: boolean = false;\r\n recordsExist: boolean = true;\r\n sourceSearch = '';\r\n targetSearch = '';\r\n sourceSearchString: SearchCuraPatientPatientGroupsModel = new SearchCuraPatientPatientGroupsModel();\r\n targetResult: any = [];\r\n sourceResultExists: boolean = false;\r\n targetResultExists: boolean = false;\r\n targetSearchString: SearchCuraPatientPatientGroupsModel = new SearchCuraPatientPatientGroupsModel();\r\n sourceAndTargetFilled = false;\r\n responseFromCP: any;\r\n typeMisMatch: any = false;\r\n\r\n constructor(private service: PatientgroupService, private spinner: NgxSpinnerService) {\r\n this.cols = [\r\n { field: 'name', header: 'Patient Group' },\r\n { field: 'address', header: 'Location' },\r\n { field: 'type', header: 'Type' },\r\n { field: 'patientCount', header: 'Patients' }\r\n ];\r\n }\r\n\r\n ngOnInit() {\r\n // this.getSourcePatientGroups();\r\n // this.getTargetPatientGroups();\r\n }\r\n\r\n getSourcePatientGroups() {\r\n // this.sourceSearch = 'al';\r\n this.sourceSearchString.searchString = this.sourceSearch;\r\n this.spinner.show();\r\n this.service.getSourcePatientGroups(this.sourceSearchString).subscribe((data) => {\r\n this.spinner.hide();\r\n let jsonRes = JSON.parse(data.result);\r\n this.sourceResult = jsonRes.result;\r\n this.sourceResult.forEach(element => {\r\n element.disabled = false;\r\n });\r\n\r\n this.sourceResult = this.sourceResult.filter((item) => item.patientCount != 0);\r\n\r\n if (this.sourceResult.length > 0) {\r\n this.sourceResultExists = true;\r\n this.recordsExist = true;\r\n }\r\n else {\r\n this.recordsExist = false;\r\n }\r\n }, err => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getTargetPatientGroups() {\r\n // this.targetSearch = 'qual';\r\n this.targetSearchString.searchString = this.targetSearch;\r\n this.spinner.show();\r\n this.service.getTargetPatientGroups(this.targetSearchString).subscribe((data) => {\r\n this.spinner.hide();\r\n let jsonRes = JSON.parse(data.result);\r\n this.targetResult = jsonRes.result;\r\n if (this.targetResult.length > 0) {\r\n this.recordsExist = true;\r\n this.targetResultExists = true;\r\n }\r\n else {\r\n this.recordsExist = false;\r\n }\r\n }, err => {\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getHeaderWidth(colName: string) {\r\n switch (colName) {\r\n case \"Patient Group\":\r\n return 'w200';\r\n case \"Location\":\r\n return 'w250';\r\n case \"Type\":\r\n return 'w50';\r\n case \"Patients\":\r\n return 'w80';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n onChangeSource() {\r\n \r\n if (this.SelectedSource.length == 0) {\r\n this.sourceResult.forEach(element => {\r\n element.disabled = false;\r\n });\r\n }\r\n if (this.SelectedSource.length > 0) {\r\n this.sourceResult.forEach(element => {\r\n if (element.id != this.SelectedSource[0].id) {\r\n element.disabled = true;\r\n }\r\n });\r\n }\r\n if (this.SelectedSource.length > 0 && this.SelectedTarget.length > 0) {\r\n this.sourceAndTargetFilled = true;\r\n }\r\n else {\r\n this.sourceAndTargetFilled = false;\r\n }\r\n }\r\n\r\n onChangeTarget() {\r\n \r\n if (this.SelectedTarget.length == 0) {\r\n this.targetResult.forEach(element => {\r\n element.disabled = false;\r\n });\r\n }\r\n if (this.SelectedTarget.length > 0) {\r\n this.targetResult.forEach(element => {\r\n if (element.id != this.SelectedTarget[0].id) {\r\n element.disabled = true;\r\n }\r\n });\r\n }\r\n\r\n if (this.SelectedSource.length > 0 && this.SelectedTarget.length > 0) {\r\n this.sourceAndTargetFilled = true;\r\n }\r\n else {\r\n this.sourceAndTargetFilled = false;\r\n }\r\n }\r\n\r\n reassignPatients() {\r\n \r\n this.reassignShow = true;\r\n }\r\n\r\n confirmReassignPatients() {\r\n // \r\n this.spinner.show();\r\n this.reassignShow = false;\r\n let postObj = new MovePatientsBetweenPatientGroupsModel;\r\n postObj.fromPG = this.SelectedSource[0].id;\r\n postObj.toPG = this.SelectedTarget[0].id;\r\n if(this.SelectedSource[0].type != this.SelectedTarget[0].type)\r\n {\r\n this.typeMisMatch = true;\r\n this.spinner.hide();\r\n return;\r\n }\r\n\r\n this.service.reassignPatients(postObj).subscribe((data) => {\r\n \r\n this.spinner.hide();\r\n this.responseFromCP = data.result;\r\n this.successShow = true;\r\n }, error => {\r\n this.spinner.hide();\r\n this.errorShow = true;\r\n this.errorMessageShow = error.errorS.errorMessage;\r\n \r\n });\r\n\r\n }\r\n \r\n successOkClick() {\r\n this.successShow = false;\r\n this.sourceResult = [];\r\n this.targetResult = [];\r\n this.SelectedSource = [];\r\n this.SelectedTarget = [];\r\n this.sourceAndTargetFilled = false;\r\n this.getSourcePatientGroups();\r\n this.getTargetPatientGroups();\r\n }\r\n\r\n typeMisMatchOkClick(){\r\n this.typeMisMatch = false;\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { DOCUMENT } from '../../../../../../node_modules/@angular/common';\r\nimport { Router } from '../../../../../../node_modules/@angular/router';\r\nimport { SchedulerregistrationService } from '../../services/schedulerregistration.service';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { defaultSiteDesignInfo } from '../../../../JSON/schedulerDefaultValues';\r\nimport { environment } from '../../../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-scheduler-landing',\r\n templateUrl: './scheduler-landing.component.html',\r\n styleUrls: ['./scheduler-landing.component.css']\r\n})\r\nexport class SchedulerLandingComponent implements OnInit {\r\n domain: any;\r\n protocol: any;\r\n port: any;\r\n siteDesignInfo: any = {};\r\n clientLogo: string = \"\";\r\n clientName: string = \"\";\r\n clientStatus: boolean = true;\r\n bodyText: string = \"\";\r\n footerText1: string = \"\";\r\n showAppointmentButton: boolean = true;\r\n showBodyText: boolean = true;\r\n scheduledAppointmentInfo: any = {};\r\n showResendPopup:boolean = false;\r\n resendEmail:string =\"\";\r\n dialogMsg: string;\r\n dialogSummary:string =\"\";\r\n errorPopUp: boolean = false;\r\n constructor(private router: Router, @Inject(DOCUMENT) private document: any, private scheduler_regisration: SchedulerregistrationService) {\r\n }\r\n ngOnInit() {\r\n this.scheduledAppointmentInfo = SessionDetails.getSchedulerUserInfo();\r\n if (!this.scheduledAppointmentInfo) {\r\n this.scheduledAppointmentInfo = {\r\n \"designPk\": -1,\r\n \"redirectTo\": \"schedulerRegistration\",\r\n \"apptPk\": -1,\r\n \"clinicPK\": -1\r\n };\r\n //This condition has to be removed once the above data is available from servive.\r\n //if (sessionStorage[\"scheduler_site_set_up\"]) {\r\n //this.scheduledAppointmentInfo.designPk = JSON.parse(sessionStorage[\"scheduler_site_set_up\"]).clientInfo.clientId\r\n //}\r\n }\r\n this.scheduler_regisration.getSchedulerSiteDesign(this.scheduledAppointmentInfo.designPk).subscribe((result:any) => {\r\n if (Object.keys(result).length > 0) {\r\n if (!result.clientInfo.enryptedClientKey) {\r\n result.siteLogoAndStyles = defaultSiteDesignInfo.defaultDesignValues;\r\n result.siteLandingPageText = defaultSiteDesignInfo.defaultTextValues;\r\n }\r\n this.siteDesignInfo = result;\r\n\r\n //this.clientName = this.siteDesignInfo.clientInfo.businessName;\r\n this.clientLogo = ((this.siteDesignInfo.siteLogoAndStyles && this.siteDesignInfo.siteLogoAndStyles.logoFile &&\r\n this.siteDesignInfo.siteLogoAndStyles.logoFile !== \"string\") ? environment.RESOURCES.CORPORATE_SCHEDULER_UPLOADED_LOGOS_URL + this.siteDesignInfo.siteLogoAndStyles.logoFile : '');\r\n\r\n this.clientName = this.siteDesignInfo.siteLandingPageText.headerText;\r\n this.clientStatus = this.siteDesignInfo.clientInfo.siteStatus;\r\n this.bodyText = this.htmlDecode(this.siteDesignInfo.siteLandingPageText.bodyText);\r\n if (!this.siteDesignInfo.clientInfo.siteStatus || (this.siteDesignInfo.clientInfo.siteStatus && this.siteDesignInfo.hasActiveClinics === -1)) {\r\n this.showAppointmentButton = false;\r\n this.showBodyText = false;\r\n this.bodyText = \"Sorry. The clinic you are looking for is not available for scheduling appointments.\";\r\n } else if (this.siteDesignInfo.clientInfo.siteStatus && this.siteDesignInfo.hasActiveClinics === 0) {\r\n this.showAppointmentButton = false;\r\n this.showBodyText = false;\r\n this.bodyText = \"Sorry, scheduling has been closed for this clinic.\";\r\n } else if (this.scheduledAppointmentInfo.appointmentPK > -1 && this.siteDesignInfo.hasActiveClinics > 0) {\r\n this.router.navigate([\"/schedulerRegistration\"]);\r\n }\r\n this.footerText1 = this.htmlDecode(this.siteDesignInfo.siteLandingPageText.footerText);\r\n\r\n window.setTimeout(function () {\r\n if (document.getElementsByClassName(\"blueAnchor1\").length > 0 && document.getElementsByClassName(\"blueAnchor1\")[0].getElementsByTagName('a') && document.getElementsByClassName(\"blueAnchor1\")[0].getElementsByTagName('a').length > 0) {\r\n var path_ref = document.getElementsByClassName(\"blueAnchor1\")[0].getElementsByTagName('a')[0].href;\r\n document.getElementsByClassName(\"blueAnchor1\")[0].getElementsByTagName('a')[0].setAttribute(\"style\", \"text-decoration: underline;\");\r\n document.getElementsByClassName(\"blueAnchor1\")[0].getElementsByTagName('a')[0].href = \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/\" + path_ref.substring(path_ref.lastIndexOf('/') + 1);\r\n document.getElementsByClassName(\"blueAnchor1\")[0].getElementsByTagName('a')[0].attributes[\"target\"] = \"_blank\";\r\n }\r\n }, 2000);\r\n }\r\n });\r\n }\r\n\r\n htmlDecode(str) {\r\n var div = document.createElement(\"div\");\r\n div.innerHTML = str;\r\n return div.textContent || div.innerText;\r\n }\r\n openRegistrationPage() {\r\n let path = this.protocol + \"//\" + this.domain + ((this.port) ? \":\" + this.port : \"\");\r\n window.open(path + '/schedulerRegistration', '_blank', 'location=yes,height=660,width=800,scrollbars=yes,status=yes');\r\n }\r\n\r\n openPopup(event: any){\r\n this.showResendPopup = true;\r\n return false;\r\n }\r\n\r\n submitResendPopup(){\r\n let reg_exp = new RegExp('^[a-zA-Z0-9][a-zA-Z0-9.!@#$%&*+_-]+[a-zA-Z0-9]@[a-zA-Z0-9][a-zA-Z0-9._-]+\\.[a-zA-Z]{2,3}$');\r\n if (reg_exp.test(this.resendEmail)) {\r\n this.scheduler_regisration.resendAppointmentConfirmationEmail(\r\n this.resendEmail,\r\n this.siteDesignInfo.clientInfo.clientId\r\n )\r\n .subscribe((result:any) => {\r\n if (result.errorS != null) {\r\n if ((result.errorS.errorCode = -1)) {\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = result.errorS.errorMessage;\r\n this.errorPopUp = true;\r\n }\r\n } else {\r\n this.dialogSummary = \"Resend My Appointment Confirmation Email\";\r\n this.dialogMsg = \"Email sent successfully.\";\r\n this.resendEmail = \"\";\r\n this.showResendPopup = false;\r\n this.errorPopUp = true;\r\n }\r\n });\r\n } else {\r\n this.dialogSummary = \"Resend My Appointment Confirmation Email\";\r\n this.dialogMsg = \"Please enter valid email address.\";\r\n this.errorPopUp = true;\r\n }\r\n }\r\n\r\n closeErrorPopup(){\r\n this.errorPopUp = false;\r\n }\r\n\r\n closePop(){\r\n this.showResendPopup = false;\r\n this.resendEmail = \"\";\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../../../environments/environment';\r\nimport { Util } from '../../../../../utility/util';\r\nimport { SessionDetails } from '../../../../../utility/session';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class StoreprofileuploaderService {\r\n private _baseURL: string = \"\";\r\n private fileName:string =\"\";\r\n fileExt: string = \"\";\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n getUploadedFilesList() {\r\n let url = environment.API_URL + environment.RESOURCES.GET_STOREPROFILE_UPLOADED_FILES;\r\n return this.http.get(url, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n uploadStores(files, upload_mode, uploaded_on, user_pk, user_email) {\r\n this._baseURL = environment.API_URL + environment.RESOURCES.UPLOAD_STORE_PROFILES + \"/\" + upload_mode + \"/\" + uploaded_on + \"/\" + user_pk + \"/\" + user_email;\r\n let userData = SessionDetails.GetUserInfo();\r\n let token = btoa(userData.userName + ':' + userData.password);\r\n\r\n let req_headers = new HttpHeaders()\r\n .set('Authorization','Basic '+ token);\r\n\r\n return this.http.post(this._baseURL, files, {headers:req_headers})\r\n .pipe(catchError(Util.handleErrorV2));\r\n\r\n }\r\n\r\n getGeneratedStoreProfileReport(uploaded_file_key:string,upload_mode:number) {\r\n let url = environment.API_URL + environment.RESOURCES.GET_GENERATED_STOREPROFILE_REPORT + \"/\" + uploaded_file_key + \"/\" + upload_mode; \r\n return this.http.get(url, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n updateAStoreProfile(uploaded_file_key: string, store_id:number,store_profile:any,upload_mode:number){\r\n let url = environment.API_URL + environment.RESOURCES.UPDATE_STOREUPLOAD_PROFILE + \"/\" + uploaded_file_key + \"/\" + store_id + \"/\" + upload_mode;\r\n let userData = SessionDetails.GetUserInfo();\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let req_headers = new HttpHeaders()\r\n .set('Authorization','Basic '+ usernamePassword);\r\n\r\n return this.http.post(url, store_profile, {headers:req_headers})\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n deleteStoreProfile(uploaded_file_key: string, store_id:number){\r\n let url = environment.API_URL + environment.RESOURCES.DELETE_STOREUPLOAD_PROFILE + \"/\" + uploaded_file_key + \"/\" + store_id; \r\n return this.http.get(url, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n deleteStoreUploadFile(uploaded_file_key: string){\r\n let url = environment.API_URL + environment.RESOURCES.DELETE_STOREUPLOAD_FILE + \"/\" + uploaded_file_key; \r\n return this.http.get(url, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public downloadStoreProfileUploadReport(uploaded_file_key:string,upload_mode:number) {\r\n let userData= SessionDetails.GetUserInfo()\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n let url = environment.API_URL + environment.RESOURCES.DOWNLOAD_STOREPROFILE_REPORT + \"/\" + uploaded_file_key + \"/\" + upload_mode;\r\n return this.http.get(url, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'})\r\n .pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.fileName = result;\r\n // this.fileExt = this.fileName.substring(this.fileName.indexOf('.'));\r\n // return res.blob()\r\n // });\r\n }\r\n\r\n public updateStoreProfilesInSite(uploaded_file_key: string, upload_mode: number){\r\n let url = environment.API_URL + environment.RESOURCES.UPDATE_STOREPROFILES_INSITE + \"/\" + uploaded_file_key + \"/\" + upload_mode; \r\n return this.http.get(url, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-store-profile-upload-complete',\r\n templateUrl: './store-profile-upload-complete.component.html',\r\n styleUrls: ['./store-profile-upload-complete.component.css']\r\n})\r\n\r\nexport class StoreProfileUploadCompleteComponent implements OnInit {\r\n\r\n uploadedFileKey: string = \"tst\";\r\n uploadMode: number = -1;\r\n\r\n completedStatusMsg: string=\"\";\r\n statusMessage: string = \"\";\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.statusMessage = \"

The \" + ((Number(this.uploadMode) === 0) ? \"Monthly\" : \"Partial\") + \" Store update completed successfully.

\";\r\n if (this.completedStatusMsg) {\r\n this.statusMessage += \"

\";\r\n this.statusMessage += \"The following stores have failed to get Geocoded.
\";\r\n this.statusMessage += this.completedStatusMsg.replace(/\\r\\n/g,'
');\r\n }\r\n }\r\n\r\n //****** DO NOT DELETE THESE FUNCTIONS AS THEY ARE BEING USED IN PARENT COMPONENT -- START *****//\r\n getButtonContent(action: string) {\r\n let but_content: string = \"\";\r\n return but_content;\r\n }\r\n\r\n getHeader() {\r\n return \"\";\r\n }\r\n //****** DO NOT DELETE THESE FUNCTIONS AS THEY ARE BEING USED IN PARENT COMPONET -- END *****//\r\n}\r\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { StoreprofileuploaderService } from '../services/storeprofileuploader.service';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\n\r\n@Component({\r\n selector: 'app-storeprofilereportandupdate',\r\n templateUrl: './storeprofilereportandupdate.component.html',\r\n styleUrls: ['./storeprofilereportandupdate.component.css'],\r\n providers: [StoreprofileuploaderService]\r\n})\r\nexport class StoreprofilereportandupdateComponent implements OnInit {\r\n\r\n uploadedFileKey: string = \"\";\r\n uploadMode: number = -1;\r\n\r\n generatedStoreProfileData: any[] = [];\r\n cols: any[];\r\n fileCounts: any[];\r\n\r\n //canShowAnAction: boolean = false;\r\n currentAction: string = \"\";\r\n canShowActions: boolean = false;\r\n canShowConfirmPop: boolean = false;\r\n canShowEditStorePop: boolean = false;\r\n confirmMessage: string = \"\";\r\n dialogMessage: string = \"\";\r\n showInfoMsg: boolean = false;\r\n selectedStore: any = {};\r\n selectedStoreString: string = \"\";\r\n selectedStoreBkp: any = {};\r\n selectedRow: number;\r\n onSiteLocationSelectedValues: any = [];\r\n canOpenForEdit: boolean = false;\r\n @Output() loadPage = new EventEmitter();\r\n\r\n @Output() loadEditForm = new EventEmitter();\r\n\r\n constructor(private readonly spinner: NgxSpinnerService, private readonly store_profile_uploader_service: StoreprofileuploaderService) { }\r\n\r\n ngOnInit() {\r\n this.canOpenForEdit = (Number(this.uploadMode) === 1);\r\n this.cols = [\r\n { field: 'changeType', header: 'Change Type' },\r\n { field: 'updatedValue', header: 'Updated Value' },\r\n { field: 'storeId', header: 'Store ID' },\r\n { field: 'address', header: 'Address' },\r\n { field: 'city', header: 'City' },\r\n { field: 'state', header: 'State' },\r\n { field: 'zip', header: 'Zip' },\r\n { field: 'districtNumber', header: 'District' },\r\n { field: 'districtName', header: 'District Name' },\r\n { field: 'regionNumber', header: 'Region' },\r\n { field: 'regionName', header: 'Region Name' },\r\n { field: 'areaNumber', header: 'Area' },\r\n { field: 'areaName', header: 'Area Name' }\r\n ];\r\n if (Number(this.uploadMode) === 1) {\r\n //Removing Change Type and Updated Value\r\n //this.cols.splice(0, 2);\r\n let onsite_col = { field: 'onSiteLocation', header: 'On-site Location' };\r\n let wag_rad_store = { field: 'wagRadStore', header: 'WAG/RAD Store' };\r\n this.cols.splice(0, 0, onsite_col, wag_rad_store);\r\n }\r\n if (this.generatedStoreProfileData.length > 0) {\r\n this.generatedStoreProfileData.forEach(ele => {\r\n ele.onSiteLocation = JSON.parse(ele.onSiteLocation);\r\n });\r\n }\r\n //if (this.uploadMode == 0) {\r\n this.spinner.show();\r\n this.getGeneratedStoreProfileReport();\r\n // }\r\n }\r\n\r\n getGeneratedStoreProfileReport() {\r\n this.store_profile_uploader_service.getGeneratedStoreProfileReport(this.uploadedFileKey, this.uploadMode).subscribe((result:any) => {\r\n this.generatedStoreProfileData = result.storeProfileList;\r\n let index = 0\r\n this.generatedStoreProfileData.forEach(obj => {\r\n let k: boolean = false;\r\n\r\n if (obj.onSiteLocation) {\r\n this.onSiteLocationSelectedValues.push(index);\r\n k = JSON.parse(obj.onSiteLocation);\r\n }\r\n obj.onSiteLocation = k;\r\n index++;\r\n });\r\n this.fileCounts = result.uploadedFilesStatsList;\r\n //console.log(this.generatedStoreProfileData);\r\n this.spinner.hide();\r\n },\r\n error => {\r\n this.spinner.hide();\r\n if (error.status === 417) {\r\n this.dialogMessage = \"HTTP/1.1 417 Expectation Failed\";\r\n } else {\r\n this.dialogMessage = \"An error occurred. Please concact administrator.\";\r\n }\r\n this.showInfoMsg = true;\r\n });\r\n }\r\n getHeaderClass(e: string) {\r\n let cls_name = \"\";\r\n switch (e) {\r\n case 'Store ID':\r\n case 'State':\r\n case 'Zip':\r\n case 'District':\r\n case 'Region':\r\n case 'Area':\r\n cls_name = 'w100';\r\n break;\r\n case 'On-site Location':\r\n case 'WAG/RAD Store':\r\n case 'Updated Value':\r\n cls_name = 'w155'\r\n break;\r\n case 'Change Type':\r\n cls_name = 'w100';\r\n break;\r\n case 'District Name':\r\n case 'Area Name':\r\n case 'Region Name':\r\n cls_name = 'w200'\r\n break;\r\n case 'Address':\r\n cls_name = 'w350';\r\n break;\r\n case 'City':\r\n cls_name = 'w200';\r\n break;\r\n default:\r\n cls_name = '';\r\n break;\r\n }\r\n return cls_name;\r\n }\r\n\r\n backNav() {\r\n let emit_json = {\r\n \"uploadedOn\": \"\",\r\n \"stepNumber\": 1\r\n };\r\n this.loadPage.emit(emit_json);\r\n }\r\n\r\n showActionsDialog(index: number) {\r\n this.selectedStore = this.generatedStoreProfileData[index];\r\n this.selectedStoreString = JSON.stringify(this.selectedStore);\r\n sessionStorage.setItem('resetOnCancelUpdate', JSON.stringify(this.selectedStore));\r\n this.selectedRow = index;\r\n this.canShowActions = true;\r\n }\r\n\r\n continueOnConfirm() {\r\n switch (this.currentAction) {\r\n case \"remove\":\r\n this.currentAction = \"\";\r\n this.canShowConfirmPop = false;\r\n //Call the service to update in database;\r\n this.store_profile_uploader_service.deleteStoreProfile(this.uploadedFileKey, this.selectedStore.storeId).subscribe(result => {\r\n this.dialogMessage = \"Store deleted successfully.\"\r\n this.removeStoreSettings(false);\r\n },\r\n error => {\r\n this.spinner.hide();\r\n if (error.status === 417) {\r\n this.dialogMessage = \"HTTP/1.1 417 Expectation Failed\";\r\n } else {\r\n this.dialogMessage = \"Could not delete a Store... Please contact administrator.\";\r\n }\r\n this.removeStoreSettings(true);\r\n });\r\n break;\r\n case \"updateSite\":\r\n console.log(this.generatedStoreProfileData);\r\n this.canShowConfirmPop = false;\r\n this.currentAction = \"\";\r\n this.spinner.show();\r\n this.store_profile_uploader_service.updateStoreProfilesInSite(this.uploadedFileKey, this.uploadMode).subscribe((result:any) => {\r\n let emit_json = {\r\n \"uploadedOn\": this.uploadedFileKey,\r\n \"stepNumber\": 3,\r\n \"uploadMode\": this.uploadMode\r\n };\r\n if (result.errorS && result.errorS.errorMessage !== \"\") {\r\n this.dialogMessage = result.errorS.errorMessage;\r\n emit_json[\"completedStatusMsg\"] = this.dialogMessage;\r\n }\r\n this.spinner.hide();\r\n this.loadPage.emit(emit_json);\r\n //navigate to new step component.\r\n }, error => {\r\n this.spinner.hide();\r\n if (error.status === 417) {\r\n this.dialogMessage = \"HTTP/1.1 417 Expectation Failed\";\r\n } else {\r\n this.dialogMessage = \"Could not update stores... Please contact administrator.\";\r\n }\r\n this.showInfoMsg = true;\r\n });\r\n /*let emit_json = {\r\n \"uploadedOn\": this.uploadedFileKey,\r\n \"stepNumber\": 3,\r\n \"uploadMode\": this.uploadMode\r\n };*/\r\n /*this.spinner.hide();\r\n this.loadPage.emit(emit_json);*/\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n removeStoreSettings(is_error: boolean) {\r\n this.cancelOnConfirm();\r\n this.showInfoMsg = true;\r\n if (!is_error) {\r\n this.getGeneratedStoreProfileReport();\r\n }\r\n this.spinner.hide();\r\n }\r\n\r\n cancelOnConfirm() {\r\n this.selectedRow = -1;\r\n this.selectedStore = {};\r\n sessionStorage.removeItem('resetOnCancelUpdate');\r\n this.canShowConfirmPop = false;\r\n }\r\n\r\n cancelUpdate() {\r\n //this.selectedStore = JSON.parse(sessionStorage.resetOnCancelUpdate);\r\n this.selectedStore = {};\r\n this.generatedStoreProfileData[this.selectedRow] = JSON.parse(sessionStorage.getItem(\"resetOnCancelUpdate\"));\r\n sessionStorage.removeItem('resetOnCancelUpdate');\r\n this.canShowEditStorePop = false;\r\n this.selectedRow = null;\r\n }\r\n\r\n updateStore() {\r\n //Need to call service to update tblStoreProfilesUploadData table for Full upload.\r\n //In case of partial upload,(need to call the service while uploading which returns the feed data only and it does not insert into tblStoreProfilesUploadData),\r\n // need to update the data in the grid only and should not be posted to service as it is for full upload.\r\n this.generatedStoreProfileData[this.selectedRow] = this.selectedStore;\r\n this.store_profile_uploader_service.updateAStoreProfile(this.uploadedFileKey, this.selectedStore.storeId, this.selectedStore, this.uploadMode).subscribe(result => {\r\n this.dialogMessage = \"Store updated successfully.\"\r\n this.updateStoreSettings(false);\r\n }, error => {\r\n if (error.status === 417) {\r\n this.dialogMessage = \"HTTP/1.1 417 Expectation Failed\";\r\n } else {\r\n this.dialogMessage = \"Store Update failed... Please contact administrator.\";\r\n }\r\n this.updateStoreSettings(true);\r\n });\r\n\r\n sessionStorage.removeItem('resetOnCancelUpdate');\r\n this.canShowEditStorePop = false;\r\n this.selectedRow = null;\r\n }\r\n\r\n updateStoreSettings(is_error: boolean) {\r\n this.canShowEditStorePop = false;\r\n this.showInfoMsg = true;\r\n if (!is_error) {\r\n this.getGeneratedStoreProfileReport();\r\n }\r\n this.spinner.hide();\r\n }\r\n\r\n updateSite() {\r\n this.currentAction = \"updateSite\";\r\n this.confirmMessage = 'This action updates the stores in the site and cannot be undone. Click \"Continue\" to update.';\r\n this.canShowConfirmPop = true;\r\n }\r\n\r\n getCheckboxValue(rowIndex: number, attr: string, event: any) {\r\n console.log(rowIndex);\r\n }\r\n\r\n setIsOnsiteStore(rowIndex: number, attr: string, event: any) {\r\n this.generatedStoreProfileData[rowIndex][attr] = event.target.checked;\r\n this.selectedRow = rowIndex;\r\n this.selectedStore = this.generatedStoreProfileData[rowIndex];\r\n this.updateStore()\r\n }\r\n\r\n setValue(rowIndex: number, attr: string, event: any) {\r\n\r\n }\r\n\r\n getValue(value: string): boolean {\r\n return JSON.parse(value);\r\n }\r\n\r\n getButtonContent(action: string) {\r\n let but_content: string = \"\";\r\n switch (action) {\r\n case \"openOrEdit\":\r\n but_content = 'Edit Store';\r\n break;\r\n case 'remove':\r\n but_content = 'Remove Store';\r\n break;\r\n default:\r\n break;\r\n }\r\n return but_content;\r\n }\r\n\r\n getHeader() {\r\n let dlg_header = \"\";\r\n switch (this.currentAction) {\r\n case \"remove\":\r\n dlg_header = \"Remove Store\";\r\n break;\r\n case \"updateSite\":\r\n dlg_header = \"Update Site\";\r\n break;\r\n default:\r\n break;\r\n }\r\n return dlg_header;\r\n }\r\n\r\n makeAction(action: string) {\r\n switch (action) {\r\n case \"openOrEdit\":\r\n this.canShowActions = false;\r\n this.selectedStore = this.generatedStoreProfileData[this.selectedRow];\r\n this.selectedStoreString = JSON.stringify(this.selectedStore);\r\n //this.canShowEditStorePop = true;\r\n let emit_json = {\r\n \"uploadedOn\": this.uploadedFileKey,\r\n \"uploadMode\": this.uploadMode,\r\n \"selectedStore\": this.selectedStore\r\n };\r\n this.loadEditForm.emit(emit_json);\r\n break;\r\n case \"remove\":\r\n //Get the user confirmation before removing.\r\n this.canShowActions = false;\r\n this.currentAction = \"remove\";\r\n this.confirmMessage = 'Removing the store cannot be undone. If you \"Continue\" the store will be permanently deleted.';\r\n this.canShowConfirmPop = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n Ok() {\r\n this.showInfoMsg = false;\r\n }\r\n\r\n downloadReport() {\r\n this.spinner.show();\r\n this.store_profile_uploader_service.downloadStoreProfileUploadReport(this.uploadedFileKey, this.uploadMode).subscribe((res:Response) => {\r\n let fileName:string = res.headers.get('Content-Disposition').split(';')[1].trim().split('=')[1];\r\n importedSaveAs(res.body,\"StoreUpdatesReport_\"+this.uploadedFileKey+fileName.substring(fileName.indexOf('.')));\r\n this.spinner.hide();\r\n },\r\n error => {\r\n if (error.status === 417) {\r\n this.dialogMessage = \"HTTP/1.1 417 Expectation Failed\";\r\n } else {\r\n this.dialogMessage = \"An error occurred. Please concact administrator.\";\r\n }\r\n this.showInfoMsg = true;\r\n });\r\n }\r\n\r\n disableOnSiteOptionForRadStore(store: any) {\r\n return (store.wagRadStore === 'RAD');\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewChild, ViewContainerRef, ComponentFactoryResolver, Inject, ComponentRef, ComponentFactory } from '@angular/core';\r\nimport { UploadstoreprofilesComponent } from '../uploadstoreprofiles/uploadstoreprofiles.component';\r\nimport { StoreprofilereportandupdateComponent } from '../storeprofilereportandupdate/storeprofilereportandupdate.component';\r\nimport { StoreProfileUploadCompleteComponent } from '../store-profile-upload-complete/store-profile-upload-complete.component';\r\nimport { UpdatestoreprofileComponent } from '../updatestoreprofile/updatestoreprofile.component';\r\n@Component({\r\n selector: 'app-storeprofileuploader',\r\n templateUrl: './storeprofileuploader.component.html',\r\n styleUrls: ['./storeprofileuploader.component.css']\r\n})\r\nexport class StoreprofileuploaderComponent implements OnInit {\r\n\r\n viewSteps: boolean = true;\r\n uploadedFileName: string = '';\r\n totalSteps: number = 3;\r\n currentStep: number = 1;\r\n component: any;\r\n uploadedFileKey: string;\r\n uploadMode: number;\r\n partialFeedRecords: any = [];\r\n completedStatusMsg: string;\r\n //selectedStore: any = {};\r\n @ViewChild('childcontainer', { static: true, read: ViewContainerRef }) childCmpHost;//: ViewContainerRef;\r\n @ViewChild('dynamiccontainer', {static: true, read: ViewContainerRef }) dynamiCmpHost;//: ViewContainerRef;\r\n dynamicCompRef: any\r\n compRef: any;\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n ngOnInit() {\r\n this.loadComponent();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.compRef) {\r\n this.compRef.destroy();\r\n }\r\n this.childCmpHost.clear();\r\n }\r\n\r\n loadComponent() {\r\n try {\r\n switch (this.currentStep) {\r\n case 1:\r\n this.component = UploadstoreprofilesComponent;\r\n break;\r\n case 2:\r\n this.component = StoreprofilereportandupdateComponent;\r\n break;\r\n case 3:\r\n this.component = StoreProfileUploadCompleteComponent;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.component);\r\n this.childCmpHost.clear();\r\n this.compRef = this.childCmpHost.createComponent(componentFactory);\r\n\r\n if (this.compRef.instance.uploadedFileKey !== undefined && this.compRef.instance.uploadedFileKey !== null) {\r\n this.compRef.instance.uploadedFileKey = this.uploadedFileKey;\r\n }\r\n if (this.compRef.instance.uploadMode) {\r\n this.compRef.instance.uploadMode = this.uploadMode;\r\n }\r\n\r\n\r\n //if (this.partialFeedRecords.length > 0 && this.compRef.instance.generatedStoreProfileData != undefined && this.compRef.instance.generatedStoreProfileData != null) {\r\n // this.compRef.instance.generatedStoreProfileData = this.partialFeedRecords;\r\n //}\r\n\r\n\r\n\r\n if (this.compRef.instance.invalidFile !== undefined && this.compRef.instance.invalidFile === null) {\r\n this.compRef.instance.invalidFile = false;\r\n }\r\n // if (this.compRef.instance.selectedStore != undefined && this.compRef.instance.selectedStore == null) {\r\n // this.selectedStore = this.compRef.instance.selectedStore;\r\n // }\r\n //if (this.compRef.instance.storeUpdateFormGroup != undefined && this.compRef.instance.storeUpdateFormGroup == null) {\r\n // this.storeUpdateFormGroup = this.compRef.instance.storeUpdateFormGroup;\r\n // }\r\n\r\n if (this.compRef.instance.completedStatusMsg !== undefined && this.compRef.instance.completedStatusMsg !== null) {\r\n this.compRef.instance.completedStatusMsg = this.completedStatusMsg;\r\n }\r\n\r\n if (this.compRef.instance.loadEditForm) {\r\n this.compRef.instance.loadEditForm.subscribe($event => {\r\n this.loadEditForm($event)\r\n });\r\n }\r\n\r\n if (this.compRef.instance.loadPage) {\r\n this.compRef.instance.loadPage.subscribe($event => {\r\n this.goToStep($event)\r\n });\r\n }\r\n this.compRef.changeDetectorRef.detectChanges();\r\n\r\n //this.childCmpHost = ref;\r\n //let invalidFile = (ref.instance).invalidFile;\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n\r\n goToStep(event_data: any) {\r\n this.currentStep = event_data.stepNumber;\r\n this.uploadedFileKey = event_data.uploadedOn;\r\n this.uploadMode = event_data.uploadMode;\r\n //this.completedStatusMsg= event_data.completedStatusMsg;\r\n if (event_data.completedStatusMsg) {\r\n this.completedStatusMsg = event_data.completedStatusMsg;\r\n }\r\n //if (event_data.partialFeedRecords) {\r\n // this.partialFeedRecords = event_data.partialFeedRecords;\r\n //}\r\n this.loadComponent();\r\n }\r\n loadEditForm(event_data: any) {\r\n const dynCompFactory = this.componentFactoryResolver.resolveComponentFactory(UpdatestoreprofileComponent);\r\n this.dynamiCmpHost.clear();\r\n this.dynamicCompRef = this.dynamiCmpHost.createComponent(dynCompFactory);\r\n if (this.dynamicCompRef.instance.uploadedFileKey !== undefined && this.dynamicCompRef.instance.uploadedFileKey !== null) {\r\n this.dynamicCompRef.instance.uploadedFileKey = event_data.uploadedOn;\r\n }\r\n if (this.dynamicCompRef.instance.uploadMode) {\r\n this.dynamicCompRef.instance.uploadMode = event_data.uploadMode;\r\n }\r\n if (this.dynamicCompRef.instance.selectedStore) {\r\n this.dynamicCompRef.instance.selectedStore = event_data.selectedStore;\r\n }\r\n\r\n if (this.dynamicCompRef.instance.cancelUpdateProfile) {\r\n this.dynamicCompRef.instance.cancelUpdateProfile.subscribe($event => {\r\n this.cancelUpdateStoreProfile($event);\r\n });\r\n }\r\n if (this.dynamicCompRef.instance.updateProfile) {\r\n this.dynamicCompRef.instance.updateProfile.subscribe($event => {\r\n this.updateStoreProfile($event);\r\n });\r\n }\r\n\r\n this.dynamicCompRef.changeDetectorRef.detectChanges();\r\n this.compRef.instance.canShowEditStorePop = true;\r\n }\r\n updateStoreProfile(event_data) {\r\n this.compRef.instance.selectedStore = event_data;\r\n if (this.dynamicCompRef) {\r\n this.dynamicCompRef.destroy();\r\n }\r\n this.dynamiCmpHost.clear();\r\n this.compRef.instance.updateStore();\r\n }\r\n\r\n cancelUpdateStoreProfile(event) {\r\n if (this.dynamicCompRef) {\r\n this.dynamicCompRef.destroy();\r\n }\r\n this.dynamiCmpHost.clear();\r\n this.compRef.instance.cancelUpdate();\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, SimpleChange } from '@angular/core';\r\nimport { Subject, Subscription } from '../../../../../../../node_modules/rxjs';\r\n\r\n@Component({\r\n selector: 'app-storeprofileuploaderstatus',\r\n templateUrl: './storeprofileuploaderstatus.component.html',\r\n styleUrls: ['./storeprofileuploaderstatus.component.css']\r\n})\r\nexport class StoreprofileuploaderstatusComponent implements OnInit {\r\n subscription: Subscription;\r\n step: number = 1;\r\n clinicstatus: string = \"Completed Clinic\";\r\n clickedPath = 'LocalClinicProgramDetails';\r\n message: any;\r\n store_id: any;\r\n\r\n @Input(\"totalSteps\") totalSteps: any;\r\n @Input(\"viewSteps\") viewSteps: any;\r\n @Input(\"currentStep\") currentStep: any;\r\n @Output() loadPage = new EventEmitter();\r\n\r\n private onDestroy$ = new Subject();\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n ngOnChanges(changes: { [propKey: string]: SimpleChange }) {\r\n if (changes[\"viewSteps\"]) {\r\n this.viewSteps = changes[\"viewSteps\"].currentValue;\r\n }\r\n if (changes[\"totalSteps\"]) {\r\n this.totalSteps = changes[\"totalSteps\"].currentValue;\r\n }\r\n this.currentStep = ((changes[\"currentStep\"].currentValue) ? changes[\"currentStep\"].currentValue : this.step);\r\n\r\n this.GoToStep(this.currentStep, false);\r\n }\r\n\r\n GoToStep(step: number, is_clicked: boolean) {\r\n if (step === 2) {\r\n step = 2;\r\n // this.clinicstatus = 'Completed Clinic';\r\n }\r\n if (step === -1) {\r\n if (this.totalSteps == 2) {\r\n step = 2;\r\n // this.clinicstatus = 'Cancelled Clinic';\r\n } else if (this.totalSteps == 3) {\r\n step = 3;\r\n // this.clinicstatus = 'Cancelled Clinic';\r\n }\r\n }\r\n\r\n this.step = step;\r\n if (step === 1 && is_clicked) {\r\n let emit_json = {\r\n \"uploadedOn\": \"\",\r\n \"stepNumber\": 1,\r\n \"uploadMode\": \"-1\"\r\n };\r\n this.loadPage.emit(emit_json);\r\n }\r\n return;\r\n }\r\n\r\n}\r\n","import { Component, Input, Output, OnInit, EventEmitter } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, FormArray, FormControl } from '@angular/forms';\r\nimport { Util } from '../../../../../utility/util';\r\n\r\n@Component({\r\n selector: 'app-updatestoreprofile',\r\n templateUrl: './updatestoreprofile.component.html',\r\n styleUrls: ['./updatestoreprofile.component.css']\r\n})\r\nexport class UpdatestoreprofileComponent implements OnInit {\r\n\r\n private group;\r\n storeUpdateFormGroup: FormGroup;\r\n\r\n private updateFormControls: any = [\"storeId\", \"address\", \"city\", \"state\", \"zip\", \"areaNumber\", \"areaName\", \"districtNumber\", \"districtName\", \"regionNumber\", \"regionName\"];\r\n\r\n uploadedFileKey: string = \"\";\r\n uploadMode: number = -1;\r\n selectedStore: any = {};\r\n\r\n @Output() updateProfile = new EventEmitter();\r\n @Output() cancelUpdateProfile = new EventEmitter();\r\n\r\n canCancelUpdate: boolean = false;\r\n canUpdateStore: boolean = true;\r\n dialogMessage: string = \"\";\r\n showInfoMsg: boolean = false;\r\n constructor(private formBuilder: FormBuilder, private utility: Util) {\r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.group = this.formBuilder.group({});\r\n this.createForm();\r\n this.storeUpdateFormGroup = this.group;\r\n }\r\n\r\n createForm() {\r\n this.updateFormControls.forEach(control => {\r\n switch (control.toLowerCase()) {\r\n case \"storeid\": \r\n case \"regionnumber\":\r\n case \"districtnumber\":\r\n case \"areanumber\":\r\n let number_pattern = /^[0-9\\b]+$/; //numbers without blanks\r\n this.group.addControl(control, this.formBuilder.control('', Validators.compose([Validators.required, Validators.pattern(number_pattern)])));\r\n break;\r\n case \"address\":\r\n let addr_pattern = /^[^'\"]{1,500}$/;\r\n this.group.addControl(control, this.formBuilder.control('', Validators.compose([Validators.required, Validators.pattern(addr_pattern)])));\r\n break;\r\n case \"city\":\r\n case \"districtname\":\r\n case \"regionname\":\r\n case \"areaname\":\r\n let name_pattern = /^[^'\"0-9]{1,500}$/;\r\n this.group.addControl(control, this.formBuilder.control('', Validators.compose([Validators.required, Validators.pattern(name_pattern)])));\r\n break;\r\n case \"state\":\r\n let state_pattern = /^[a-zA-Z]{2}$/;\r\n this.group.addControl(control, this.formBuilder.control('', Validators.compose([Validators.required, Validators.pattern(state_pattern)])));\r\n break;\r\n case \"zip\":\r\n let zip_pattern = /^[0-9]{3,5}$/\r\n this.group.addControl(control, this.formBuilder.control('', Validators.compose([Validators.required, Validators.pattern(zip_pattern)])));\r\n break;\r\n }\r\n });\r\n\r\n }\r\n\r\n cancelUpdate() {\r\n this.canCancelUpdate = true;\r\n this.cancelUpdateProfile.emit();\r\n }\r\n updateStore() {\r\n this.utility.validateAllFormFields(this.storeUpdateFormGroup);\r\n if (this.storeUpdateFormGroup.valid) {\r\n this.canUpdateStore = true;\r\n this.updateProfile.emit(this.selectedStore);\r\n }\r\n }\r\n displayColMDCss(field: string) {\r\n let return_value: boolean = false;\r\n if (this.storeUpdateFormGroup.get(field))\r\n return_value = this.storeUpdateFormGroup.get(field) && !this.storeUpdateFormGroup.get(field).valid && this.storeUpdateFormGroup.get(field).touched;\r\n\r\n return {\r\n 'has-error': return_value,\r\n 'has-feedback': return_value\r\n };\r\n }\r\n}\r\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\r\nimport { StoreprofileuploaderService } from '../services/storeprofileuploader.service';\r\nimport { SessionDetails } from '../../../../../utility/session';\r\n\r\n@Component({\r\n selector: 'app-uploadstoreprofiles',\r\n templateUrl: './uploadstoreprofiles.component.html',\r\n styleUrls: ['./uploadstoreprofiles.component.css'],\r\n providers: [StoreprofileuploaderService]\r\n})\r\nexport class UploadstoreprofilesComponent implements OnInit {\r\n fileExt: string[] = [\"XLSX\", \"XLS\", \"XLSM\", \"TXT\"];\r\n @Output() loadPage = new EventEmitter();\r\n //@Input() uploadedOnKey: string;\r\n storeProfileUploaderForm: FormGroup;\r\n isError: boolean = false;\r\n invalidFile: boolean = false;\r\n uploadData: boolean = false;\r\n uploadedFileName: string = '';\r\n dialogMessage: string = '';\r\n showInfoMsg: boolean = false;\r\n files: any;\r\n storeProfileUploadData: any;\r\n uploadedFilesList: any = [];\r\n hasFilesList: boolean = true;\r\n userProfile: any;\r\n uploadedOn: string;\r\n selectedFileKey: string = \"\";\r\n uploadMode: number = 0;\r\n cols: any = [];\r\n selectedFile: any = {};\r\n canShowActions: boolean = false;\r\n confirmMessage: string = \"\";\r\n canShowConfirmPop: boolean = false;\r\n loading: boolean = false;\r\n canOpenForEdit: boolean = true;\r\n constructor(private formBuilder: FormBuilder, private spinner: NgxSpinnerService, private store_profile_uploader_service: StoreprofileuploaderService) {\r\n this.loading = true;\r\n this.getUploadedFilesList();\r\n }\r\n\r\n ngOnInit() {\r\n this.cols = [\r\n { field: 'fileName', header: 'Uploaded Files' },\r\n // { field: 'mode', header: 'Update Mode' },\r\n { field: 'actions', header: '' }\r\n ];\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n }\r\n\r\n getUploadedFilesList() {\r\n this.store_profile_uploader_service.getUploadedFilesList().subscribe((res:any) => {\r\n if (res.uploadedFilesList.length > 0) {\r\n this.hasFilesList = true;\r\n res.uploadedFilesList.forEach(item => {\r\n let cnt = this.uploadedFilesList.filter(obj => {\r\n return (obj.uploadedOn === item.uploadedOn);\r\n });\r\n if (cnt.length === 0) {\r\n this.uploadedFilesList.push({\r\n \"fileName\": (!item.mode || item.mode === \"Full\") ? \"TribuneDirect_\" + item.uploadedOn + \".TXT\" : item.fileName,\r\n \"uploadedOn\": item.uploadedOn,\r\n \"mode\": (!item.mode || item.mode === \"Full\") ? 0 : 1\r\n })\r\n }\r\n });\r\n this.loading = false;\r\n } else {\r\n this.hasFilesList=false;\r\n this.uploadedFilesList.push({\r\n \"fileName\": \"No files available to update for the current month.\",\r\n \"uploadedOn\": '',\r\n \"mode\": ''\r\n });\r\n this.loading = false;\r\n }\r\n //this.uploadedFilesList.splice(5,(this.uploadedFilesList.length - 5));\r\n },\r\n error => {\r\n if (error.status === 417) {\r\n this.dialogMessage = \"HTTP/1.1 417 Expectation Failed\";\r\n } else {\r\n this.dialogMessage = \"An error occurred. Please concact administrator.\";\r\n }\r\n });\r\n }\r\n\r\n onFileChange(event) {\r\n if (!this.isValidFiles(event.target.files)) {\r\n console.log(\"wrong file\");\r\n this.dialogMessage = \"Only \" + this.fileExt + \" file types are allowed.\"\r\n this.invalidFile = true;\r\n return false;\r\n }\r\n this.files = event.target.files;\r\n this.uploadedFileName = event.target.files[0].name;\r\n }\r\n\r\n onSubmit() {\r\n this.uploadData = false;\r\n this.saveFiles(this.files);\r\n }\r\n\r\n saveFiles(files) {\r\n this.storeProfileUploadData = [];\r\n let dt = new Date();\r\n let m = (dt.getMonth() + 1).toString();\r\n m = (m.length == 1) ? '0' + m : m;\r\n let d = dt.getDate().toString();\r\n d = (d.length == 1) ? '0' + d : d;\r\n this.uploadedOn = m + \"\" + d + \"\" + dt.getFullYear() + \"\" + dt.getHours() + \"\" + dt.getMinutes() + \"\" + dt.getSeconds();\r\n if (files.length > 0) {\r\n let formData: FormData = new FormData();\r\n for (var j = 0; j < files.length; j++) {\r\n formData.append(\"file\", files[j]);\r\n }\r\n this.spinner.show();\r\n this.store_profile_uploader_service.uploadStores(formData, this.uploadMode, this.uploadedOn, this.userProfile.userPk, this.userProfile.email.replace(/[.]/g, '^')).subscribe((data:any) => {\r\n this.spinner.hide();\r\n this.uploadedFileName = '';\r\n\r\n if (data.errorS && data.errorS.errorCode === -1) {\r\n this.dialogMessage = data.errorS.errorMessage;\r\n this.invalidFile = true;\r\n } else {\r\n let emit_json = {\r\n \"uploadedOn\": this.uploadedOn,\r\n \"stepNumber\": 2,\r\n \"uploadMode\": this.uploadMode\r\n };\r\n\r\n this.loadPage.emit(emit_json);\r\n }\r\n },\r\n error => {\r\n this.spinner.hide();\r\n this.isError = true;\r\n this.uploadedFileName = '';\r\n this.showInfoMsg = true;\r\n if (error.indexOf(\"417\") > -1) {\r\n this.dialogMessage = \"HTTP/1.1 417 Expectation Failed\";\r\n } else {\r\n this.dialogMessage = \"An error occurred. Please concact administrator.\";\r\n }\r\n }\r\n )\r\n }\r\n }\r\n\r\n private isValidFiles(files) {\r\n return this.isValidFileExtension(files);\r\n }\r\n\r\n private isValidFileExtension(files) {\r\n for (var i = 0; i < files.length; i++) {\r\n // Get file extension\r\n var ext = files[i].name.toLocaleUpperCase().split('.').pop() || files[i].name;\r\n\r\n // Check the extension exists\r\n var exists = this.fileExt.filter(element => element == ext);\r\n\r\n if (exists.length <= 0) {\r\n return false;\r\n }\r\n // return false;\r\n }\r\n return true;\r\n }\r\n\r\n //isFieldValid(field: string) {\r\n //return !this.storeProfileUploaderForm.get(field).valid && this.storeProfileUploaderForm.get(field).touched;\r\n //}\r\n\r\n // displayFieldCss(field: string) {\r\n // return {\r\n // 'has-error': this.isFieldValid(field),\r\n // 'has-feedback': this.isFieldValid(field)\r\n // };\r\n // }\r\n\r\n Continue() {\r\n\r\n }\r\n\r\n Ok() {\r\n this.isError = false;\r\n this.invalidFile = false;\r\n this.showInfoMsg = false;\r\n }\r\n\r\n getSelectedFileReport(selected_file_key: string) {\r\n let emit_json = {\r\n \"uploadedOn\": selected_file_key, //this.selectedFileKey,\r\n \"stepNumber\": 2,\r\n \"uploadMode\": this.uploadMode\r\n };\r\n //window.setTimeout(function(){\r\n this.loadPage.emit(emit_json);\r\n //},1000);\r\n }\r\n\r\n getSelectedFileKey(event: any) {\r\n this.selectedFileKey = event.target.value;\r\n }\r\n\r\n setUploadMode(event: any) {\r\n this.uploadMode = event.target.value;\r\n }\r\n\r\n getHeaderClass(e: string, is_body: boolean) {\r\n let cls_name = \"\";\r\n switch (e) {\r\n case 'fileName':\r\n cls_name = (is_body && !this.hasFilesList)?'noFilesList': 'uTw150';\r\n break;\r\n case 'Update Mode':\r\n // cls_name = 'w65';\r\n // break;\r\n case 'actions':\r\n cls_name = (!is_body || (is_body && this.uploadedFilesList.length < 6)) ? 'w86' : 'overW86';\r\n break;\r\n case 'icon':\r\n cls_name = (this.uploadedFilesList.length < 6) ? 'i10' : 'inopad';\r\n break;\r\n default:\r\n cls_name = '';\r\n break;\r\n }\r\n return cls_name;\r\n }\r\n\r\n showActionsDialog(rowIndex: number) {\r\n this.selectedFile = this.uploadedFilesList[rowIndex];\r\n this.canShowActions = true;\r\n }\r\n\r\n openFile() {\r\n\r\n }\r\n\r\n removeFile() {\r\n\r\n }\r\n\r\n continueOnConfirm() {\r\n //Call the service.\r\n this.store_profile_uploader_service.deleteStoreUploadFile(this.selectedFile.uploadedOn).subscribe((result:any) => {\r\n if (result.errorS === null) {\r\n this.dialogMessage = \"The file has been deleted successfully.\";\r\n this.showInfoMsg = true;\r\n this.loading = true;\r\n this.uploadedFilesList = [];\r\n this.getUploadedFilesList();\r\n }\r\n }, error => {\r\n this.dialogMessage = \"Error occured while deleting the file. Please contact administrator.\"\r\n this.showInfoMsg = true;\r\n });\r\n this.selectedFile = {};\r\n this.canShowConfirmPop = false;\r\n }\r\n\r\n cancelOnConfirm() {\r\n this.selectedFile = {};\r\n this.canShowConfirmPop = false;\r\n }\r\n\r\n getButtonContent(action: string) {\r\n let but_content: string = \"\";\r\n switch (action) {\r\n case \"openOrEdit\":\r\n but_content = 'Open';\r\n break;\r\n case \"remove\":\r\n but_content = 'Delete';\r\n break;\r\n default:\r\n break;\r\n }\r\n return but_content;\r\n }\r\n\r\n getHeader() {\r\n return \"Delete File\";\r\n }\r\n\r\n makeAction(action: string) {\r\n switch (action) {\r\n case \"openOrEdit\":\r\n let emit_json = {\r\n \"uploadedOn\": this.selectedFile.uploadedOn, //this.selectedFileKey,\r\n \"stepNumber\": 2,\r\n \"uploadMode\": this.selectedFile.mode\r\n };\r\n this.selectedFile = {};\r\n this.loadPage.emit(emit_json);\r\n break;\r\n case \"remove\":\r\n //Get the user confirmation before removing.\r\n this.canShowActions = false;\r\n this.confirmMessage = 'Deleting the file ' + this.selectedFile.fileName + ' cannot be undone. If you \"Continue\" the file will be permanently deleted.'\r\n this.canShowConfirmPop = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n getScrollableHeight() {\r\n // let ht = \"\";\r\n // if (this.uploadedFilesList.length > 5) {\r\n // ht = '195px';\r\n // } else {\r\n // ht = '139px';\r\n // }\r\n }\r\n}\r\n","\r\nimport {of as observableOf, Observable } from 'rxjs';\r\n\r\nimport {catchError, switchMap, tap, distinctUntilChanged, debounceTime} from 'rxjs/operators';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { UserProfileService } from '../../../services/user-profile.service';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { UserProfileModel, UserProfile } from '../../../../../models/UserProfileModel';\r\nimport { Location } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { Util } from '../../../../../utility/util';\r\nimport { HeaderserviceService } from '../../../../common/services/headerservice.service';\r\nimport { SessionDetails } from '../../../../../utility/session';\r\n\r\n\r\n@Component({\r\n selector: 'app-add-user',\r\n templateUrl: './add-user.component.html',\r\n styleUrls: ['./add-user.component.css']\r\n})\r\nexport class AddUserComponent implements OnInit {\r\n ddlist: string;\r\n assignments: string;\r\n RoleName: string;\r\n getData: string;\r\n districtNumber: string;\r\n districtName: string;\r\n cities: any[];\r\n hideElement: boolean = true;\r\n hideElement1: boolean = true;\r\n assignUserRole: string;\r\n emailField: string;\r\n disable: boolean = false;\r\n defaultName: string;\r\n user: any;\r\n UserProfile: FormGroup;\r\n userRoles: number;\r\n dropDownList: any;\r\n dropDownName: any;\r\n display: boolean = false;\r\n selectedUserRole: any = null;\r\n UserRoles: any = null;\r\n errorMessageShow: any;\r\n errorShow: boolean = false;\r\n userRolesList: any;\r\n isAreaRegion: boolean = false;\r\n list1: any[];\r\n searching: boolean = false;\r\n userProfile: any;\r\n multiSelectList: any[];\r\n list_data: any[] = [];\r\n isStoreDist: boolean = false;\r\n selected_value: any;\r\n userProfileData:any;\r\n disableFields:boolean = null;\r\n title:any = 'Add User';\r\n name:any;\r\n isSaveDisable:boolean = false;\r\n\r\n constructor(\r\n private _userservice: UserProfileService, \r\n private _headerservice: HeaderserviceService, \r\n private utility: Util, \r\n private spinner: NgxSpinnerService, \r\n private _router: Router, \r\n private _location: Location, \r\n private _fb: FormBuilder\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n this.multiSelectList = [];\r\n this.UserProfile = this._fb.group({\r\n FirstName: ['', null],\r\n LastName: ['', null],\r\n Email: ['', Validators.required],\r\n // Phone: ['', Validators.required]\r\n });\r\n this.GetUserRoles();\r\n this.hideElement = true;\r\n if(SessionDetails.getProfilePk()!==null)\r\n {\r\n\r\n this.title = 'Add New User Role';\r\n this.disableFields = true;\r\n this.userProfileData = SessionDetails.getUserProfileData();\r\n this.UserProfile.controls['FirstName'].setValue(this.userProfileData.firstName);\r\n this.UserProfile.controls['LastName'].setValue(this.userProfileData.lastName);\r\n this.UserProfile.controls['Email'].setValue( this.userProfileData.email);\r\n }\r\n }\r\n public GetUserRoles(): void {\r\n this._userservice.GetUserRoles().subscribe((res:any) => {\r\n this.userRolesList = res.filter(i=>i.roleId!==2 && i.roleId!==3 && i.roleName.toLowerCase().search('test')===-1 );\r\n });\r\n }\r\n\r\n onChange(assignedLocation) {\r\n this.emailField = \"\";\r\n this.disable = false;\r\n this.assignUserRole = assignedLocation.toLowerCase();\r\n if (assignedLocation !== null && assignedLocation !== \"\") {\r\n this._userservice.GetAvailableLocations(assignedLocation).subscribe((res:any) => this.assignments = res);\r\n this.hideElement = false;\r\n }\r\n else {\r\n this.hideElement = true;\r\n }\r\n }\r\n onAssignmentChange(selectedDistrict) {\r\n this.emailField = \"\";\r\n this.disable = false;\r\n\r\n if (this.assignUserRole === \"district manager\" && selectedDistrict !== null) {\r\n this.emailField = \"d\" + selectedDistrict + \".dm@walgreens.com\";\r\n this.disable = true;\r\n }\r\n else if (this.assignUserRole === \"pharmacy manager\" && selectedDistrict !== null)\r\n this.emailField = \"rxm.\" + selectedDistrict + \"@store.walgreens.com\";\r\n // else if (this.assignUserRole === \"district manager\" && selectedDistrict !== null)\r\n // this.emailField = \"d\" + selectedDistrict + \".dm@walgreens.com\";\r\n\r\n }\r\n userRoleChange(event) {\r\n this.list_data = [];\r\n this.selected_value=null;\r\n this.selectedUserRole=null;\r\n this.userRoles = event;\r\n this.isAreaRegion = false;\r\n this.isStoreDist = false;\r\n this.display = false;\r\n if (event !== 'Admin') {\r\n this.display = true;\r\n }\r\n switch (event) {\r\n\r\n case 'Admin':\r\n this.userRoles = 1;\r\n break; \r\n case 'Regional Healthcare Director':\r\n this.userRoles = 11;\r\n this.isAreaRegion = true;\r\n this.dropDownName = 'Region';\r\n this.name = 'Region';\r\n this.bindDropdownList(event);\r\n break;\r\n case 'Regional Vice President':\r\n this.userRoles = 10;\r\n this.isAreaRegion = true;\r\n this.dropDownName = 'Region';\r\n this.name = 'Region'\r\n this.bindDropdownList(event);\r\n break;\r\n case 'Healthcare Supervisor':\r\n this.userRoles = 8;\r\n this.isAreaRegion = true;\r\n this.dropDownName = 'Area';\r\n this.name = 'Area';\r\n this.bindDropdownList(event);\r\n break;\r\n case 'Director - Rx and Retail Ops':\r\n this.userRoles = 9;\r\n this.isAreaRegion = true;\r\n this.dropDownName = 'Area';\r\n this.name = 'Area';\r\n this.bindDropdownList(event);\r\n break;\r\n case 'District Manager':\r\n this.userRoles = 5;\r\n this.isStoreDist = true;\r\n this.dropDownName = 'District';\r\n this.name = 'District';\r\n this.bindDropdownList(event);\r\n break;\r\n case 'CP User':\r\n this.userRoles = 13; \r\n break;\r\n case 'Pod Healthcare Supervisor':\r\n this.userRoles = 14;\r\n this.isAreaRegion = true;\r\n this.dropDownName = 'Pod';\r\n this.name = 'Pod';\r\n this.bindDropdownList(event);\r\n break;\r\n // case 'Pharmacy Manager':\r\n // this.userRoles = 2;\r\n // //this.isStoreDist = true;\r\n // this.dropDownName = 'Store';\r\n // this.bindDropdownList(event);\r\n // break;\r\n // case 'Store Manager':\r\n // this.userRoles = 3;\r\n // // this.isStoreDist = true;\r\n // this.dropDownName = 'Store';\r\n // this.bindDropdownList(event);\r\n // break;\r\n\r\n\r\n }\r\n // // var index = this.userRoles.findIndex(it => it.user_role === event.defaultValue);\r\n // // if (index == -1) {\r\n // // this.userRoles.splice(index, 1);\r\n // // }\r\n // this.userRoles.push({ \"user_role\": event.defaultValue });\r\n }\r\n addUserProfile() {\r\n if (this.UserProfile.valid) {\r\n this.isSaveDisable = true;\r\n var user_roles = ['11', '10', '8','9','5', '14'];\r\n let obj = new UserProfileModel();\r\n obj.profile_model = new Array();\r\n if(user_roles.indexOf(this.userRoles.toString())>-1)\r\n {\r\n if (this.list_data.length==0)\r\n {\r\n this.errorShow = true;\r\n this.errorMessageShow = \"A user must have at least one assignment\";\r\n this.isSaveDisable = false;\r\n return;\r\n }\r\n }\r\n if (this.list_data.length >= 1) {\r\n this.list_data.forEach(item => {\r\n let profile_model = new UserProfile();\r\n profile_model.firstName = this.UserProfile.controls[\"FirstName\"].value;\r\n profile_model.lastName = this.UserProfile.controls[\"LastName\"].value;\r\n profile_model.email = this.UserProfile.controls[\"Email\"].value;\r\n profile_model.address = null;\r\n profile_model.address2 = null;\r\n profile_model.city = null;\r\n profile_model.state = null;\r\n profile_model.zip = null;\r\n //profile_model.phone = this.UserProfile.controls[\"Phone\"].value;\r\n profile_model.fax = null;\r\n profile_model.company = null;\r\n profile_model.created = new Date();\r\n //profile_model.company = null;\r\n profile_model.createdBy = this.userProfile.email;\r\n profile_model.isDeleted = false;\r\n profile_model.updatedOn = new Date();\r\n //profile_model.updatedBy = null;\r\n profile_model.areaCode = null;\r\n profile_model.suiteNumber = null;\r\n profile_model.username = this.getuserName(this.userRoles, this.UserProfile.controls[\"Email\"].value);\r\n profile_model.userRole = this.userRoles;\r\n profile_model.password = null;\r\n profile_model.assignUserRole = Number(item.value.split('-')[0]);\r\n profile_model.isGenericEmail = false;\r\n profile_model.isEdit = SessionDetails.getProfilePk()!==null;\r\n obj.profile_model.push(profile_model);\r\n });\r\n }\r\n else {\r\n //\r\n // this.list_data.forEach(item=>{\r\n let profile_model = new UserProfile();\r\n profile_model.firstName = this.UserProfile.controls[\"FirstName\"].value;\r\n profile_model.lastName = this.UserProfile.controls[\"LastName\"].value;\r\n profile_model.email = this.UserProfile.controls[\"Email\"].value;\r\n profile_model.address = null;\r\n profile_model.address2 = null;\r\n profile_model.city = null;\r\n profile_model.state = null;\r\n profile_model.zip = null;\r\n // profile_model.phone = this.UserProfile.controls[\"Phone\"].value;\r\n profile_model.fax = null;\r\n profile_model.company = null;\r\n profile_model.created = new Date();\r\n //profile_model.company = null;\r\n profile_model.createdBy = this.userProfile.email;\r\n profile_model.isDeleted = false;\r\n profile_model.updatedOn = new Date();\r\n //profile_model.updatedBy = null;\r\n profile_model.areaCode = null;\r\n profile_model.suiteNumber = null;\r\n profile_model.username = this.getuserName(this.userRoles, this.UserProfile.controls[\"Email\"].value);\r\n profile_model.userRole = this.userRoles;\r\n profile_model.password = null;\r\n profile_model.assignUserRole =SessionDetails.GetStoreId(); //Number(item.value.split('-')[0]);\r\n profile_model.isGenericEmail = false;\r\n profile_model.isEdit = SessionDetails.getProfilePk()!==null;\r\n obj.profile_model.push(profile_model);\r\n \r\n }\r\n \r\n this.spinner.show();\r\n this._userservice.AddUserProfile(obj, -1).subscribe((data:any) => {\r\n this.spinner.hide();\r\n if (data.errorS !== null) {\r\n if (data.errorS.errorCode !== 0) {\r\n this.errorShow = true;\r\n this.errorMessageShow = data.errorS.errorMessage;\r\n this.isSaveDisable = false;\r\n return;\r\n }\r\n }\r\n this._router.navigateByUrl(\"/communityoutreach/userprofile\");\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.isSaveDisable = false;\r\n switch (err) {\r\n case 500:\r\n alert('ErrorCode 500 received from Service');\r\n break;\r\n case 400:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n default:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n }\r\n });\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.UserProfile);\r\n }\r\n }\r\n error() {\r\n this.errorShow = false;\r\n }\r\n\r\n Cancel() {\r\n this._location.back();\r\n }\r\n getuserName(user_role, user_email): string {\r\n let user_name = '';\r\n var email = user_email.split(\"@\")[0];\r\n switch (user_role) {\r\n case 1:\r\n user_name = 'admin_' + email + '';\r\n return user_name;\r\n\r\n case 10:\r\n user_name = 'rvp_' + email + '';\r\n return user_name;\r\n\r\n case 11:\r\n user_name = 'rhd_' + email + '';\r\n return user_name;\r\n\r\n case 8:\r\n user_name = 'hcs_' + email + '';\r\n return user_name;\r\n\r\n case 5:\r\n user_name = 'dm_' + email + '';\r\n return user_name;\r\n\r\n case 2:\r\n user_name = 'pm_' + email + '';\r\n return user_name;\r\n\r\n case 3:\r\n user_name = 'sm_' + email + '';\r\n return user_name;\r\n case 9:\r\n user_name = 'dpr_' + email + '';\r\n return user_name;\r\n case 13: \r\n user_name = 'cp_' + email + '';\r\n return user_name;\r\n case 14:\r\n user_name = 'pod_' + email + '';\r\n return user_name;\r\n\r\n }\r\n }\r\n bindDropdownList(user_role) {\r\n this.dropDownList = [];\r\n this.spinner.show();\r\n this._userservice.bindDropDownList(user_role).subscribe((data) => {\r\n\r\n this.dropDownList = data;\r\n this.spinner.hide();\r\n },\r\n err => {\r\n switch (err) {\r\n case 500:\r\n alert('ErrorCode 500 received from Service');\r\n break;\r\n case 400:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n default:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n }\r\n });\r\n }\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n isFieldValid(field: string) {\r\n if (this.UserProfile.get(field) !== null)\r\n return !this.UserProfile.get(field).valid && this.UserProfile.get(field).touched;\r\n }\r\n formatter = (result: any) => result.storeId + \" - \" +\r\n result.address + \", \" + result.city + \", \"\r\n + result.state + \" \" + result.zip || '';\r\n\r\n search = (text$: Observable) =>\r\n text$.pipe(\r\n debounceTime(400),\r\n distinctUntilChanged(),\r\n tap(() => this.searching = true),\r\n switchMap(term =>\r\n this._headerservice.storeSearch(this.userProfile.userPk, term.trim(), 0).pipe(\r\n tap(() => {\r\n // this.searchFailed = false\r\n }),\r\n catchError(() => {\r\n // this.searchFailed = true;\r\n return observableOf([]);\r\n }),)),\r\n tap(() => this.searching = false),);\r\n\r\n onStoreSelect(item) {\r\n this.selected_value = item.item.storeId + \" - \" +\r\n item.item.address + \", \" + item.item.city + \", \"\r\n + item.item.state + \" \" + item.item.zip || '';\r\n\r\n }\r\n onSelect(value) {\r\n this.selected_value = value;\r\n this.selectedUserRole = value;\r\n }\r\n AddRole() {\r\n \r\n if(this.selected_value!==undefined && this.selected_value!==null && this.selected_value!=='' && this.selected_value!==\"null\")\r\n {\r\n var index = this.list_data.findIndex(item => item.value.split('-')[0] === this.selected_value.split('-')[0]);\r\n if (index === -1) {\r\n this.list_data.push({ \"value\": this.selected_value });\r\n this.selected_value = null;\r\n this.selectedUserRole = null;\r\n }\r\n }\r\n }\r\n DeleteRole(delete_data) {\r\n \r\n var index = this.list_data.findIndex(item => item.value.split('-')[0] === delete_data.value.split('-')[0]);\r\n // if(this.list_data.length==1)\r\n // {\r\n // this.errorShow = true;\r\n // this.errorMessageShow = 'Sorry, you cannot remove this assignment. A user must have at least one assignment.';\r\n // return;\r\n // }\r\n if (index > -1) {\r\n this.list_data.splice(index, 1);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { UserProfileService } from '../../../services/user-profile.service';\r\nimport { SessionDetails } from '../../../../../utility/session';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Location } from '@angular/common';\r\nimport { UserProfileModel, UserProfile } from '../../../../../models/UserProfileModel';\r\nimport { Util } from '../../../../../utility/util';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { environment } from \"../../../../../../environments/environment\"\r\n@Component({\r\n selector: 'app-edit-user',\r\n templateUrl: './edit-user.component.html',\r\n styleUrls: ['./edit-user.component.css']\r\n})\r\nexport class EditUserComponent implements OnInit {\r\n userID: number;\r\n user: any;\r\n display: boolean=false;\r\n isGeneric: boolean=false;\r\n userRoleItems: any[];\r\n selectedUserRole: any = null;\r\n UserProfile: FormGroup;\r\n list_data:any[] = [];\r\n list_data_edit:any[]=[];\r\n name:any;\r\n dropDownList: any;\r\n isStoreDist: boolean = false;\r\n isAreaRegion: boolean = false;\r\n isPodUser = false\r\n dropDownName: any;\r\n selectedUserRoleName:any = null;\r\n selected_value: any;\r\n errorMessageShow: any;\r\n errorShow: boolean = false;\r\n userProfileData:any;\r\n isAreaDist:any;\r\n userRoles: number;\r\n checkCond:boolean = true;\r\n email:string;\r\n userProfile: any;\r\n isSaveDisable:boolean = false;\r\n isSuperAdmin = false;\r\n constructor(private route: ActivatedRoute,private _router:Router,private spinner: NgxSpinnerService,private utility:Util, private _location: Location, private _userservice: UserProfileService, private _fb: FormBuilder) {\r\n }\r\n\r\n ngOnInit() {\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n this.UserProfile = this._fb.group({\r\n FirstName: ['', null],\r\n LastName: ['', null],\r\n Email: ['', Validators.required],\r\n // Phone: ['', Validators.required]\r\n });\r\n \r\n this.userProfileData = SessionDetails.getUserProfileData();\r\n if(this.userProfileData!==null && this.userProfileData.isGenericEmail)\r\n this.isGeneric = true;\r\n \r\n \r\n \r\n this.editUserProfile()\r\n this._userservice.GetUserRoles().subscribe((res:any) => this.userRoleItems = res);\r\n this.route.params.subscribe((params) => {\r\n this.userID = params['id'];\r\n // this._userservice.GetUserById(this.userID).subscribe(users => {\r\n // this.user = JSON.parse(users)[0];\r\n // });\r\n });\r\n if(environment.SuperAdmins.includes(this.userProfile.userName.toLowerCase()))\r\n this.isSuperAdmin = true;\r\n }\r\n errorClose() { \r\n this.errorShow = false;\r\n }\r\n onSelect(value) {\r\n this.selected_value = value;\r\n //this.selectedUserRole = null;\r\n // for (var i = 0; i < this.userRoleItems.length; i++) {\r\n // if (this.userRoleItems[i].id == userId) {\r\n // this.selectedUserRole = this.userRoleItems[i];\r\n // }\r\n // }\r\n }\r\n editUserProfile() {\r\n \r\n if(this.userProfileData!==null)\r\n {\r\n this._userservice.EditUserProfile(this.userProfileData.username).subscribe((users:any) => {\r\n this.UserProfile = this._fb.group({\r\n FirstName: [users[0].firstName, null],\r\n LastName: [users[0].lastName, null],\r\n Email: [users[0].email, [\r\n Validators.required,\r\n Validators.pattern(\"^[_A-Za-z0-9-\\\\+]+(\\\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\\\.[A-Za-z0-9]+)*(\\\\.[A-Za-z]{2,})$\")\r\n ]],\r\n // Phone: ['', Validators.required]\r\n });\r\n this.email=users[0].email;\r\n this.selectedUserRole = users[0].rolename;\r\n this.bindDropdownList(users[0].rolename);\r\n users.forEach(element => {\r\n var number;\r\n this.userRoles = element.userRole;\r\n switch (element.userRole) {\r\n case 10:\r\n this.dropDownName = 'Region';\r\n this.isAreaRegion = true;\r\n this.name = 'Region';\r\n number = element.regionId;\r\n break;\r\n case 11:\r\n this.dropDownName = 'Region';\r\n this.isAreaRegion = true;\r\n this.isAreaRegion = true;\r\n this.name = 'Region'\r\n number = element.regionId;\r\n break;\r\n case 8:\r\n this.dropDownName = 'Area';\r\n this.isAreaRegion = true;\r\n this.name = 'Area(s)'\r\n number = element.areaId;\r\n break;\r\n case 9:\r\n this.dropDownName = 'Area';\r\n this.isAreaRegion = true;\r\n this.name = 'Area(s)'\r\n number = element.areaId;\r\n break;\r\n case 5:\r\n this.dropDownName = 'District';\r\n this.isStoreDist = true;\r\n this.name = 'District(s)'\r\n number = element.districtId;\r\n break; \r\n case 14: \r\n this.dropDownName = 'Pod';\r\n this.isAreaRegion = true;\r\n this.name = 'Pod(s)';\r\n number = element.podNumber;\r\n }\r\n\r\n if(element.isGenericEmail && element.email.indexOf(number.split('-')[0])>-1)\r\n {\r\n this.checkCond = false;\r\n }\r\n else{\r\n this.checkCond = true;\r\n }\r\n if(number!==undefined)\r\n \r\n this.list_data.push({ \"value\": number,\"isDeleted\":this.checkCond });\r\n });\r\n \r\n });\r\n }\r\n }\r\n setradio(role) {\r\n //user role logic here\r\n }\r\n Cancel() {\r\n this._location.back();\r\n }\r\n DeleteRole(delete_data) {\r\n \r\n var index = this.list_data.findIndex(item => item.value.split('-')[0] === delete_data.value.split('-')[0]);\r\n // if(this.list_data.length==1)\r\n // {\r\n // this.errorShow = true;\r\n // this.errorMessageShow = 'Sorry, you cannot remove this assignment. A user must have at least one assignment.';\r\n // return;\r\n // }\r\n if (index > -1) {\r\n this.list_data.splice(index, 1);\r\n }\r\n }\r\n\r\n bindDropdownList(user_role) {\r\n this.dropDownList = [];\r\n // this.spinner.show();\r\n this._userservice.bindDropDownList(user_role).subscribe((data) => {\r\n\r\n this.dropDownList = data;\r\n // this.spinner.hide();\r\n },\r\n err => {\r\n switch (err) {\r\n case 500:\r\n alert('ErrorCode 500 received from Service');\r\n break;\r\n case 400:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n default:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n }\r\n });\r\n }\r\n AddRole() {\r\n \r\n var index = this.list_data.findIndex(item => item.value.split('-')[0] === this.selected_value.split('-')[0]);\r\n if (index == -1) {\r\n this.list_data_edit.push({ \"value\": this.selected_value });\r\n this.list_data.push({ \"value\": this.selected_value,\"isDeleted\":true });\r\n this.selected_value = null;\r\n this.selectedUserRoleName = null;\r\n }\r\n }\r\n addUserProfile() {\r\n this.spinner.show();\r\n this.isSaveDisable=true;\r\n if (this.UserProfile.valid) {\r\n var user_roles = ['11', '10', '8','9','5', '14'];\r\n let obj = new UserProfileModel();\r\n obj.pk = this.userProfileData.pk;\r\n obj.profile_model = new Array();\r\n if(user_roles.indexOf(this.userRoles.toString())>-1)\r\n {\r\n if (this.list_data.length==0)\r\n {\r\n this.spinner.hide();\r\n this.errorShow = true;\r\n this.errorMessageShow = \"A user must have at least one assignment\";\r\n this.isSaveDisable=false;\r\n return;\r\n }\r\n }\r\n if (this.list_data.length >= 1) {\r\n this.list_data.forEach(item => {\r\n let profile_model = new UserProfile();\r\n profile_model.firstName = this.UserProfile.controls[\"FirstName\"].value;\r\n profile_model.lastName = this.UserProfile.controls[\"LastName\"].value;\r\n profile_model.email = this.UserProfile.controls[\"Email\"].value;\r\n profile_model.isEdit = true;\r\n profile_model.updatedBy = this.userProfile.email;\r\n profile_model.userRole = this.userRoles; //this.userRoleChange(this.userProfileData.rolename);\r\n profile_model.assignUserRole = Number(item.value.split('-')[0]);\r\n //profile_model.pk = \r\n obj.profile_model.push(profile_model);\r\n });\r\n }\r\n else {\r\n //\r\n // this.list_data.forEach(item=>{\r\n let profile_model = new UserProfile();\r\n profile_model.firstName = this.UserProfile.controls[\"FirstName\"].value;\r\n profile_model.lastName = this.UserProfile.controls[\"LastName\"].value;\r\n profile_model.email = this.UserProfile.controls[\"Email\"].value;\r\n profile_model.isEdit = true;\r\n profile_model.updatedBy = this.userProfile.email;\r\n profile_model.userRole = this.userRoles;// this.userRoleChange(this.userProfileData.rolename);\r\n profile_model.assignUserRole =SessionDetails.GetStoreId();\r\n //profile_model.pk = SessionDetails.getProfilePk();\r\n obj.profile_model.push(profile_model);\r\n //});\r\n }\r\n this._userservice.AddUserProfile(obj, -1).subscribe((data:any) => {\r\n this.spinner.hide();\r\n if (data.errorS !== null) {\r\n if (data.errorS.errorCode !== 0) {\r\n this.errorShow = true;\r\n this.errorMessageShow = data.errorS.errorMessage;\r\n this.isSaveDisable=false;\r\n return;\r\n }\r\n }\r\n this._router.navigateByUrl(\"/communityoutreach/userprofile\");\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.isSaveDisable=false;\r\n switch (err) {\r\n case 500:\r\n alert('ErrorCode 500 received from Service');\r\n break;\r\n case 400:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n default:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n }\r\n });\r\n }\r\n else {\r\n this.spinner.hide();\r\n this.utility.validateAllFormFields(this.UserProfile);\r\n this.isSaveDisable=false;\r\n }\r\n }\r\n error() {\r\n this.errorShow = false;\r\n }\r\n userRoleChange(event):any {\r\n // \r\n // this.list_data = [];\r\n // this.userRoles = event;\r\n // this.isAreaRegion = false;\r\n // this.isStoreDist = false;\r\n // this.display = false;\r\n // if (event != 'Admin') {\r\n // this.display = true;\r\n // }\r\n switch (event) {\r\n\r\n case 'Regional Healthcare Director':\r\n return this.userRoles = 11;\r\n // break;\r\n case 'Regional Vice President':\r\n return this.userRoles = 10;\r\n // break;\r\n case 'Healthcare Supervisor':\r\n return this.userRoles = 8;\r\n // break;\r\n case 'Director - Rx and Retail Ops':\r\n return this.userRoles = 9;\r\n /// break;\r\n case 'District Manager':\r\n return this.userRoles = 5;\r\n // break;\r\n case 'Pharmacy Manager':\r\n return this.userRoles = 2;\r\n //this.isStoreDist = true;\r\n // this.dropDownName = 'Store';\r\n // this.bindDropdownList(event);\r\n // break;\r\n case 'Store Manager':\r\n return this.userRoles = 3;\r\n case 'CP User':\r\n return this.userRoles = 13;\r\n case 'Pod Healthcare Supervisor':\r\n return this.userRoles = 14;\r\n // this.isStoreDist = true;\r\n //this.dropDownName = 'Store';\r\n // this.bindDropdownList(event);\r\n // break;\r\n }\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n isFieldValid(field: string) {\r\n return !this.UserProfile.get(field).valid && this.UserProfile.get(field).touched;\r\n }\r\n}\r\n","\r\nimport {debounceTime} from 'rxjs/operators';\r\nimport { Component, ElementRef, ViewChild } from '@angular/core';\r\nimport { UserProfileService } from '../../services/user-profile.service';\r\nimport { ConfirmationService, SortEvent } from 'primeng/api';\r\nimport { Router } from '@angular/router';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { Table } from 'primeng/table';\r\n\r\n@Component({\r\n selector: 'app-user-profile',\r\n templateUrl: './user-profile.component.html',\r\n styleUrls: ['./user-profile.component.css'],\r\n providers: [ConfirmationService],\r\n})\r\nexport class UserProfileComponent {\r\n showHints: boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) === 'yes') ? false : (!environment.isSiteDeploying)?true:false;\r\n pageName: string = \"edit_user\";\r\n title = 'Welcome to my world';\r\n selectedUserRoleName: any = null;\r\n isEdit: boolean = false;\r\n cols:any[];\r\n getData: string;\r\n private list: any[] = [];\r\n private headers: any[] = [];\r\n loading: boolean;\r\n date: string;\r\n list1: any[] = [];\r\n ddlist: string;\r\n searchString: string;\r\n RoleName: string = '-1';\r\n cities: any[] = [];\r\n autoComplete: string;\r\n user_role: string;\r\n display: boolean = false;\r\n filteredCountriesSingle: any[];\r\n countries: any[];\r\n search_string: string;\r\n role_name: any;\r\n userProfile: any;\r\n displayOptions: boolean = false;\r\n user_details: any;\r\n filteredBrands: any[];\r\n searching = false;\r\n isGeneric:boolean = false;\r\n isAddUserRole:boolean = true;\r\n removeMsg:string;\r\n recordexists:boolean=true;\r\n isSuperAdmin = false;\r\n podCol : Object = {field: 'podNumber', header: 'Pod'};\r\n @ViewChild('tblUserInfo') dataTableUser: Table;\r\n \r\n constructor(private router: Router, private spinner: NgxSpinnerService, private _userservice: UserProfileService, private confirmationService: ConfirmationService) {\r\n }\r\n autocompleteSearch(event) {\r\n this._userservice.GetUserInformation(this.role_name).subscribe((data:any) => {\r\n this.getData = data;\r\n this.recordexists=true;\r\n if (this.getData.length == 0) {\r\n this.recordexists = false;\r\n }\r\n });\r\n }\r\n autocomplete(query, countries: any[]): any[] {\r\n //in a real application, make a request to a remote url with the query and return filtered results, for demo we filter at client side\r\n let filtered: any[] = [];\r\n for (let i = 0; i < countries.length; i++) {\r\n let country = countries[i];\r\n if (country.username.toLowerCase().indexOf(query.toLowerCase()) == 0) {\r\n filtered.push(country);\r\n }\r\n }\r\n return filtered;\r\n }\r\n ngOnInit() {\r\n SessionDetails.setProfilePk(null);\r\n SessionDetails.SetUserProfileData(null);\r\n this.role_name = 'Admin';\r\n this.selectedUserRoleName= 'Admin';\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n this.GetUserInfo(this.role_name);\r\n //this.GetUserInfo(this.RoleName);\r\n this.GetUserRoles();\r\n this.cols = [\r\n\t\t\t{ field: 'email', header: 'Email' },\r\n\t\t\t{ field: 'firstName', header: 'First Name' },\r\n\t\t\t{ field: 'lastName', header: 'Last Name' },\r\n\t\t\t{ field: 'rolename', header: 'Role' },\r\n\t\t\t{ field: 'regionId', header: 'Region' },\r\n\t\t\t{ field: 'areaId', header: 'Area' },\r\n\t\t\t{ field: 'districtId', header: 'District' },\r\n\t\t\t{ field: 'storeId', header: 'Store' }\r\n\t\t];\r\n this.cols.splice(6, 0, this.podCol);\r\n if(environment.SuperAdmins.includes(this.userProfile.userName.toLowerCase()))\r\n this.isSuperAdmin = true;\r\n }\r\n onChange(roleName) {\r\n this.autoComplete = '';\r\n this.role_name = roleName;\r\n if(this.dataTableUser){\r\n this.dataTableUser.sortOrder = 0;\r\n this.dataTableUser.sortField = '';\r\n this.dataTableUser.reset();\r\n }\r\n this.GetUserInfo(this.role_name);\r\n }\r\n clearSearch() { \r\n this.autoComplete = '';\r\n //this.GetUserProfileData(this.autoComplete);\r\n this.GetUserInfo(this.role_name);\r\n }\r\n select(event) {\r\n this._userservice.GetUserInformation(this.role_name).subscribe((data:any) => {\r\n this.getData = data;\r\n this.recordexists=true;\r\n if(this.getData.length == 0){\r\n this.recordexists=false;\r\n }\r\n });\r\n }\r\n public GetUserInfo(user_role): void {\r\n this.spinner.show();\r\n this._userservice.GetUserInformation(user_role).subscribe((data:any) => {\r\n this.getData = data;\r\n this.recordexists=true;\r\n if(this.getData.length==0){\r\n this.recordexists=false;\r\n }\r\n this.spinner.hide();\r\n\r\n },err=>{\r\n this.spinner.hide();\r\n });\r\n }\r\n public GetUserRoles() {\r\n this._userservice.GetUserRoles().pipe(debounceTime(400)).subscribe((res:any) => {\r\n this.ddlist = res.filter(p=>p.roleName.toLowerCase().search('test')==-1);\r\n });\r\n }\r\n \r\n DeleteUser() {\r\n this.displayOptions = false;\r\n this._userservice.EditUserProfile(this.user_details.username).subscribe((data:any) => {\r\n \r\n if(data.length==1)\r\n {\r\n this.removeMsg= 'Are you sure you want to remove this user?';\r\n }\r\n else{\r\n var msg=null; \r\n var name; \r\n data.forEach(element => { \r\n \r\n var number; \r\n \r\n switch (element.userRole) {\r\n case 10: \r\n name = 'Regions:';\r\n number = element.regionId;\r\n break;\r\n case 11:\r\n name = 'Regions:'\r\n number = element.regionId;\r\n break;\r\n case 8:\r\n name = 'Areas:'\r\n number = element.areaId;\r\n break;\r\n case 9:\r\n name = 'Areas:'\r\n number = element.areaId;\r\n break;\r\n case 5:\r\n name = 'Districts:'\r\n number = element.districtId;\r\n break; \r\n case 14: \r\n name = 'Pod:'\r\n number = element.podNumber;\r\n break;\r\n \r\n }\r\n if(msg==null)\r\n {\r\n msg=number.split('-')[0];\r\n }\r\n else\r\n {\r\n msg+=', '+number.split('-')[0];\r\n \r\n }\r\n\r\n });\r\n \r\n this.removeMsg= \"This user is assigned to multiple \"+name+\" \"+msg+\". All assignments will be removed with the user. To remove individual assignments from this user edit the user profile.\"\r\n \r\n }\r\n\r\n this.confirmationService.confirm({\r\n \r\n message: this.removeMsg,\r\n accept: () => {\r\n this.spinner.show();\r\n this._userservice.deleteUser(this.user_details.pk, this.userProfile.email).subscribe((data) => {\r\n this.GetUserProfileData(this.autoComplete);\r\n \r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n alert('ErrorCode 500 received from Service');\r\n break;\r\n case 400:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n default:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n }\r\n });\r\n }\r\n });\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n alert('ErrorCode 500 received from Service');\r\n break;\r\n case 400:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n default:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n }\r\n });\r\n\r\n }\r\n showDialog(user_data: any) {\r\n \r\n this.user_details = user_data;\r\n this.displayOptions = true;\r\n this.isGeneric = true;\r\n SessionDetails.SetUserProfileData(user_data);\r\n if(user_data.rolename==\"Admin\")\r\n {\r\n this.isAddUserRole=false;\r\n }\r\n else\r\n {\r\n this.isAddUserRole=true;\r\n }\r\n if(user_data.isGenericEmail)\r\n {\r\n this.isGeneric = false;\r\n this.isAddUserRole=false;\r\n }\r\n \r\n \r\n }\r\n EditUser() {\r\n // SessionDetails.setProfilePk(this.user_details.username);\r\n this.router.navigateByUrl(\"/communityoutreach/edit_user\");\r\n }\r\n AddUser() {\r\n SessionDetails.setProfilePk(this.user_details.username);\r\n this.router.navigateByUrl(\"/communityoutreach/add-user\");\r\n }\r\n\r\n public GetUserProfileData(search_string) {\r\n this._userservice.GetUserInformationSearch(this.role_name, search_string).subscribe((data:any) => {\r\n this.getData = data;\r\n this.recordexists=true;\r\n if(this.getData.length==0){\r\n this.recordexists=false;\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n search(event) {\r\n \r\n \r\n if (event.query.length >= 2 ) {\r\n //fisrt time dom returning null;\r\n let spinnerele = document.querySelector(\"#userProfileAutoCmplt > div > spinnericon\") as HTMLElement;\r\n if (spinnerele != null) {\r\n spinnerele.style.display = '';\r\n }\r\n let closeEle = document.getElementsByClassName(\"fa fa-close\")[0] as HTMLElement;\r\n closeEle.style.display = 'none';\r\n this._userservice.GetUserInformationSearch(this.role_name, event.query).subscribe((data:any) => { \r\n let spinnerelement_1 = document.querySelector(\"#userProfileAutoCmplt > div > spinnericon\") as HTMLElement;\r\n if(spinnerelement_1 != null || spinnerelement_1 != undefined){\r\n spinnerelement_1.style.display = 'none';\r\n }\r\n closeEle.style.display = '';\r\n this.getData = data;\r\n this.recordexists=true;\r\n if(this.getData.length==0){\r\n this.recordexists=false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n changeSort(event: SortEvent) { \r\n //event.field;\r\n event.data.sort((data1, data2) => {\r\n let value1;\r\n let value2 ;\r\nif(event.field===\"regionId\" ||event.field===\"areaId\" ||event.field===\"districtId\" ||event.field===\"storeId\" || event.field === \"podNumber\" ){\r\n if(data1[event.field]==='--') \r\n value1 = Number('0');\r\n else \r\n value1 = Number(data1[event.field]);\r\n if(data2[event.field]==='--')\r\n value2=Number('0');\r\n else \r\n value2 = Number(data2[event.field]);\r\n}\r\nelse{\r\n\r\n value1 = data1[event.field];\r\n value2 = data2[event.field];\r\n}\r\nlet result = null;\r\n\r\n if (value1 === null && value2 !== null)\r\n result = -1;\r\n else if (value1 !== null && value2 === null)\r\n result = 1;\r\n else if (value1 === null && value2 === null)\r\n result = 0;\r\n else if (typeof value1 === 'string' && typeof value2 === 'string')\r\n result = value1.localeCompare(value2);\r\n else\r\n result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\r\n\r\n return (event.order * result);\r\n });\r\n \r\n \r\n \r\n}\r\n\r\ngetUserMgmntCls(value:string){\r\n switch (value){\r\n case 'Store':\r\n case 'District':\r\n case 'Area':\r\n case 'Region':\r\n return 'uAw';\r\n case 'Email':\r\n return 'w300'\r\n case 'Role':\r\n return 'w200'\r\n default:\r\n return '';\r\n }\r\n }\r\n}\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '../../../../../../node_modules/@angular/router';\r\nimport { SchedulerregistrationService } from '../../services/schedulerregistration.service';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport {String} from 'typescript-string-operations';\r\nimport { SchedulerUserInfo } from '../../../../models/schedulerUserInfo';\r\nimport { LocationStrategy } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-walgreens-scheduler-confirmation',\r\n templateUrl: './walgreens-scheduler-confirmation.component.html',\r\n styleUrls: ['./walgreens-scheduler-confirmation.component.css']\r\n})\r\nexport class WalgreensSchedulerConfirmationComponent implements OnInit {\r\n errorPopUp: boolean = false;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n registrationDetails: any = {};\r\n siteDesignInfo: any = {};\r\n scheduledAppointmentInfo: any = {};\r\n isCancelled: boolean = false;\r\n clientLogo:string=\"\";\r\n scheduleregistrationInfo;\r\n constructor(private router: Router, private scheduler_registration: SchedulerregistrationService, private location: LocationStrategy) {\r\n history.pushState(null, null, window.location.href); //disabel back button\r\n this.location.onPopState(() => {\r\n history.pushState(null, null, window.location.href);\r\n });\r\n\r\n this.scheduledAppointmentInfo = SessionDetails.getSchedulerUserInfo();\r\n //START --\r\n if (!this.scheduledAppointmentInfo) {\r\n this.scheduledAppointmentInfo = {\r\n \"designPk\": -1,\r\n \"clientName\": \"\",\r\n \"redirectTo\": \"schedulerRegistration\",\r\n \"apptPk\": -1,\r\n \"clinicPk\": -1\r\n };\r\n \r\n }\r\n if (sessionStorage[\"registrationDetails\"]) {\r\n this.scheduledAppointmentInfo.apptPk = JSON.parse(sessionStorage[\"registrationDetails\"]).apptPk\r\n this.scheduleregistrationInfo = JSON.parse(sessionStorage[\"registrationDetails\"]);\r\n }\r\n \r\n if (sessionStorage[\"isCancelled\"]) {\r\n this.isCancelled = JSON.parse(sessionStorage[\"isCancelled\"]);\r\n sessionStorage.removeItem(\"isCancelled\");\r\n }\r\n //END --\r\n \r\n this.scheduler_registration.getSchedulerSiteDesign(this.scheduledAppointmentInfo.designPk).subscribe(result => {\r\n if (Object.keys(result).length > 0) {\r\n this.siteDesignInfo = result; \r\n this.clientLogo = ((this.siteDesignInfo.siteLogoAndStyles && this.siteDesignInfo.siteLogoAndStyles.logoFile && \r\n this.siteDesignInfo.siteLogoAndStyles.logoFile !== \"string\") ? environment.RESOURCES.CORPORATE_SCHEDULER_UPLOADED_LOGOS_URL + this.siteDesignInfo.siteLogoAndStyles.logoFile : '');\r\n }\r\n });\r\n if (this.scheduledAppointmentInfo.apptPk) {\r\n this.scheduler_registration.getSchedulerApptDetails(this.scheduledAppointmentInfo.apptPk).subscribe((appointment:any) => {\r\n if (Object.keys(appointment).length > 0) {\r\n this.registrationDetails = appointment.detailList[0];\r\n }\r\n });\r\n }\r\n else {\r\n this.showDialog(\"Error\", ErrorMessages.errorSchedulerMsg);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.errorPopUp = true;\r\n }\r\n get name() {\r\n var name = (this.registrationDetails.firstName) ? this.registrationDetails.firstName : '';\r\n if (this.registrationDetails.middleName) {\r\n name += ((this.registrationDetails.middleName) ? ' ' + this.registrationDetails.middleName : '');\r\n }\r\n\r\n name += ((this.registrationDetails.lastName) ? ' ' + this.registrationDetails.lastName : '');\r\n return (name) ? name : '';\r\n }\r\n\r\n get appointmentTime() {\r\n // var appt_date_time = (this.registrationDetails.apptDate) ? this.registrationDetails.apptDate : '';\r\n // appt_date_time += ' ' + ((this.registrationDetails.apptTime) ? this.registrationDetails.apptTime : '');\r\n // return (appt_date_time) ? appt_date_time : '';\r\n return this.registrationDetails.apptTimeRangeString ? this.registrationDetails.apptTimeRangeString:\"\";\r\n }\r\n download(value: any) {\r\n if (this.registrationDetails.apptPk) {\r\n this.scheduler_registration.getVarFormPDF(this.registrationDetails.apptPk).subscribe((data:any) => {\r\n \r\n var res = data;\r\n\r\n if (res.pdfPath != \"\") {\r\n let url = /*environment.WalgreenDomain*/ res.pdfPath;\r\n localStorage.setItem(\"isApp\", \"yes\");\r\n window.open(url);\r\n \r\n //importedSaveAs(res, 'VAR Form.pdf'); \r\n }\r\n });\r\n }\r\n else {\r\n this.showDialog(\"Error\", ErrorMessages.errorVARForm);\r\n }\r\n }\r\n downloadVISForm(path: string) {\r\n var new_url = window.location.protocol + '//' + window.location.host + '/';\r\n let url = new_url + path;\r\n localStorage.setItem(\"isApp\", \"yes\");\r\n window.open(url);\r\n }\r\n\r\n printConfirmation() {\r\n window.print();\r\n }\r\n goToResources(event){\r\n if(this.registrationDetails.isCovidClinic){\r\n window.open(\"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Vaccinination_Authorization_Record_Instructions.pdf\");\r\n }\r\n else {\r\n window.open('visresources');\r\n }\r\n \r\n }\r\n openSite() { \r\n sessionStorage.removeItem('registrationDetails');\r\n console.log('TODO');\r\n //window.open(this.schedulerLink, '_blank');\r\n }\r\n editAppointment()\r\n {\r\n if(sessionStorage['registrationDetails']== null || sessionStorage['registrationDetails']== undefined)\r\n {\r\n sessionStorage['registrationDetails']= JSON.stringify(this.scheduleregistrationInfo); \r\n }\r\n this.router.navigate(['/schedulerRegistration']); \r\n }\r\n}\r\n","\r\nimport {interval as observableInterval, Observable, interval } from 'rxjs';\r\n\r\nimport {take} from 'rxjs/operators';\r\nimport { FormGroup, FormBuilder, Validators, FormArray, FormControl } from '@angular/forms';\r\nimport { Component, OnInit, Input, ElementRef } from '@angular/core';\r\nimport { states } from '../../../../JSON/States';\r\nimport { Util } from '../../../../utility/util';\r\nimport { SchedulerregistrationService } from '../../services/schedulerregistration.service';\r\nimport { schedulerRegistrationDetails, DetailList } from '../../../../models/schedulerRegistrationDetails';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { Router } from '@angular/router';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { defaultSiteDesignInfo } from '../../../../JSON/schedulerDefaultValues';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { DatePipe } from '@angular/common';\r\nimport { TimeToDatePipe } from '../../../contractaggreement/pipes/time-to-date.pipe';\r\nimport { ArrayType } from '@angular/compiler';\r\n\r\n@Component({\r\n selector: 'app-walgreens-scheduler-registration',\r\n templateUrl: './walgreens-scheduler-registration.component.html',\r\n styleUrls: ['./walgreens-scheduler-registration.component.css'],\r\n providers: [DatePipe,TimeToDatePipe]\r\n})\r\nexport class WalgreensSchedulerRegistrationComponent implements OnInit {\r\n dateValue: Date;\r\n schedulerRegistrationFormGroup: FormGroup;\r\n displayFormData: any;\r\n controlsArray: FormArray;\r\n headers: Array;\r\n states: any = [];\r\n row1Data: any = [];\r\n row2Data: any = [];\r\n row3Data: any = [];\r\n row4Data: any = [];\r\n row5Data: any = [];\r\n selectedValues: any = {};\r\n selectedValuesRaw: schedulerRegistrationDetails;\r\n fieldsInfo: any = {};\r\n clinicLocationsList: any = [];\r\n apptDatesList: any = [];\r\n apptImmunizationsList : any = [];\r\n editimmunizationdata: any = [];\r\n selectedImmuzvalues: any = [];\r\n apptTimesOfDay: any = [];\r\n apptTimesOfDayList: any = [];\r\n apptTimesList: any = [];\r\n apptRoomsList: any = [];\r\n selectvalues: any = [];\r\n selectedLocationDateGroupId: number;\r\n selectedLocationId: number;\r\n private apptPk: number = -1;\r\n private clinicPk:number = -1;\r\n private clientId: number;\r\n clientLogo: string = \"\";\r\n siteDesignInfo: any = {};\r\n errorMessages: any = {};\r\n alaSQL: any;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n errorPopUp: boolean = false;\r\n isDisable: boolean = null;\r\n isSelected: boolean = false;\r\n selectedlocationvalue: string = '';\r\n @Input() inputArray: ArrayType[];\r\n private group = this.formBuilder.group({});\r\n private schedulerUserInfo: any;\r\n selectedImmunizations: { clinicPk: number; immunizationPk: number }[] = [];\r\n name_pattern = /^(?!\\d+$)(?:[a-zA-Z \\.\\,\\'\\-]*)?$/;\r\n email_pattern = /^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$/;\r\n //email_pattern = /(?=^.{1,50}$)^[a-zA-Z0-9][a-zA-Z0-9.!@#$%&*+_-]+[a-zA-Z0-9]@[a-zA-Z0-9][a-zA-Z0-9._-]+\\.[a-zA-Z]{2,3}$/;\r\n constructor(private formBuilder: FormBuilder, private utility: Util, private element: ElementRef,\r\n private scheduler_registration: SchedulerregistrationService, private router: Router,\r\n private spinner: NgxSpinnerService, private _datePipe: DatePipe,\r\n private _timeToDatePipe: TimeToDatePipe) {\r\n this.schedulerUserInfo = SessionDetails.getSchedulerUserInfo();\r\n this.selectedValuesRaw = new schedulerRegistrationDetails();\r\n this.selectedValuesRaw.detailList.push(new DetailList());\r\n this.alaSQL = require('alasql');\r\n this.apptPk = -1;//2;1;\r\n this.clientId = -1;// 12;\r\n if (this.schedulerUserInfo) {\r\n this.clientId = this.schedulerUserInfo.designPk;\r\n this.apptPk = this.schedulerUserInfo.appointmentPK;\r\n } else {\r\n this.schedulerUserInfo = {\r\n \"designPk\": -1,\r\n \"redirectTo\": \"schedulerRegistration\",\r\n \"apptPk\": -1,\r\n \"clinicPK\": -1\r\n };\r\n // if (sessionStorage[\"scheduler_site_set_up\"]) {\r\n // this.clientId = JSON.parse(sessionStorage[\"scheduler_site_set_up\"]).clientInfo.clientId;\r\n // this.schedulerUserInfo.designPk=this.clientId;\r\n // }\r\n }\r\n if (sessionStorage[\"registrationDetails\"]) {\r\n var regDetails= JSON.parse(sessionStorage[\"registrationDetails\"]);\r\n this.apptPk = regDetails.apptPk;\r\n this.schedulerUserInfo.appointmentPK = this.apptPk;\r\n this.schedulerUserInfo.clinicPK = regDetails.clinicPk;\r\n }\r\n this.scheduler_registration.getSchedulerSiteDesign(this.schedulerUserInfo.designPk).subscribe((result:any) => {\r\n if (Object.keys(result).length > 0) {\r\n if (!result.clientInfo.enryptedClientKey) {\r\n result.siteLogoAndStyles = defaultSiteDesignInfo.defaultDesignValues;\r\n result.siteLandingPageText = defaultSiteDesignInfo.defaultTextValues;\r\n }\r\n this.siteDesignInfo = result;\r\n this.clientLogo = ((this.siteDesignInfo.siteLogoAndStyles && this.siteDesignInfo.siteLogoAndStyles.logoFile &&\r\n this.siteDesignInfo.siteLogoAndStyles.logoFile !== \"string\") ? environment.RESOURCES.CORPORATE_SCHEDULER_UPLOADED_LOGOS_URL + this.siteDesignInfo.siteLogoAndStyles.logoFile : '');\r\n this.displayFormData = this.siteDesignInfo.siteRequiredRegisFieldList;\r\n this.displayFormData.push(\r\n {\r\n \"fieldName\": \"clinicState\",\r\n \"displayName\": \"State\",\r\n \"isFieldRequired\": 1,\r\n \"isFieldVisible\": 1\r\n }, {\r\n \"fieldName\": \"clinicLocation\",\r\n \"displayName\": \"Location\",\r\n \"isFieldRequired\": 1,\r\n \"isFieldVisible\": 1\r\n }, {\r\n \"fieldName\": \"apptDate\",\r\n \"displayName\": \"Date\",\r\n \"isFieldRequired\": 1,\r\n \"isFieldVisible\": 1\r\n }, {\r\n \"fieldName\": \"apptTimeOfDay\",\r\n \"displayName\": \"Time of Day\",\r\n \"isFieldRequired\": 1,\r\n \"isFieldVisible\": 1\r\n }, {\r\n \"fieldName\": \"apptTime\",\r\n \"displayName\": \"Available Times\",\r\n \"isFieldRequired\": 1,\r\n \"isFieldVisible\": 1\r\n }, {\r\n \"fieldName\": \"apptRoom\",\r\n \"displayName\": \"Available Rooms\",\r\n \"isFieldRequired\": 1,\r\n \"isFieldVisible\": 1\r\n },{\r\n \"fieldName\": \"selectedImmunization\",\r\n \"displayName\": \"immunization\",\r\n \"isFieldRequired\": 1,\r\n \"isFieldVisible\": 1\r\n });\r\n }\r\n this.displayFormData.forEach(control => {\r\n switch (control.fieldName) {\r\n case \"firstName\":\r\n case \"middleName\":\r\n let is_name_required = ((control.isFieldRequired) ? Validators.required : null);\r\n this.group.addControl(control.fieldName, this.formBuilder.control('', Validators.compose([is_name_required, Validators.maxLength(20), Validators.pattern(this.name_pattern)])));\r\n break;\r\n case \"lastName\":\r\n let l_name_pattern = /^[a-zA-Z]{1,1}$/;\r\n let l_is_name_required = ((control.isFieldRequired) ? Validators.required : null);\r\n this.group.addControl(control.fieldName, this.formBuilder.control('', Validators.compose([l_is_name_required, Validators.pattern(l_name_pattern)])));\r\n break;\r\n case \"email\":\r\n case \"Email\":\r\n control.fieldName = control.fieldName.toLowerCase();\r\n let is_email_required = ((control.isFieldRequired) ? Validators.required : null);\r\n this.group.addControl(control.fieldName, this.formBuilder.control('', Validators.compose([is_email_required, Validators.maxLength(50),Validators.pattern(this.email_pattern)])));\r\n break;\r\n case \"employeeId\":\r\n let employee_id_pattern = /(?=^.{1,500}$)^[a-zA-Z0-9-]/;\r\n let employee_id_required = ((control.isFieldRequired) ? Validators.required : null);\r\n this.group.addControl(control.fieldName, this.formBuilder.control('', Validators.compose([employee_id_required, Validators.pattern(employee_id_pattern)])));\r\n break;\r\n case \"clinicState\":\r\n case \"clinicLocation\":\r\n case \"apptDate\":\r\n case \"apptTime\":\r\n case \"apptTimeOfDay\":\r\n case \"apptRoom\":\r\n let is_required = ((control.isFieldRequired) ? Validators.required : null);\r\n this.group.addControl(control.fieldName, this.formBuilder.control('', Validators.compose([is_required])));\r\n break;\r\n case \"selectedImmunization\": \r\n this.createSelectImmunization(control);\r\n break;\r\n }\r\n \r\n });\r\n this.createFormElementsArray();\r\n });\r\n\r\n this.scheduler_registration.getSchedulerClinicLocations(this.clientId, this.apptPk).subscribe((clinic_locations_results:any) => {\r\n if (clinic_locations_results&&clinic_locations_results.clinicStateList.length > 0) {\r\n this.fieldsInfo = clinic_locations_results;\r\n if (this.fieldsInfo.clinicStateList.length == 1 && this.apptPk == -1) {\r\n let obs = interval(50).pipe(take(1));\r\n var t1 = this.selectedValuesRaw;\r\n // this.selectedValues.apptRoom = t1[0].apptRoom;\r\n // this.schedulerRegistrationFormGroup.get('apptRoom').setValue(t1[0].apptRoom);\r\n // this.selectedValues.apptTime = t1[0].apptTime;\r\n // this.schedulerRegistrationFormGroup.get('apptTime').setValue(t1[0].apptTime);\r\n // this.selectedValues.apptDate = t1[0].apptDate;\r\n // //this.selectedValues.apptDate = this.schedulerRegistrationFormGroup.get('apptDate').value;\r\n // this.schedulerRegistrationFormGroup.get('apptDate').setValue(t1[0].apptDate);\r\n // this.selectedValues.apptTimeOfDay = t1[0].apptTimeOfDay;\r\n // this.schedulerRegistrationFormGroup.get('apptTimeOfDay').setValue(t1[0].apptTimeOfDay);\r\n // this.selectedValues.clinicLocation = t1[0].clinicLocation;\r\n // this.schedulerRegistrationFormGroup.get('clinicLocationt').setValue(t1[0].clinicLocation);\r\n // this.selectedValues.clinicState = t1[0].clinicState;\r\n // this.schedulerRegistrationFormGroup.get('clinicState').setValue(t1[0].clinicState);\r\n // this.selectedValues.email = t1[0].email;\r\n // this.schedulerRegistrationFormGroup.get('email').setValue(t1[0].email);\r\n // this.selectedValues.employeeId = t1[0].employeeId;\r\n // this.schedulerRegistrationFormGroup.get('employeeId').setValue(t1[0].employeeId);\r\n // this.selectedValues.firstName = t1[0].firstName;\r\n // this.schedulerRegistrationFormGroup.get('firstName').setValue(t1[0].firstName);\r\n // this.selectedValues.lastName = t1[0].lastName;\r\n // this.schedulerRegistrationFormGroup.get('lastName').setValue(t1[0].lastName);\r\n // this.selectedValues.middleName = t1[0].middleName;\r\n // this.schedulerRegistrationFormGroup.get('middleName').setValue(t1[0].middleName);\r\n // this.selectedValues.clinicStoreId = t1[0].clinicStoreId;\r\n // this.selectedValues.clinicPk=t1[0].clinicPk;\r\n // this.selectedValues.clinicLocationId=t1[0].clinicLocationId;\r\n \r\n var t2 = this.selectedValues;\r\n var t3 = this.fieldsInfo.clinicStateList;\r\n let schRegFormGroup:FormGroup = this.schedulerRegistrationFormGroup;\r\n obs.subscribe(function (value) {\r\n t1.detailList[0].clinicState = t3[0];\r\n t2.clinicState = t3[0];\r\n schRegFormGroup.get('clinicState').setValue(t2.clinicState);\r\n });\r\n setTimeout(() => {\r\n this.loadClinicLoctions(t2.clinicState);\r\n }, 1000);\r\n }\r\n }\r\n if (this.apptPk) {\r\n this.scheduler_registration.getSchedulerApptDetails(this.apptPk).subscribe((appt_details_results:any) => {\r\n sessionStorage.removeItem(\"registrationDetails\");\r\n if (appt_details_results.detailList.length > 0) {\r\n this.selectedValuesRaw = appt_details_results;\r\n this.selectedValues = appt_details_results.detailList[0];\r\n this.selectedImmuzvalues = this.fieldsInfo.sCLMScheduleImmunizationLists.filter(item => item.clinicPk === this.selectedValues.clinicPk && item.estimatedQuantity > 0) ;\r\n this.editimmunizationdata = this.selectedValues.SEADImmunizationDetailByApptPK;\r\n this.selectedImmuzvalues = this.selectedImmuzvalues.map(item => ({\r\n ...item,\r\n isSelected: this.editimmunizationdata.some(imm => item.immunizationPk === imm.immunizationPk)\r\n })); \r\n this.selectedImmunizations = this.selectedImmuzvalues.filter(immunization => immunization.isSelected).map(immunization => ({\r\n clinicPk: immunization.clinicPk,\r\n immunizationPk: immunization.immunizationPk\r\n }));\r\n this.schedulerRegistrationFormGroup.get('apptRoom').setValue(this.selectedValues.apptRoom);\r\n this.schedulerRegistrationFormGroup.get('apptTime').setValue(this.selectedValues.apptTime);\r\n this.schedulerRegistrationFormGroup.get('apptDate').setValue(this.selectedValues.apptDate);\r\n this.schedulerRegistrationFormGroup.get('apptTimeOfDay').setValue(this.selectedValues.apptTimeOfDay);\r\n this.schedulerRegistrationFormGroup.get('clinicLocation').setValue(this.selectedValues.clinicLocation);\r\n this.schedulerRegistrationFormGroup.get('clinicState').setValue(this.selectedValues.clinicState);\r\n this.schedulerRegistrationFormGroup.get('email').setValue(this.selectedValues.email);\r\n \r\n const immunizationArray = this.schedulerRegistrationFormGroup.get('selectedImmunization') as FormArray;\r\n immunizationArray.clear();\r\n this.selectedImmuzvalues.forEach(immunization => {\r\n immunizationArray.push(this.formBuilder.control(immunization.isSelected));\r\n });\r\n \r\n if(this.selectedValues.employeeId && this.schedulerRegistrationFormGroup.get('employeeId')) {\r\n this.schedulerRegistrationFormGroup.get('employeeId').setValue(this.selectedValues.employeeId);\r\n }\r\n if(this.selectedValues.firstName && this.schedulerRegistrationFormGroup.get('firstName')) {\r\n this.schedulerRegistrationFormGroup.get('firstName').setValue(this.selectedValues.firstName);\r\n }\r\n if(this.selectedValues.lastName && this.schedulerRegistrationFormGroup.get('lastName')) {\r\n this.schedulerRegistrationFormGroup.get('lastName').setValue(this.selectedValues.lastName);\r\n }\r\n if(this.selectedValues.middleName && this.schedulerRegistrationFormGroup.get('middleName')) {\r\n this.schedulerRegistrationFormGroup.get('middleName').setValue(this.selectedValues.middleName);\r\n }\r\n //if (this.apptPk > -1) {\r\n this.clinicLocationsList = this.getLocations(this.selectedValues.clinicState, this.fieldsInfo.clinicLocationList);\r\n\r\n let clinic_location: any;\r\n if (this.schedulerUserInfo.clinicPK !== -1) {\r\n clinic_location = this.alaSQL(\"SELECT distinct * FROM ? WHERE clinicLocation = '\" + this.selectedValues.clinicLocation.replace(/'/g, \"\\\\'\") + \"' AND clinicPk = \" + this.schedulerUserInfo.clinicPK + \" GROUP BY clinicState, clinicLocationId ORDER BY clinicLocationId ASC\", [this.fieldsInfo.clinicLocationList]);\r\n } else {\r\n clinic_location = this.alaSQL(\"SELECT distinct * FROM ? WHERE clinicLocation = '\" + this.selectedValues.clinicLocation.replace(/'/g, \"\\\\'\") + \"' GROUP BY clinicState, clinicLocationId ORDER BY clinicLocationId ASC\", [this.clinicLocationsList]);\r\n }\r\n this.apptDatesList = this.getDates(clinic_location[0].clinicLocationId, this.fieldsInfo.clinicLocationList);\r\n this.apptTimesOfDayList = this.getTimesOfDay(clinic_location[0].clinicPk, clinic_location[0].clinicDateGroupId, this.fieldsInfo.scheduleApptTimeList);\r\n this.apptTimesList = [];\r\n\r\n this.apptTimesList = this.getTimes(clinic_location[0].clinicPk, clinic_location[0].clinicDateGroupId, this.selectedValues.apptTimeOfDay, this.fieldsInfo.scheduleApptTimeList);\r\n\r\n this.apptRoomsList = this.getRooms(clinic_location[0].clinicPk, this.selectedValues.apptDate, this.fieldsInfo.clinicLocationList);\r\n\r\n if (this.apptRoomsList.length === 0) {\r\n this.schedulerRegistrationFormGroup.get('apptRoom').clearValidators();\r\n this.schedulerRegistrationFormGroup.get('apptRoom').reset();\r\n } else {\r\n this.displayFormData.forEach(control => {\r\n if (control.fieldName === 'apptRoom') {\r\n var is_required = ((control.isFieldRequired) ? Validators.required : null);\r\n this.schedulerRegistrationFormGroup.get('apptRoom').clearValidators();\r\n this.schedulerRegistrationFormGroup.get('apptRoom').setValidators([Validators.compose([is_required])]);\r\n this.schedulerRegistrationFormGroup.get('apptRoom').reset();\r\n }\r\n });\r\n }\r\n } else {\r\n this.selectedValues = this.selectedValuesRaw.detailList[0];\r\n }\r\n this.selectedValues.clinicState = this.selectedValues.clinicState || '';\r\n this.selectedValues.clinicLocation = this.selectedValues.clinicLocation || '';\r\n this.selectedValues.apptDate = this.selectedValues.apptDate || '';\r\n this.selectedValues.apptTimeOfDay = this.selectedValues.apptTimeOfDay || '';\r\n this.selectedValues.apptTime = this.selectedValues.apptTime || '';\r\n this.selectedValues.apptRoom = this.selectedValues.apptRoom || '';\r\n });\r\n }\r\n else {\r\n this.showDialogError(\"Error\", ErrorMessages.errorSchedulerMsg);\r\n }\r\n });\r\n }\r\n \r\n\r\n ngOnInit() {\r\n this.states = states;\r\n this.schedulerRegistrationFormGroup = this.group;\r\n }\r\n\r\n createSelectImmunization(control: any) {\r\n const immunizationArray = this.formBuilder.array([]);\r\n this.schedulerRegistrationFormGroup.addControl('selectedImmunization', immunizationArray);\r\n }\r\n \r\n // create FormArray once\r\n createFormElementsArray() {\r\n const elements: any[] = [];\r\n this.displayFormData.forEach(item => {\r\n switch (item.fieldName) {\r\n case \"firstName\":\r\n case \"middleName\":\r\n case \"lastName\":\r\n if (item.isFieldVisible) {\r\n this.row1Data.push(item);\r\n }\r\n break;\r\n case \"email\":\r\n case \"employeeId\":\r\n if (item.isFieldVisible) {\r\n this.row2Data.push(item);\r\n }\r\n break;\r\n case \"clinicState\":\r\n case \"clinicLocation\":\r\n if (item.isFieldVisible) {\r\n this.row3Data.push(item);\r\n }\r\n break;\r\n case \"apptDate\":\r\n case \"apptTime\":\r\n case \"apptTimeOfDay\":\r\n case \"apptRoom\":\r\n if (item.isFieldVisible) {\r\n this.row4Data.push(item);\r\n }\r\n break;\r\n case \"selectedImmunization\":\r\n if(item.isFieldVisible){\r\n this.row5Data.push(item);\r\n }\r\n default:\r\n break;\r\n }\r\n });\r\n }\r\n\r\n displayColMDCss(field: string, index: number) {\r\n let return_value: boolean = false;\r\n if (this.schedulerRegistrationFormGroup.get(field))\r\n return_value = this.schedulerRegistrationFormGroup.get(field) && !this.schedulerRegistrationFormGroup.get(field).valid && this.schedulerRegistrationFormGroup.get(field).touched;\r\n\r\n return {\r\n 'has-error': return_value,\r\n 'has-feedback': return_value\r\n };\r\n /*if (e == 'Gender') {\r\n return 'col-md-2 col-sm-2 col-12';\r\n }\r\n else {\r\n return 'col-md-4 col-sm-4 col-12';\r\n }*/\r\n }\r\n\r\n resetAppointmentInfo(field: string) {\r\n switch (field) {\r\n case \"state\":\r\n //this.selectedValues.clinicLocation = \"\";\r\n this.schedulerRegistrationFormGroup.get('clinicLocation').setValue(\"\");\r\n //this.selectedValues.apptDate = \"\";\r\n this.schedulerRegistrationFormGroup.get('apptDate').setValue(\"\");\r\n //this.selectedValues.apptTime = \"\";\r\n this.schedulerRegistrationFormGroup.get('apptTime').setValue(\"\"); \r\n //this.selectedValues.apptRoom = \"\";\r\n this.schedulerRegistrationFormGroup.get('apptRoom').setValue(\"\");\r\n //this.selectedValues.apptTimeOfDay = \"\";\r\n this.schedulerRegistrationFormGroup.get('apptTimeOfDay').setValue(\"\");\r\n break;\r\n case \"cliniclocation\":\r\n //this.selectedValues.apptDate = \"\";\r\n this.schedulerRegistrationFormGroup.get('apptDate').setValue(\"\");\r\n //this.selectedValues.apptTime = \"\";\r\n this.schedulerRegistrationFormGroup.get('apptTime').setValue(\"\"); \r\n //this.selectedValues.apptRoom = \"\";\r\n this.schedulerRegistrationFormGroup.get('apptRoom').setValue(\"\");\r\n //this.selectedValues.apptTimeOfDay = \"\";\r\n this.schedulerRegistrationFormGroup.get('apptTimeOfDay').setValue(\"\");\r\n break;\r\n case \"apptdate\":\r\n //this.selectedValues.apptTime = \"\";\r\n this.schedulerRegistrationFormGroup.get('apptTime').setValue(\"\"); \r\n //this.selectedValues.apptRoom = \"\";\r\n this.schedulerRegistrationFormGroup.get('apptRoom').setValue(\"\");\r\n //this.selectedValues.apptTimeOfDay = \"\";\r\n this.schedulerRegistrationFormGroup.get('apptTimeOfDay').setValue(\"\");\r\n break;\r\n case \"appttimeofday\":\r\n //this.selectedValues.apptRoom = \"\";\r\n this.schedulerRegistrationFormGroup.get('apptRoom').setValue(\"\");\r\n //this.selectedValues.apptTimeOfDay = \"\";\r\n //this.schedulerRegistrationFormGroup.get('apptTimeOfDay').setValue(\"\");\r\n break;\r\n case \"appttime\":\r\n //this.selectedValues.apptRoom = \"\";\r\n this.schedulerRegistrationFormGroup.get('apptRoom').setValue(\"\");\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n loadClinicLoctions(selected_value: any) {\r\n this.clinicLocationsList = [];\r\n this.apptDatesList = [];\r\n this.apptTimesOfDayList = [];\r\n this.apptTimesList = [];\r\n this.apptRoomsList = [];\r\n this.selectedImmunizations =[];\r\n this.resetAppointmentInfo('state');\r\n if (selected_value !== '' && selected_value.indexOf(' ') > -1) {\r\n selected_value = selected_value.split(' ')[1];\r\n };\r\n if (selected_value != \"\") {\r\n this.clinicLocationsList = this.getLocations(selected_value, this.fieldsInfo.clinicLocationList);\r\n }\r\n if (this.clinicLocationsList.length == 1) {\r\n let obs = interval(50).pipe(take(1));\r\n var t1 = this.selectedValuesRaw;\r\n this.selectedValues.apptRoom = this.clinicLocationsList[0].clinicRoom;//this.schedulerRegistrationFormGroup.get('apptRoom').value;\r\n this.schedulerRegistrationFormGroup.get('apptRoom').setValue(this.selectedValues.apptRoom );\r\n this.selectedValues.apptTime = this.schedulerRegistrationFormGroup.get('apptTime').value;\r\n this.selectedValues.apptDate = this.schedulerRegistrationFormGroup.get('apptDate').value;\r\n this.selectedValues.apptTimeOfDay = this.schedulerRegistrationFormGroup.get('apptTimeOfDay').value;\r\n this.selectedValues.clinicLocation = this.clinicLocationsList[0].clinicLocation;//this.schedulerRegistrationFormGroup.get('clinicLocation').value;\r\n this.schedulerRegistrationFormGroup.get('clinicLocation').setValue(this.selectedValues.clinicLocation);\r\n this.selectedValues.clinicState =this.clinicLocationsList[0].clinicState;// this.schedulerRegistrationFormGroup.get('clinicState').value;\r\n this.schedulerRegistrationFormGroup.get('clinicState').setValue(this.selectedValues.clinicState);\r\n this.selectedValues.email = this.schedulerRegistrationFormGroup.get('email').value;\r\n this.selectedValues.employeeId = this.schedulerRegistrationFormGroup.get('employeeId')?this.schedulerRegistrationFormGroup.get('employeeId').value:'';\r\n this.selectedValues.firstName = this.schedulerRegistrationFormGroup.get('firstName')?this.schedulerRegistrationFormGroup.get('firstName').value:'';\r\n this.selectedValues.lastName = this.schedulerRegistrationFormGroup.get('lastName')?this.schedulerRegistrationFormGroup.get('lastName').value:'';\r\n this.selectedValues.middleName = this.schedulerRegistrationFormGroup.get('middleName')?this.schedulerRegistrationFormGroup.get('middleName').value:'';\r\n this.selectedValues.clinicStoreId = this.clinicLocationsList[0].clinicStoreid;\r\n this.selectedValues.clinicPk= this.clinicLocationsList[0].clinicPk;\r\n this.selectedValues.outreachBusinessPk= this.clinicLocationsList[0].outreachBusinessPk;\r\n var t2 = this.selectedValues;\r\n var t3 = this.clinicLocationsList;\r\n var schRegFormGroup = this.schedulerRegistrationFormGroup;\r\n obs.subscribe(function (value) {\r\n t1.detailList[0].clinicLocation = t3[0].clinicLocation;\r\n t2.clinicLocation = t3[0].clinicLocation;\r\n schRegFormGroup.get('clinicLocation').setValue(t2.clinicLocation);\r\n });\r\n setTimeout(() => {\r\n var dt = document.getElementById('ddlLocation');\r\n this.loadAvblApptDates(dt);\r\n }, 1000);\r\n }\r\n }\r\n\r\n loadAvblApptDates(selected_clinic_ele: any) {\r\n this.apptDatesList = [];\r\n this.apptTimesOfDayList = [];\r\n this.apptTimesList = [];\r\n this.apptRoomsList = [];\r\n this.selectedImmunizations =[];\r\n this.resetAppointmentInfo('cliniclocation');\r\n //var ctrl_id = selected_clinic_ele.id;\r\n var temp_fieldsInfo = this.fieldsInfo;\r\n let clinic_location_id: number;\r\n let clinicPk: number;\r\n let clinicStoreId: string;\r\n let outreachBusinessPk: number;\r\n let selected_option: any;\r\n this.selectedlocationvalue = selected_clinic_ele.value\r\n if (selected_clinic_ele.options.length > 0) {\r\n selected_option = selected_clinic_ele.options[selected_clinic_ele.selectedIndex];\r\n }\r\n if (selected_option && selected_option.attributes[\"clinicLocationId\"]) {\r\n clinic_location_id = selected_option.attributes[\"clinicLocationId\"].value;\r\n }\r\n\r\n if (selected_option && selected_option.attributes[\"outreachBusinessPk\"]) {\r\n outreachBusinessPk = selected_option.attributes[\"outreachBusinessPk\"].value;\r\n }\r\n if (selected_option && selected_option.attributes[\"clinicStoreId\"]) {\r\n clinicStoreId = selected_option.attributes[\"clinicStoreId\"].value;\r\n }\r\n //if (this.selectedValues.apptPk == -1) {\r\n this.selectedValues.outreachBusinessPk = outreachBusinessPk;\r\n this.selectedValuesRaw.detailList[0].clinicPk = clinicPk;\r\n this.selectedValuesRaw.detailList[0].outreachBusinessPk = outreachBusinessPk;\r\n this.selectedValuesRaw.detailList[0].clinicStoreId = parseInt(clinicStoreId);\r\n this.selectedValues.clinicStoreId = parseInt(clinicStoreId);\r\n \r\n //}\r\n this.selectedValues.clinicLocationId = clinic_location_id; \r\n this.apptDatesList = this.getDates(clinic_location_id, temp_fieldsInfo.clinicLocationList);\r\n \r\n if (this.apptDatesList.length == 1) {\r\n let obs = interval(50).pipe(take(1));\r\n var t1 = this.selectedValuesRaw;\r\n this.selectedValues.apptRoom = this.schedulerRegistrationFormGroup.get('apptRoom').value;\r\n this.selectedValues.apptTime = this.schedulerRegistrationFormGroup.get('apptTime').value;\r\n this.selectedValues.apptDate = this.schedulerRegistrationFormGroup.get('apptDate').value;\r\n this.selectedValues.apptTimeOfDay = this.schedulerRegistrationFormGroup.get('apptTimeOfDay').value;\r\n this.selectedValues.clinicLocation = this.schedulerRegistrationFormGroup.get('clinicLocation').value;\r\n this.selectedValues.clinicState = this.schedulerRegistrationFormGroup.get('clinicState').value;\r\n this.selectedValues.email = this.schedulerRegistrationFormGroup.get('email').value;\r\n this.selectedValues.employeeId = this.schedulerRegistrationFormGroup.get('employeeId')?this.schedulerRegistrationFormGroup.get('employeeId').value:'';\r\n this.selectedValues.firstName = this.schedulerRegistrationFormGroup.get('firstName')?this.schedulerRegistrationFormGroup.get('firstName').value:'';\r\n this.selectedValues.lastName = this.schedulerRegistrationFormGroup.get('lastName')?this.schedulerRegistrationFormGroup.get('lastName').value:'';\r\n this.selectedValues.middleName = this.schedulerRegistrationFormGroup.get('middleName')?this.schedulerRegistrationFormGroup.get('middleName').value:'';\r\n this.selectedValues.clinicPk = clinicPk;\r\n this.selectedValues.selectedImmunization = this.selectedImmuzvalues;\r\n var t2 = this.selectedValues;\r\n var t3 = this.apptDatesList;\r\n let schRegFormGroup:FormGroup = this.schedulerRegistrationFormGroup;\r\n obs.subscribe(function (value) {\r\n t1.detailList[0].apptDate = t3[0].clinicDate;\r\n t2.clinicDate = t3[0].clinicDate;\r\n schRegFormGroup.get('apptDate').setValue(t2.clinicDate);\r\n });\r\n setTimeout(() => {\r\n var tm = document.getElementById('ddlClinicDate');\r\n this.loadAvblTimesofDay(tm);\r\n }, 1000);\r\n }\r\n }\r\n\r\n loadAvblTimesofDay(selected_clinic_date_ele: any) { \r\n this.apptTimesOfDayList = [];\r\n this.apptTimesList = [];\r\n this.apptRoomsList = [];\r\n this.selectedImmunizations =[];\r\n let clinic_date_group_id: number;\r\n let clinic_location_id: number;\r\n let clinicPk: number;\r\n let clinicStoreId :number;\r\n this.resetAppointmentInfo('apptdate');\r\n let selected_option: any;\r\n if (selected_clinic_date_ele.options.length > 0) {\r\n selected_option = selected_clinic_date_ele.options[selected_clinic_date_ele.selectedIndex];\r\n }\r\n if (selected_option && selected_option.attributes[\"clinicPk\"]) {\r\n clinicPk = selected_option.attributes[\"clinicPk\"].value;\r\n }\r\n if (selected_option && selected_option.attributes[\"clinicStoreId\"]) {\r\n clinicStoreId = selected_option.attributes[\"clinicStoreId\"].value;\r\n this.selectedValues.clinicStoreId = clinicStoreId;\r\n }\r\n // if (selected_option && selected_option.attributes[\"clinicLocationId\"]) {\r\n // clinic_location_id = selected_option.attributes[\"clinicLocationId\"].value;\r\n // }\r\n if (selected_option && selected_option.attributes[\"clinicDateGroupId\"]) {\r\n clinic_date_group_id = selected_option.attributes[\"clinicDateGroupId\"].value;\r\n }\r\n this.selectedValues.clinicPk = clinicPk;\r\n this.apptTimesOfDayList = this.getTimesOfDay(clinicPk, clinic_date_group_id, this.fieldsInfo.scheduleApptTimeList);\r\n const selectedOption = selected_clinic_date_ele.options[selected_clinic_date_ele.selectedIndex]; \r\n clinicPk = +selectedOption.getAttribute('clinicpk');\r\n this.apptImmunizationsList = this.fieldsInfo.clinicLocationList.find(clinic => clinic.clinicDate === selected_clinic_date_ele.value && clinic.clinicLocation === this.selectedlocationvalue );\r\n this.selectedImmuzvalues = this.fieldsInfo.sCLMScheduleImmunizationLists.filter(item => item.clinicPk === clinicPk && item.estimatedQuantity > 0) ; \r\n }\r\n\r\n loadAvblTimes(selected_clinic_date_ele: any,selectedIndex) { \r\n this.apptTimesList = [];\r\n this.apptRoomsList = [];\r\n let clinic_date_group_id: number;\r\n let clinic_location_id: number;\r\n let clinicPk: number;\r\n this.resetAppointmentInfo('appttimeofday');\r\n let selected_option: any;\r\n if (selected_clinic_date_ele.options.length > 0) {\r\n selected_option = selected_clinic_date_ele.options[selected_clinic_date_ele.options.selectedIndex];\r\n this.schedulerRegistrationFormGroup.get('apptTimeOfDay').setValue(selected_clinic_date_ele.value);\r\n }\r\n if (selected_option && selected_option.attributes[\"clinicPk\"]) {\r\n clinicPk = selected_option.attributes[\"clinicPk\"].value;\r\n }\r\n // if (selected_option && selected_option.attributes[\"clinicLocationId\"]) {\r\n // clinic_location_id = selected_option.attributes[\"clinicLocationId\"].value;\r\n // }\r\n if (selected_option && selected_option.attributes[\"clinicDateGroupId\"]) {\r\n clinic_date_group_id = selected_option.attributes[\"clinicDateGroupId\"].value;\r\n }\r\n //this.schedulerRegistrationFormGroup.get('apptTimeOfDay').setValue(selected_option.value);\r\n this.selectedValues.apptTimeOfDay =this.schedulerRegistrationFormGroup.get('apptTimeOfDay').value?this.schedulerRegistrationFormGroup.get('apptTimeOfDay').value.substring(this.schedulerRegistrationFormGroup.get('apptTimeOfDay').value.indexOf(\":\")+2).trim():\"\"; \r\n this.apptTimesList = this.getTimes(clinicPk, clinic_date_group_id, this.selectedValues.apptTimeOfDay, this.fieldsInfo.scheduleApptTimeList);\r\n }\r\n\r\n loadAvblRooms(selected_clinic_date_ele: any, index) {\r\n let clinic_location_id: number;\r\n this.resetAppointmentInfo('appttime');\r\n let selected_option: any;\r\n let clinicPk: number;\r\n if (selected_clinic_date_ele.options.length > 0) {\r\n selected_option = selected_clinic_date_ele.options[selected_clinic_date_ele.selectedIndex];\r\n }\r\n if (selected_option && selected_option.attributes[\"clinicPk\"]) {\r\n clinicPk = selected_option.attributes[\"clinicPk\"].value;\r\n }\r\n // if (selected_option && selected_option.attributes[\"clinicLocationId\"]) {\r\n // clinic_location_id = selected_option.attributes[\"clinicLocationId\"].value;\r\n // }\r\n this.apptRoomsList = this.getRooms(clinicPk, this.selectedValues.apptDate, this.fieldsInfo.clinicLocationList);\r\n\r\n if (this.apptRoomsList.length == 0) {\r\n this.schedulerRegistrationFormGroup.get('apptRoom').clearValidators();\r\n this.schedulerRegistrationFormGroup.get('apptRoom').reset();\r\n } else {\r\n var field_info = this.displayFormData.find(item => item.fieldName === 'apptRoom');// [index];\r\n var is_required = Validators.compose([((field_info.isFieldRequired) ? Validators.required : null)]);\r\n this.schedulerRegistrationFormGroup.get('apptRoom').clearValidators();\r\n this.schedulerRegistrationFormGroup.get('apptRoom').setValidators(is_required);\r\n this.schedulerRegistrationFormGroup.get('apptRoom').reset();\r\n if (this.apptRoomsList.length == 1) {\r\n let obs = interval(50).pipe(take(1));\r\n var t1 = this.selectedValuesRaw;\r\n this.selectedValues.apptRoom = this.schedulerRegistrationFormGroup.get('apptRoom').value;\r\n this.selectedValues.apptTime = this.schedulerRegistrationFormGroup.get('apptTime').value;\r\n this.selectedValues.apptDate = this.schedulerRegistrationFormGroup.get('apptDate').value;\r\n this.selectedValues.apptTimeOfDay = this.schedulerRegistrationFormGroup.get('apptTimeOfDay').value;\r\n this.selectedValues.clinicLocation = this.schedulerRegistrationFormGroup.get('clinicLocation').value;\r\n this.selectedValues.clinicState = this.schedulerRegistrationFormGroup.get('clinicState').value;\r\n this.selectedValues.email = this.schedulerRegistrationFormGroup.get('email').value;\r\n this.selectedValues.employeeId = this.schedulerRegistrationFormGroup.get('employeeId')?this.schedulerRegistrationFormGroup.get('employeeId').value:'';\r\n this.selectedValues.firstName = this.schedulerRegistrationFormGroup.get('firstName')?this.schedulerRegistrationFormGroup.get('firstName').value:'';\r\n this.selectedValues.lastName = this.schedulerRegistrationFormGroup.get('lastName')?this.schedulerRegistrationFormGroup.get('lastName').value:'';\r\n this.selectedValues.middleName = this.schedulerRegistrationFormGroup.get('middleName')?this.schedulerRegistrationFormGroup.get('middleName').value:'';\r\n\r\n var t2 = this.selectedValues;\r\n var t3 = this.apptRoomsList;\r\n let schRegFormGroup:FormGroup = this.schedulerRegistrationFormGroup;\r\n obs.subscribe(function (value) {\r\n t1.detailList[0].apptRoom = t3[0].clinicRoom;\r\n t2.apptRoom = t3[0].clinicRoom;\r\n schRegFormGroup.get('apptRoom').setValue(t2.apptRoom);\r\n });\r\n }\r\n }\r\n }\r\n\r\nhandleImmunizations(event: any, immunization: any): void {\r\n const isSelect = event.target.checked;\r\n if (isSelect) {\r\n if (!this.selectedImmunizations.some(item => item.immunizationPk === immunization.immunizationPk)) {\r\n this.selectedImmunizations.push({\r\n clinicPk: immunization.clinicPk,\r\n immunizationPk: immunization.immunizationPk\r\n });\r\n }\r\n } else {\r\n this.selectedImmunizations = this.selectedImmunizations.filter(item => item.immunizationPk !== immunization.immunizationPk);\r\n }\r\n}\r\n\r\n\r\n\r\n submitForm() {\r\n this.isDisable = true;\r\n this.utility.validateAllFormFields(this.schedulerRegistrationFormGroup);\r\n this.formErrors;\r\n if (this.schedulerRegistrationFormGroup.valid) {\r\n\r\n if(this.selectedValuesRaw.detailList[0].outreachBusinessPk == -1 || this.selectedValuesRaw.detailList[0].clinicPk == -1){\r\n this.showDialogError(\"Error\", ErrorMessages.errorSchedulerMsg);\r\n return false;\r\n }\r\n this.spinner.show();\r\n \r\n this.selectedValuesRaw.detailList[0].clientId = this.clientId;\r\n this.selectedValuesRaw.detailList[0].storeState=SessionDetails.GetState();\r\n this.selectedValues.clientId = this.clientId;\r\n this.selectedValuesRaw.detailList[0].apptRoom = this.schedulerRegistrationFormGroup.get('apptRoom').value;\r\n this.selectedValuesRaw.detailList[0].apptTime = this.schedulerRegistrationFormGroup.get('apptTime').value;\r\n this.selectedValuesRaw.detailList[0].apptDate = this.schedulerRegistrationFormGroup.get('apptDate').value;\r\n this.selectedValuesRaw.detailList[0].apptTimeOfDay = this.schedulerRegistrationFormGroup.get('apptTimeOfDay').value;\r\n this.selectedValuesRaw.detailList[0].apptTimeOfDay= this.schedulerRegistrationFormGroup.get('apptTimeOfDay').value?this.schedulerRegistrationFormGroup.get('apptTimeOfDay').value.substring(this.schedulerRegistrationFormGroup.get('apptTimeOfDay').value.indexOf(\":\")+2).trim():\"\";\r\n this.selectedValuesRaw.detailList[0].clinicLocation = this.schedulerRegistrationFormGroup.get('clinicLocation').value;\r\n this.selectedValuesRaw.detailList[0].clinicState = this.schedulerRegistrationFormGroup.get('clinicState').value;\r\n this.selectedValuesRaw.detailList[0].email = this.schedulerRegistrationFormGroup.get('email').value;\r\n this.selectedValuesRaw.detailList[0].employeeId = this.schedulerRegistrationFormGroup.get('employeeId')?this.schedulerRegistrationFormGroup.get('employeeId').value:'';\r\n this.selectedValuesRaw.detailList[0].firstName = this.schedulerRegistrationFormGroup.get('firstName')?this.schedulerRegistrationFormGroup.get('firstName').value:'';\r\n this.selectedValuesRaw.detailList[0].lastName = this.schedulerRegistrationFormGroup.get('lastName')?this.schedulerRegistrationFormGroup.get('lastName').value:'';\r\n this.selectedValuesRaw.detailList[0].middleName = this.schedulerRegistrationFormGroup.get('middleName')?this.schedulerRegistrationFormGroup.get('middleName').value:'';\r\n this.selectedValuesRaw.detailList[0].clinicStoreId = this.selectedValues.clinicStoreId ;\r\n this.selectedValuesRaw.detailList[0].clinicPk= this.selectedValues.clinicPk;\r\n //this.selectedValuesRaw.detailList[0].clinicLocationId= this.selectedValues.clinicLocationId;\r\n this.selectedValuesRaw.detailList[0].selectedImmunization = this.selectedImmunizations;\r\n this.scheduler_registration.postSchedulerApptDetails(this.selectedValuesRaw).subscribe((result:any) => {\r\n this.spinner.hide();\r\n this.isDisable = null;\r\n // if (result.status === 200) {\r\n if (result.errorS !== null) {\r\n if (result.errorS.errorCode !== null && result.errorS.errorCode !== 0 && result.errorS.errorCode !== -3) {\r\n this.showDialogError(ErrorMessages['clinicRegistration'], result.errorS.errorMessage);\r\n } else if (result.errorS.errorCode === -3) {\r\n let temp_response = result.detailList[0];\r\n sessionStorage[\"registrationDetails\"] = JSON.stringify(temp_response);\r\n this.router.navigate(['/schedulerConfirmation']);\r\n } else {\r\n this.router.navigate(['/schedulerConfirmation']);\r\n }\r\n }\r\n else {\r\n let temp_response = result.detailList[0];\r\n sessionStorage[\"registrationDetails\"] = JSON.stringify(temp_response);\r\n this.router.navigate(['/schedulerConfirmation']);\r\n }\r\n //}\r\n },\r\n error => {\r\n let errorMessage = \"\";\r\n if (error.status == 417) {\r\n errorMessage = \"HTTP/1.1 417 Expectation Failed.\";\r\n } else {\r\n errorMessage = ErrorMessages.errorSchedulerMsg;\r\n }\r\n this.showDialogError(\"Error\", errorMessage);\r\n });\r\n } else {\r\n this.spinner.hide();\r\n this.isDisable = null;\r\n }\r\n }\r\n Error() {\r\n this.errorPopUp = false;\r\n }\r\n showDialogError(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.errorPopUp = true;\r\n }\r\n\r\n get formErrors() {\r\n this.errorMessages = [];\r\n return Object.keys(this.schedulerRegistrationFormGroup.controls).map(key => {\r\n var disp_name = \"\";\r\n this.displayFormData.forEach(control => {\r\n if (control.fieldName == key) {\r\n disp_name = control.displayName;\r\n }\r\n });\r\n const errors = this.schedulerRegistrationFormGroup.controls[key].errors;\r\n if (errors === null) {\r\n this.errorMessages[key] = disp_name;\r\n return null;\r\n }\r\n if (errors.required) {\r\n this.errorMessages[key] = disp_name + ` is required`;\r\n } else if (errors.pattern) {\r\n let temp: any = errors.pattern.requiredPattern.substring(errors.pattern.requiredPattern.indexOf('{') + 1, errors.pattern.requiredPattern.indexOf('}'));\r\n if (temp.indexOf(',') > -1) {\r\n temp = temp.split(',');\r\n if (errors.pattern.actualValue.length > parseInt(temp[1])) {\r\n this.errorMessages[key] = disp_name + ` cannot be greater than ` + temp[1] + ` characters length`;\r\n } else {\r\n this.errorMessages[key] = disp_name + ` is invalid`;\r\n }\r\n }\r\n } else {\r\n return disp_name + ` has an unknown error`;\r\n }\r\n });\r\n }\r\n\r\n cancelRegistration() { \r\n this.isDisable = true;\r\n this.utility.validateAllFormFields(this.schedulerRegistrationFormGroup);\r\n this.formErrors;\r\n if (this.schedulerRegistrationFormGroup.valid) {\r\n this.spinner.show();\r\n let cancelled_post_json: any = {};\r\n cancelled_post_json = {\r\n \"cancelledList\": [\r\n {\r\n \"confirmationId\": this.selectedValues.confirmationId,\r\n \"clinicPk\": this.selectedValues.clinicPk,\r\n \"schedulerApptPk\": this.selectedValues.apptPk,\r\n \"clientId\": this.selectedValues.clientId\r\n }\r\n ]\r\n }\r\n this.scheduler_registration.cancelRegisteredAppt(cancelled_post_json, 1).subscribe((result:any) => {\r\n //if (result.status === 200) {\r\n if (result.errorS !== null) {\r\n if (result.errorS.errorCode !== null && result.errorS.errorCode !== 0) {\r\n this.showDialogError(ErrorMessages['clinicRegistration'], result.errorS.errorMessage);\r\n } else {\r\n sessionStorage[\"registrationDetails\"] = JSON.stringify(this.selectedValuesRaw.detailList[0]);\r\n sessionStorage[\"isCancelled\"] = true;\r\n this.router.navigate(['/schedulerConfirmation']);\r\n }\r\n }\r\n else {\r\n sessionStorage[\"isCancelled\"] = true;\r\n sessionStorage[\"registrationDetails\"] = JSON.stringify(this.selectedValuesRaw.detailList[0]);\r\n this.router.navigate(['/schedulerConfirmation']);\r\n }\r\n //}\r\n });\r\n }\r\n else {\r\n this.isDisable = null;\r\n this.spinner.hide();\r\n }\r\n }\r\n\r\n getLocations(selected_value: any, source: any) {\r\n return this.alaSQL(\"SELECT distinct * FROM ? \" +\r\n \"WHERE clinicState = '\" + selected_value + \"' GROUP BY clinicState, clinicLocationId ORDER BY clinicLocationId ASC\", [source]);\r\n }\r\n\r\n getDates(clinic_location_id: any, source: any) { \r\n return this.alaSQL(\"SELECT clinicLocationId,clinicDate,clinicPk,clinicDateGroupId FROM ? \" +\r\n \"WHERE clinicLocationId = \" + clinic_location_id + \" ORDER BY clinicDate ASC\", [source]);\r\n }\r\n\r\n getTimesOfDay(clinic_pk: any, clinic_date_group_id: any, soure) {\r\n return this.alaSQL(\"SELECT distinct clinicLocationId,timeOfDay,clinicPk,clinicDateGroupId FROM ? \" +\r\n \"WHERE clinicPk = \" + clinic_pk + \" AND clinicDateGroupId = \" + clinic_date_group_id + \" ORDER BY clinicLocationId ASC\", [soure])\r\n }\r\n\r\n getTimes(clinic_pk: any, clinic_date_group_id: any, appt_times_of_day: any, source: any) {\r\n var temp = this.alaSQL(\"SELECT clinicLocationId,apptAvlTimes,clinicPk,clinicDateGroupId FROM ? \" +\r\n \"WHERE clinicPk = \" + clinic_pk + \" AND clinicDateGroupId = \" + clinic_date_group_id + \" AND timeOfDay ='\" + appt_times_of_day + \"'\", [source]);\r\n let today = new Date();\r\n if(temp&&temp.length>0 && temp.length>1){\r\n let interval:number = ( this._timeToDatePipe.transform(today,temp[1].apptAvlTimes.toLowerCase().replace(\"am\",\" AM\").toLowerCase().replace(\"pm\", \" PM\")) - this._timeToDatePipe.transform(today,temp[0].apptAvlTimes.toLowerCase().replace(\"am\",\" AM\").toLowerCase().replace(\"pm\", \" PM\")))/(60*1000);\r\n temp.forEach(element => {\r\n let startTime :Date = new Date();\r\n try{\r\n if(element.apptAvlTimes.toLowerCase().indexOf('pm')>-1){\r\n startTime = this._timeToDatePipe.transform(today,element.apptAvlTimes.toLowerCase().replace(\"pm\", \" PM\"));\r\n startTime.setSeconds(0);\r\n }\r\n else \r\n {\r\n startTime = this._timeToDatePipe.transform(today,element.apptAvlTimes.toLowerCase().replace(\"am\", \" AM\"));\r\n startTime.setSeconds(0);\r\n if(startTime.getHours()==12){\r\n startTime.setHours(0);\r\n }\r\n }\r\n }\r\n catch(e){\r\n // console.log(e);\r\n }\r\n try{\r\n let startTimeToken = this._datePipe.transform(startTime, \"shortTime\");\r\n let endTimeToken= this._datePipe.transform(startTime.setMinutes(startTime.getMinutes()+(interval-1)), \"shortTime\");\r\n element.apptAvlTimesToShow = startTimeToken + \" - \" + endTimeToken;\r\n }\r\n catch(e){\r\n // console.log('670' + e);\r\n element.apptAvlTimesToShow = element.apptAvlTimes;\r\n }\r\n });\r\n }\r\n if(temp.length==1){\r\n temp[0].apptAvlTimesToShow = temp[0].apptAvlTimes.replace(\"AM\",\" AM\").replace(\"PM\", \" PM\") ;\r\n }\r\n return this.sortByKey(temp, 'apptAvlTimes');\r\n }\r\n\r\n getRooms(clinic_pk: any, selected_clinic_date: any, source: any) {\r\n return this.alaSQL(\"SELECT clinicLocationId,clinicRoom,clinicDateGroupId FROM ? \" +\r\n \"WHERE clinicPk = \" + clinic_pk + \" AND clinicDate = '\" + selected_clinic_date + \"' AND isRoomsAvailable = TRUE ORDER BY clinicLocationId ASC\", [source]);\r\n }\r\n\r\n sortByKey(array, key) {\r\n return array.sort(function (a, b) {\r\n return Date.parse('1970/01/01 ' + a[key].slice(0, -2) + ' ' + a[key].slice(-2)) - Date.parse('1970/01/01 ' + b[key].slice(0, -2) + ' ' + b[key].slice(-2));\r\n });\r\n }\r\n onLastNameInput(e) {\r\n\r\n let lastInitial_pattern = /^[A-Za-z]+$/;\r\n if (e.target.name == \"lastName\" && (lastInitial_pattern.test(String.fromCharCode(e.keyCode || e.which)) && e.target.value.length > 0)) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n else if (e.target.name == \"lastName\" && !lastInitial_pattern.test(e.key) && e.target.value.length >= 0) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n else if (e.target.name == \"firstName\" && !this.name_pattern.test(String.fromCharCode(e.keyCode || e.which)) ||(e.target.name == \"firstName\" && e.target.value.length > 20)) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n else if (e.target.name == \"firstName\" && !this.name_pattern.test(e.key) || (e.target.name == \"firstName\" &&e.target.value.length >= 20)) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n else if ((e.target.name == \"email\" || e.target.name == \"Email\") && !this.email_pattern.test(String.fromCharCode(e.keyCode || e.which))&& e.target.value.length > 50 ) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n else if ((e.target.name == \"email\" || e.target.name == \"Email\" ) && !this.email_pattern.test(e.key) && e.target.value.length >= 50) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n }\r\n\r\n}","\r\nimport {throwError as observableThrowError } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class CorporateuploaderService {\r\n private _baseURL: string = \"http://localhost:52823/api/Upload?clinic_type='corporate'\";\r\n constructor(private http: HttpClient) { }\r\n\r\n upload(files, clinic_type,user_pk,user_email) {\r\n\r\n let headers: Headers = new Headers();\r\n \r\n this._baseURL = environment.API_URL + environment.RESOURCES.CLINIC_UPLOAD+\"/\"+clinic_type+\"/\"+user_pk+\"/\"+user_email;\r\n let userData = SessionDetails.GetUserInfo();\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n \r\n let req_headers = new HttpHeaders()\r\n .set('Authorization','Basic '+ usernamePassword);\r\n \r\n const httpOptions = {\r\n headers: req_headers\r\n };\r\n\r\n return this.http.post(this._baseURL, files,httpOptions)\r\n .pipe(catchError(Util.handleErrorV2));\r\n\r\n }\r\n private handleError(error: any) {\r\n let errMsg = (error.message) ? error.message :\r\n error.status ? `${error.status} - ${error.statusText}` : 'Server error';\r\n //console.warn(errMsg);\r\n return observableThrowError(errMsg);\r\n }\r\n \r\n getCorporateSchedulerClinics(client_pk,page_index){\r\n let url = environment.API_URL + environment.RESOURCES.GET_CORPORATE_SCHEDULER_CLINICS +\"/\"+client_pk +\"/\"+page_index;\r\n return this.http.get(url,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n}\r\n","\r\nimport {throwError as observableThrowError, Observable, pipe } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { Util } from '../../../utility/util';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class GroupiduploaderService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getGroupIdsCount() {\r\n let url = environment.API_URL + environment.RESOURCES.GET_UNASSIGNED_GROUPID_COUNT;\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n upload(files: FormData, data: any, ipSeason: number) {\r\n let headers: Headers = new Headers();\r\n let url = environment.API_URL + environment.RESOURCES.GROUPID_UPLOAD + \"/\" + data.type + \"/\" + ipSeason + \"/\" + data.isArchive;\r\n let userData = SessionDetails.GetUserInfo();\r\n //let token = btoa(userData.userName + ':' + userData.password);\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let req_headers = new HttpHeaders().set('Authorization','Basic '+ usernamePassword);\r\n\r\n return this.http.post(url, files, {headers:req_headers})\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n private handleError(error: any) {\r\n let errMsg = (error.message) ? error.message :\r\n error.status ? `${error.status} - ${error.statusText}` : 'Server error';\r\n //console.warn(errMsg);\r\n return observableThrowError(errMsg);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class ImmunizationCheckService {\r\n\tconstructor(private _http: HttpClient) {\r\n\r\n\t}\r\n\r\n\tgetAllImmunizationChecks() {\r\n\t\tlet url = environment.API_URL + environment.RESOURCES.GET_IMMUNIZATION_CHECKS;\r\n\t\treturn this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n\t}\r\n\r\n\tgetImmunizationCheckByPk(pk) {\r\n\t\tlet url = environment.API_URL + environment.RESOURCES.GET_IMMUNIZATION_CHECKBYPK + \"/\" + pk;\r\n\t\treturn this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n\t}\r\n\r\n\tupdateImmunizationCheck(immunizationCheck) {\r\n\t\tlet url = environment.API_URL + environment.RESOURCES.UPDATE_IMMUNIZATION_CHECK;\r\n\t\treturn this._http.post(url, immunizationCheck, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n\t}\r\n\r\n\tcreateImmunizationCheck(immunizationCheck) {\r\n\t\tlet url = environment.API_URL + environment.RESOURCES.CREATE_IMMUNIZATION_CHECK;\r\n\t\treturn this._http.post(url, immunizationCheck, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n\t}\r\n\r\n\tgetAllClinicTypes(){\r\n\t\tlet url=environment.API_URL+environment.RESOURCES.GET_ALL_CLINIC_TYPES;\r\n\t\treturn this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n\t}\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Util } from '../../../utility/util';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PatientgroupService {\r\n constructor(private _http: HttpClient) { }\r\n\r\n getSourcePatientGroups(searchStringObj): Observable {\r\n let url = environment.API_URL + environment.RESOURCES.GET_SOURCE_PATIENTGROUPS;\r\n return this._http.post(url, searchStringObj, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n getTargetPatientGroups(searchStringObj): Observable {\r\n let url = environment.API_URL + environment.RESOURCES.GET_TARGET_PATIENTGROUPS;\r\n return this._http.post(url, searchStringObj, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n reassignPatients(obj): Observable {\r\n let url = environment.API_URL + environment.RESOURCES.MOVE_PATIENTS_BETWEEN_PATIENTGROUPS;\r\n return this._http.post(url, obj, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n \r\n\r\n}\r\n","import { Injectable, Output, EventEmitter, Directive } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { CorporateTrackerSchedulerClinics } from '../../../models/CorporateTrackerSchedulerClinics';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Directive()\r\n@Injectable()\r\nexport class PreviewService {\r\n\r\n\tBannerColor: string = '';\r\n\tBannerTextColor: string = '#ffffff';\r\n\tButtonColor: string = '#02a0c0';\r\n\tButtonTextColor: string = '#ffffff';\r\n\tlandingPageHeaderText: string = '';\r\n\tlandingPageBodyText: string = '';\r\n\tlandingPageFooterText: string = '';\r\n\t@Output() change: EventEmitter = new EventEmitter();\r\n\r\n\tconstructor(private _http: HttpClient) {\r\n\r\n\t}\r\n\r\n\tSetBannerColor(bannerColor: string) {\r\n\t\tthis.BannerColor = bannerColor;\r\n\t}\r\n\tGetBannerColor() {\r\n\t\treturn this.BannerColor;\r\n\t}\r\n\tgetAppointmentTrackingCounts(client_id:number,clinic_pk:number){\r\n\t\tlet url = environment.API_URL + \"/api/JsCorporateApptsCounts/\" + client_id + \"/\" + clinic_pk;\r\n\t\treturn this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n\t}\r\n\r\n\tgetAppointmentTrackingDetails(corporate_tracker_sch_clinics:CorporateTrackerSchedulerClinics){\r\n\t\tlet url = environment.API_URL + \"/api/JsCorporateAppointments_get\";\r\n\t\treturn this._http.post(url, corporate_tracker_sch_clinics, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n\t}\r\n\tgetCorporateSchedulerClinics(client_pk) {\r\n\t\tlet url = environment.API_URL + environment.RESOURCES.GET_CORPORATE_SCHEDULER_CLINICS + \"/\" + client_pk;\r\n\t\treturn this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n\t}\r\n\tgetCorporateClientList() {\r\n\t\tlet url = environment.API_URL + environment.RESOURCES.GET_CORPORATE_CLIENTS;\r\n\t\treturn this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n\t}\r\n\tgetSchedulerSiteDesign(client_id) {\r\n\t\tlet url = environment.API_URL + environment.RESOURCES.GET_SCHEDULER_SITE_DESIGN + \"/\" + client_id;\r\n\t\treturn this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n\t}\r\n\tupdateSchedulerClientSetUp(scheduler_site_design,is_block_appts) {\r\n\t\tlet url = environment.API_URL + environment.RESOURCES.UPDATE_SCHEDULER_CLIENT_SETUP+\"/\"+is_block_appts;\r\n\t\treturn this._http.post(url, scheduler_site_design, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n\t}\r\n\timageUpload(upload_image) {\r\n\t\tlet headers: Headers = new Headers();\r\n\t\tlet url = environment.API_URL + environment.RESOURCES.CLINIC_UPLOAD_IMAGE;\r\n\t\tlet userData = SessionDetails.GetUserInfo();\r\n\t\t//let token = btoa(userData.userName + ':' + userData.password);\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let req_headers = new HttpHeaders()\r\n .set('Authorization','Basic '+ usernamePassword);\r\n\r\n\t\tconst httpOptions = {\r\n headers: req_headers\r\n };\r\n\t\t\r\n\t\treturn this._http.post(url, upload_image, httpOptions).pipe(catchError(Util.handleErrorV2));\r\n\t}\r\n\r\n\tblockUnblockAppts(is_block_appts:boolean,block_unblock_obj:any) {\r\n\t\tlet url = environment.API_URL + \"/api/SchedulerEeApptDetails_blockUnblockScheduledEeAppts/\"+is_block_appts;\r\n\t\t//return this._http.post(url, block_unblock_obj, Util.getRequestHeaders()).map((response: Response) => response.json());\r\n\t\treturn this._http.post(url,block_unblock_obj, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));;\r\n\t}\r\n\r\n\tgetClinicInfoForTracker(store_id:number, business_pk:number, clinic_pk:number) {\r\n\t\tlet url = environment.API_URL + \"/\" +environment.RESOURCES.GET_CLINIC_INFO_FOR_TRACKER + \"/\" + store_id + \"/\" + business_pk + \"/\" + clinic_pk; \r\n\t\treturn this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n\t}\r\n}\r\n","\r\nimport {throwError as observableThrowError, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class SchedulerregistrationService {\r\n\r\n private _baseURL: string = environment.API_URL; \r\n public filename: any;\r\n\r\n constructor(private http: HttpClient,private router:Router) { }\r\n\r\n getSchedulerClinicLocations(client_id:number,appt_pk:number) {\r\n let headers: Headers = new Headers(); \r\n let url:string = this._baseURL + \"/api/getSchedulerClinicLocations/\"+client_id+\"/\"+appt_pk;\r\n let userData = SessionDetails.GetUserInfo();\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n headers.append('Authorization', 'Basic ' + usernamePassword);\r\n \r\n let req_headers = new HttpHeaders()\r\n .set('Authorization','Basic '+ usernamePassword);\r\n \r\n const httpOptions = {\r\n headers: req_headers\r\n };\r\n\r\n return this.http.get(url, httpOptions)\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n resendAppointmentConfirmationEmail(email_id:string,client_id:number) {\r\n let headers: Headers = new Headers(); \r\n let url:string = this._baseURL + \"/api/resendAppointmentConfirmationEmail/\"+email_id+\"/\"+client_id;\r\n let userData = SessionDetails.GetUserInfo();\r\n //let token = btoa(userData.userName + ':' + userData.password);\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let req_headers = new HttpHeaders()\r\n .set('Authorization','Basic '+ usernamePassword);\r\n \r\n const httpOptions = {\r\n headers: req_headers\r\n };\r\n return this.http.get(url, httpOptions)\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n getSchedulerApptDetails(appt_pk:number) {\r\n let headers: Headers = new Headers(); \r\n let url:string = this._baseURL + \"/api/SchedulerEeApptDetails_getEeApptDetails/\"+appt_pk;\r\n let userData = SessionDetails.GetUserInfo();\r\n //let token = btoa(userData.userName + ':' + userData.password);\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let req_headers = new HttpHeaders()\r\n .set('Authorization','Basic '+ usernamePassword);\r\n \r\n const httpOptions = {\r\n headers: req_headers\r\n };\r\n return this.http.get(url, httpOptions)\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n postSchedulerApptDetails(appt_details:any) {\r\n let headers: Headers = new Headers(); \r\n let url:string = this._baseURL + \"/api/SchedulerEeApptDetails_postEeApptDetails\";\r\n let userData = SessionDetails.GetUserInfo();\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n \r\n let req_headers = new HttpHeaders()\r\n .set('Authorization','Basic '+ usernamePassword);\r\n \r\n const httpOptions = {\r\n headers: req_headers\r\n };\r\n return this.http.post(url,appt_details, httpOptions).pipe(catchError(Util.handleErrorV2));\r\n //.map(response => response.json())\r\n //.catch(this.handleError);\r\n }\r\n\r\n cancelRegisteredAppt(cancelled_list:any,action_type:number) {\r\n let headers: Headers = new Headers(); \r\n let url:string = this._baseURL + \"/api/SchedulerEeApptDetails_postEeCancelled/\"+action_type;\r\n let userData = SessionDetails.GetUserInfo();\r\n //let token = btoa(userData.userName + ':' + userData.password);\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let req_headers = new HttpHeaders()\r\n .set('Authorization','Basic '+ usernamePassword);\r\n \r\n const httpOptions = {\r\n headers: req_headers\r\n };\r\n return this.http.post(url,cancelled_list, httpOptions).pipe(catchError(Util.handleErrorV2));;\r\n //.map(response => response.json())\r\n //.catch(this.handleError);\r\n }\r\n\r\n getSchedulerSiteDesign(client_id:number) {\r\n let headers: Headers = new Headers(); \r\n let url:string = this._baseURL + environment.RESOURCES.GET_SCHEDULER_SITE_DESIGN +\"/\"+client_id;\r\n let userData = SessionDetails.GetUserInfo();\r\n let token = window.btoa(userData.userName + ':' + userData.password);\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let req_headers = new HttpHeaders()\r\n .set('Authorization','Basic '+ usernamePassword);\r\n \r\n const httpOptions = {\r\n headers: req_headers\r\n };\r\n return this.http.get(url, httpOptions)\r\n .pipe(catchError(Util.handleErrorV2));;\r\n }\r\n\r\n public getVarFormPDF(appt_pk:number) {\r\n let headers: Headers = new Headers();\r\n let userData= SessionDetails.GetUserInfo()\r\n //let token = btoa(userData.userName+':'+userData.password);\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let req_headers = new HttpHeaders()\r\n .set(\"Content-Type\",\"application/json\")\r\n .set('Authorization','Basic '+ usernamePassword);\r\n \r\n const httpOptions = {\r\n headers: req_headers\r\n };\r\n let url = this._baseURL + \"/api/SchedulerEeApptDetails_getEeApptPdf/\" + appt_pk;\r\n return this.http.get(url, httpOptions).pipe(catchError(Util.handleErrorV2));;\r\n //.map(res => {\r\n //var contentDisposition = res.headers.get('Content-Disposition');\r\n //var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n //this.filename = result;\r\n// return res.blob()\r\n //});\r\n }\r\n\r\n\r\n private handleError(error: any) {\r\n let errMsg = (error.message) ? error.message :\r\n error.status ? `${error.status} - ${error.statusText}` : 'Server error';\r\n //console.warn(errMsg);\r\n return observableThrowError(errMsg);\r\n }\r\n\r\n}\r\n","\r\nimport {throwError as observableThrowError, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { Util } from '../../../utility/util';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class UserProfileService {\r\n user_role: string;\r\n search_string: string;\r\n RoleName: string;\r\n users: any[] = [];\r\n constructor(private _http: HttpClient) {\r\n }\r\n GetAllUsers() {\r\n return this._http.get(environment.API_URL+ \"/api/values/GetUserInformation\").pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n\r\n\r\n public GetDirectB2B(searchString) {\r\n return this._http.get(environment.API_URL + \"/api/values/GetB2BResults?user_role=\" + searchString + \"\").pipe(catchError(Util.handleErrorV2));\r\n }\r\n public GetAutoCompleteData() {\r\n return this._http.get(environment.API_URL + \"/api/values/AutoCompleteData\").pipe(catchError(Util.handleErrorV2));\r\n }\r\n public GetAvailableLocations(user_role) {\r\n return this._http.get(environment.API_URL + \"/api/values/GetAvailableLocations?user_role=\" + user_role + \"\").pipe(catchError(Util.handleErrorV2));\r\n }\r\n public GetUserInfoBySearch(user_role, search_string) {\r\n let _url: string = environment.API_URL + \"/api/values/GetUserInformationBySearch?user_role=\" + user_role + \"&search_string=\" + search_string + \"\";\r\n return this._http.get(_url);\r\n }\r\n\r\n private formatErrors(error: any) {\r\n return observableThrowError(error.json());\r\n }\r\n ///\r\n deleteUser(user_pk, user_email) {\r\n return this._http.get(environment.API_URL + \"/api/delete_user?user_pk= \" + user_pk + \"&updated_by=\" + user_email + \"\", Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));;\r\n }\r\n GetUserByRole(RoleName: string): Observable {\r\n return this._http.get(environment.API_URL + \"/api/get_bindUserProfileData?user_role=\" + RoleName + \"\", Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n \r\n\r\n GetUserInformation(user_role) {\r\n return this._http.get(environment.API_URL + \"/api/get_bindUserProfileData?user_role=\" + user_role + \"\", Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n GetUserInformationSearch(user_role, search_string) {\r\n return this._http.get(environment.API_URL + \"/api/get_bindUserProfileData?user_role=\" + user_role + \"&search_value=\" + search_string + \"\", Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));;\r\n }\r\n GetUserById(id: number): Observable {\r\n return this._http.get(environment.API_URL + \"/api/values/GetUserInformation?id=\" + id + \"\").pipe(catchError(Util.handleErrorV2));;\r\n }\r\n AddUserProfile(user_profile,code_value) {\r\n let url = environment.API_URL + \"/api/add_user_profile\";\r\n return this._http.post(url, user_profile, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n bindDropDownList(user_role)\r\n {\r\n let url = environment.API_URL + \"/api/bindDropdownList?user_role=\"+user_role+\"\";\r\n return this._http.get(url,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n GetUserRoles() {\r\n let url = environment.API_URL + environment.RESOURCES.GET_USER_ROLES;\r\n return this._http.get(url,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n EditUserProfile(pk) {\r\n let url = environment.API_URL + \"/api/editUserProfile?user_name=\"+pk+\"\";\r\n return this._http.get(url,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UserauthenticationComponent } from './components/userauthentication/userauthentication.component';\r\nimport { ReusableModule } from '../common/components/reusable.module';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SignoutComponent } from './components/signout/signout.component';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { EncryptLinkService } from './services/encrypt-link.service';\r\nimport { UnauthorizeComponent } from './components/unauthorize/unauthorize.component';\r\nimport { LandingComponent } from './components/landing/landing.component';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { TableModule } from 'primeng/table';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReusableModule,\r\n FormsModule,\r\n DialogModule,NgxSpinnerModule,TableModule\r\n ],\r\n declarations: [UserauthenticationComponent,UnauthorizeComponent, LoginComponent, SignoutComponent, UnauthorizeComponent,LandingComponent],\r\n providers:[EncryptLinkService]\r\n})\r\nexport class AuthModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { HeaderserviceService } from '../../../common/services/headerservice.service';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { UserRole } from '../../../../config-files/UserRole';\r\n\r\n@Component({\r\n selector: 'app-landing',\r\n templateUrl: './landing.component.html',\r\n styleUrls: ['./landing.component.css']\r\n})\r\nexport class LandingComponent implements OnInit {\r\n siteMaintenanceDlg:boolean=false;\r\n showHints: boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) === 'yes') ? false : (!environment.isSiteDeploying)?true:false;\r\n pageName: string = \"landing\";\r\n opportunitiesContacted: any;\r\n clinicsScheduled: any;\r\n vaccinesAdministered: any;\r\n srEventsScheduled: any;\r\n isDashboard: boolean = false;\r\n userProfile: any;\r\n loadAPI: Promise;\r\n constructor(private router: Router, private spinner: NgxSpinnerService, private _headerservice: HeaderserviceService, private service: HeaderserviceService) { \r\n document.body.style.overflow =\"hidden\";\r\n window.scrollTo(0,0);\r\n this.loadAPI = new Promise((resolve) => {\r\n this.loadScript();\r\n resolve(true);\r\n if(environment.isSiteDeploying){\r\n this.siteMaintenanceDlg=true;\r\n this.spinner.hide();\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n sessionStorage.removeItem('Old_immunizationForm');\r\n \r\n if(this.userProfile.userName==='sm_schedule.appointment'){\r\n return;\r\n }\r\n if(environment.isSiteDeploying){\r\n this.spinner.hide();\r\n }else{\r\n this.spinner.show();\r\n }\r\n SessionDetails.setIsPCA(false);\r\n SessionDetails.setIsSR(false);\r\n this.service.getWagsOutreachCounts().subscribe((data) => {\r\n this.opportunitiesContacted = data.opportunitiesContacted;\r\n this.clinicsScheduled = data.clinicsScheduled;\r\n this.vaccinesAdministered = data.vaccinesAdministered;\r\n this.srEventsScheduled = data.srEventsScheduled;\r\n let store_id = SessionDetails.GetStoreId()\r\n this._headerservice.getStoresProfile(this.userProfile.userPk, null, (store_id)?store_id:null).subscribe((res:any) => {\r\n if(res.errorS && res.errorS.errorCode===-1){ \r\n this.spinner.hide();\r\n }\r\n else{\r\n SessionDetails.setStoreProfileData(res.data);\r\n SessionDetails.StoreId(res.data[0].storeId);\r\n SessionDetails.StorePk(res.data[0].storePk);\r\n SessionDetails.setState(res.data[0].state);\r\n this.spinner.hide(); \r\n }\r\n document.body.style.overflow = \"\";\r\n });\r\n });\r\n\r\n if (this.userProfile.userRole.toLowerCase() == UserRole.STOREMANAGER || this.userProfile.userRole.toLowerCase() == UserRole.PHARMACYMANAGER) {\r\n this.isDashboard = true;\r\n }\r\n else {\r\n this.isDashboard = false;\r\n }\r\n }\r\n GoToDashboard() {\r\n if(this.userProfile.userName==='sm_schedule.appointment'){\r\n return;\r\n }\r\n if (this.userProfile.userRole.toLowerCase() === UserRole.DISTRICTMANAGER ||\r\n this.userProfile.userRole.toLowerCase() === UserRole.DIRECTORPHARMACYRETAILOPERATIONS || \r\n this.userProfile.userRole.toLowerCase() === UserRole.DIRECTOR || \r\n this.userProfile.userRole.toLowerCase() === UserRole.HEALTHCARESUPERVISOR || \r\n this.userProfile.userRole.toLowerCase() === UserRole.REGIONALVICEPRESIDENT || \r\n this.userProfile.userRole.toLowerCase() === UserRole.REGIONALHEALTHCAREDIRECTOR || \r\n this.userProfile.userRole.toLowerCase() === UserRole.ADMIN || \r\n this.userProfile.userRole.toLowerCase() === UserRole.PODUSER) {\r\n this.router.navigate(['/communityoutreach/home']);\r\n }\r\n\r\n if (this.userProfile.userRole.toLowerCase() === UserRole.STOREMANAGER || this.userProfile.userRole.toLowerCase() === UserRole.PHARMACYMANAGER) {\r\n this.router.navigate(['/communityoutreach/storehome']);\r\n }\r\n }\r\n\r\n GoToOpportunities() {\r\n if(this.userProfile.userName==='sm_schedule.appointment'){\r\n return;\r\n }\r\n SessionDetails.SetStoreOppSortByDefaultVal('0');\r\n if (this.userProfile.userRole.toLowerCase() === UserRole.DISTRICTMANAGER || \r\n this.userProfile.userRole.toLowerCase() === UserRole.DIRECTORPHARMACYRETAILOPERATIONS || \r\n this.userProfile.userRole.toLowerCase() === UserRole.HEALTHCARESUPERVISOR || \r\n this.userProfile.userRole.toLowerCase() === UserRole.REGIONALVICEPRESIDENT || \r\n this.userProfile.userRole.toLowerCase() === UserRole.REGIONALHEALTHCAREDIRECTOR || \r\n this.userProfile.userRole.toLowerCase().toLowerCase() === UserRole.ADMIN || \r\n this.userProfile.userRole.toLowerCase() === UserRole.STOREMANAGER || \r\n this.userProfile.userRole.toLowerCase() === UserRole.PHARMACYMANAGER) {\r\n this.router.navigateByUrl('/communityoutreach/storehome');\r\n }\r\n }\r\n GoTo() {\r\n if(this.userProfile.userName==='sm_schedule.appointment'){\r\n return;\r\n }\r\n SessionDetails.SetStoreOppSortByDefaultVal('0');\r\n if (this.userProfile.userRole.toLowerCase() === UserRole.DISTRICTMANAGER || \r\n this.userProfile.userRole.toLowerCase() === UserRole.DIRECTORPHARMACYRETAILOPERATIONS || \r\n this.userProfile.userRole.toLowerCase() === UserRole.HEALTHCARESUPERVISOR || \r\n this.userProfile.userRole.toLowerCase() === UserRole.REGIONALVICEPRESIDENT || \r\n this.userProfile.userRole.toLowerCase() === UserRole.REGIONALHEALTHCAREDIRECTOR|| \r\n this.userProfile.userRole.toLowerCase() === UserRole.ADMIN || \r\n this.userProfile.userRole.toLowerCase() === UserRole.PODUSER)\r\n {\r\n this.router.navigate(['/communityoutreach/home']);\r\n } \r\n else if(this.userProfile.userRole.toLowerCase() === UserRole.STOREMANAGER || \r\n this.userProfile.userRole.toLowerCase() === UserRole.PHARMACYMANAGER) {\r\n this.router.navigate(['/communityoutreach/storehome']);\r\n }\r\n }\r\n\r\n GoToSR(){\r\n if(this.userProfile.userName==='sm_schedule.appointment'){\r\n return;\r\n }\r\n SessionDetails.setIsSR(true);\r\n if (this.userProfile.userRole.toLowerCase() === UserRole.DISTRICTMANAGER || \r\n this.userProfile.userRole.toLowerCase() === UserRole.DIRECTORPHARMACYRETAILOPERATIONS || \r\n this.userProfile.userRole.toLowerCase() === UserRole.HEALTHCARESUPERVISOR || \r\n this.userProfile.userRole.toLowerCase() === UserRole.REGIONALVICEPRESIDENT || \r\n this.userProfile.userRole.toLowerCase() === UserRole.REGIONALHEALTHCAREDIRECTOR || \r\n this.userProfile.userRole.toLowerCase() === UserRole.ADMIN || \r\n this.userProfile.userRole.toLowerCase() === UserRole.STOREMANAGER || \r\n this.userProfile.userRole.toLowerCase() === UserRole.PHARMACYMANAGER ||\r\n this.userProfile.userRole.toLowerCase() === UserRole.PODUSER\r\n ) {\r\n this.router.navigate(['/communityoutreach/srhome']);\r\n }\r\n }\r\n \r\n GoToPCA() {\r\n if(this.userProfile.userName==='sm_schedule.appointment'){\r\n return;\r\n }\r\n if (this.userProfile.userRole.toLowerCase() === UserRole.DISTRICTMANAGER || \r\n this.userProfile.userRole.toLowerCase() === UserRole.DIRECTORPHARMACYRETAILOPERATIONS || \r\n this.userProfile.userRole.toLowerCase() === UserRole.HEALTHCARESUPERVISOR || \r\n this.userProfile.userRole.toLowerCase() === UserRole.REGIONALVICEPRESIDENT || \r\n this.userProfile.userRole.toLowerCase() === UserRole.REGIONALHEALTHCAREDIRECTOR || \r\n this.userProfile.userRole.toLowerCase() === UserRole.ADMIN ||\r\n this.userProfile.userRole.toLowerCase() === UserRole.PODUSER\r\n ) {\r\n SessionDetails.setIsPCA(true);\r\n SessionDetails.setIsSR(false);\r\n this.router.navigate(['/communityoutreach/pcadashboard']);\r\n } else if(this.userProfile.userRole.toLowerCase() === UserRole.STOREMANAGER || \r\n this.userProfile.userRole.toLowerCase() === UserRole.PHARMACYMANAGER) {\r\n SessionDetails.setIsPCA(true);\r\n SessionDetails.setIsSR(false);\r\n this.router.navigate(['/communityoutreach/pcahome']);\r\n }\r\n }\r\n \r\n public loadScript() { \r\n var isFound = false;\r\n var scripts = document.getElementsByTagName(\"script\")\r\n for (var i = 0; i < scripts.length; ++i) {\r\n if (scripts[i].getAttribute('src') !== null && scripts[i].getAttribute('src').includes(\"loader\")) {\r\n isFound = true;\r\n }\r\n }\r\n\r\n if (!isFound) {\r\n var dynamicScripts = [\"../../../../../assets/js/scripts.js\"];\r\n\r\n for (let i = 0; i < dynamicScripts .length; i++) {\r\n let node = document.createElement('script');\r\n node.src = dynamicScripts [i];\r\n node.type = 'text/javascript';\r\n node.async = false;\r\n node.charset = 'utf-8';\r\n document.getElementsByTagName('head')[0].appendChild(node);\r\n }\r\n\r\n }\r\n }\r\n\r\n signout(){\r\n sessionStorage.clear();\r\n this.router.navigateByUrl(\"/signout\");\r\n }\r\n}\r\n\r\n","import { Component, OnInit, Compiler } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppCommonSession } from '../../../common/app-common-session';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { userLoginData } from '../../../../JSON/userLoginData';\r\nimport { UserLoginInfo } from '../../../../models/userLoginInfo';\r\nimport { AuthenticationService } from '../../../common/services/authentication.service';\r\nimport { UserInfo } from '../../../../models/userInfo';\r\nimport { EncryptLinkService } from '../../services/encrypt-link.service';\r\nimport { FormGroup, FormBuilder } from '../../../../../../node_modules/@angular/forms';\r\nimport { Util } from '../../../../utility/util';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { SendUserAccessLink, UserAccessLinkUserList } from '../../../../models/userAccessLink';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { Alert, AlertType } from '../../../../../app/models/Alert';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n users = [];\r\n usersInfo = [];\r\n loginError: boolean = false;\r\n RoleID: string;\r\n contractpk: number;\r\n storeID: number;\r\n userName: string;\r\n password: string;\r\n loadAPI: Promise;\r\n email_address: any = null;\r\n encryptForm: FormGroup;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n displayMultipulRoles: boolean = false;\r\n dispalyMultipleRolesMessage:string;\r\n multipleRoles:any=[];\r\n selectedRole:number;\r\n sendaccessPassword:string;\r\n ShowSendAccess: boolean = false;\r\n removeSendAccessInfo: any = true;\r\n constructor(private router: Router, private formBuilder: FormBuilder,\r\n private encrypt_link: EncryptLinkService, private commonsession: AppCommonSession, private utility: Util,\r\n private authservice: AuthenticationService, private compiler: Compiler) {\r\n this.compiler.clearCache();\r\n this.loadAPI = new Promise((resolve) => {\r\n // this.loadScript();\r\n resolve(true);\r\n });\r\n\r\n // if(environment.isSiteDeploying){\r\n // this.router.navigateByUrl('/maintenance');\r\n // }\r\n }\r\n\r\n ngOnInit() { \r\n this.removeSession();\r\n if (sessionStorage.unauth) {\r\n this.loginError = true;\r\n }\r\n }\r\n \r\n removeAlert() {\r\n this.removeSendAccessInfo = false;\r\n }\r\n\r\n OpenaccessLinkPDF(){\r\n \r\n window.open(\"http://snetapp.walgreens.com/prodpublisher/enterprise_immunization/offsite_clinics/Outreach_Portal_Access.pdf\", \"_blank\");\r\n }\r\n removeSession() {\r\n sessionStorage[\"roleID\"] = null;\r\n sessionStorage[\"storeId\"] = null;\r\n sessionStorage.removeItem(\"hintsOff\");\r\n sessionStorage[\"aP\"] =null;\r\n sessionStorage[\"cP\"] =null;\r\n }\r\n //It verifies the USer and navigate to get the landing page based on the role.\r\n getDashboard() {\r\n var user_info = new UserLoginInfo();\r\n user_info.userName = this.userName;\r\n user_info.password = this.password;\r\n SessionDetails.SetUserInfo(user_info);\r\n SessionDetails.SetStoreOppSortByDefaultVal(\"0\");\r\n this.authservice.getUserProfile().subscribe((data: any) => {\r\n if (data.dataList.length > 0) {\r\n var user_profile = new UserInfo();\r\n user_profile.email = data.dataList[0].email;\r\n user_profile.userName = data.dataList[0].userName;\r\n user_profile.userPk = data.dataList[0].userPk;\r\n user_profile.userRole = data.dataList[0].userRole;\r\n user_profile.isAdmin = data.dataList[0].isAdmin;\r\n user_profile.isPowerUser = data.dataList[0].isPowerUser;\r\n user_profile.firstName = data.dataList[0].firstName;\r\n user_profile.lastName = data.dataList[0].lastName;\r\n user_profile.locationType = data.dataList[0].locationType;\r\n user_profile.assignedLocations = data.dataList[0].assignedLocations;\r\n SessionDetails.SetUserProfile(user_profile);\r\n sessionStorage.removeItem(\"unauth\");\r\n this.router.navigate(['/landing']);\r\n window.scrollTo(0, 0);\r\n }\r\n }, err => {\r\n if (err.status == 401) {\r\n SessionDetails.SetUserInfo(null);\r\n console.log(err.statusText);\r\n\r\n }\r\n this.loginError = true;\r\n sessionStorage[\"unauth\"] = \"unauth\";\r\n });\r\n\r\n\r\n }\r\n getUserInfo(pk) {\r\n let user_Data = userLoginData;\r\n let login_Info = user_Data.filter(x => x.pk == pk)[0];\r\n login_Info.userName=SessionDetails.getD(SessionDetails.absJ,login_Info.userName);\r\n login_Info.password=SessionDetails.getD(SessionDetails.absJ,login_Info.password);\r\n login_Info.role=SessionDetails.getD(SessionDetails.absJ,login_Info.role);\r\n return login_Info;\r\n }\r\n public loadScript() {\r\n var isFound = false;\r\n var scripts = document.getElementsByTagName(\"script\")\r\n for (var i = 0; i < scripts.length; ++i) {\r\n if (scripts[i].getAttribute('src') !== null && scripts[i].getAttribute('src').includes(\"loader\")) {\r\n isFound = true;\r\n }\r\n }\r\n\r\n if (!isFound) {\r\n var dynamicScripts = [\"../../../../../assets/js/scripts.js\"];\r\n\r\n for (let i = 0; i < dynamicScripts.length; i++) {\r\n let node = document.createElement('script');\r\n node.src = dynamicScripts[i];\r\n node.type = 'text/javascript';\r\n node.async = false;\r\n node.charset = 'utf-8';\r\n document.getElementsByTagName('head')[0].appendChild(node);\r\n }\r\n\r\n }\r\n }\r\n generateLink(userPk:number) {\r\n let sumMsg = null;\r\n let sMsg = null;\r\n //let user_access_link = new SendUserAccessLink();\r\n let userAccessLinkUserList = new UserAccessLinkUserList();\r\n userAccessLinkUserList.userPk = 41;\r\n userAccessLinkUserList.email = this.email_address;\r\n let data = this.getUserInfo(41);\r\n var user_info = new UserLoginInfo();\r\n user_info.pk = data.pk;\r\n user_info.userName = data.userName;\r\n user_info.password = data.password;\r\n user_info.role = data.role;\r\n SessionDetails.SetUserInfo(user_info);\r\n if (this.email_address !== null && this.email_address !== '') {\r\n if (this.utility.validateEmail(this.email_address)) {\r\n var email = this.email_address;\r\n var user_pk = 0;\r\n if(userPk) user_pk = userPk;\r\n this.encrypt_link.getEncryptLink(user_pk, email).subscribe((data:any) => {\r\n userAccessLinkUserList = data.userAccessLinkUserList;\r\n switch (data.errorS.errorCode) {\r\n case 0:\r\n sumMsg = ErrorMessages['sendAcessLink'];\r\n sMsg = \"An email with the access link has been sent to the email address provided\";\r\n this.showDialog(sumMsg, sMsg, false);\r\n return;\r\n case -1:\r\n sumMsg = ErrorMessages['sendAcessLink'];\r\n sMsg = \"The email you have entered does not exist in the portal.

Unless you are supporting multiple roles, the email used by the portal will be your alias email, not your personal email.

Please contact a site administrator, if neither your alias email nor your personal email sends you an access link.\";\r\n this.showDialog(sumMsg, sMsg, false);\r\n return;\r\n case -2:\r\n this.dialogMsg = data.errorS.errorMessage;\r\n this.multipleRoles=data.userAccessLinkUserList;\r\n this.dialogSummary=ErrorMessages['sendAcessLink']; \r\n this.displayMultipulRoles=true;\r\n return;\r\n }\r\n });\r\n }\r\n else {\r\n let sumMsg = ErrorMessages['sendAcessLink'];\r\n let sMsg = ErrorMessages['sendEmailMessgae'];\r\n this.showDialog(sumMsg, sMsg, false);\r\n }\r\n\r\n }\r\n else {\r\n let sumMsg = ErrorMessages['errMsg'];\r\n let sMsg = \"Please enter email address\";\r\n this.showDialog(sumMsg, sMsg, false);\r\n }\r\n }\r\n\r\n\r\n showDialog(msgSummary: string, msgDetail: string, success_message: boolean) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n okClicked() {\r\n this.display = false;\r\n this.email_address = '';\r\n }\r\n sendMutipulEmails() {\r\n this.generateLink(this.selectedRole);\r\n this.displayMultipulRoles = false;\r\n }\r\n Close() {\r\n this.displayMultipulRoles = false;\r\n this.selectedRole=0;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-signout',\r\n templateUrl: './signout.component.html',\r\n styleUrls: ['./signout.component.css']\r\n})\r\nexport class SignoutComponent implements OnInit {\r\n\r\n constructor(private router:Router) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n loginRedirect(){\r\n this.router.navigate(['/login']);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-unauthorize',\r\n templateUrl: './unauthorize.component.html',\r\n styleUrls: ['./unauthorize.component.css']\r\n})\r\nexport class UnauthorizeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { AuthenticationService } from '../../../common/services/authentication.service';\r\nimport { EncryptDecrypt } from '../../../../models/encryptDecrypt';\r\nimport { userLoginData } from '../../../../JSON/userLoginData';\r\nimport { UserLoginInfo } from '../../../../models/userLoginInfo';\r\nimport { UserInfo } from '../../../../models/userInfo';\r\nimport { ContractapproveService } from '../../../contractaggreement/services/contractapprove.service';\r\nimport { EventDetailsData } from '../../../../models/eventDetails';\r\nimport { SchedulerUserInfo } from '../../../../models/schedulerUserInfo';\r\nimport { PcacontractAgreementService } from '../../../patientcareadvocacy/Services/pcacontract-agreement.service';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { PreviewService } from '../../../admin/services/preview.service';\r\nimport { universalContractReleaseDate } from '../../../../JSON/UniversalTandC';\r\nimport { Util } from '../../../../utility/util';\r\nimport { LulaAso } from '../../../../models/pcaTandC';\r\nimport { LulaAsoRelease2 } from '../../../../models/pcaTandC-release2';\r\nimport { getContractComponentName } from '../../../../utility/loadContracts';\r\n\r\n@Component({\r\n selector: 'app-userauthentication',\r\n templateUrl: './userauthentication.component.html',\r\n styleUrls: ['./userauthentication.component.css']\r\n})\r\nexport class UserauthenticationComponent implements OnInit {\r\n\r\n popupShow: boolean = false;\r\n isCurrent: boolean = true;\r\n dialogMsg:string = \"There are no stores assigned to you. Please contact administrator\";\r\n showPreUniversalContract: boolean = false;\r\n oldPcaReleaseDate: any;\r\n PcaReleaseDate2022_1: any;\r\n routePageName : string ='';\r\n constructor(private router: Router, private authenticationService: AuthenticationService,\r\n private contractApproveService: ContractapproveService,\r\n private _contractService: PcacontractAgreementService, private _previewService: PreviewService) {\r\n if (environment.isSiteDeploying) {\r\n let data = this.getUserInfo(41);\r\n /*var user_info = new UserLoginInfo();\r\n user_info.pk = data.pk\r\n user_info.userName = data.userName;\r\n user_info.password = data.password;\r\n user_info.role = data.role;*/\r\n\r\n var user_profile = new UserInfo();\r\n user_profile.userName = data.userName;\r\n user_profile.userPk = data.pk;\r\n user_profile.userRole = \"Admin\";\r\n user_profile.isAdmin = true;\r\n user_profile.isPowerUser = false;\r\n user_profile.firstName = \"\";\r\n user_profile.lastName = \"\";\r\n SessionDetails.SetUserProfile(user_profile);\r\n this.router.navigate(['/landing']);\r\n }\r\n else {\r\n let current_Url = this.router.url;\r\n this.isAuthorise(current_Url);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.oldPcaReleaseDate = new LulaAso().tnCCutOffDate;\r\n this.PcaReleaseDate2022_1 = new LulaAsoRelease2().tnCCutOffDate;\r\n }\r\n\r\n // It is used to verifiy the authorization for the given encoded link.\r\n isAuthorise(encoded_value: string) { \r\n \r\n if (encoded_value.includes(\"/contractAgreementForUser/\")) {\r\n \r\n this.contractApproveService.setShowViewCancelBtn(false);\r\n let encoded_data = encoded_value.replace('/contractAgreementForUser/', '');\r\n let encrypt_data = new EncryptDecrypt();\r\n encrypt_data.encryptedS = encoded_data;\r\n encrypt_data.decryptedS = \"\";\r\n let data = this.getUserInfo(41);\r\n let user_info = new UserLoginInfo();\r\n user_info.pk = data.pk\r\n user_info.userName = data.userName;\r\n if(user_info.userName=='sm_schedule.appointment')\r\n {\r\n user_info.password = 'FnUuWcC7#dThFjKx';\r\n }\r\n else\r\n {\r\n user_info.password = data.password;\r\n } \r\n user_info.role = data.role;\r\n SessionDetails.SetUserInfo(user_info);\r\n this.authenticationService.postEncryptionDecryption(encrypt_data).subscribe((data: any) => {\r\n let decrypted_data = data.decryptedS;\r\n if (decrypted_data != null || decrypted_data != undefined) {\r\n decrypted_data= SessionDetails.getD(SessionDetails.absJ,decrypted_data);\r\n let splited_Data = decrypted_data.split(\"|\");\r\n sessionStorage[\"clinic_agreement_pk\"] = splited_Data[1];\r\n sessionStorage[\"storeId\"] = splited_Data[0];\r\n sessionStorage[\"approveRejectEmail\"] = splited_Data[2];\r\n this.router.navigate(['/contractAgreementForUser']);\r\n }\r\n });\r\n }\r\n else if (encoded_value.includes(\"/previous-client-interest/\")) {\r\n this.contractApproveService.setShowViewCancelBtn(false);\r\n let encoded_data = encoded_value.replace('/previous-client-interest/', '');\r\n let encrypt_data = new EncryptDecrypt();\r\n encrypt_data.encryptedS = encoded_data;\r\n encrypt_data.decryptedS = \"\";\r\n let data = this.getUserInfo(41);\r\n let user_info = new UserLoginInfo();\r\n user_info.pk = data.pk\r\n user_info.userName = data.userName;\r\n if(user_info.userName =='sm_schedule.appointment')\r\n {\r\n user_info.password = 'FnUuWcC7#dThFjKx';\r\n }\r\n else\r\n {\r\n user_info.password = data.password;\r\n } \r\n \r\n user_info.role = data.role;\r\n SessionDetails.SetUserInfo(user_info);\r\n this.authenticationService.postEncryptionDecryption(encrypt_data).subscribe((data: any) => {\r\n \r\n let decrypted_data = data.decryptedS;\r\n if (decrypted_data != null || decrypted_data != undefined) {\r\n decrypted_data= SessionDetails.getD(SessionDetails.absJ,decrypted_data);\r\n let splited_Data = decrypted_data.split(\"|\");\r\n sessionStorage[\"potentialInterestBusinessPk\"] = splited_Data[0];\r\n sessionStorage[\"potentialInterestEmail\"] = splited_Data[1]; \r\n this.router.navigate(['/previous-client-interest']);\r\n }\r\n });\r\n }\r\n else if (encoded_value.includes(\"/store-response/\")) {\r\n \r\n this.contractApproveService.setShowViewCancelBtn(false);\r\n let encoded_data = encoded_value.replace('/store-response/', '');\r\n let encrypt_data = new EncryptDecrypt();\r\n encrypt_data.encryptedS = encoded_data;\r\n encrypt_data.decryptedS = \"\";\r\n let data = this.getUserInfo(41);\r\n let user_info = new UserLoginInfo();\r\n user_info.pk = data.pk\r\n user_info.userName = data.userName;\r\n if(user_info.userName =='sm_schedule.appointment')\r\n {\r\n user_info.password = 'FnUuWcC7#dThFjKx';\r\n }\r\n else\r\n {\r\n user_info.password = data.password;\r\n } \r\n \r\n user_info.role = data.role;\r\n SessionDetails.SetUserInfo(user_info);\r\n this.authenticationService.postEncryptionDecryption(encrypt_data).subscribe((data: any) => {\r\n \r\n let decrypted_data = data.decryptedS;\r\n if (decrypted_data != null || decrypted_data != undefined) {\r\n decrypted_data= SessionDetails.getD(SessionDetails.absJ,decrypted_data);\r\n let splited_Data = decrypted_data.split(\"|\");\r\n sessionStorage[\"leadPk\"] = splited_Data[0]; \r\n sessionStorage[\"storeResForLead\"] = splited_Data[1]; \r\n sessionStorage[\"storeResForLeadStoreId\"] = splited_Data[2]; \r\n\r\n this.router.navigate(['/store-response']);\r\n }\r\n });\r\n } \r\n else if (encoded_value.includes(\"/lulaContractAgreementForUser/\")) {\r\n this.contractApproveService.setShowViewCancelBtn(false);\r\n let encoded_data = encoded_value.replace('/lulaContractAgreementForUser/', '');\r\n let encrypt_data = new EncryptDecrypt();\r\n encrypt_data.encryptedS = encoded_data;\r\n encrypt_data.decryptedS = \"\";\r\n let data = this.getUserInfo(41);\r\n let user_info = new UserLoginInfo();\r\n user_info.pk = data.pk\r\n user_info.userName = data.userName;\r\n if(user_info.userName =='sm_schedule.appointment')\r\n {\r\n user_info.password = 'FnUuWcC7#dThFjKx';\r\n }\r\n else\r\n {\r\n user_info.password = data.password;\r\n } \r\n \r\n user_info.role = data.role;\r\n SessionDetails.SetUserInfo(user_info);\r\n this.authenticationService.postEncryptionDecryption(encrypt_data).subscribe((data: any) => {\r\n let decrypted_data = data.decryptedS;\r\n if (decrypted_data != null || decrypted_data != undefined) {\r\n decrypted_data= SessionDetails.getD(SessionDetails.absJ,decrypted_data);\r\n let splited_Data = decrypted_data.split(\"|\");\r\n sessionStorage[\"clinic_agreement_pk\"] = splited_Data[1];\r\n sessionStorage[\"storeId\"] = splited_Data[0];\r\n sessionStorage[\"approveRejectEmail\"] = splited_Data[2];\r\n sessionStorage[\"clinic_type\"] = splited_Data[3];\r\n let agreementPk = sessionStorage[\"clinic_agreement_pk\"];\r\n if(agreementPk == null || agreementPk == undefined ){\r\n this.dialogMsg = ErrorMessages['nullClinicAgreementPk']; \r\n this.popupShow = true;\r\n return;\r\n } \r\n this._contractService.getPCAContractAgreement(agreementPk, null).subscribe((data:any) => { \r\n if (data.isRHDApproved != null) {\r\n sessionStorage[\"testing_partner\"] = 'TP';\r\n SessionDetails.fromUserPage(true);\r\n \r\n \r\n if(new Date(Util.getFormatedDate(data.dateApproved)) >= new Date(this.PcaReleaseDate2022_1) || Util.getFormatedDate(data.dateApproved) == null)\r\n {\r\n this.router.navigate(['/rhdContractAgreement-2023-1']);\r\n }\r\n else\r\n {\r\n this.router.navigate(['/rhdContractAgreement']);\r\n }\r\n }\r\n else if(new Date(Util.getFormatedDate(data.dateApproved)) >= new Date(this.PcaReleaseDate2022_1) || Util.getFormatedDate(data.dateApproved) == null)\r\n {\r\n this.router.navigate(['/lulaContractAgreementForUser-2023-1']);\r\n }\r\n else\r\n {\r\n this.router.navigate(['/lulaContractAgreementForUser']);\r\n }\r\n });\r\n //this.router.navigate(['/lulaContractAgreementForUser']);\r\n }\r\n });\r\n }\r\n else if (encoded_value.includes(\"/rhdContractAgreement/\") || encoded_value.includes(\"/rhdContractAgreement-2023-1\")) {\r\n this.contractApproveService.setShowViewCancelBtn(false);\r\n let encoded_data = encoded_value.replace('/rhdContractAgreement/', '');\r\n let encrypt_data = new EncryptDecrypt();\r\n encrypt_data.encryptedS = encoded_data;\r\n encrypt_data.decryptedS = \"\";\r\n let data = this.getUserInfo(41);\r\n let user_info = new UserLoginInfo();\r\n user_info.pk = data.pk;\r\n user_info.userName = data.userName;\r\n if(user_info.userName =='sm_schedule.appointment')\r\n {\r\n user_info.password = 'FnUuWcC7#dThFjKx';\r\n }\r\n else\r\n {\r\n user_info.password = data.password;\r\n } \r\n user_info.role = data.role;\r\n SessionDetails.SetUserInfo(user_info);\r\n this.authenticationService.postEncryptionDecryption(encrypt_data).subscribe((data: any) => {\r\n let decrypted_data = data.decryptedS;\r\n if (decrypted_data != null || decrypted_data != undefined) {\r\n decrypted_data= SessionDetails.getD(SessionDetails.absJ,decrypted_data);\r\n let splited_Data = decrypted_data.split(\"|\");\r\n var user_info = new UserLoginInfo();\r\n user_info.userName = splited_Data[0].replace('^', '.');\r\n if(user_info.userName =='sm_schedule.appointment')\r\n {\r\n user_info.password = 'FnUuWcC7#dThFjKx';\r\n }\r\n else\r\n {\r\n user_info.password = splited_Data[1];\r\n } \r\n \r\n SessionDetails.SetUserInfo(user_info);\r\n let agreementPk = sessionStorage[\"clinic_agreement_pk\"] = splited_Data[3];\r\n sessionStorage[\"storeId\"] = splited_Data[2];\r\n sessionStorage[\"clinic_type\"] = splited_Data[4];\r\n sessionStorage[\"testing_partner\"] = null;\r\n if(splited_Data[5]!=null && splited_Data[5]!=undefined)\r\n {\r\n sessionStorage[\"testing_partner\"] = splited_Data[5];\r\n }\r\n this.authenticationService.getUserProfile().subscribe((data: any) => {\r\n if (data.dataList.length > 0) {\r\n var user_profile = new UserInfo();\r\n user_profile.email = data.dataList[0].email;\r\n sessionStorage[\"approveRejectEmail\"] = data.dataList[0].email;\r\n user_profile.userName = data.dataList[0].userName;\r\n user_profile.userPk = data.dataList[0].userPk;\r\n user_profile.userRole = data.dataList[0].userRole;\r\n user_profile.isAdmin = data.dataList[0].isAdmin;\r\n user_profile.isPowerUser = data.dataList[0].isPowerUser;\r\n user_profile.firstName = data.dataList[0].firstName;\r\n user_profile.lastName = data.dataList[0].lastName;\r\n user_profile.locationType = data.dataList[0].locationType;\r\n user_profile.assignedLocations = data.dataList[0].assignedLocations;\r\n SessionDetails.SetUserProfile(user_profile);\r\n //if(this.isCurrent)\r\n SessionDetails.fromUserPage(true);\r\n if(agreementPk == null || agreementPk == undefined ){\r\n this.dialogMsg = ErrorMessages['nullClinicAgreementPk']; \r\n this.popupShow = true;\r\n return;\r\n } \r\n \r\n this._contractService.getPCAContractAgreement(agreementPk, null).subscribe((data:any) => { \r\n if(new Date(Util.getFormatedDate(data.dateApproved)) >= new Date(this.PcaReleaseDate2022_1) || Util.getFormatedDate(data.dateApproved) == null)\r\n {\r\n this.router.navigate(['/rhdContractAgreement-2023-1']);\r\n }\r\n else\r\n {\r\n this.router.navigate(['/rhdContractAgreement']);\r\n }\r\n });\r\n\r\n // this.router.navigate(['/communityoutreach/rhdContractAgreement']);\r\n //else\r\n //this.router.navigate(['/unauthorize']);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n else if (encoded_value.includes(\"/contractAgreement/\")) {\r\n \r\n this.contractApproveService.setShowViewCancelBtn(true);\r\n let encoded_data = encoded_value.replace('/contractAgreement/', '');\r\n let encrypt_data = new EncryptDecrypt();\r\n encrypt_data.encryptedS = encoded_data;\r\n encrypt_data.decryptedS = \"\";\r\n let data = this.getUserInfo(41);\r\n let user_info = new UserLoginInfo();\r\n user_info.pk = data.pk\r\n user_info.userName = data.userName;\r\n\r\n if(user_info.userName =='sm_schedule.appointment')\r\n {\r\n user_info.password = 'FnUuWcC7#dThFjKx';\r\n }\r\n else\r\n {\r\n user_info.password = data.password;\r\n } \r\n user_info.role = data.role;\r\n SessionDetails.SetUserInfo(user_info);\r\n this.authenticationService.postEncryptionDecryption(encrypt_data).subscribe((data: any) => {\r\n let decrypted_data = data.decryptedS;\r\n if (decrypted_data != null || decrypted_data != undefined) {\r\n decrypted_data= SessionDetails.getD(SessionDetails.absJ,decrypted_data);\r\n let splited_Data = decrypted_data.split(\"|\");\r\n\r\n user_info.userName = splited_Data[1];\r\n if(user_info.userName =='sm_schedule.appointment')\r\n {\r\n user_info.password = 'FnUuWcC7#dThFjKx';\r\n }\r\n else\r\n {\r\n user_info.password = splited_Data[2];\r\n }\r\n\r\n //user_info.password = splited_Data[2];\r\n let store_id = splited_Data[3];\r\n let clinic_agreement_pk = splited_Data[4];\r\n SessionDetails.SetUserInfo(user_info);\r\n this.authenticationService.getUserProfile().subscribe((data: any) => {\r\n if (data.dataList.length > 0) {\r\n var user_profile = new UserInfo();\r\n user_profile.email = data.dataList[0].email;\r\n user_profile.userName = data.dataList[0].userName;\r\n user_profile.userPk = data.dataList[0].userPk;\r\n user_profile.userRole = data.dataList[0].userRole;\r\n user_profile.isAdmin = data.dataList[0].isAdmin;\r\n user_profile.isPowerUser = data.dataList[0].isPowerUser;\r\n user_profile.firstName = data.dataList[0].firstName;\r\n user_profile.lastName = data.dataList[0].lastName;\r\n user_profile.locationType = data.dataList[0].locationType;\r\n user_profile.assignedLocations = data.dataList[0].assignedLocations;\r\n SessionDetails.SetUserProfile(user_profile);\r\n if(clinic_agreement_pk == null || clinic_agreement_pk == undefined ){\r\n this.dialogMsg = ErrorMessages['nullClinicAgreementPk']; \r\n this.popupShow = true;\r\n return;\r\n } \r\n \r\n this.contractApproveService.getContractAgreementApproveData(clinic_agreement_pk).subscribe((data:any) => {\r\n \r\n if (data.isApproved == true || data.isApproved == 1) {\r\n\r\n let contractdateApproved = null;\r\n \r\n\r\n if(data.dateApproved){\r\n contractdateApproved = new Date(data.dateApproved);\r\n this.routePageName= getContractComponentName(contractdateApproved,'userauthentication-viewcontract');\r\n } \r\n\r\n SessionDetails.fromUserPage(true);\r\n sessionStorage[\"clinic_agreement_pk\"] = clinic_agreement_pk;\r\n \r\n this.router.navigateByUrl(this.routePageName); \r\n }\r\n else {\r\n \r\n SessionDetails.SetAgreementPK(clinic_agreement_pk);\r\n this.router.navigateByUrl(\"/communityoutreach/contract\");\r\n }\r\n\r\n });\r\n }\r\n\r\n }, err => {\r\n if (err.status == 401) {\r\n \r\n SessionDetails.SetUserInfo(null);\r\n console.log(err.statusText);\r\n }\r\n });\r\n\r\n }\r\n });\r\n }\r\n\r\n else if (encoded_value.includes(\"/landing/\")) {\r\n let encoded_data = encoded_value.replace('/landing/', '');\r\n let encrypt_data = new EncryptDecrypt();\r\n encrypt_data.encryptedS = encoded_data;\r\n encrypt_data.decryptedS = \"\";\r\n let data = this.getUserInfo(41);\r\n let user_info = new UserLoginInfo();\r\n user_info.pk = data.pk\r\n user_info.userName = data.userName;\r\n if(user_info.userName =='sm_schedule.appointment')\r\n {\r\n user_info.password = 'FnUuWcC7#dThFjKx';\r\n }\r\n else\r\n {\r\n user_info.password = data.password;\r\n }\r\n\r\n // user_info.password = data.password;\r\n user_info.role = data.role;\r\n SessionDetails.SetUserInfo(user_info);\r\n this.authenticationService.postEncryptionDecryption(encrypt_data).subscribe((data: any) => { \r\n let decrypted_data = data.decryptedS;\r\n if (decrypted_data != null || decrypted_data != undefined) {\r\n decrypted_data= SessionDetails.getD(SessionDetails.absJ,decrypted_data);\r\n let splited_Data = decrypted_data.split(\"|\");\r\n var user_info = new UserLoginInfo();\r\n user_info.userName = splited_Data[0].replace('^', '.');\r\n\r\n if(user_info.userName =='sm_schedule.appointment')\r\n {\r\n user_info.password = 'FnUuWcC7#dThFjKx';\r\n }\r\n else\r\n {\r\n user_info.password = splited_Data[2];\r\n }\r\n //user_info.password = splited_Data[2];\r\n SessionDetails.SetUserInfo(user_info);\r\n this.authenticationService.getUserProfile().subscribe((data: any) => {\r\n if (data.dataList.length > 0) {\r\n var user_profile = new UserInfo();\r\n user_profile.email = data.dataList[0].email;\r\n user_profile.userName = data.dataList[0].userName;\r\n user_profile.userPk = data.dataList[0].userPk;\r\n user_profile.userRole = data.dataList[0].userRole;\r\n user_profile.isAdmin = data.dataList[0].isAdmin;\r\n user_profile.isPowerUser = data.dataList[0].isPowerUser;\r\n user_profile.firstName = data.dataList[0].firstName;\r\n user_profile.lastName = data.dataList[0].lastName;\r\n user_profile.locationType = data.dataList[0].locationType;\r\n user_profile.assignedLocations = data.dataList[0].assignedLocations;\r\n SessionDetails.SetUserProfile(user_profile);\r\n if (splited_Data.length == 3) {\r\n this.router.navigate(['/landing']);\r\n }\r\n else if (splited_Data.length >= 5) { \r\n if (splited_Data.length > 5 && splited_Data[4] != 'schApptsRepForRemEmail') {\r\n var business_data = new EventDetailsData();\r\n business_data.clinicPk = business_data.contactLogPk = splited_Data[5];\r\n business_data.clinicType = splited_Data[6];\r\n let eventDetails = business_data;\r\n SessionDetails.EventDetails(eventDetails);\r\n if (encoded_value.includes(\"/landing/\") && splited_Data[4] == 'contract') {\r\n if (splited_Data[5].length > 0) {\r\n SessionDetails.SetAgreementPK(splited_Data[5]);\r\n }\r\n else {\r\n SessionDetails.SetAgreementPK(splited_Data[6]);\r\n }\r\n }\r\n if (splited_Data[5] == \"IsPCA\") {\r\n SessionDetails.setIsPCA(true);\r\n SessionDetails.SetAgreementPK(splited_Data[6]);\r\n SessionDetails.StoreId(splited_Data[3]);\r\n }\r\n }\r\n if(splited_Data.length == 7 && splited_Data[4] =='schApptsRepForRemEmail'){\r\n let corporate_clinic_info = {};\r\n corporate_clinic_info[\"clinicPk\"] = splited_Data[5];\r\n //corporate_clinic_info[\"clientId\"] = splited_Data[9];\r\n corporate_clinic_info[\"clinicDate\"]= splited_Data[6];\r\n //corporate_clinic_info[\"businessPk\"] = splited_Data[5];\r\n //corporate_clinic_info[\"businessName\"] = splited_Data[6];\r\n // corporate_clinic_info[\"clinicRoom\"] = splited_Data[10];\r\n sessionStorage.setItem(\"isOpenedFromReminderEmail\",\"true\");\r\n sessionStorage.setItem(\"event_details\",JSON.stringify(corporate_clinic_info));\r\n }\r\n if(splited_Data.length == 7 && splited_Data[4] == 'corpStoreApptTracker'){\r\n this._previewService.getClinicInfoForTracker(splited_Data[3],splited_Data[6],splited_Data[5]).subscribe((data: any) => {\r\n if (Object.keys(data).length > 0) {\r\n let dt = new Date(data.eventDate);\r\n data.eventDate = (((dt.getMonth() + 1) < 10) ? '0' + (dt.getMonth() + 1) : (dt.getMonth() + 1)) + \"/\" + ((dt.getDate() < 10) ? '0' + dt.getDate() : dt.getDate()) + \"/\" + dt.getFullYear();\r\n sessionStorage.setItem(\"isOpenedFromReminderEmail\",\"true\");\r\n sessionStorage.setItem(\"event_details\", JSON.stringify(data));\r\n this.router.navigateByUrl('/communityoutreach/' + splited_Data[4]);\r\n }\r\n });\r\n }\r\n if ((splited_Data[4] != \"schApptsRepForRemEmail\" && splited_Data[4] != \"corpStoreApptTracker\") || splited_Data[4] == \"schApptsRepForRemEmail\") {\r\n let agreementPk = SessionDetails.GetAgreementPK();\r\n if(agreementPk == null || agreementPk == undefined ){\r\n this.dialogMsg = ErrorMessages['nullClinicAgreementPk']; \r\n this.popupShow = true;\r\n return;\r\n } \r\n if(splited_Data.length == 6 && splited_Data[4] =='home'){ \r\n sessionStorage.setItem(\"tabIndex\",splited_Data[5]);\r\n }\r\n \r\n if(splited_Data.length == 5 && splited_Data[4] =='approveCancellation'){ \r\n this.contractApproveService.approveClinicCancellationByClient(splited_Data[3]).subscribe((data:any)=>{\r\n sessionStorage.setItem(\"CancellationToken\",\"1\");\r\n if(data&&data.contactName != null && data.contactName != undefined){\r\n SessionDetails.setWagsContactInfo(data);\r\n }\r\n this.router.navigate(['/approveCancellation']);\r\n },\r\n err=>{\r\n this.dialogMsg = \"Expectation Failed.\"; \r\n this.popupShow = true;\r\n return;\r\n });\r\n }\r\n if(splited_Data.length == 5 && splited_Data[4] =='rejectCancellation'){ \r\n \r\n this.contractApproveService.rejectClinicCancellationByClient(splited_Data[3]).subscribe(data=>{\r\n sessionStorage.setItem(\"CancellationToken\",\"2\");\r\n this.router.navigate(['/rejectCancellation']);\r\n },\r\n err=>{\r\n this.dialogMsg = \"Expectation Failed.\"; \r\n this.popupShow = true;\r\n return;\r\n })\r\n } \r\n if(splited_Data.length == 6 && splited_Data[4] =='storehome' && splited_Data[5]===\"fromContactUs\"){ \r\n sessionStorage.setItem(\"fromContactUsStoreId\",splited_Data[3]);\r\n SessionDetails.StoreId(splited_Data[3]);\r\n }\r\n if(splited_Data.length == 7 && splited_Data[6]?.trim() == 'Equity Events (No Contract)'){\r\n this.router.navigateByUrl('/communityoutreach/EquityEventDetails')\r\n return;\r\n }\r\n this.router.navigateByUrl('/communityoutreach/' + splited_Data[4] + '');\r\n }\r\n }\r\n else {\r\n // this.popupShow = true;\r\n this.router.navigate(['/login']);\r\n }\r\n }\r\n else {\r\n this.popupShow = true;\r\n }\r\n }, err => {\r\n if (err.status == 401) {\r\n SessionDetails.SetUserInfo(null);\r\n console.log(err.statusText);\r\n\r\n }\r\n this.router.navigate(['/login']);\r\n });\r\n\r\n }\r\n });\r\n }\r\n else if (encoded_value.includes(\"/ss/schedulerLanding/\")) {\r\n let encoded_data = encoded_value.replace('/ss/schedulerLanding/', '');\r\n let encrypt_data = new EncryptDecrypt();\r\n encrypt_data.encryptedS = encoded_data;\r\n encrypt_data.decryptedS = \"\";\r\n let data = this.getUserInfo(41);\r\n let user_info = new UserLoginInfo();\r\n user_info.pk = data.pk\r\n user_info.userName = data.userName;\r\n if(user_info.userName =='sm_schedule.appointment')\r\n {\r\n user_info.password = 'FnUuWcC7#dThFjKx';\r\n }\r\n else\r\n {\r\n user_info.password = data.password;\r\n }\r\n \r\n user_info.role = data.role;\r\n SessionDetails.SetUserInfo(user_info);\r\n this.authenticationService.postEncryptionDecryption(encrypt_data).subscribe((data: any) => {\r\n let decrypted_data = data.decryptedS;\r\n if (decrypted_data != null || decrypted_data != undefined) {\r\n decrypted_data= SessionDetails.getD(SessionDetails.absJ,decrypted_data);\r\n let splited_Data = decrypted_data.split(\"|\");\r\n var scheduleuserInfo = new SchedulerUserInfo();\r\n scheduleuserInfo.userName = splited_Data[0];\r\n scheduleuserInfo.userPk = splited_Data[1];\r\n if(scheduleuserInfo.userName=='sm_schedule.appointment')\r\n {\r\n scheduleuserInfo.password = 'FnUuWcC7#dThFjKx';\r\n }\r\n else\r\n {\r\n scheduleuserInfo.password = splited_Data[2];\r\n }\r\n scheduleuserInfo.designPk = splited_Data[3];\r\n scheduleuserInfo.appointmentPK = splited_Data[4];\r\n scheduleuserInfo.redirectPage = splited_Data[5];\r\n scheduleuserInfo.clinicPK = splited_Data[6];\r\n SessionDetails.setSchedulerUserInfo(scheduleuserInfo);\r\n this.router.navigate(['/schedulerLanding']);\r\n }\r\n });\r\n }\r\n else if (encoded_value.includes(\"/ss/\")) {\r\n let encoded_data = encoded_value.replace('/ss/', '');\r\n if (encoded_data.length <= 9) {\r\n this.authenticationService.getSchedulerSiteLink(encoded_data).subscribe((result: any) => {\r\n if (result != \"\") {\r\n var encrypt_data = new EncryptDecrypt();\r\n encrypt_data.encryptedS = result;\r\n encrypt_data.decryptedS = \"\";\r\n let data = this.getUserInfo(41);\r\n var user_info = new UserLoginInfo();\r\n user_info.pk = data.pk\r\n user_info.userName = data.userName;\r\n if(user_info.userName =='sm_schedule.appointment')\r\n {\r\n user_info.password = 'FnUuWcC7#dThFjKx';\r\n }\r\n else\r\n {\r\n user_info.password = data.password;\r\n }\r\n \r\n user_info.role = data.role;\r\n SessionDetails.SetUserInfo(user_info);\r\n this.authenticationService.postEncryptionDecryption(encrypt_data).subscribe((data: any) => {\r\n let decrypted_data = data.decryptedS;\r\n if (decrypted_data != null || decrypted_data != undefined) {\r\n decrypted_data= SessionDetails.getD(SessionDetails.absJ,decrypted_data);\r\n let splited_Data = decrypted_data.split(\"|\");\r\n var scheduleuserInfo = new SchedulerUserInfo();\r\n scheduleuserInfo.userName = splited_Data[0];\r\n scheduleuserInfo.userPk = Number(splited_Data[1]);\r\n if(scheduleuserInfo.userName=='sm_schedule.appointment')\r\n {\r\n scheduleuserInfo.password = 'FnUuWcC7#dThFjKx';\r\n }\r\n else\r\n {\r\n scheduleuserInfo.password = splited_Data[2];\r\n }\r\n scheduleuserInfo.designPk = Number(splited_Data[3]);\r\n scheduleuserInfo.appointmentPK = ( splited_Data.length <= 5 && (!splited_Data[4] || typeof (splited_Data[4]) === 'string') ? -1 : Number(splited_Data[4]));\r\n scheduleuserInfo.redirectPage = ''// splited_Data[5];\r\n scheduleuserInfo.clinicPK = splited_Data[6] ? Number(splited_Data[6]) : -1;\r\n SessionDetails.setSchedulerUserInfo(scheduleuserInfo);\r\n this.router.navigate(['/schedulerLanding']);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n let encrypt_data = new EncryptDecrypt();\r\n encrypt_data.encryptedS = encoded_data;\r\n encrypt_data.decryptedS = \"\";\r\n var user_profile = {};\r\n user_profile = SessionDetails.GetUserProfile();\r\n /*if (user_profile == undefined || user_profile == null || Object.keys(user_profile).length == 0) {\r\n let data = this.getUserInfo(41);\r\n var user_info = new UserLoginInfo();\r\n user_info.pk = data.pk\r\n user_info.userName = data.userName;\r\n user_info.password = data.password;\r\n user_info.role = data.role;\r\n SessionDetails.SetUserInfo(user_info);\r\n }*/\r\n this.authenticationService.postEncryptionDecryption(encrypt_data).subscribe((data: any) => {\r\n let decrypted_data = data.decryptedS;\r\n decrypted_data= SessionDetails.getD(SessionDetails.absJ,decrypted_data);\r\n if (decrypted_data != null || decrypted_data != undefined) {\r\n if (user_profile == undefined || user_profile == null || Object.keys(user_profile).length == 0) {\r\n //this.createUserProfileForSchedulerLinks();\r\n this.getAndCreateUserProfileInfo(decrypted_data);\r\n }\r\n else {\r\n this.setEncryptedLinkcScheduerInfo(decrypted_data);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n else if (encoded_value.includes(\"/contractVoucherVARPdfs/\")) {\r\n\r\n let isApp = localStorage.getItem(\"isApp\");\r\n //console.log(isApp);\r\n if (isApp) {\r\n localStorage.removeItem(\"isApp\");\r\n }\r\n else {\r\n this.router.navigate(['/login'])\r\n }\r\n\r\n }\r\n else {\r\n this.router.navigate(['/login'])\r\n }\r\n }\r\n\r\n createUserProfileForSchedulerLinks() {\r\n this.authenticationService.getUserProfile().subscribe((data: any) => {\r\n if (data.dataList.length > 0) {\r\n var user_profile = new UserInfo();\r\n user_profile.email = data.dataList[0].email;\r\n user_profile.userName = data.dataList[0].userName;\r\n user_profile.userPk = data.dataList[0].userPk;\r\n user_profile.userRole = data.dataList[0].userRole;\r\n user_profile.isAdmin = data.dataList[0].isAdmin;\r\n user_profile.isPowerUser = data.dataList[0].isPowerUser;\r\n user_profile.firstName = data.dataList[0].firstName;\r\n user_profile.lastName = data.dataList[0].lastName;\r\n user_profile.locationType = data.dataList[0].locationType;\r\n user_profile.assignedLocations = data.dataList[0].assignedLocations;\r\n SessionDetails.SetUserProfile(user_profile);\r\n }\r\n });\r\n }\r\n\r\n setEncryptedLinkcScheduerInfo(decrypted_data: any) {\r\n let splited_Data = decrypted_data.split(\"|\");\r\n var scheduleuserInfo = new SchedulerUserInfo();\r\n scheduleuserInfo.userName = splited_Data[0];\r\n scheduleuserInfo.userPk = splited_Data[1];\r\n if(scheduleuserInfo.userName =='sm_schedule.appointment')\r\n {\r\n scheduleuserInfo.password = 'FnUuWcC7#dThFjKx';\r\n }\r\n else\r\n {\r\n scheduleuserInfo.password = splited_Data[2];\r\n }\r\n scheduleuserInfo.designPk = splited_Data[3];\r\n scheduleuserInfo.appointmentPK = ((!splited_Data[4] || typeof (splited_Data[4]) == 'string') ? -1 : splited_Data[4]);\r\n scheduleuserInfo.redirectPage = ''// splited_Data[5];\r\n scheduleuserInfo.clinicPK = splited_Data[6] ? splited_Data[6] : -1;\r\n SessionDetails.setSchedulerUserInfo(scheduleuserInfo);\r\n this.router.navigate(['/clientSchedulerApptTracker']);\r\n }\r\n\r\n getAndCreateUserProfileInfo(decrypted_data: any) {\r\n let splited_Data: any = decrypted_data.split(\"|\");\r\n let user_info = new UserLoginInfo();\r\n user_info.userName = splited_Data[0];\r\n if(user_info.userName =='sm_schedule.appointment')\r\n {\r\n user_info.password = 'FnUuWcC7#dThFjKx';\r\n }\r\n else\r\n {\r\n user_info.password = splited_Data[2];\r\n }\r\n\r\n \r\n SessionDetails.SetUserInfo(user_info);\r\n this.authenticationService.getUserProfile().subscribe((data: any) => {\r\n if (data.dataList.length > 0) {\r\n var user_profile = new UserInfo();\r\n user_profile.email = data.dataList[0].email;\r\n user_profile.userName = data.dataList[0].userName;\r\n user_profile.userPk = data.dataList[0].userPk;\r\n user_profile.userRole = data.dataList[0].userRole;\r\n user_profile.isAdmin = data.dataList[0].isAdmin;\r\n user_profile.isPowerUser = data.dataList[0].isPowerUser;\r\n user_profile.firstName = data.dataList[0].firstName;\r\n user_profile.lastName = data.dataList[0].lastName;\r\n user_profile.locationType = data.dataList[0].locationType;\r\n user_profile.assignedLocations = data.dataList[0].assignedLocations;\r\n SessionDetails.SetUserProfile(user_profile);\r\n sessionStorage.removeItem(\"unauth\");\r\n let user_data = this.getUserInfo(41);\r\n var user_info = new UserLoginInfo();\r\n user_info.pk = user_data.pk\r\n user_info.userName = user_data.userName;\r\n if(user_info.userName =='sm_schedule.appointment')\r\n {\r\n user_info.password = 'FnUuWcC7#dThFjKx';\r\n }\r\n else\r\n {\r\n user_info.password = user_data.password;\r\n }\r\n \r\n user_info.role = user_data.role;\r\n SessionDetails.SetUserInfo(user_info);\r\n this.setEncryptedLinkcScheduerInfo(decrypted_data);\r\n }\r\n }, err => {\r\n if (err.status == 401) {\r\n SessionDetails.SetUserInfo(null);\r\n console.log(err.statusText);\r\n\r\n }\r\n });\r\n }\r\n\r\n getUserInfo(pk) {\r\n let user_Data = JSON.parse(JSON.stringify(userLoginData));//for deep copy\r\n let login_Info = user_Data.filter(x => x.pk == pk)[0];\r\n if(login_Info.role !== \"Admin\"){\r\n login_Info.userName=SessionDetails.getD(SessionDetails.absJ,login_Info.userName);\r\n login_Info.password=SessionDetails.getD(SessionDetails.absJ,login_Info.password);\r\n login_Info.role=SessionDetails.getD(SessionDetails.absJ,login_Info.role);\r\n }\r\n return login_Info;\r\n }\r\n ok() {\r\n this.popupShow = false;\r\n }\r\n\r\n getPCAContractAgreementData(agreement_pk, user_type): any {\r\n let is_RHD_approved = false;\r\n this._contractService.getPCAContractAgreement(agreement_pk, user_type).subscribe((data :any)=> {\r\n is_RHD_approved = data.isRHDApproved;\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment.prod';\r\nimport { Util } from '../../../utility/util';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class EncryptLinkService {\r\n constructor(private http:HttpClient) { }\r\n \r\n getEncryptLink(user_pk, email){\r\n let url = environment.API_URL + environment.RESOURCES.SEND_USER_ACCESS_LINK +\"/\"+email +\"/\"+user_pk; \r\n return this.http.get(url,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ReusableModule } from '../../modules/common/components/reusable.module';\r\nimport { NgPipesModule } from 'ngx-pipes';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { LocalClinicDetailsComponent } from './components/local-clinic-details/local-clinic-details.component';\r\nimport { ClinicdetailsService } from './services/clinicdetails.service';\r\nimport { OutreachProgramService } from '../contractaggreement/services/outreach-program.service';\r\nimport { ClinicdetailsstatusComponent } from './components/clinicdetailsstatus/clinicdetailsstatus.component';\r\nimport { QRCodeModule } from 'angularx-qrcode';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { MessageModule } from 'primeng/message';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { KeyFilterModule } from 'primeng/keyfilter';\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { InputMaskModule } from 'primeng/inputmask';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { UniquePipeClinicDetails } from './pipes/clinicUnique.pipe';\r\nimport { EquityEventDetailsComponent } from './components/equity-event-details/equity-event-details.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgPipesModule,\r\n ReusableModule,\r\n CalendarModule,\r\n BrowserAnimationsModule,\r\n // GrowlModule,\r\n MessagesModule,\r\n MessageModule,\r\n ConfirmDialogModule,\r\n DialogModule,\r\n KeyFilterModule,\r\n ReusableModule,\r\n AccordionModule,\r\n AutoCompleteModule,\r\n InputMaskModule,\r\n QRCodeModule,\r\n NgbModule\r\n ], \r\n declarations: [LocalClinicDetailsComponent, ClinicdetailsstatusComponent,UniquePipeClinicDetails, EquityEventDetailsComponent ],\r\n providers: [ClinicdetailsService, OutreachProgramService, ConfirmationService]\r\n })\r\nexport class ClinicDetailsModule { }\r\n","import { Component, OnInit, Input, OnChanges, SimpleChange } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subject, Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-clinicdetailsstatus',\r\n templateUrl: './clinicdetailsstatus.component.html',\r\n styleUrls: ['./clinicdetailsstatus.component.css']\r\n})\r\nexport class ClinicdetailsstatusComponent implements OnInit {\r\n subscription: Subscription;\r\n step: number = 1;\r\n clinicstatus: string = \"Completed Clinic\";\r\n clickedPath = 'LocalClinicProgramDetails';\r\n message: any;\r\n store_id: any;\r\n\r\n @Input(\"totalSteps\") totalSteps: any;\r\n @Input(\"viewSteps\") viewSteps: any;\r\n @Input(\"currentStep\") currentStep: any;\r\n @Input(\"isNoClinic\") isNoClinic:number;\r\n\r\n step1Part1Text:string = \"Contract Approved\";\r\n step1Part2Text:string = \"- Contact Client\";\r\n step2Text:string = \"Confirmed Clinic\";\r\n private onDestroy$ = new Subject();\r\n\r\n constructor(private router: Router) {\r\n if (router.url.search('LocalClinicProgramDetails') > 0) {\r\n this.clickedPath = 'LocalClinicProgramDetails';\r\n }\r\n else if (router.url.search('CommunityOutreachProgramDetails') > 0) {\r\n this.clickedPath = 'CommunityOutreachProgramDetails';\r\n }\r\n else if (router.url.search('CorporateClinicProgramDetails') > 0) {\r\n this.clickedPath = 'CorporateClinicProgramDetails';\r\n }\r\n }\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges(changes: { [propKey: string]: SimpleChange }) {\r\n if (changes[\"viewSteps\"]) {\r\n this.viewSteps = changes[\"viewSteps\"].currentValue;\r\n }\r\n if (changes[\"totalSteps\"]) {\r\n this.totalSteps = changes[\"totalSteps\"].currentValue;\r\n }\r\n if (changes[\"isNoClinic\"]) {\r\n this.isNoClinic = changes[\"isNoClinic\"].currentValue;\r\n }\r\n this.currentStep = ((changes[\"currentStep\"] && changes[\"currentStep\"].currentValue) ? changes[\"currentStep\"].currentValue : this.step);\r\n \r\n this.GoToStep(this.currentStep);\r\n }\r\n\r\n GoToStep(step: number) {\r\n if (step == 2) {\r\n step = 2;\r\n this.clinicstatus = 'Completed Clinic';\r\n }\r\n if (step == -1) {\r\n if (this.totalSteps == 2) {\r\n step = 2;\r\n this.clinicstatus = 'Cancelled Clinic';\r\n } else if (this.totalSteps == 3) {\r\n step = 3;\r\n this.clinicstatus = 'Cancelled Clinic';\r\n }\r\n }\r\n\r\n this.step = step;\r\n if(this.isNoClinic==1){\r\n this.step1Part1Text = \"Provide Vouchers\";\r\n this.step1Part2Text = \"\";\r\n this.step2Text = \"Vouchers Provided\"; \r\n if(this.clinicstatus !== 'Cancelled Clinic'){\r\n this.clinicstatus = \"Completed\";\r\n }\r\n }\r\n else {\r\n this.step1Part1Text = \"Contract Approved\";\r\n this.step1Part2Text = \"– Contact Client\";\r\n this.step2Text = \"Confirmed Clinic\";\r\n }\r\n return;\r\n }\r\n}\r\n","import { of as observableOf, Observable } from 'rxjs';\r\nimport { catchError, switchMap, tap, distinctUntilChanged, debounceTime } from 'rxjs/operators';\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormArray, Validators, NgForm, RequiredValidator } from '@angular/forms';\r\nimport { ClinicdetailsService } from '../../services/clinicdetails.service';\r\nimport { Router } from '@angular/router';\r\nimport { states } from '../../../../JSON/States';\r\nimport { Util } from '../../../../utility/util';\r\nimport { TimeToDatePipe } from '../../../contractaggreement/pipes/time-to-date.pipe';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { ClinicDetailsUpdate, OpportunityInfo, ClinicsUpdateHistoryLogList, ClinicList, ErrorS } from '../../../../models/clinicDetailsUpdate';\r\nimport { String } from 'typescript-string-operations';\r\nimport { DatePipe, DOCUMENT } from '@angular/common';\r\nimport { ClinicDetailsDelete } from '../../../../models/clinicDetailsDelete';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { HeaderserviceService } from '../../../common/services/headerservice.service';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { AlertService } from '../../../../alert.service';\r\nimport { VoucherFormData } from '../../../../models/voucherFormData';\r\nimport { OutreachProgramService } from '../../../contractaggreement/services/outreach-program.service';\r\nimport { LocalField } from '../../../../JSON/localFields';\r\nimport { FormCanDeactivate } from '../../../../guards/form-can-deactivate/form-can-deactivate';\r\nimport { KeysLogPipe } from '../../../store/pipes/keyslog';\r\nimport { CSTDateConvertPipe } from '../../../store/pipes/cstDateConvert';\r\nimport { ImmunizationsClinicalRequirements } from '../../../../config-files/ClinicalRequirements';\r\nimport { ClinicDetailsUtilities } from '../../../../utility/clinicDetailsUtilities';\r\nimport { EncryptDecrypt } from '../../../../models/encryptDecrypt';\r\nimport { SchedulerUserInfo } from '../../../../models/schedulerUserInfo';\r\nimport { AuthenticationService } from '../../../common/services/authentication.service';\r\nimport { COVIDVisits } from '../../../../JSON/COVIDVisits';\r\nimport * as _ from 'lodash';\r\nimport { ContractapproveService } from '../../../contractaggreement/services/contractapprove.service';\r\nimport { adminUserNames } from '../../../../JSON/adminsInformation';\r\nimport { LookupService } from '../../../../lookup.service';\r\nimport { SelectType } from '../../../../models/OutreachOpportunity';\r\nimport { getContractComponentName } from '../../../../utility/loadContracts';\r\nimport { UniquePipeClinicDetails } from '../../pipes/clinicUnique.pipe';\r\nimport * as moment from 'moment';\r\nimport { CompleteClinic } from '../../../../config-files/ClinicalRequirements';\r\n\r\ndeclare var google: any;\r\n\r\n@Component({\r\n selector: 'app-equity-event-details',\r\n templateUrl: './equity-event-details.component.html',\r\n styleUrls: ['./equity-event-details.component.css'],\r\n providers: [TimeToDatePipe, DatePipe, KeysLogPipe, CSTDateConvertPipe, UniquePipeClinicDetails],\r\n outputs: ['fileUploaded']\r\n})\r\nexport class EquityEventDetailsComponent extends FormCanDeactivate implements OnInit {\r\n isApptSchedulerDisabled: boolean = null;\r\n showAppointmentScheduler: boolean = false;\r\n immunizers: number;\r\n signUpEndDate: Date;\r\n dispEncryptedLink: boolean = false;\r\n isApptSchedulerEncLink: boolean = false;\r\n isApptTrackingEncLink: boolean = false;\r\n accessLinkHeaderTitle: string = \"Shared Encrypted Access Link\";\r\n apptSchedulerEncLink: string;\r\n copyApptTrackingEncLink: string;\r\n copyText: any;\r\n encryptedSiteLink: boolean = false;\r\n accessSchedulerEncryptedLink: any;\r\n encryptedClientApptTrackingLink: boolean = false;\r\n accessSchedulerTrackerEncryptedLink: any;\r\n isEncryptLinkNull: boolean = false;\r\n domain: any;\r\n protocol: any;\r\n port: any;\r\n estimatedImmunizers: Number = 1;\r\n form: NgForm;\r\n isAmendAgreementPopUp = false;\r\n showCanRouteChange: boolean;\r\n isCovid: boolean;\r\n isFlu: boolean;\r\n showHints: boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) === 'yes') ? false : true;\r\n pageName: string = \"equityeventprogramdetails\";\r\n ShowDeleteAmendAgreement: boolean = false;\r\n showRemoveCancelledStatus: boolean = false;\r\n showLastLogStatus: boolean = false;\r\n clinicDetailsForm: FormGroup;\r\n corporateForm: FormGroup;\r\n reassignForm: FormGroup;\r\n coClinicDetails: ClinicDetailsUpdate = new ClinicDetailsUpdate();\r\n clinic_details_update: ClinicDetailsUpdate = new ClinicDetailsUpdate();\r\n validateCancel: boolean = null;\r\n isAmendButtonEnable: boolean = true;\r\n disableCancelIfTotalAdmPresent: boolean = null;\r\n validateComplete: boolean = null;\r\n validateConfirm: boolean = null;\r\n IsAmendSubmit: boolean = false;\r\n IsnoclinicvouchersDistributed: boolean = false;\r\n states: any[];\r\n dlgDispCOViewAgreement: boolean = false;\r\n defaultDate: Date = new Date();\r\n maxDateValue: Date = new Date(this.defaultDate.getFullYear() + 5, this.defaultDate.getMonth(), this.defaultDate.getDate());\r\n minDateValue: Date = new Date();\r\n clinicLocation: number;\r\n deleteAgreement: boolean = false;\r\n shouldDisableVouchersDistributed: boolean = null;\r\n isDeleteAmendAgreement: boolean = false;\r\n storeV: boolean = false;\r\n distV: boolean = false;\r\n ariaV: boolean = false;\r\n storeV1: boolean = true;\r\n distV1: boolean = true;\r\n ariaV1: boolean = true;\r\n gropId: boolean = false;\r\n event_details: any;\r\n is_copay: boolean = false;\r\n voucher_needed: boolean = false;\r\n defaultStartTime: Date;\r\n savePopUp: boolean = false;\r\n vouchersDistributed: number = null;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n user_profile: any;\r\n savedViaReassignBtn: boolean = false;\r\n showClinicCancelDlg: boolean = false;\r\n locListModalDlg: boolean = false;\r\n getDetailsErr: boolean = false;\r\n userApprovedGt250: boolean = false;\r\n userApprovedLt25: boolean = false;\r\n locConfirm250ModalDlg: boolean = false;\r\n locConfirm25ModalDlg: boolean = false;\r\n is_cancelled: boolean = false;\r\n is_completed: boolean = false;\r\n is_confirmed: boolean = false;\r\n savePopUpStatus: boolean = false;\r\n is_no_clinc: number = 0;\r\n is_voucher_needed: boolean = null;\r\n is_voucher_neededForEQ: boolean = false;\r\n is_flu_group_id: boolean = false;\r\n is_routine_group_id: boolean = false;\r\n is_admin: boolean = false;\r\n area_dist = [];\r\n clinic_number: any = 1;\r\n intakeID: string = '';\r\n searching = false;\r\n searchFailed = false;\r\n assignType: string;\r\n assignStore: number;\r\n step_value: any = 1;\r\n is_flu_date: boolean = false;\r\n is_routine_date: boolean = false;\r\n isVARSectionShow: boolean = false;\r\n isVoucherSectionShow: boolean = false;\r\n isFluVoucher: boolean = false;\r\n isRoutineVoucher: boolean = false;\r\n isCovidVoucher: boolean = false;\r\n is_covid_date: boolean = false;\r\n varFormSP: string = \"\";\r\n fluFormSP: string = \"\";\r\n routingformSP: string = \"\";\r\n covidformSP: string = \"\";\r\n max_clinic_location_id: number;\r\n naClinicGroupId: any;\r\n naClinicGroupIdOriginal: any;\r\n is_previous_locations: boolean = false;\r\n previous_location_data: any[];\r\n display_message: boolean = false;\r\n previous_locations: any[];\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n zipCode: any;\r\n updateLogHistory: any = [];\r\n AssignedStoreChkModalDlg: boolean = false;\r\n maintainStatusSelected: boolean = true;\r\n action_status: string = null;\r\n FluDosesValidUnder14DaysDlg = false;\r\n isfluexpirationDate: boolean = false;\r\n isroutineexpirationDate: boolean = false;\r\n isCovidExpirationDate: boolean = false;\r\n isNewClinicAdded: boolean = false;\r\n rescheduledErrorCode: number = 0;\r\n isOverride: boolean = false;\r\n errorMsgOverride: boolean = false;\r\n errorMsgSaveChanges: boolean = false;\r\n viewSteps: boolean = true;\r\n totalSteps: number = 3;\r\n currentStep: number;\r\n errorPopUp: boolean = false;\r\n usPhoneNoRegEx: RegExp = /^((\\(\\d{3}\\) ?)|(\\d{3}-))?\\d{3}-\\d{4}$/\r\n ConfirmBtnLabel = \"Confirm\";\r\n storeSearchRsp = null;\r\n clinicNotConfirmedMsgDlg = false;\r\n isNoClinic: number = 0;\r\n reAssignOutreachStatusLabel: string = \"Contact Client\";\r\n showRemoveCancelledStatusDlg: boolean = false;\r\n showRemoveCancelledStatusResult: boolean = false;\r\n showClinicalRequirements: boolean = false;\r\n clinicalRequirements: any = [];\r\n canDisableClinicalRequirements: boolean = null;\r\n clinicalReqUserNote: string;\r\n clinicType: number = 0;\r\n BillingVaccinesCol1Heading = \"Vaccines Covered\";\r\n BillingVaccinesCol2Rates = \"\";\r\n BillingVaccinesCol3PaymentMethod = \"Payment Method\";\r\n BillingVaccinesCol4EstVol = \"Estimated Volume\";\r\n BillingVaccinesCol5TtlAdmn = \"\";\r\n BillingVaccinesCol6VARs = \"Paper VARs Completed\";\r\n adminConfirmedCancellation: boolean = false;\r\n adminCancellationAlert: boolean = false;\r\n showBlockedSlotAlert = false;\r\n overrideBlockedSlotAlert = false;\r\n OverrideOrOkTitle: string = \"Override\";\r\n showCancelBtn: boolean = false;\r\n public myAngularxQrCode: string = null;\r\n isCovidVaccineAvailable: boolean = false;\r\n COVIDVisits: any[];\r\n isNonCovidVaccineAvailable: boolean = true;\r\n storeState: string;\r\n is_Admin: boolean = false;\r\n status: boolean = false;\r\n showEstQnt: boolean = false;\r\n showSchedulerAlert: boolean = false;\r\n showDeleteClinic: boolean = false;\r\n showAfterClinicDelete: boolean = false;\r\n specificAdmin: boolean = false;\r\n Action: string = '';\r\n areApptsPresent: boolean = false;\r\n covidOpportunityType: number = 0;\r\n apptSchedulerType: any = 0;\r\n pData: string = \"\";\r\n isremove: boolean = false;\r\n immunizations: any;\r\n headerMessage: string = \"\";\r\n confirmationMessage: string = \"\";\r\n disableTotalAdministered: boolean = null;\r\n clinicAgreementDateApproved: any;\r\n currentStoreId: any;\r\n showCuraScheduler: boolean = false;\r\n isAmendAgreementCommOutreachPopUp: boolean;\r\n canEditPatientGroupId: boolean = false;\r\n cOPForceUncheck: boolean = false;\r\n disableCuraPatientScheduler: boolean = false;\r\n isProd: boolean = false;\r\n envvariable: string = \"\";\r\n cancelDispositions: SelectType[] = [];\r\n selectedCancelDisposition: string = '';\r\n displayCancelError: boolean = false;\r\n routePageName: string = '';\r\n isWagsFreeFluVoucherSelected = false;\r\n covidVaccineWarningOkClicked = false;\r\n covidVaccineSelected = false;\r\n isSuperAdmin = false;\r\n clinicPK: number;\r\n schedularType: number;\r\n selectedappointementDetails: any = [];\r\n completeClinicHeader: string;\r\n hasCompleteClinicClicked = false;\r\n // visibleInoviceButton = false;\r\n\r\n constructor(\r\n @Inject('Window') private win: Window,\r\n @Inject(DOCUMENT) private document: any,\r\n private formBuilder: FormBuilder,\r\n private _headerservice: HeaderserviceService,\r\n private coClinicdetailsService: ClinicdetailsService,\r\n private _timeToDatePipe: TimeToDatePipe,\r\n private confirmationService: ConfirmationService,\r\n private _datePipe: DatePipe,\r\n private utility: Util,\r\n private _localContractService: OutreachProgramService,\r\n private router: Router,\r\n private _alertService: AlertService,\r\n private messageService: MessageServiceService,\r\n private _keysPipe: KeysLogPipe,\r\n private spinner: NgxSpinnerService,\r\n private authenticationService: AuthenticationService,\r\n private _apiservice: ContractapproveService,\r\n private _lookupService: LookupService,\r\n private _uniquePipeClinicDetails: UniquePipeClinicDetails\r\n ) {\r\n super();\r\n this.messageService.getCanShowRouteChangeConfirmation().subscribe(message => {\r\n this.showCanRouteChange = message.text;\r\n });\r\n this.adminConfirmedCancellation = false;\r\n let userProfile = SessionDetails.GetUserProfile();\r\n this.is_Admin = adminUserNames.filter(item => item.toLowerCase() == userProfile.userName.toLowerCase()).length > 0;\r\n this.isSuperAdmin = adminUserNames.filter(item => item.toLowerCase() == userProfile.userName.toLowerCase()).length > 0;\r\n }\r\n\r\n stampImm(immunization, index) {\r\n // console.log(immunization.controls.immunizationName.value);\r\n // console.log('index-'+index);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.domain = this.document.location.hostname;\r\n this.protocol = this.document.location.protocol;\r\n this.completeClinicHeader = CompleteClinic.completeClinic;\r\n this.port = this.document.location.port;\r\n if (sessionStorage[\"AmendAgreement\"] != null)\r\n sessionStorage.removeItem(\"AmendAgreement\");\r\n\r\n if (sessionStorage[\"NewAmendAgreement\"] != null)\r\n sessionStorage.removeItem(\"NewAmendAgreement\");\r\n\r\n if (sessionStorage[\"isStoreBusinessClinicAdded\"] != null)\r\n sessionStorage.removeItem(\"isStoreBusinessClinicAdded\");\r\n\r\n this.isVARSectionShow = false;\r\n this.isVoucherSectionShow = false;\r\n this.isFluVoucher = false;\r\n this.isRoutineVoucher = false;\r\n this.clinicType = 0;\r\n this.storeState = SessionDetails.GetState();\r\n this.user_profile = SessionDetails.GetUserProfile();\r\n\r\n if (environment.SuperAdmins.includes(this.user_profile.userName.toLowerCase())) {\r\n this.isSuperAdmin = true;\r\n this.canEditPatientGroupId = true;\r\n }\r\n if (SessionDetails.GetState() == \"PR\") {\r\n this.varFormSP = \"Vaccine Administration Record (VAR) form – Puerto Rican Spanish\";\r\n this.fluFormSP = \"Flu Voucher – Puerto Rican Spanish\";\r\n this.routingformSP = \"Routine Voucher – Puerto Rican Spanish\";\r\n this.covidformSP = \"Covid Voucher – Puerto Rican Spanish\";\r\n }\r\n else {\r\n this.varFormSP = \"Vaccine Administration Record (VAR) form – Spanish\";\r\n this.fluFormSP = \"Flu Voucher – Spanish\";\r\n this.routingformSP = \"Routine Voucher – Spanish\";\r\n this.covidformSP = \"Covid Voucher – Spanish\";\r\n }\r\n let today = new Date();\r\n var userProfile = SessionDetails.GetUserProfile();\r\n if (userProfile.userRole.toLowerCase() == \"admin\") {\r\n this.gropId = true;\r\n }\r\n if (this.utility.isStoreIsfromRestrictedState()) {\r\n if (userProfile.userRole.toLowerCase() == \"store manager\" || userProfile.userRole.toLowerCase() == \"pharmacy manager\") {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);// + 14\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);// + 14\r\n }\r\n else {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n }\r\n if (ClinicDetailsUtilities.checkIfAnyFluImmIsSelected(this.coClinicDetails)) {\r\n this.maxDateValue = new Date(today.getFullYear() + 1, 3, 1, 12, 55, 55);\r\n }\r\n else {\r\n this.maxDateValue = new Date(today.getFullYear() + 1, today.getMonth(), today.getDate() - 1, 12, 55, 55);\r\n }\r\n }\r\n else {\r\n if (userProfile.userRole.toLowerCase() == \"store manager\" || userProfile.userRole.toLowerCase() == \"pharmacy manager\") {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());// + 14\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate());// + 14\r\n\r\n } else {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n }\r\n this.maxDateValue = new Date(today.getFullYear() + 5, today.getMonth(), today.getDate() - 1);\r\n }\r\n if (['CommunityUpdate@WagOutreach.com', 'jerry.v.thomas@walgreens.com', 'samuel.nass@walgreens.com', 'carlos.flores@walgreens.com', 'enterpriseimmunizationservice@walgreens.com', 'tyrone.clark@walgreens.com'].indexOf(userProfile.email) > -1) {\r\n let today = new Date();\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n\r\n this.minDateValue.setMonth(this.minDateValue.getMonth() - 6);\r\n this.minDateValue.setDate(this.minDateValue.getDate() + 4);\r\n }\r\n this.defaultStartTime = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n this.is_admin = this.user_profile.isAdmin;\r\n\r\n if ((this.user_profile.userRole.toLowerCase() == \"store manager\" || this.user_profile.userRole.toLowerCase() == \"pharmacy manager\")) {\r\n this.storeV1 = false;\r\n this.distV1 = true;\r\n this.ariaV1 = true;\r\n }\r\n this.corporateForm = this.formBuilder.group({\r\n name: ['', null],\r\n phone: ['', null],\r\n fax: ['', null],\r\n address1: ['', null],\r\n address2: ['', null],\r\n email1: ['', null],\r\n email2: ['', null],\r\n city: ['', null],\r\n state: ['', null],\r\n zip: ['', null],\r\n isTaxExempt: ['', null],\r\n isCopay: ['', null],\r\n copayValue: ['', null],\r\n isVoucherNeeded: ['', null],\r\n fluexpirationDate: ['', null],\r\n routineexpirationDate: ['', null],\r\n covidExpirationDate: ['', null],\r\n });\r\n this.reassignForm = this.formBuilder.group({\r\n assignType: [null, null],\r\n assignStoreID: [null, null],\r\n assignStore: ['', null],\r\n });\r\n\r\n SessionDetails.fromLocalclinics(false);\r\n this.event_details = SessionDetails.GetEventDetails();\r\n this.COVIDVisits = COVIDVisits;\r\n this.bindControls1();\r\n this.bindLocalClinicData();\r\n if (this.router.url.search('LocalClinicProgramDetails') > 0 || this.router.url.search('CorporateClinicProgramDetails') > 0) {\r\n this.totalSteps = 3;\r\n }\r\n else if (this.router.url.search('CommunityOutreachProgramDetails') > 0) {\r\n this.totalSteps = 2;\r\n }\r\n else if (this.router.url.search('CharityProgramDetails') > 0) {\r\n this.totalSteps = 2;\r\n }\r\n else if (this.router.url.search('EquityEventDetails') > 0) {\r\n this.totalSteps = 2;\r\n }\r\n SessionDetails.setIsPCA(false);\r\n SessionDetails.setIsSR(false);\r\n this._alertService.sendWarningAlert(true, false, false);\r\n this.coClinicdetailsService.cacheCPTokenData().subscribe((data: any) => {\r\n\r\n this.pData = data;\r\n this.spinner.hide();\r\n },\r\n err => {\r\n this.spinner.hide();\r\n // this.showErrDialogThenGoToHome(ErrorMessages['clinicDetailsErrHeader'], err.json().Message);\r\n });\r\n\r\n this.currentStoreId = JSON.parse(sessionStorage.store_profile)[0].storeId;\r\n // this.showCuraScheduler = [59406,59407].indexOf(this.currentStoreId) > -1\r\n this._lookupService.getLookUpValues('disposition', 'disposition')\r\n .subscribe(\r\n (data: SelectType[]) => {\r\n this.cancelDispositions = data;\r\n },\r\n (error) => {\r\n console.log(\"Failed to get cancelled disposition lookup values. \", error)\r\n }\r\n );\r\n\r\n\r\n }\r\n getContractAgreementApproveData(cpk: any) {\r\n this._apiservice.getContractAgreementApproveData(cpk).subscribe((data: any) => {\r\n this.clinicAgreementDateApproved = data.dateApproved;\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n });\r\n }\r\n\r\n getPaymentTypes(immunization) {\r\n\r\n if (this.coClinicDetails.opportunityInfo.clinicType != 3 && this.coClinicDetails.opportunityInfo.clinicType != 5) {\r\n let immPk = immunization.controls.immunizationPk.value;\r\n let paymentTypes = '';\r\n let immzs = this.coClinicDetails.clinicImmunizationList.filter(p => p.immunizationPk == immPk);\r\n immzs.forEach((element, index, array) => {\r\n paymentTypes += `

`\r\n // this.immunizations.filter(p=>p.)\r\n paymentTypes += element.paymentTypeName;\r\n paymentTypes += ' ';\r\n if (element.paymentTypeId == 14) {\r\n paymentTypes += '';\r\n\r\n }\r\n else if (element.price > 0) {\r\n paymentTypes += '($';\r\n paymentTypes += (Math.round(element.price * 100) / 100).toFixed(2);\r\n paymentTypes += ')';\r\n }\r\n if (index !== (array.length - 1)) {\r\n paymentTypes += ',';\r\n }\r\n paymentTypes += `

`\r\n });\r\n return paymentTypes;\r\n }\r\n else if (this.coClinicDetails.opportunityInfo.clinicType == 3 || this.coClinicDetails.opportunityInfo.clinicType == 5) {\r\n let immPk = immunization.controls.immunizationPk.value;\r\n let paymentTypes = '';\r\n let immzs = this.coClinicDetails.clinicImmunizationList.filter(p => p.immunizationPk == immPk);\r\n immzs.forEach((element, index, array) => {\r\n paymentTypes += `

`\r\n let paymentName = '';\r\n if (element.paymentTypeId == 7) {\r\n paymentName = 'Cash Paid by Employee';\r\n }\r\n else if (element.paymentTypeId == 11) {\r\n paymentName = 'Submit Claims to Insurance';\r\n }\r\n else if (element.paymentTypeId == 6) {\r\n paymentName = 'Off-Site: Corporate to Invoice Employer Directly';\r\n }\r\n\r\n paymentTypes += paymentName;\r\n paymentTypes += ' ';\r\n if (element.price > 0) {\r\n paymentTypes += '($';\r\n paymentTypes += (Math.round(element.price * 100) / 100).toFixed(2);\r\n paymentTypes += ')';\r\n }\r\n if (index !== (array.length - 1)) {\r\n paymentTypes += ',';\r\n }\r\n paymentTypes += `

`\r\n });\r\n return paymentTypes;\r\n }\r\n }\r\n\r\n bindLocalClinicData() {\r\n this.clinicalRequirements = [];\r\n this.spinner.show();\r\n this.is_flu_group_id = false;\r\n this.is_routine_group_id = false;\r\n this.showLastLogStatus = false;\r\n this.coClinicdetailsService.geLocalClinicDetails(this.event_details.clinicPk, this.user_profile.userRole).subscribe((data: any) => {\r\n this.getContractAgreementApproveData(data.opportunityInfo.clinicAgreementPk);\r\n // console.log(data.opportunityInfo);\r\n // \r\n let userProfile = SessionDetails.GetUserProfile();\r\n\r\n this.clinicPK = data.clinicList[0].clinicPk;\r\n const apptSchedulerTypeForCP = data.clinicList[0].apptSchedulerType;\r\n this.schedularType = apptSchedulerTypeForCP;\r\n\r\n this.coClinicdetailsService.getclinicappointmentdetails(this.clinicPK).subscribe((result: any) => {\r\n this.selectedappointementDetails = result;\r\n });\r\n if (data.opportunityInfo.IsLTCFdesignatedOpprtunity == true && apptSchedulerTypeForCP == 0) {\r\n this.showCuraScheduler = true;\r\n this.isremove = true;\r\n }\r\n else if (apptSchedulerTypeForCP === 1) {\r\n this.showCuraScheduler = false;\r\n this.isremove = false;\r\n }\r\n else if (apptSchedulerTypeForCP === 2 && !this.isSuperAdmin) {\r\n this.showCuraScheduler = true;\r\n this.isremove = true;\r\n }\r\n else if (apptSchedulerTypeForCP == 1 && this.isSuperAdmin) {\r\n this.showCuraScheduler = true;\r\n this.isremove = false;\r\n }\r\n else {\r\n this.showCuraScheduler = false;\r\n this.isremove = false;\r\n }\r\n //removing visitType from response for task 839\r\n data.clinicList = data.clinicList.map(({ visitType, ...rest }) => {\r\n return rest;\r\n });\r\n if (data.errorS !== null && data.errorS.errorCode !== 0) {\r\n this.spinner.hide();\r\n this.showErrDialogThenGoToHome(ErrorMessages['clinicDetailsErrHeader'], data.errorS.errorMessage);\r\n return false;\r\n }\r\n // writing this to disable CP as COP has been selected in the past\r\n // \r\n this.disableCuraPatientScheduler = data.clinicsUpdateHistoryLogList.filter(p => p.updatedField == 'Appointment Scheduler Type' && !this.isSuperAdmin && p.updatedValue == 'Community Outreach Portal Scheduler').length > 0 == true ? true : null;\r\n this.disableTotalAdministered = data.clinicList[0].apptSchedulerType == 2 && !this.is_admin ? true : null;\r\n this.areApptsPresent = data.clinicList[0].areApptsPresent;\r\n this.isCovid = data.clinicList[0].isCovidClinic;\r\n this.isFlu = data.clinicList[0].isCovidClinic;\r\n this.max_clinic_location_id = data.opportunityInfo.maxClinicLocationId;\r\n this.clinicType = data.opportunityInfo.clinicType;\r\n this.intakeID = data.clinicList[0].intakeID;\r\n for (let item in data) {\r\n if (data[item] != null && typeof data[item] == 'boolean') {\r\n data[item] = (data[item] == true) ? 1 : 0;\r\n } else if (data[item] != null && typeof data[item] == 'object') {\r\n for (var i = 0; i < data[item].length; i++) {\r\n for (let sub_item in data[item][i]) {\r\n if ((sub_item.indexOf('Date') > -1 || sub_item.indexOf('clinicScheduledOn') > -1) && typeof data[item][i][sub_item] == 'string') {\r\n //var dt = new Date(data[item][i][sub_item]);\r\n //data[item][i][sub_item] = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate(), 8, 5, 5); \r\n var temp_dt = data[item][i][sub_item].substring(0, data[item][i][sub_item].indexOf('T'));\r\n let temp_dt_parts = temp_dt.split('-');\r\n var dt = new Date(temp_dt_parts[0], temp_dt_parts[1] - 1, temp_dt_parts[2], 18, 30, 30);\r\n data[item][i][sub_item] = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate(), 18, 30, 30);\r\n\r\n } else if ((sub_item.indexOf('Time') > -1)) {\r\n if (data[item][i][sub_item] != null) {\r\n if (data[item][i][sub_item].indexOf('AM') > -1) {\r\n data[item][i][sub_item] = data[item][i][sub_item].substring(0, data[item][i][sub_item].indexOf('AM')) + ' ' + data[item][i][sub_item].substring(data[item][i][sub_item].indexOf('AM'));\r\n } else if (data[item][i][sub_item].indexOf('PM') > -1) {\r\n data[item][i][sub_item] = data[item][i][sub_item].substring(0, data[item][i][sub_item].indexOf('PM')) + ' ' + data[item][i][sub_item].substring(data[item][i][sub_item].indexOf('PM'));\r\n }\r\n }\r\n }\r\n else if (typeof data[item][i][sub_item] == 'boolean') {\r\n data[item][i][sub_item] = (data[item][i][sub_item] == true) ? 1 : 0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.coClinicDetails = data;\r\n\r\n var immDistinct = Array.from(new Set(this.coClinicDetails.clinicList[0].clinicImzQtyList.map(x => x.immunizationPk)));\r\n immDistinct.forEach(element => {\r\n let frmGrps = this.coClinicDetails.clinicList[0].clinicImzQtyList.filter(p => p.immunizationPk == element);\r\n frmGrps.forEach((element, index) => {\r\n if (index > 0)\r\n element.totalImmAdministered = 0;\r\n });\r\n });\r\n\r\n // this.isremove = data.opportunityInfo.covidOpportunityType==1?true:false\r\n if (data.opportunityInfo.clinicType == 3 || data.opportunityInfo.IsLTCFdesignatedOpprtunity == true && apptSchedulerTypeForCP == 0) {\r\n this.showCuraScheduler = true;\r\n this.isremove = true;\r\n }\r\n else if (apptSchedulerTypeForCP === 1) {\r\n this.showCuraScheduler = false;\r\n this.isremove = false;\r\n }\r\n else if (apptSchedulerTypeForCP === 2) {\r\n this.showCuraScheduler = true;\r\n this.isremove = true;\r\n }\r\n else {\r\n this.showCuraScheduler = false;\r\n this.isremove = false;\r\n }\r\n\r\n\r\n if (data.clinicList[0].isApptSchedulerEnabled === 1) {\r\n this.coClinicDetails.clinicList[0].isApptSchedulerEnabled = true;\r\n }\r\n if (data.clinicList[0].isApptSchedulerEnabled === 0) {\r\n this.coClinicDetails.clinicList[0].isApptSchedulerEnabled = false;\r\n }\r\n this.coClinicDetails.pData = this.pData;\r\n if (this.coClinicDetails.clinicList[0].isCancelled == true && this.is_Admin) {\r\n this.showRemoveCancelledStatus = true;\r\n }\r\n if ([2, 6].indexOf(this.coClinicDetails.opportunityInfo.clinicType) > -1) {\r\n if ((this.coClinicDetails.clinicList[0].isCancelled == true || this.coClinicDetails.clinicList[0].isCompleted == true) && this.is_Admin) {\r\n this.showLastLogStatus = true;\r\n }\r\n }\r\n else {\r\n if ((this.coClinicDetails.clinicList[0].isCancelled == true || this.coClinicDetails.clinicList[0].isConfirmed == true || this.coClinicDetails.clinicList[0].isCompleted == true) && this.is_Admin) {\r\n this.showLastLogStatus = true;\r\n }\r\n }\r\n if (this.coClinicDetails.opportunityInfo.childClinicAgreementId != null && this.coClinicDetails.opportunityInfo.childClinicAgreementId > 0) {\r\n this.ShowDeleteAmendAgreement = true;\r\n }\r\n this.isNoClinic = this.coClinicDetails.clinicList[0].isNoClinic;\r\n\r\n if (this.coClinicDetails.clinicList[0].isNoClinic == 1) {\r\n if (this.coClinicDetails.clinicList[0].isConfirmed != 1) {\r\n this.ConfirmBtnLabel = \"Provided Vouchers\";\r\n }\r\n else if (this.coClinicDetails.clinicList[0].isConfirmed == 1) {\r\n this.ConfirmBtnLabel = \"Vouchers Provided\";\r\n }\r\n }\r\n else {\r\n this.coClinicDetails.clinicList[0].isConfirmed == 1 ? this.ConfirmBtnLabel = \"Confirmed\" : this.ConfirmBtnLabel = \"Confirm\";\r\n }\r\n this.enableDisableClinicDates();\r\n // this.logHistory= this.historyGroup.transform(this.coClinicDetails.clinicsUpdateHistoryLogList,'updatedOn')\r\n var ala_sql = require('alasql');\r\n let source = this.coClinicDetails.clinicsUpdateHistoryLogList;\r\n source.reverse();\r\n let updateLogHistoryQuery = ala_sql(\"SELECT updatedOn, updateAction, ARRAY({updateSubCategory:x.updateSubCategory, updatedField:x.updatedField}) AS updateField, ARRAY({updateSubCategory:x.updateSubCategory, updatedValue:x.updatedValue}) as updatedValue, x.updatedBy updatedBy \\\r\n FROM ? x \\\r\n GROUP BY updatedOn,updateAction,updatedBy ORDER BY updatedOn DESC\", [source]);\r\n for (var i = 0; i < updateLogHistoryQuery.length; i++) {\r\n // if(updateLogHistoryQuery[i].updateField && updateLogHistoryQuery[i].updateField[0].key){\r\n updateLogHistoryQuery[i].updateField = (updateLogHistoryQuery[i].updateField == \"null\") ? \"\" : this._keysPipe.transform(updateLogHistoryQuery[i].updateField);\r\n updateLogHistoryQuery[i].updatedValue = this._keysPipe.transform(updateLogHistoryQuery[i].updatedValue);\r\n }\r\n // }\r\n\r\n // 863 fix\r\n const keyToRemove = \"Pharmacist Information\";\r\n updateLogHistoryQuery.forEach(element => {\r\n const filteredField = element.updateField.filter((item) => item.key != keyToRemove);\r\n const filteredValue = element.updatedValue.filter((item) => item.key != keyToRemove);\r\n\r\n element.updateField = [];\r\n element.updateField.push(...filteredField);\r\n\r\n element.updatedValue = [];\r\n element.updatedValue.push(...filteredValue);\r\n });\r\n\r\n this.updateLogHistory = updateLogHistoryQuery;\r\n\r\n this.naClinicGroupIdOriginal = this.coClinicDetails.opportunityInfo.naClinicGroupId;\r\n this.naClinicGroupId = this.coClinicDetails.opportunityInfo.naClinicGroupId;\r\n\r\n if (this.naClinicGroupId && this.naClinicGroupId.toLowerCase().search('(flu)') !== -1) {\r\n this.naClinicGroupId = this.naClinicGroupId.replace('(flu)', ' (flu)');\r\n\r\n }\r\n if (this.naClinicGroupId && this.naClinicGroupId.toLowerCase().search('(routine)') !== -1) {\r\n this.naClinicGroupId = this.naClinicGroupId.replace('(routine)', ' (routine)');\r\n }\r\n\r\n // \r\n if (this.naClinicGroupId != null && this.naClinicGroupId != '') {\r\n var updategroupid = '';\r\n\r\n var IsFLUVVoucherIncluded = this.naClinicGroupId.includes('FLUV');\r\n var IsROUVVoucherIncluded = this.naClinicGroupId.includes('ROUV');\r\n if (IsFLUVVoucherIncluded == true || IsROUVVoucherIncluded == true) {\r\n var splitData = this.naClinicGroupId.split(',');\r\n if (splitData.length > 0) {\r\n splitData.forEach((element, index) => {\r\n\r\n if (!element.includes('FLUV') && !element.includes('ROUV')) {\r\n if (index == 0) {\r\n updategroupid += element;\r\n }\r\n if (index > 0) {\r\n updategroupid = updategroupid + ',' + element;\r\n }\r\n }\r\n\r\n if (element.indexOf('and') > -1) {\r\n var splitData = element.split('and');\r\n if (splitData.length > 0) {\r\n\r\n splitData.forEach(element => {\r\n if (!element.includes('FLUV') && !element.includes('ROUV')) {\r\n if (index == 0) {\r\n updategroupid += element;\r\n }\r\n if (index > 0) {\r\n updategroupid = updategroupid + ',' + element;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n this.naClinicGroupId = updategroupid;\r\n }\r\n }\r\n\r\n let imz_count = 0;\r\n this.coClinicDetails.clinicImmunizationList.forEach(imz => {\r\n\r\n // if (imz.paymentTypeId == 13) {\r\n // this.visibleInoviceButton = true;\r\n // }\r\n // if (imz.paymentTypeId == 6) {\r\n // this.visibleInoviceButton = true;\r\n // }\r\n if (imz.paymentTypeId == 13 && imz.isVoucherNeeded) {\r\n this.is_voucher_needed = imz.isVoucherNeeded;\r\n }\r\n\r\n if (imz.paymentTypeId == 14 && imz.immunizationPk == 31) {\r\n this.is_voucher_neededForEQ = true;\r\n }\r\n else {\r\n this.is_voucher_neededForEQ = false;\r\n }\r\n\r\n\r\n if (ImmunizationsClinicalRequirements[\"immunizations\"].indexOf(imz.immunizationName) > -1 && JSON.stringify(this.clinicalRequirements).indexOf(imz.immunizationName) == -1) {\r\n this.clinicalRequirements.push({\r\n \"imzName\": imz.immunizationName,\r\n \"imzReqText\": String.Format(ImmunizationsClinicalRequirements[\"imzClinicalrequirementsText\"][\"imzText\"], ImmunizationsClinicalRequirements[\"imzClinicalReqAgeGroups\"][imz.immunizationName], imz.immunizationName, ImmunizationsClinicalRequirements[\"links\"][imz.immunizationName], ImmunizationsClinicalRequirements[\"additionalLinks\"][imz.immunizationName]),\r\n \"imzChkText\": String.Format(ImmunizationsClinicalRequirements[\"imzClinicalrequirementsText\"][\"chkText\"], imz.immunizationName, ImmunizationsClinicalRequirements[\"imzClinicalReqAgeGroups\"][imz.immunizationName], ImmunizationsClinicalRequirements[\"links\"][imz.immunizationName]),\r\n \"imzIndex\": imz_count\r\n });\r\n this.showClinicalRequirements = true;\r\n }\r\n\r\n if (imz.paymentTypeId == 13 && imz.isCopay && imz.immunizationName.toLowerCase().search('flu') !== -1 &&\r\n this.coClinicDetails.opportunityInfo.naClinicGroupId.search('pending copay group id') !== -1 && this.utility.isAdminAllowedToAddGroupId()) {\r\n this.is_flu_group_id = true;\r\n }\r\n if (imz.paymentTypeId == 13 && imz.isCopay && imz.immunizationName.toLowerCase().search('flu') == -1 &&\r\n this.coClinicDetails.opportunityInfo.naClinicGroupId.search('pending copay group id') !== -1 && this.utility.isAdminAllowedToAddGroupId()) {\r\n this.is_routine_group_id = true;\r\n }\r\n if (imz.paymentTypeId == 13 && (imz.isVoucherNeeded == true || imz.isVoucherNeeded == 1) &&\r\n imz.immunizationName.toLowerCase().search('flu') !== -1) {\r\n this.is_flu_date = true;\r\n this.isFluVoucher = true;\r\n if (!this.is_routine_group_id && !this.is_flu_group_id) {\r\n this.isVoucherSectionShow = true;\r\n }\r\n }\r\n if (imz.paymentTypeId == 13 && (imz.isVoucherNeeded == true || imz.isVoucherNeeded == 1) &&\r\n imz.immunizationName.toLowerCase().search('covid') !== -1) {\r\n this.isRoutineVoucher = true;\r\n this.is_routine_date = true;\r\n }\r\n if (imz.paymentTypeId == 13 && (imz.isVoucherNeeded == true || imz.isVoucherNeeded == 1) &&\r\n (imz.immunizationName.toLowerCase().search('flu') == -1)\r\n ) {\r\n if (imz.immunizationName.toLowerCase().search('covid') == -1) {\r\n this.is_routine_date = true;\r\n this.isRoutineVoucher = true;\r\n }\r\n if (!this.is_routine_group_id && !this.is_flu_group_id) {\r\n this.isVoucherSectionShow = true;\r\n }\r\n }\r\n if ((imz.paymentTypeId == 13 || imz.paymentTypeId == 6) && !this.coClinicDetails.clinicList[0].isNoClinic) {\r\n if (this.coClinicDetails.opportunityInfo.naClinicGroupId.search('pending copay group id') == -1) {\r\n if (this.coClinicDetails.opportunityInfo.covidOpportunityType != 1 && this.coClinicDetails.opportunityInfo.fluOpportunityType != 3) {\r\n this.isVARSectionShow = true;\r\n }\r\n }\r\n }\r\n imz_count++;\r\n });\r\n this.isCovidVaccineAvailable = this.coClinicDetails.clinicImmunizationList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n for (let i = 0; i < this.coClinicDetails.clinicList.length; i++) {\r\n\r\n if (this.coClinicDetails.clinicList[i].clinicDate != null && this.coClinicDetails.clinicList[i].clinicDate != undefined) {\r\n var currentDate = new Date();\r\n var c_date = new Date(this.coClinicDetails.clinicList[i].clinicDate);\r\n this.coClinicDetails.clinicList[i].clinicDate = c_date.getMonth() + 1 + \"/\" + c_date.getDate() + \"/\" + c_date.getFullYear();\r\n if (c_date < currentDate) {\r\n this.minDateValue = null;\r\n }\r\n } else if (this.coClinicDetails.clinicList[i].isNoClinic >= 1) {\r\n this.coClinicDetails.clinicList[i].clinicDate = null;\r\n } else {\r\n var c_date = new Date();\r\n this.coClinicDetails.clinicList[i].clinicDate = c_date.getMonth() + 1 + \"/\" + c_date.getDate() + \"/\" + c_date.getFullYear();\r\n }\r\n this.is_no_clinc = this.coClinicDetails.clinicList[i].isNoClinic;\r\n let is_clinical_req: boolean = false;\r\n this.coClinicDetails.clinicList[i].clinicImzQtyList.forEach(imzQtyItem => {\r\n imzQtyItem[\"imzNameAndPmtMethod\"] = imzQtyItem.immunizationName;\r\n if (ImmunizationsClinicalRequirements[\"immunizations\"].indexOf(imzQtyItem.immunizationName) > -1) {\r\n is_clinical_req = (imzQtyItem.isClinicalReqd) ? true : false;\r\n }\r\n });\r\n\r\n this.canDisableClinicalRequirements = (is_clinical_req) ? true : null;\r\n this.coClinicDetails['clinicalRequirements'] = (is_clinical_req) ? true : false;\r\n }\r\n if (this.showClinicalRequirements) {\r\n this.clinicalReqUserNote = ImmunizationsClinicalRequirements.userNote;\r\n }\r\n\r\n if (this.coClinicDetails.clinicList[0].isCompleted || Number(this.coClinicDetails.clinicList[0].isCompleted) == 1) {\r\n this.validateCancel = true;\r\n this.isAmendButtonEnable = true;\r\n\r\n\r\n let testsSortedByCognome = this.coClinicDetails.clinicsUpdateHistoryLogList.sort((a, b) => (a.updatedOn > b.updatedOn ? -1 : 1));\r\n if (testsSortedByCognome[0].updateAction.toLocaleLowerCase() == 'amended') {\r\n this.IsAmendSubmit = true;\r\n this.step_value = 2;\r\n this.currentStep = 1;\r\n }\r\n else {\r\n this.IsAmendSubmit = false;\r\n this.step_value = 3;\r\n this.currentStep = 2;\r\n }\r\n\r\n\r\n this.validateConfirm = true;\r\n this.is_cancelled = true;\r\n\r\n }\r\n else if (this.coClinicDetails.clinicList[0].isCancelled || Number(this.coClinicDetails.clinicList[0].isCancelled) == 1) {\r\n this.validateCancel = true;\r\n this.isAmendButtonEnable = false;\r\n this.is_cancelled = true;\r\n if (this.coClinicDetails.clinicList[0].isConfirmed || Number(this.coClinicDetails.clinicList[0].isConfirmed) == 1) {\r\n this.validateConfirm = true;\r\n }\r\n this.step_value = -1;\r\n this.currentStep = -1;\r\n }\r\n else if (this.coClinicDetails.clinicList[0].isConfirmed || Number(this.coClinicDetails.clinicList[0].isConfirmed) == 1) {\r\n this.validateConfirm = true;\r\n this.step_value = 2;\r\n this.currentStep = 1;\r\n }\r\n\r\n\r\n if (this.coClinicDetails.clinicList[0].clinicImzQtyList.filter(p => p.totalImmAdministered > 0).length > 0) {\r\n this.disableCancelIfTotalAdmPresent = true;\r\n }\r\n else {\r\n this.disableCancelIfTotalAdmPresent = null;\r\n }\r\n\r\n if (this.clinicType == 2) {\r\n this.BillingVaccinesCol1Heading = \"Vaccines Covered\";\r\n this.BillingVaccinesCol2Rates = \"\";\r\n this.BillingVaccinesCol3PaymentMethod = \"Vouchers Distributed\";\r\n this.BillingVaccinesCol4EstVol = \"Estimated Volume\";\r\n this.BillingVaccinesCol5TtlAdmn = \"Total Administered\";\r\n }\r\n if (data.clinicList[0].apptSchedulerType == 2) {\r\n this.BillingVaccinesCol1Heading = \"Immunization\";\r\n this.BillingVaccinesCol2Rates = \"Rates\";\r\n this.BillingVaccinesCol3PaymentMethod = \"Payment Method\";\r\n this.BillingVaccinesCol4EstVol = \"Est Vol\";\r\n this.BillingVaccinesCol5TtlAdmn = \"Electronic VARs\";\r\n }\r\n else {\r\n this.BillingVaccinesCol1Heading = \"Immunization\";\r\n this.BillingVaccinesCol2Rates = \"Rates\";\r\n this.BillingVaccinesCol3PaymentMethod = \"Payment Method\";\r\n this.BillingVaccinesCol4EstVol = \"Est Vol\";\r\n this.BillingVaccinesCol5TtlAdmn = \"Total Administered\";\r\n }\r\n if (this.utility.isStoreIsfromRestrictedState()) {\r\n if ([1, 2, 6].indexOf(this.clinicType) > -1) {\r\n this._localContractService.getpreviousseasoncliniclocations(this.coClinicDetails.opportunityInfo.clinicAgreementPk, this.coClinicDetails.opportunityInfo.businessPk).subscribe((res: any) => {\r\n this.previous_location_data = res.previousLocationsList;\r\n if (this.previous_location_data.length > 1) {\r\n this.is_previous_locations = true;\r\n this.display_message = true;\r\n }\r\n else {\r\n this.display_message = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n this.clinicLocation = 1;\r\n this.states = states;\r\n let today = new Date();\r\n this.isApptSchedulerDisabled = this.coClinicDetails.clinicList[0].isCancelled\r\n || this.coClinicDetails.clinicList[0].isCompleted\r\n || this.coClinicDetails.clinicList[0].isNoClinic\r\n || this.coClinicDetails.clinicList[0].isApptSchedulerEnabled\r\n || new Date(this.coClinicDetails.clinicList[0].clinicDate) < new Date(today.getFullYear(), today.getMonth(), today.getDate()) ? true : null;\r\n\r\n if (this.coClinicDetails.clinicList[0].apptSchedulerType == 1) {\r\n if (data.appointmentScheduler) {\r\n this.immunizers = data.appointmentScheduler.immunizers;\r\n this.estimatedImmunizers = data.appointmentScheduler.estimatedImmunizers;\r\n this.signUpEndDate = data.appointmentScheduler.signupEndDate;\r\n this.accessSchedulerEncryptedLink = data.appointmentScheduler.encryptedSiteLink;\r\n this.accessSchedulerTrackerEncryptedLink = data.appointmentScheduler.encryptedClientApptTrackingLink;\r\n if (data.appointmentScheduler.enryptedClientKey !== null) {\r\n this.showAppointmentScheduler = data.clinicList[0].apptSchedulerType == 1 && data.clinicList[0].isApptSchedulerEnabled > 0 && data.clinicList[0].isNoClinic != true;\r\n this.isEncryptLinkNull = true;\r\n this.encryptedSiteLink = true;\r\n this.apptSchedulerEncLink = this.win.location.protocol + \"//\" + this.win.location.hostname + \"/ss\" + \"/\" + data.appointmentScheduler.enryptedClientKey;\r\n this.myAngularxQrCode = this.apptSchedulerEncLink;\r\n }\r\n if (data.appointmentScheduler.encryptedClientApptTrackingLink !== null) {\r\n this.encryptedClientApptTrackingLink = true;\r\n this.copyApptTrackingEncLink = this.win.location.protocol + \"//\" + this.win.location.hostname + \"/ss\" + \"/\" + data.appointmentScheduler.encryptedClientApptTrackingLink;\r\n }\r\n }\r\n }\r\n else if ([2, 3].indexOf(this.coClinicDetails.clinicList[0].apptSchedulerType) > -1) {\r\n this.immunizers = -1;\r\n this.estimatedImmunizers = -1;\r\n this.signUpEndDate = this.coClinicDetails.clinicList[0].clinicDate;\r\n this.isEncryptLinkNull = true;\r\n this.encryptedSiteLink = true;\r\n this.apptSchedulerEncLink = this.coClinicDetails.clinicList[0].privateCPSchedulerLink;\r\n this.myAngularxQrCode = this.apptSchedulerEncLink;\r\n }\r\n this.bindControls();\r\n this.clinicDetailsForm.updateValueAndValidity();\r\n this.spinner.hide();\r\n this.isCovidVaccineAvailable = this.coClinicDetails.clinicImmunizationList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n let isFluVaccineAvailable: boolean = this.coClinicDetails.clinicImmunizationList.filter(p => p.immunizationName.search(/Influenza/gi) >= 0).length > 0;\r\n let isRoutineVaccineAvailable: boolean = false;\r\n\r\n\r\n\r\n\r\n\r\n isRoutineVaccineAvailable = this.coClinicDetails.clinicImmunizationList.filter(p => (p.immunizationName.search(/Influenza/gi) == -1) && p.immunizationName.search(/COVID19/gi) == -1).length > 0;\r\n\r\n if (isFluVaccineAvailable || isRoutineVaccineAvailable) {\r\n this.isNonCovidVaccineAvailable = true;\r\n }\r\n else {\r\n this.isNonCovidVaccineAvailable = false;\r\n }\r\n if (this.is_Admin && (this.clinicType == 5 || this.clinicType == 3 || this.clinicType == 7)) {\r\n this.specificAdmin = true;\r\n }\r\n\r\n this.covidOpportunityType = this.coClinicDetails.opportunityInfo.covidOpportunityType;\r\n this.apptSchedulerType = this.coClinicDetails.clinicList[0].apptSchedulerType;\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.showErrDialogThenGoToHome(ErrorMessages['clinicDetailsErrHeader'], err.message);\r\n });\r\n\r\n }\r\n PreviousLocationChange(event) {\r\n if (event != \"\") {\r\n this.display_message = false;\r\n this.previous_locations = this.previous_location_data.filter(item => item.rowId == event);\r\n }\r\n else {\r\n this.display_message = true;\r\n\r\n }\r\n }\r\n //noClinicOptionChanged(formIndex: number, checked: boolean) {\r\n noClinicOptionChanged(formIndex: number, event: any) {\r\n\r\n\r\n let control = this.clinicDetailsForm.controls['clinicList'];\r\n\r\n // if(this.is_voucher_neededForEQ)\r\n if (control.controls[formIndex].value.clinicImzQtyList.some(imzqty => imzqty.immunizationPk == 31 && imzqty.paymentTypeId == 14) && event.target.checked) {\r\n event.preventDefault();\r\n this.isNoClinic = 1;\r\n control.controls[formIndex].get('isNoClinic').setValue(1);\r\n\r\n }\r\n else {\r\n event.preventDefault();\r\n this.isNoClinic = 0;\r\n control.controls[formIndex].get('isNoClinic').setValue(0);\r\n\r\n }\r\n\r\n\r\n if (this.clinicType == 13 && event.target.checked) {\r\n let noClinicOption = control.controls[formIndex].get('isNoClinic');\r\n if ((noClinicOption.value == 1 || noClinicOption.value == true) && event.target.checked) {\r\n const clinicListArray = this.clinicDetailsForm.controls['clinicList'] as FormArray;\r\n const specificClinic = clinicListArray.controls[formIndex] as FormGroup;\r\n const specificClinicImz = specificClinic.controls['clinicImzQtyList'] as FormArray;\r\n\r\n for (const imzQty of specificClinicImz.controls) {\r\n const imzCtrl = imzQty as FormGroup;\r\n if (imzCtrl.value.immunizationPk != 31) {\r\n imzCtrl.controls['estimatedQuantity'].setValue(0);\r\n imzCtrl.controls['estimatedQuantity'].setValue(0);\r\n this.IsnoclinicvouchersDistributed = true;\r\n }\r\n }\r\n\r\n if (specificClinicImz.value.some(imzList => imzList.immunizationPk == 31)) {\r\n\r\n const shotsCountOfFlu = parseInt(specificClinicImz.value.find(imzList => imzList.immunizationPk == 31).estimatedQuantity ?? 0);\r\n if (shotsCountOfFlu != 0 && shotsCountOfFlu > 0) {\r\n specificClinic.controls['vouchersDistributed'].setValue(shotsCountOfFlu);\r\n // this.shouldDisableVouchersDistributed = true;\r\n // specificClinic.controls['vouchersDistributed'].markAsUntouched();\r\n // specificClinic.controls['vouchersDistributed'].markAsPristine();\r\n // specificClinic.controls['vouchersDistributed'].disable();\r\n specificClinic.controls['vouchersDistributed'].setValidators(null);\r\n specificClinic.controls['vouchersDistributed'].updateValueAndValidity();\r\n\r\n }\r\n }\r\n // control.controls[formIndex].get('naClinicAddress1').setValidators(null);\r\n control.controls[formIndex].get('naClinicAddress2').setValidators(null);\r\n // control.controls[formIndex].get('naClinicCity').setValidators(null);\r\n // control.controls[formIndex].get('naClinicState').setValidators(null);\r\n // control.controls[formIndex].get('naClinicZip').setValidators(null);\r\n control.controls[formIndex].get('clinicDate').setValidators(null);\r\n control.controls[formIndex].get('naClinicStartTime').setValidators(null);\r\n control.controls[formIndex].get('naClinicEndTime').setValidators(null);\r\n\r\n control.controls[formIndex].get('naContactFirstName').updateValueAndValidity();\r\n control.controls[formIndex].get('naContactLastName').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicContactPhone').updateValueAndValidity();\r\n control.controls[formIndex].get('naContactEmail').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicAddress1').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicAddress2').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicCity').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicState').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicZip').updateValueAndValidity();\r\n control.controls[formIndex].get('clinicDate').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicStartTime').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicEndTime').updateValueAndValidity();\r\n this.isNoClinic = 1;\r\n this.isApptSchedulerDisabled = this.coClinicDetails.clinicList[0].isCancelled || this.coClinicDetails.clinicList[0].isCompleted ? true : null;\r\n this.isApptSchedulerDisabled = true;\r\n if (event.target.checked) {\r\n control.controls[0].patchValue({ apptSchedulerType: null });\r\n }\r\n }\r\n else {\r\n //\r\n const clinicListArray = this.clinicDetailsForm.controls['clinicList'] as FormArray;\r\n const specificClinic = clinicListArray.controls[formIndex] as FormGroup;\r\n const specificClinicImz = specificClinic.controls['clinicImzQtyList'] as FormArray;\r\n\r\n for (const imzQty of specificClinicImz.controls) {\r\n const imzCtrl = imzQty as FormGroup;\r\n if (imzCtrl.value.immunizationPk != 31) {\r\n imzCtrl.controls['estimatedQuantity'].setValue(0);\r\n // imzCtrl.controls['estimatedQuantity'].set(0);\r\n // imzCtrl.controls['estimatedQuantity'].markAsUntouched();\r\n // imzCtrl.controls['estimatedQuantity'].markAsPristine();\r\n this.IsnoclinicvouchersDistributed = true;\r\n }\r\n }\r\n\r\n if (specificClinicImz.value.some(imzList => imzList.immunizationPk == 31)) {\r\n\r\n const shotsCountOfFlu = parseInt(specificClinicImz.value.find(imzList => imzList.immunizationPk == 31).estimatedQuantity ?? 0);\r\n if (shotsCountOfFlu != 0 && shotsCountOfFlu > 0) {\r\n specificClinic.controls['vouchersDistributed'].setValue(shotsCountOfFlu);\r\n this.shouldDisableVouchersDistributed = false;\r\n // specificClinic.controls['vouchersDistributed'].markAsUntouched();\r\n // specificClinic.controls['vouchersDistributed'].markAsPristine();\r\n // specificClinic.controls['vouchersDistributed'].disable();\r\n specificClinic.controls['vouchersDistributed'].setValidators(Validators.required);\r\n specificClinic.controls['vouchersDistributed'].updateValueAndValidity();\r\n\r\n }\r\n }\r\n // control.controls[formIndex].get('naClinicAddress1').setValidators(null);\r\n control.controls[formIndex].get('naClinicAddress2').setValidators(null);\r\n // control.controls[formIndex].get('naClinicCity').setValidators(null);\r\n // control.controls[formIndex].get('naClinicState').setValidators(null);\r\n // control.controls[formIndex].get('naClinicZip').setValidators(null);\r\n control.controls[formIndex].get('clinicDate').setValidators(null);\r\n control.controls[formIndex].get('naClinicStartTime').setValidators(null);\r\n control.controls[formIndex].get('naClinicEndTime').setValidators(null);\r\n\r\n control.controls[formIndex].get('naContactFirstName').updateValueAndValidity();\r\n control.controls[formIndex].get('naContactLastName').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicContactPhone').updateValueAndValidity();\r\n control.controls[formIndex].get('naContactEmail').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicAddress1').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicAddress2').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicCity').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicState').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicZip').updateValueAndValidity();\r\n control.controls[formIndex].get('clinicDate').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicStartTime').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicEndTime').updateValueAndValidity();\r\n this.isNoClinic = 1;\r\n this.isApptSchedulerDisabled = this.coClinicDetails.clinicList[0].isCancelled || this.coClinicDetails.clinicList[0].isCompleted ? true : null;\r\n this.isApptSchedulerDisabled = true;\r\n if (event.target.checked) {\r\n control.controls[0].patchValue({ apptSchedulerType: null });\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n trimSpaces(formCtrlName) {\r\n const formValue = this.clinicDetailsForm.get(formCtrlName)?.value;\r\n if (formValue) {\r\n this.clinicDetailsForm.get(formCtrlName).setValue(formValue.trim());\r\n }\r\n }\r\n\r\n onlyLettersSpaceAndNumbers(event) {\r\n return Util.onlyLettersSpaceAndNumbers(event)\r\n }\r\n\r\n onlyNumberKey(event) {\r\n Util.onlyNumbers(event);\r\n }\r\n\r\n onlyNumberDecimals(event) {\r\n Util.onlyNumberDecimals(event);\r\n }\r\n\r\n checkIfFluGroupid() {\r\n this.coClinicDetails.clinicImmunizationList.forEach(rec => {\r\n if (rec.paymentTypeId == 13 && (rec.sendInvoiceTo == 1 || rec.sendInvoiceTo === 1) &&\r\n (rec.isCopay === '1' || rec.isCopay === 1) && rec.immunizationName.toLowerCase().search('flu') !== -1) {\r\n throw true;\r\n }\r\n });\r\n }\r\n checkIfRoutineGroupid() {\r\n this.coClinicDetails.clinicImmunizationList.forEach(rec => {\r\n if ((rec.paymentTypeId == 13 && (rec.sendInvoiceTo == 1 || rec.sendInvoiceTo === 1))) {\r\n if (rec.isCopay == 1 || rec.isCopay == '1') {\r\n return true;\r\n }\r\n }\r\n });\r\n }\r\n checkIfFluImmForCorpInvoiceSelected() {\r\n try {\r\n this.coClinicDetails.clinicImmunizationList.forEach(rec => {\r\n if (rec.paymentTypeId == 13 && (rec.sendInvoiceTo == 1 || rec.sendInvoiceTo === 1) &&\r\n (rec.isVoucherNeeded === '1' || rec.isVoucherNeeded === 1) && rec.immunizationName.toLowerCase().search('flu') !== -1) {\r\n throw true;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n checkIfVoucherYesSelectedForFluCorpInvoiceSelected() {\r\n let isFluYes: boolean = false;\r\n let count: number = 0;\r\n try {\r\n this.coClinicDetails.clinicImmunizationList.forEach(rec => {\r\n if ((rec.paymentTypeId == 13 && (rec.sendInvoiceTo == 1 || rec.sendInvoiceTo === 1))) { //&& rec.immunizationName.toLowerCase().search('flu')!==-1\r\n //throw true;\r\n if (rec.isVoucherNeeded == 1 || rec.isVoucherNeeded == '1') {\r\n isFluYes = true;\r\n }\r\n count++;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n if (count <= 0) {\r\n return true;\r\n }\r\n else if (count > 0 && !isFluYes) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n dlgCOViewAgreement() {\r\n this.dlgDispCOViewAgreement = !this.dlgDispCOViewAgreement;\r\n }\r\n\r\n formatter = (result: any) =>\r\n result.storeId == undefined ? \"\" : result.storeId + \" - \" +\r\n result.address + \", \" + result.city + \",\"\r\n + result.state + \" \" + result.zip || '';\r\n\r\n search = (text$: Observable) =>\r\n text$.pipe(\r\n debounceTime(400),\r\n distinctUntilChanged(),\r\n tap(() => this.searching = true),\r\n switchMap(term =>\r\n this._headerservice.storeSearch(this.user_profile.userPk, term.trim(), 0).pipe(\r\n tap((data) => {\r\n this.storeSearchRsp = data;\r\n }),\r\n catchError(() => {\r\n // this.searchFailed = true;\r\n return observableOf([]);\r\n }),)),\r\n tap(() => this.searching = false),);\r\n\r\n\r\n onChange(reassignVal) {\r\n this.ariaV = false;\r\n this.storeV = false;\r\n this.distV = false;\r\n if (reassignVal.toLowerCase() == \"store\") {\r\n this.storeV = true;\r\n this.distV = false;\r\n this.ariaV = false;\r\n }\r\n if (reassignVal.toLowerCase() == \"district\") {\r\n this.distV = true;\r\n this.storeV = false;\r\n this.ariaV = false;\r\n }\r\n if (reassignVal.toLowerCase() == \"area\") {\r\n this.ariaV = true;\r\n this.storeV = false;\r\n this.distV = false;\r\n }\r\n if (reassignVal.toLowerCase() == \"geography\") {\r\n this.ariaV = false;\r\n this.storeV = false;\r\n this.distV = false;\r\n }\r\n if (reassignVal == \"\" || reassignVal.toLowerCase() == \"geography\") {\r\n return;\r\n }\r\n this.coClinicdetailsService.getAreaDist(reassignVal, 0).subscribe((data: any) => {\r\n // \r\n let dataList = data;\r\n\r\n this.area_dist = [];\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.area_dist.push({ key: keyValue, value: valueData })\r\n }\r\n });\r\n }\r\n closePop() {\r\n this.dlgDispCOViewAgreement = false;\r\n this.clearReassignDialogControls();\r\n }\r\n saveReassign() {\r\n this.reassignForm = this.formBuilder.group({\r\n assignType: [this.reassignForm.value.assignType, null],\r\n assignStoreID: [this.reassignForm.value.assignStoreID, null],\r\n assignStore: [this.reassignForm.value.assignStore, null],\r\n });\r\n this.dlgDispCOViewAgreement = false;\r\n let restrictedStateCompliance: boolean = true;\r\n let assignType = this.reassignForm.controls['assignType'].value;\r\n if (assignType == undefined || (assignType == \"Store\" && this.reassignForm.controls['assignStoreID'].value == undefined) ||\r\n ((assignType == \"Area\" || assignType == \"District\") && this.reassignForm.controls['assignStore'].value == \"\")) {\r\n this.showDialogV2(\"Clinic Details\", \"Please select Reassign Type or Reassign Category\");\r\n return;\r\n }\r\n if (assignType.toLowerCase() == \"store\") {\r\n if (this.reassignForm.controls['assignStoreID'].value.storeId == undefined) {\r\n this._headerservice.storeSearch(this.user_profile.userPk, this.reassignForm.controls['assignStoreID'].value.trim(), 0).subscribe(data => {\r\n this.storeSearchRsp = data;\r\n restrictedStateCompliance = this.checkRestrictedStateCompliance();\r\n if (this.storeSearchRsp.length > 0 && restrictedStateCompliance) {\r\n this.saveChanges();\r\n return;\r\n }\r\n else if (this.storeSearchRsp.length <= 0) {\r\n this.showDialogV2(\"Clinic Details\", \"You dont have permission to Reassign to this Store. Please retry using different keyword.\");\r\n return;\r\n }\r\n });\r\n return;\r\n }\r\n else {\r\n restrictedStateCompliance = this.checkRestrictedStateCompliance();\r\n }\r\n\r\n }\r\n if (restrictedStateCompliance) {\r\n this.saveChanges();\r\n }\r\n }\r\n checkRestrictedStateCompliance() {\r\n\r\n if (!this.validateRestrictedStatesReassignment()) {\r\n this.dialogSummary = \"Alert\";\r\n var storeId = this.reassignForm.controls['assignStoreID'].value.storeId;\r\n if (storeId == undefined || storeId == null) {\r\n storeId = this.reassignForm.controls['assignStoreID'].value;\r\n }\r\n var filterSearchRes = this.storeSearchRsp.filter(store => store.storeId == storeId);\r\n if (filterSearchRes.length > 0) {\r\n if (this.utility.IsReassignmentAllowedForRestrictedState(filterSearchRes[0].state)) {\r\n return true;\r\n }\r\n this.dialogMsg = filterSearchRes[0].state == \"DC\" ? String.Format(ErrorMessages['restrictedStates'], \"Columbia \", \"15\") : String.Format(ErrorMessages['restrictedStates'], \"Missouri \", \"20\")\r\n this.showDialogV2(this.dialogSummary, this.dialogMsg);\r\n var orginalStoreId = SessionDetails.GetStoreId();\r\n this.searching = false;\r\n this.reassignForm.controls['assignStoreID'].setValue(orginalStoreId);\r\n this.reassignForm.controls['assignStoreID'].updateValueAndValidity();\r\n this.clearReassignDialogControls();\r\n }\r\n return false;\r\n }\r\n return true;\r\n }\r\n validateRestrictedStatesReassignment() {\r\n var storeId = this.reassignForm.controls['assignStoreID'].value.storeId;\r\n if (storeId == undefined || storeId == null) {\r\n storeId = this.reassignForm.controls['assignStoreID'].value;\r\n }\r\n let returnValue: boolean = true;\r\n if (storeId != SessionDetails.GetStoreId()) {\r\n var current_date = new Date();\r\n var filterSearchRes = this.storeSearchRsp.filter(store => store.storeId == storeId);\r\n if (SessionDetails.GetState() == \"MO\") {\r\n if (filterSearchRes.length > 0 && filterSearchRes[0].state == \"DC\" && current_date > new Date(environment.DC_State_From) && current_date < new Date(environment.DC_State_TO)) {\r\n returnValue = false;\r\n }\r\n }\r\n else if (SessionDetails.GetState() == \"DC\") {\r\n if (filterSearchRes.length > 0 && filterSearchRes[0].state == \"MO\" && current_date > new Date(environment.MO_State_From) && current_date < new Date(environment.MO_State_TO)) {\r\n returnValue = false;\r\n }\r\n }\r\n else if (SessionDetails.GetState() != \"MO\" || SessionDetails.GetState() != \"DC\") {\r\n if (filterSearchRes.length > 0 && ((filterSearchRes[0].state == \"MO\" && current_date > new Date(environment.MO_State_From) && current_date < new Date(environment.MO_State_TO))\r\n || (filterSearchRes[0].state == \"DC\" && current_date > new Date(environment.DC_State_From) && current_date < new Date(environment.DC_State_TO)))) {\r\n returnValue = false;\r\n }\r\n }\r\n }\r\n return returnValue;\r\n }\r\n bindControls(check: boolean = false) {\r\n\r\n this.clinicDetailsForm = this.formBuilder.group({\r\n // store information\r\n storeID: this.formBuilder.control(this.coClinicDetails.opportunityInfo.storeId, null),//this.coClinicDetails.opportunityInfo.storeID, Validators.required),\r\n // Business Information\r\n businessName: this.formBuilder.control(this.coClinicDetails.opportunityInfo.businessName, null),\r\n businessPk: this.formBuilder.control(this.coClinicDetails.opportunityInfo.businessPk, null),\r\n pk_hash: this.formBuilder.control(this.coClinicDetails.opportunityInfo.pk_hash, null),\r\n clientReportingEmail: this.formBuilder.control(this.coClinicDetails.opportunityInfo.clientReportingEmail, null),\r\n b2BTeamEmail: this.formBuilder.control(this.coClinicDetails.opportunityInfo.b2BTeamEmail, null),\r\n salesForceOpportunityId: this.formBuilder.control(this.coClinicDetails.opportunityInfo.salesForceOpportunityId, null),\r\n salesForceAccountName: this.formBuilder.control(this.coClinicDetails.opportunityInfo.salesForceAccountName, null),\r\n firstName: this.formBuilder.control(this.coClinicDetails.opportunityInfo.firstName, Validators.required),\r\n phone: this.formBuilder.control(this.coClinicDetails.opportunityInfo.phone, Validators.required),\r\n fax: this.formBuilder.control(this.coClinicDetails.opportunityInfo.fax, null),\r\n lastName: this.formBuilder.control(this.coClinicDetails.opportunityInfo.lastName, Validators.required),\r\n email: this.formBuilder.control(this.coClinicDetails.opportunityInfo.businessContactEmail, null),\r\n jobTitle: this.formBuilder.control(this.coClinicDetails.opportunityInfo.jobTitle, null),\r\n // Billing & Vaccine Information\r\n clinicFee: this.formBuilder.control(this.coClinicDetails.opportunityInfo.clinicFee, null),\r\n isNoClinicFee: this.formBuilder.control(this.coClinicDetails.opportunityInfo.isNoClinicFee, null),\r\n vouchersDistributed: this.formBuilder.control(this.coClinicDetails.opportunityInfo.vouchersDistributed, null),\r\n vouchersRedeemed: this.formBuilder.control(this.coClinicDetails.opportunityInfo.vouchersRedeemed, null),\r\n naClinicPlanId: this.formBuilder.control(this.coClinicDetails.opportunityInfo.naClinicPlanId, null),\r\n naClinicGroupId: this.formBuilder.control(this.naClinicGroupId, null),\r\n coPayFLUGroupId: this.formBuilder.control(null, this.is_flu_group_id == true ? Validators.required : null),\r\n coPayROUTINEGroupId: this.formBuilder.control(null, this.is_routine_group_id == true ? Validators.required : null),\r\n recipientId: this.formBuilder.control(this.coClinicDetails.opportunityInfo.recipientId, null),\r\n //opportunityInfo:\r\n clinicImmunizationList: this.initImmunization(),\r\n naClinicAddlComments: this.formBuilder.control(this.coClinicDetails.opportunityInfo.naClinicAddlComments, null),\r\n naClinicSplBillingInstr: this.formBuilder.control(this.coClinicDetails.opportunityInfo.naClinicSplBillingInstr, null),\r\n // reassignType: this.formBuilder.control(location.reassignType, null),\r\n // reassignedTo: this.formBuilder.control(location.reassignedTo, null),\r\n //Clinic Contact Information\r\n clinicList: this.initClinicLocations(),\r\n //pharmacist info\r\n // pharmacistName: this.formBuilder.control(this.coClinicDetails.opportunityInfo.pharmacistName, null),\r\n // pharmacistPhone: this.formBuilder.control(this.coClinicDetails.opportunityInfo.pharmacistPhone, null),\r\n // totalHours: this.formBuilder.control(this.coClinicDetails.opportunityInfo.totalHours, null),\r\n feedbackNotes: this.formBuilder.control(this.coClinicDetails.feedback, null),\r\n\r\n //Clinic History Log\r\n clinicsUpdateHistoryLogList: this.initClinicHistoryLog(),\r\n });\r\n }\r\n bindControls1() {\r\n this.clinicDetailsForm = this.formBuilder.group({\r\n // store information\r\n storeID: ['', null],//this.coClinicDetails.opportunityInfo.storeID, Validators.required),\r\n // Business Information\r\n businessName: this.formBuilder.control('', null),\r\n businessPk: this.formBuilder.control('', null),\r\n pk_hash: this.formBuilder.control('', null),\r\n clientReportingEmail: this.formBuilder.control('', null),\r\n b2BTeamEmail: this.formBuilder.control('', null),\r\n salesForceOpportunityId: this.formBuilder.control('', null),\r\n salesForceAccountName: this.formBuilder.control('', null),\r\n firstName: this.formBuilder.control('', Validators.required),\r\n phone: this.formBuilder.control('', Validators.required),\r\n fax: this.formBuilder.control('', null),\r\n lastName: this.formBuilder.control('', Validators.required),\r\n email: this.formBuilder.control('', null),\r\n jobTitle: this.formBuilder.control('', null),\r\n // Billing & Vaccine Information\r\n naClinicPlanId: this.formBuilder.control('', Validators.required),\r\n naClinicGroupId: this.formBuilder.control(null, Validators.required),\r\n coPayFLUGroupId: this.formBuilder.control(null, null),\r\n coPayROUTINEGroupId: this.formBuilder.control(null, null),\r\n recipientId: this.formBuilder.control('', Validators.required),\r\n clinicImmunizationList: [],\r\n naClinicAddlComments: this.formBuilder.control('', null),\r\n naClinicSplBillingInstr: this.formBuilder.control('', null),\r\n vouchersDistributed: this.formBuilder.control('', null),\r\n //Clinic Contact Information\r\n clinicList: [],\r\n //pharmacist info\r\n // pharmacistName: this.formBuilder.control('', null),\r\n // pharmacistPhone: this.formBuilder.control('', null),\r\n // totalHours: this.formBuilder.control('', null),\r\n feedbackNotes: this.formBuilder.control(\"\"),//this.coClinicDetails.opportunityInfo.feedbackNotes),\r\n //Clinic History Log\r\n clinicsUpdateHistoryLogList: [],\r\n });\r\n }\r\n initClinicLocations() {\r\n let start_time: Date;\r\n let end_time: Date;\r\n let loc_array: any[] = [];\r\n let today = new Date();\r\n\r\n this.coClinicDetails.clinicList.forEach(loc => {\r\n this.clinicLocation = this.utility.colLetterToNum([1, 2, 6].indexOf(this.clinicType) > -1 ? loc.naClinicLocation.toUpperCase().replace(\"LOCATION \", \"\").trim() : loc.naClinicLocation);\r\n let start_time = loc.naClinicStartTime;\r\n let end_time = loc.naClinicEndTime;\r\n if (loc.naClinicStartTime != null) {\r\n if (loc.naClinicStartTime.indexOf(' ') == -1) {\r\n start_time = loc.naClinicStartTime.toLocaleLowerCase().replace('am', ' AM').replace('pm', ' PM');\r\n }\r\n }\r\n if (loc.naClinicEndTime != null) {\r\n if (loc.naClinicEndTime.indexOf(' ') == -1) {\r\n end_time = loc.naClinicEndTime.toLocaleLowerCase().replace('am', ' AM').replace('pm', ' PM');\r\n }\r\n }\r\n let cDate: any = '';\r\n let dateSplitString: any;\r\n if (loc.clinicDate !== null && loc.clinicDate !== undefined) {\r\n let dateString = loc.clinicDate;\r\n dateSplitString = dateString.split('/');\r\n cDate = (new Date(dateSplitString[2], Number(dateSplitString[0]) - 1, dateSplitString[1], 18, 30, 30));\r\n }\r\n this.coClinicDetails.clinicImmunizationList.forEach(rec => {\r\n\r\n if (rec.voucherExpirationDate != null && rec.voucherExpirationDate != undefined) {\r\n if (rec.immunizationName.toLowerCase().search('flu') !== -1 && rec.voucherExpirationDate.valueOf() > 0) {\r\n loc.fluExpiryDate = rec.voucherExpirationDate;\r\n }\r\n if (rec.immunizationName.toLowerCase().search('flu') === -1 && rec.voucherExpirationDate.valueOf() > 0\r\n && rec.immunizationName.toLowerCase().search('covid') === -1) {\r\n loc.routineExpiryDate = rec.voucherExpirationDate;\r\n }\r\n if (rec.immunizationName.toLowerCase().search('covid') !== -1 && rec.voucherExpirationDate.valueOf() > 0) {\r\n loc.covidExpiryDate = rec.voucherExpirationDate;\r\n }\r\n }\r\n });\r\n loc_array.push(\r\n this.formBuilder.group(\r\n {\r\n clinicPk: this.formBuilder.control(loc.clinicPk),\r\n clinicStoreId: this.formBuilder.control(loc.clinicStoreId),\r\n clinicNumber: this.formBuilder.control(loc.clinicNumber),\r\n naClinicLocation: this.formBuilder.control([1, 2, 6].indexOf(this.clinicType) > -1 ? loc.naClinicLocation.toUpperCase().replace(\"LOCATION \", \"\").trim() : loc.naClinicLocation),\r\n intakeID: this.formBuilder.control(loc.intakeID),\r\n naClinicAddress1: this.formBuilder.control(this.address1 = loc.naClinicAddress1, [Validators.required, Validators.maxLength(40)]),\r\n naClinicAddress2: this.formBuilder.control(this.address2 = loc.naClinicAddress2, [Validators.maxLength(60)]),\r\n naClinicCity: this.formBuilder.control(this.city = loc.naClinicCity, Validators.required),\r\n naClinicState: this.formBuilder.control(this.state = loc.naClinicState, Validators.required),\r\n naClinicZip: this.formBuilder.control(this.zipCode = loc.naClinicZip, Validators.required),\r\n vouchersDistributed: this.formBuilder.control(this.vouchersDistributed = loc.vouchersDistributed, null),\r\n clinicDate: this.formBuilder.control((cDate != '' && cDate != null) ? new Date(dateSplitString[2], Number(dateSplitString[0]) - 1, Number(dateSplitString[1]), 18, 30, 30) : null, (loc.isNoClinic != null && loc.isNoClinic == 1) ? null : [Validators.required]),\r\n naClinicStartTime: this.formBuilder.control(start_time, Validators.required),//Need to change\r\n naClinicEndTime: this.formBuilder.control(end_time, Validators.required),//Need to change\r\n naContactFirstName: this.formBuilder.control(loc.naContactFirstName, Validators.required),\r\n patientGroupId: this.formBuilder.control(loc.patientGroupId, null),\r\n naContactLastName: this.formBuilder.control(loc.naContactLastName, Validators.required),\r\n confirmedClientName: this.formBuilder.control(loc.confirmedClientName, null),\r\n naClinicContactPhone: this.formBuilder.control(loc.naClinicContactPhone, Validators.required),\r\n naContactEmail: this.formBuilder.control(loc.naContactEmail, Validators.required),\r\n isCancelled: this.formBuilder.control(loc.isCancelled ? 1 : 0, null),\r\n isConfirmed: this.formBuilder.control(loc.isConfirmed ? 1 : 0, null),\r\n isCompleted: this.formBuilder.control(loc.isCompleted ? 1 : 0, null),\r\n previousContact: this.formBuilder.control('', null),\r\n previousLocation: this.formBuilder.control('', null),\r\n isReassign: this.formBuilder.control(loc.isReassign, null),\r\n coPayFLUGroupId: this.formBuilder.control(loc.coPayFLUGroupId, null),\r\n coPayROUTINEGroupId: this.formBuilder.control(loc.coPayROUTINEGroupId, null),\r\n fluExpiryDate: this.formBuilder.control(loc.fluExpiryDate != null ? new Date(loc.fluExpiryDate) : new Date(today.getFullYear() + 1, today.getMonth(), today.getDate(), 18, 30, 30), null),\r\n routineExpiryDate: this.formBuilder.control(loc.routineExpiryDate != null ? new Date(loc.routineExpiryDate) : new Date(today.getFullYear() + 1, today.getMonth(), today.getDate(), 18, 30, 30), null),\r\n covidExpiryDate: this.formBuilder.control(loc.covidExpiryDate != null ? new Date(loc.covidExpiryDate) : new Date(today.getFullYear() + 1, today.getMonth(), today.getDate(), 18, 30, 30), null),\r\n // visitType: this.formBuilder.control(loc.visitType !==null?loc.visitType.toString():\"\", this.isCovidVaccineAvailable?Validators.required:null),\r\n coOutreachTypeId: this.formBuilder.control(loc.coOutreachTypeId, this.clinicType == 6 ? Validators.required : null),\r\n coOutreachTypeDesc: this.formBuilder.control(loc.coOutreachTypeDesc, null),\r\n clinicLatitude: this.formBuilder.control(loc.clinicLatitude, null),\r\n clinicLongitude: this.formBuilder.control(loc.clinicLongitude, null),\r\n reassignType: this.formBuilder.control(loc.reassignType, null),\r\n reassignedTo: this.formBuilder.control(loc.reassignedTo, null),\r\n clinicRoom: this.formBuilder.control(loc.clinicRoom, null),\r\n apptSchedulerType: this.formBuilder.control(loc.apptSchedulerType, null),\r\n isApptSchedulerEnabled: this.formBuilder.control(loc.isApptSchedulerEnabled, null),\r\n isCuraAppointmentScheduled: this.formBuilder.control(loc.isCuraAppointmentScheduled, null),\r\n isSendCancellationEmailsApproved: this.formBuilder.control(loc.isSendCancellationEmailsApproved, null),\r\n isNoClinic: this.formBuilder.control((loc.isNoClinic != null && loc.isNoClinic == 1) ? 1 : 0, null),\r\n clientReportingEmail: this.formBuilder.control(this.coClinicDetails.opportunityInfo.clientReportingEmail, null),\r\n b2BTeamEmail: this.formBuilder.control(this.coClinicDetails.opportunityInfo.b2BTeamEmail, null),\r\n salesForceOpportunityId: this.formBuilder.control(this.coClinicDetails.opportunityInfo.salesForceOpportunityId, null),\r\n salesForceAccountName: this.formBuilder.control(this.coClinicDetails.opportunityInfo.salesForceAccountName, null),\r\n clinicImzQtyList: this.AddInitialdummyClinicImmunizations(),\r\n paperVars: this.formBuilder.control(loc.paperVars, null),\r\n IsPreviousClinic: this.formBuilder.control(loc.IsPreviousClinic)\r\n }\r\n )\r\n )\r\n });\r\n return this.formBuilder.array(loc_array);\r\n\r\n }\r\n\r\n initClinicHistoryLog() {\r\n let start_time: Date;\r\n let end_time: Date;\r\n let loc_array: any[] = [];\r\n this.coClinicDetails.clinicsUpdateHistoryLogList.forEach(loc => {\r\n\r\n loc_array.push(\r\n this.formBuilder.group(\r\n {\r\n userPk: this.formBuilder.control(this.user_profile.userPk, null),\r\n updatedOn: this.formBuilder.control(loc.updatedOn, Validators.required),\r\n updateAction: this.formBuilder.control(loc.updateAction),\r\n updatedField: this.formBuilder.control(loc.updatedField),\r\n updateSubCategory: this.formBuilder.control(loc.updateSubCategory),\r\n updatedValue: this.formBuilder.control(loc.updatedValue),\r\n updatedBy: this.formBuilder.control(loc.updatedBy)\r\n\r\n }\r\n )\r\n\r\n )\r\n });\r\n return this.formBuilder.array(loc_array);\r\n }\r\n AddInitialdummyClinicImmunizations() {\r\n let imz_array: any[] = [];\r\n this.coClinicDetails.clinicList[0].clinicImzQtyList.forEach(imz => {\r\n let imz_app_date: any = '';\r\n let dateSplitString: any;\r\n if (imz.clinicalReqApprovedDate !== null && imz.clinicalReqApprovedDate !== undefined) {\r\n //cDate = new Date(new Date(loc.clinicDate));\r\n var temp_dt = imz.clinicalReqApprovedDate.toString().substring(0, imz.clinicalReqApprovedDate.toString().indexOf('T'));\r\n if (temp_dt.indexOf('-') > -1) {\r\n let temp_dt_parts = temp_dt.split('-');\r\n var dt = new Date(temp_dt_parts[0], temp_dt_parts[1] - 1, temp_dt_parts[2], 18, 30, 30);\r\n imz.clinicalReqApprovedDate = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate(), 18, 30, 30);\r\n }\r\n //let dateString = imz.clinicalReqApprovedDate;\r\n //dateSplitString = dateString.split('/');\r\n //imz_app_date = (new Date(dateSplitString[2],Number(dateSplitString[0])-1,dateSplitString[1], 18, 30, 30));\r\n imz_app_date = imz.clinicalReqApprovedDate;\r\n }\r\n imz_array.push(\r\n this.formBuilder.group(\r\n {\r\n clinicPk: this.formBuilder.control(imz.clinicPk),\r\n immunizationPk: this.formBuilder.control(imz.immunizationPk),\r\n estimatedQuantity: this.formBuilder.control(imz.estimatedQuantity),\r\n immunizationName: this.formBuilder.control(imz.immunizationName),\r\n paymentTypeName: this.formBuilder.control(imz.paymentTypeName),\r\n paymentTypeId: this.formBuilder.control(imz.paymentTypeId),\r\n totalImmAdministered: this.formBuilder.control(imz.totalImmAdministered),\r\n paperVars: this.formBuilder.control(imz.paperVars),\r\n vouchersDistributed: this.formBuilder.control(imz.vouchersDistributed),\r\n isClinicalReqd: this.formBuilder.control(imz.isClinicalReqd ? true : null),\r\n clinicalReqdApprovedBy: this.formBuilder.control(imz.clinicalReqdApprovedBy),\r\n clinicalReqApprovedDate: this.formBuilder.control((imz_app_date != '' && imz_app_date != null) ? /*new Date(dateSplitString[2], Number(dateSplitString[0]) - 1, Number(dateSplitString[1]), 18, 30, 30)*/imz_app_date : null)\r\n }\r\n )\r\n )\r\n });\r\n\r\n return this.formBuilder.array(imz_array);\r\n\r\n }\r\n labelClinicNames(remove_loation_id) {\r\n let max_Location_id = 0;\r\n max_Location_id = this.max_clinic_location_id;\r\n var location_count = max_Location_id - 1;\r\n const control = this.clinicDetailsForm.controls['clinicList'];\r\n\r\n for (let index = 1; index < control.length + 1; index++) {\r\n let element = control.controls[index - 1];\r\n if (index <= this.clinicLocation) {\r\n if (remove_loation_id != -1)\r\n element.get('naClinicLocation').setValue(this.utility.numberToLetters(location_count));\r\n location_count++;\r\n }\r\n };\r\n }\r\n\r\n removeLocation(i: number) {\r\n let max_Location_id = 0;\r\n const control = this.clinicDetailsForm.controls['clinicList'];\r\n control.removeAt(i);\r\n this.clinicLocation--;\r\n max_Location_id = this.max_clinic_location_id;\r\n var location_count = max_Location_id - 1;\r\n for (let index = 1; index < control.length + 1; index++) {\r\n let element = control.controls[index - 1];\r\n if (index <= this.clinicLocation) {\r\n if (element.value.clinicPk == null) {\r\n element.get('naClinicLocation').setValue(this.utility.numberToLetters(location_count));\r\n }\r\n location_count++;\r\n }\r\n };\r\n }\r\n initImmunization() {\r\n let imz_array: any[] = [];\r\n this.coClinicDetails.clinicList[0].clinicImzQtyList.forEach(imz => {\r\n let imz_app_date: any = '';\r\n let dateSplitString: any;\r\n if (imz.clinicalReqApprovedDate !== null && imz.clinicalReqApprovedDate !== undefined) {\r\n //cDate = new Date(new Date(loc.clinicDate));\r\n var temp_dt = imz.clinicalReqApprovedDate.toString().substring(0, imz.clinicalReqApprovedDate.toString().indexOf('T'));\r\n if (temp_dt.indexOf('-') > -1) {\r\n let temp_dt_parts = temp_dt.split('-');\r\n var dt = new Date(temp_dt_parts[0], temp_dt_parts[1] - 1, temp_dt_parts[2], 18, 30, 30);\r\n imz.clinicalReqApprovedDate = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate(), 18, 30, 30);\r\n }\r\n //let dateString = imz.clinicalReqApprovedDate;\r\n //dateSplitString = dateString.split('/');\r\n imz_app_date = imz.clinicalReqApprovedDate;\r\n //imz_app_date = (new Date(dateSplitString[2],Number(dateSplitString[0])-1,dateSplitString[1], 18, 30, 30));\r\n }\r\n imz_array.push(\r\n this.formBuilder.group(\r\n {\r\n pk: this.formBuilder.control(imz.clinicPk),\r\n immunizationPk: this.formBuilder.control(imz.immunizationPk),\r\n estimatedQuantity: this.formBuilder.control(imz.estimatedQuantity),\r\n vouchersDistributed: this.formBuilder.control(imz.vouchersDistributed),\r\n immunizationName: this.formBuilder.control(imz.immunizationName),\r\n paymentTypeName: this.formBuilder.control(imz.paymentTypeName),\r\n paymentTypeId: this.formBuilder.control(imz.paymentTypeId),\r\n price: this.formBuilder.control(ClinicDetailsUtilities.getPrice(this.coClinicDetails, imz.immunizationPk, imz.paymentTypeId)),\r\n totalImmAdministered: this.formBuilder.control(imz.totalImmAdministered),\r\n paperVars: this.formBuilder.control(imz.paperVars),\r\n isClinicalReqd: this.formBuilder.control((imz.isClinicalReqd ? true : (imz.isClinicalReqd == false) ? false : null)),\r\n clinicalReqdApprovedBy: this.formBuilder.control(imz.clinicalReqdApprovedBy),\r\n clinicalReqApprovedDate: this.formBuilder.control((imz_app_date != '' && imz_app_date != null) ? /*new Date(dateSplitString[2], Number(dateSplitString[0]) - 1, Number(dateSplitString[1]), 18, 30, 30)*/imz_app_date : null)\r\n }\r\n )\r\n )\r\n });\r\n\r\n this.isWagsFreeFluVoucherSelected = ClinicDetailsUtilities.CheckIfWagsFreeFluVoucherIsSelected(this.coClinicDetails.clinicImmunizationList);\r\n return this.formBuilder.array(imz_array);\r\n }\r\n\r\n updateClinicalRequirements(imz_name: string, imz_index: number, event: any) {\r\n for (let control of this.clinicDetailsForm.get('clinicImmunizationList')['controls']) {\r\n if (control.controls.immunizationName.value === imz_name) {\r\n control.controls.isClinicalReqd.value = (event.target.checked) ? true : null;\r\n this.clinicDetailsForm.value['clinicalRequirements'] = true;\r\n control.controls.isClinicalReqd.updateValueAndValidity();\r\n this.canDisableClinicalRequirements = null;\r\n }\r\n }\r\n }\r\n\r\n addLocation(location) {\r\n if (this.coClinicDetails.opportunityInfo.childClinicAgreementId != null && this.coClinicDetails.opportunityInfo.childClinicAgreementId > 0) {\r\n this.clinicNotConfirmedMsgDlg = true;\r\n this.showClinicNotConfirmedDialog('Amend Agreement', ErrorMessages['StopAddLocationAmend']);\r\n return false;\r\n }\r\n const control = this.clinicDetailsForm.controls['clinicList'];\r\n let max_Location_id = 0;\r\n max_Location_id = this.max_clinic_location_id;\r\n var location_count = max_Location_id - 1;\r\n this.labelClinicNames(-1);\r\n if (!this.user_profile.isAdmin) {\r\n var current_date = new Date();\r\n var storeState = SessionDetails.GetState();\r\n if (storeState != \"MO\" || storeState != \"DC\") {\r\n if (current_date > new Date(environment.MO_State_From) && current_date < new Date(environment.MO_State_TO) && storeState != \"MO\") {\r\n this.states = this.states.filter(s => s.id != \"MO\");\r\n }\r\n if (current_date > new Date(environment.DC_State_From) && current_date < new Date(environment.DC_State_TO) && storeState != \"DC\") {\r\n this.states = this.states.filter(s => s.id != \"DC\");\r\n }\r\n }\r\n }\r\n const addrCtrl = this.initAddClinicLocation(location);\r\n if (!addrCtrl.value.naClinicLocation.startsWith('CLINIC')) {\r\n addrCtrl.controls.naClinicLocation.setValue(`CLINIC ${addrCtrl.value.naClinicLocation}`);\r\n }\r\n control.push(addrCtrl);\r\n this.isNewClinicAdded = true;\r\n if ([1, 2, 3, 5, 6].indexOf(this.clinicType) > -1 && this.isCovidVaccineAvailable) {\r\n const ctrl = this.clinicDetailsForm.controls['clinicList'];\r\n let index = ctrl.length;\r\n if ([3, 5].indexOf(this.clinicType) > -1) {\r\n this.copyPreviousContactInfo(index - 1, true);\r\n }\r\n this.copyPreviousLocation(index - 1, true);\r\n }\r\n }\r\n\r\n initAddClinicLocation(location: ClinicList) {\r\n\r\n if (location === undefined) {\r\n location = new ClinicList();\r\n }\r\n const control = this.clinicDetailsForm.controls['clinicList'];\r\n let max_Location_id = 0;\r\n max_Location_id = this.max_clinic_location_id;\r\n var location_count = max_Location_id + control.length - 1;\r\n let previous_display: boolean = true;\r\n if (this.previous_locations != undefined) {\r\n if (this.previous_locations.length > 0) {\r\n this.address1 = this.previous_locations[0].address;\r\n this.address2 = this.previous_locations[0].address2;\r\n this.city = this.previous_locations[0].city;\r\n this.state = this.previous_locations[0].state;\r\n this.zipCode = this.previous_locations[0].zip;\r\n previous_display = false;\r\n }\r\n }\r\n location.naClinicLocation = [3, 5, 7].indexOf(this.clinicType) > -1 ? this.coClinicDetails.clinicList[0].naClinicLocation : this.utility.numberToLetters(location_count);\r\n this.clinic_number = this.utility.colLetterToNum(this.utility.numberToLetters(location_count));//location.naClinicLocation\r\n location.clinicStoreId = this.coClinicDetails.clinicList[0].clinicStoreId;\r\n this.clinicLocation++;\r\n let today = new Date();\r\n let imzCount = 0;\r\n this.coClinicDetails.clinicImmunizationList.forEach(rec => {\r\n\r\n if (rec.voucherExpirationDate != null && rec.voucherExpirationDate != undefined) {\r\n if (rec.immunizationName.toLowerCase().search('flu') !== -1 && rec.voucherExpirationDate.valueOf() > 0) {\r\n location.fluExpiryDate = rec.voucherExpirationDate;\r\n }\r\n if ((rec.immunizationName.toLowerCase().search('flu') === -1 || rec.immunizationName.toLowerCase().search('covid') === -1) && rec.voucherExpirationDate.valueOf() > 0) {\r\n location.routineExpiryDate = rec.voucherExpirationDate;\r\n }\r\n if (rec.immunizationName.toLowerCase().search('covid') !== -1 && rec.voucherExpirationDate.valueOf() > 0) {\r\n location.covidExpiryDate = rec.voucherExpirationDate;\r\n }\r\n }\r\n imzCount = imzCount + 1;\r\n });\r\n return (this.formBuilder.group(\r\n {\r\n clinicPk: this.formBuilder.control(location.clinicPk),\r\n clinicStoreId: this.formBuilder.control(location.clinicStoreId),\r\n clinicNumber: this.formBuilder.control(this.clinic_number),\r\n naClinicLocation: this.formBuilder.control([1, 2, 6].indexOf(this.clinicType) > -1 ? location.naClinicLocation.toUpperCase().replace(\"LOCATION \", \"\").trim() : location.naClinicLocation.trim()),\r\n intakeID: this.formBuilder.control(this.intakeID),\r\n naClinicAddress1: this.formBuilder.control(this.utility.isStoreIsfromRestrictedState() ? this.address1 : location.naClinicAddress1, Validators.required),\r\n naClinicAddress2: this.formBuilder.control(this.utility.isStoreIsfromRestrictedState() ? this.address2 : location.naClinicAddress2, null),\r\n naClinicCity: this.formBuilder.control(this.utility.isStoreIsfromRestrictedState() ? this.city : location.naClinicCity, Validators.required),\r\n naClinicState: this.formBuilder.control(this.utility.isStoreIsfromRestrictedState() ? this.state : location.naClinicState == null ? \"\" : location.naClinicState, Validators.required),\r\n naClinicZip: this.formBuilder.control(this.utility.isStoreIsfromRestrictedState() ? this.zipCode : location.naClinicZip, Validators.required),\r\n clinicDate: this.formBuilder.control('', Validators.required),//this.defaultDate\r\n naClinicStartTime: this.formBuilder.control('', Validators.required),\r\n naClinicEndTime: this.formBuilder.control('', Validators.required),\r\n naContactFirstName: this.formBuilder.control(location.naContactFirstName, Validators.required),\r\n patientGroupId: this.formBuilder.control(location.patientGroupId, null),\r\n naContactLastName: this.formBuilder.control(location.naContactLastName, Validators.required),\r\n confirmedClientName: this.formBuilder.control(location.confirmedClientName, null),\r\n naClinicContactPhone: this.formBuilder.control(location.naClinicContactPhone, Validators.required),\r\n naContactEmail: this.formBuilder.control(location.naContactEmail, Validators.required),\r\n isCancelled: this.formBuilder.control((location.isCancelled != null || location.isCancelled ? 1 : 0), null),\r\n isConfirmed: this.formBuilder.control((location.isConfirmed != null || location.isConfirmed ? 1 : 0), null),\r\n isCompleted: this.formBuilder.control((location.isCompleted != null || location.isCompleted ? 1 : 0), null),\r\n previousContact: this.formBuilder.control('', null),\r\n previousLocation: this.formBuilder.control('', null),\r\n isReassign: this.formBuilder.control((location.isReassign == null || location.isReassign == undefined) ? 0 : 1, null),\r\n coPayFLUGroupId: this.formBuilder.control(location.coPayFLUGroupId, null),\r\n coPayROUTINEGroupId: this.formBuilder.control(location.coPayROUTINEGroupId, null),\r\n fluExpiryDate: this.formBuilder.control(location.fluExpiryDate != null ? new Date(location.fluExpiryDate) : new Date(today.getFullYear() + 1, today.getMonth(), today.getDate(), 12, 30, 30), null),\r\n routineExpiryDate: this.formBuilder.control(location.routineExpiryDate != null ? new Date(location.routineExpiryDate) : new Date(today.getFullYear() + 1, today.getMonth(), today.getDate(), 12, 30, 30), null),\r\n covidExpiryDate: this.formBuilder.control(location.covidExpiryDate != null ? new Date(location.covidExpiryDate) : new Date(today.getFullYear() + 1, today.getMonth(), today.getDate(), 12, 30, 30), null),\r\n // visitType: this.formBuilder.control(location.visitType&&location.visitType !==null?location.visitType.toString():\"\", this.isCovidVaccineAvailable?Validators.required:null),\r\n coOutreachTypeId: this.formBuilder.control(location.coOutreachTypeId, Validators.required),\r\n coOutreachTypeDesc: this.formBuilder.control(location.coOutreachTypeDesc, null),\r\n clinicLatitude: this.formBuilder.control(location.clinicLatitude, null),\r\n clinicLongitude: this.formBuilder.control(location.clinicLongitude, null),\r\n clinicRoom: this.formBuilder.control(location.clinicRoom, null),\r\n reassignType: this.formBuilder.control(location.reassignType, null),\r\n reassignedTo: this.formBuilder.control(location.reassignedTo, null),\r\n apptSchedulerType: this.formBuilder.control(location.apptSchedulerType, null),\r\n isApptSchedulerEnabled: this.formBuilder.control(location.isApptSchedulerEnabled, null),\r\n vouchersDistributed: this.formBuilder.control(location.vouchersDistributed, null),\r\n clinicImzQtyList: this.AddAddlClinicImmunizations(),\r\n isNoClinic: this.formBuilder.control((location.isNoClinic != null || this.is_voucher_neededForEQ) ? 1 : 0, null)\r\n // isNoClinic: this.formBuilder.control((location.isNoClinic != null && location.isNoClinic == 1) ? ((this.is_voucher_neededForEQ)?1:null) : 0, null),\r\n }\r\n ));\r\n }\r\n AddAddlClinicImmunizations() {\r\n\r\n // \r\n\r\n let imz_array: any[] = [];\r\n this.coClinicDetails.clinicList[0].clinicImzQtyList.forEach(imz => {\r\n if (this.coClinicDetails.clinicList[0].clinicImzQtyList.length == 1) {\r\n if (imz.immunizationPk == 31 && imz.paymentTypeId == 14) {\r\n this.is_voucher_neededForEQ = true;\r\n }\r\n }\r\n else {\r\n this.is_voucher_neededForEQ = false;\r\n }\r\n let imz_app_date: any = '';\r\n if (imz.clinicalReqApprovedDate !== null && imz.clinicalReqApprovedDate !== undefined) {\r\n var temp_dt = imz.clinicalReqApprovedDate.toString().substring(0, imz.clinicalReqApprovedDate.toString().indexOf('T'));\r\n let temp_dt_parts = temp_dt.split('-');\r\n var dt = new Date(temp_dt_parts[0], temp_dt_parts[1] - 1, temp_dt_parts[2], 18, 30, 30);\r\n imz.clinicalReqApprovedDate = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate(), 18, 30, 30);\r\n imz_app_date = imz.clinicalReqApprovedDate;\r\n }\r\n imz_array.push(\r\n this.formBuilder.group(\r\n {\r\n clinicPk: this.formBuilder.control(null),\r\n immunizationPk: this.formBuilder.control(imz.immunizationPk),\r\n estimatedQuantity: this.formBuilder.control('', Validators.required),\r\n immunizationName: this.formBuilder.control(imz.immunizationName),\r\n paymentTypeName: this.formBuilder.control(imz.paymentTypeName),\r\n paymentTypeId: this.formBuilder.control(imz.paymentTypeId),\r\n totalImmAdministered: this.formBuilder.control(imz.totalImmAdministered),\r\n paperVars: this.formBuilder.control(imz.paperVars),\r\n vouchersDistributed: this.formBuilder.control(this.clinicType != 2 ? imz.vouchersDistributed : null),\r\n isClinicalReqd: this.formBuilder.control(imz.isClinicalReqd),\r\n clinicalReqdApprovedBy: this.formBuilder.control(imz.clinicalReqdApprovedBy),\r\n clinicalReqApprovedDate: this.formBuilder.control((imz_app_date != '' && imz_app_date != null) ? /*new Date(dateSplitString[2], Number(dateSplitString[0]) - 1, Number(dateSplitString[1]), 18, 30, 30)*/imz_app_date : null)\r\n }\r\n )\r\n )\r\n });\r\n return this.formBuilder.array(imz_array);\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n calculateBS4GridSize() {\r\n if (this.clinicType == 2) {\r\n return {\r\n 'col-md-5': true\r\n }\r\n }\r\n else {\r\n return {\r\n 'col-md-8': true\r\n }\r\n }\r\n }\r\n displayFieldCssForArray(field: string, index: number) {\r\n let return_value = this.isValidArrayField(field, index);\r\n return {\r\n 'has-error': return_value,\r\n 'has-feedback': return_value\r\n };\r\n }\r\n\r\n displayFieldCssForTable(field: string, index: number) {\r\n const clinicImmzList = this.clinicDetailsForm.controls['clinicImmunizationList'] as FormArray;\r\n const transformedList = this._uniquePipeClinicDetails.transform(clinicImmzList.controls);\r\n\r\n let return_value = transformedList[index].controls[field].status == 'INVALID';\r\n return {\r\n 'has-error': return_value,\r\n 'has-feedback': return_value\r\n };\r\n }\r\n\r\n displayFieldCssForLocImm(field: string, i: number, im: number) {\r\n const control = this.clinicDetailsForm.controls['clinicList'];\r\n const immArray = control.controls[i].get('clinicImzQtyList');\r\n const estQty = immArray.controls[im].get('estimatedQuantity');\r\n let return_val = !estQty.valid && estQty.touched;\r\n return {\r\n 'has-error': return_val,\r\n 'has-feedback': return_val\r\n };\r\n }\r\n\r\n isFieldValid(field: string) {\r\n if (this.clinicDetailsForm.get(field) != null)\r\n return !this.clinicDetailsForm.get(field).valid && this.clinicDetailsForm.get(field).touched;\r\n }\r\n\r\n isValidArrayField(fields: string, index: number) {\r\n let return_value = false;\r\n Object.keys(this.clinicDetailsForm.controls).forEach(field => {\r\n const control = this.clinicDetailsForm.get(field);\r\n if (control instanceof FormArray) {\r\n if (control.controls[index] !== undefined) {\r\n if (control.controls[index].get(fields) != null) {\r\n return_value = !control.controls[index].get(fields).valid && control.controls[index].get(fields).touched;\r\n }\r\n }\r\n }\r\n });\r\n return return_value;\r\n }\r\n\r\n isFormValid(): boolean {\r\n let frmar: FormArray = this.clinicDetailsForm.get('clinicList') as FormArray;\r\n for (let index = 0; index < frmar.length; index++) {\r\n const element = frmar.controls[index] as FormGroup;\r\n this.utility.validateAllFormFields(element);\r\n }\r\n return this.clinicDetailsForm.valid;\r\n }\r\n confirmClinic() {\r\n\r\n if (this.coClinicDetails.opportunityInfo.childClinicAgreementId != null && this.coClinicDetails.opportunityInfo.childClinicAgreementId > 0 && !this.coClinicDetails.opportunityInfo.childClinicAgreementApproved) {\r\n this.clinicNotConfirmedMsgDlg = true;\r\n this.showClinicNotConfirmedDialog('Amend Agreement', ErrorMessages['DisbaleButtonsAmend']);\r\n return false;\r\n }\r\n\r\n let control_imz = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let index1;\r\n for (index1 = 0; index1 < control_imz.length; index1++) {\r\n control_imz.controls[index1].get('estimatedQuantity').setValidators(Validators.required);\r\n control_imz.controls[index1].get('estimatedQuantity').updateValueAndValidity();\r\n control_imz.controls[index1].get('totalImmAdministered').setValidators(null);\r\n control_imz.controls[index1].get('totalImmAdministered').updateValueAndValidity();\r\n\r\n if (this.reassignForm.value.assignType !== null && this.reassignForm.value.assignType !== \"\") {\r\n control_imz.controls[index1].get('isClinicalReqd').setValidators(null);\r\n control_imz.controls[index1].get('isClinicalReqd').updateValueAndValidity();\r\n } else {\r\n control_imz.controls[index1].get('isClinicalReqd').setValidators((ImmunizationsClinicalRequirements[\"immunizations\"].indexOf(control_imz.controls[index1].get('immunizationName').value) > -1 ? Validators.requiredTrue : Validators.nullValidator));\r\n control_imz.controls[index1].get('isClinicalReqd').updateValueAndValidity();\r\n }\r\n\r\n this.utility.validateAllFormFields(control_imz.controls[index1]);\r\n }\r\n let control = this.clinicDetailsForm.controls['clinicList'];\r\n let index;\r\n for (index = 0; index < control.length; index++) {\r\n control.controls[0].get('confirmedClientName').setValidators([1, 3, 5].indexOf(this.clinicType) > -1 ? [Validators.required] : null);\r\n control.controls[0].get('confirmedClientName').updateValueAndValidity();\r\n this.utility.validateAllFormFields(control.controls[index]);\r\n }\r\n this.isNoclinicValidations();\r\n this.clinicDetailsForm.controls[\"feedbackNotes\"].setValidators(null);\r\n this.clinicDetailsForm.controls[\"feedbackNotes\"].updateValueAndValidity();\r\n // this.clinicDetailsForm.controls[\"pharmacistName\"].setValidators(null);\r\n // this.clinicDetailsForm.controls[\"pharmacistName\"].updateValueAndValidity();\r\n // this.clinicDetailsForm.controls[\"pharmacistPhone\"].setValidators(null);\r\n // this.clinicDetailsForm.controls[\"pharmacistPhone\"].updateValueAndValidity();\r\n // this.clinicDetailsForm.controls[\"totalHours\"].setValidators(null);\r\n // this.clinicDetailsForm.controls[\"totalHours\"].updateValueAndValidity();\r\n\r\n if (this.clinicDetailsForm.valid) { // && control.controls[0].get('confirmedClientName').value?.trim().length > 0\r\n this.is_confirmed = true;\r\n\r\n if (((this.clinicDetailsForm.value.recipientId != null ||\r\n this.clinicDetailsForm.value.recipientId != undefined) &&\r\n this.clinicDetailsForm.value.recipientId.trim().length <= 0) ||\r\n ((this.clinicDetailsForm.value.naClinicPlanId != null ||\r\n this.clinicDetailsForm.value.naClinicPlanId != undefined) &&\r\n this.clinicDetailsForm.value.naClinicPlanId.trim().length <= 0)) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n if (this.clinicDetailsForm.value.email != null || this.clinicDetailsForm.value.email != undefined) {\r\n if (this.clinicDetailsForm.value.email.trim().length > 0) {\r\n if (!this.utility.validateSingleEmail(this.clinicDetailsForm.value.email)) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidEmail']);\r\n return false;\r\n }\r\n }\r\n }\r\n if (this.clinicDetailsForm.value.phone != null || this.clinicDetailsForm.value.phone != undefined) {\r\n if (this.clinicDetailsForm.value.phone.trim().length > 0) {\r\n if (!this.utility.validatePhoneNo(this.clinicDetailsForm.value.phone.trim())) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidPhoneFormat']);\r\n return false;\r\n }\r\n }\r\n }\r\n if (this.clinicDetailsForm.value.pharmacistPhone != null ||\r\n this.clinicDetailsForm.value.pharmacistPhone != undefined) {\r\n if (this.clinicDetailsForm.value.pharmacistPhone.trim().length > 0) {\r\n if (!this.utility.validatePhoneNo(this.clinicDetailsForm.value.pharmacistPhone.trim())) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidPhoneFormat']);\r\n return false;\r\n }\r\n }\r\n }\r\n if (!this.isAssignedStoreValid()) {\r\n if (this.coClinicDetails.clinicList[0].isConfirmed == true || this.coClinicDetails.clinicList[0].isConfirmed == 1 ||\r\n this.coClinicDetails.clinicList[0].isCompleted == true || this.coClinicDetails.clinicList[0].isCompleted == 1 ||\r\n this.coClinicDetails.clinicList[0].isCancelled == true || this.coClinicDetails.clinicList[0].isCancelled == 1) {\r\n this.showDialog(ErrorMessages['reAssignStoreInvalidActionHdr'], ErrorMessages['reAssignStoreInvalidActionMsg']);\r\n return false;\r\n }\r\n }\r\n let controlclinicList = this.clinicDetailsForm.controls['clinicList'];\r\n let index_clinic;\r\n for (index_clinic = 0; index_clinic < controlclinicList.length; index_clinic++) {\r\n\r\n let address1: string = controlclinicList.controls[index_clinic].get('naClinicAddress1').value;\r\n let address2: string = controlclinicList.controls[index_clinic].get('naClinicAddress2').value;\r\n\r\n let address = (address1 + address2).trim().replace(/[\\[\\]().-]+/g, '');\r\n address = address.replace(/\\s/g, '');\r\n if (address.toLowerCase().includes(\"pobox\")) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"Addresses containing a P.O. Box are not allowed. Please enter a valid location address.\";\r\n\r\n this.showDialogV2(this.dialogSummary, this.dialogMsg);\r\n return;\r\n }\r\n\r\n }\r\n this.action_status = \"Confirmed\";\r\n if (!this.validateReduceEstQnt()) {\r\n return;\r\n }\r\n let clinicItem = (this.clinicDetailsForm.controls['clinicList']);\r\n //clinicItem.controls[0].get('apptSchedulerType').value\r\n if (!this.alertUserAboutScheduler()) {\r\n return;\r\n }\r\n if (!this.isClinicDateReminderBefore2WksReq(\"Confirmed\")) {\r\n this.continueWithSaving(\"Confirmed\");\r\n }\r\n else {\r\n let sumMsg = ErrorMessages['impRmndrFor2Wks'];\r\n let errMsg = ErrorMessages['new_clinicDateReminderBefore2WeeksEN'];\r\n var userProfile = SessionDetails.GetUserProfile();\r\n //if (ClinicDetailsUtilities.shallWeShow2WkConfirmDialog(userProfile)) {\r\n this.OverrideOrOkTitle = \"OK\";\r\n this.showCancelBtn = false;\r\n this.confirm(sumMsg, errMsg, \"Confirmed\");\r\n //return;\r\n //}\r\n // else {\r\n // errMsg = ErrorMessages['clinicDateReminderBefore2WeeksEN'];\r\n // this.showDialog(sumMsg, errMsg);\r\n // return\r\n // }\r\n }\r\n }\r\n else {\r\n control = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let imz_names: string = this.validateClinicalRequirements(control);\r\n if (imz_names.length > 0) {\r\n this.showDialogV2(ErrorMessages['serverError'], String.Format(ErrorMessages['clinicalRequirementsError'], imz_names));\r\n return;\r\n }\r\n if (this.clinicDetailsForm.value.email != null && this.clinicDetailsForm.value.email != undefined &&\r\n this.clinicDetailsForm.value.email.trim().length > 0\r\n && !this.utility.validateSingleEmail(this.clinicDetailsForm.value.email)) {\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidEmail']);\r\n return;\r\n }\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n return;\r\n }\r\n }\r\n\r\n completeClinic() {\r\n this.hasCompleteClinicClicked = false;\r\n if (this.coClinicDetails.opportunityInfo.childClinicAgreementId != null && this.coClinicDetails.opportunityInfo.childClinicAgreementId > 0 && !this.coClinicDetails.opportunityInfo.childClinicAgreementApproved) {\r\n this.clinicNotConfirmedMsgDlg = true;\r\n this.showClinicNotConfirmedDialog('Amend Agreement', ErrorMessages['DisbaleButtonsAmend']);\r\n return false;\r\n }\r\n\r\n if (this.coClinicDetails.clinicList[0].isConfirmed == false) {\r\n this.clinicNotConfirmedMsgDlg = true;\r\n this.showClinicNotConfirmedDialog('Alert', ErrorMessages['clinicNotConfirmedMsg']);\r\n return false;\r\n }\r\n else {\r\n let control = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let index;\r\n let totalImmAdministeredIsOK = true;\r\n\r\n for (index = 0; index < control.length; index++) {\r\n control.controls[index].get('totalImmAdministered').setValidators([Validators.required]);\r\n control.controls[index].get('estimatedQuantity').setValidators(Validators.required);\r\n control.controls[index].get('estimatedQuantity').updateValueAndValidity();\r\n control.controls[index].get('totalImmAdministered').updateValueAndValidity();\r\n this.utility.validateAllFormFields(control.controls[index]);\r\n\r\n if (totalImmAdministeredIsOK && control.controls[index].get('totalImmAdministered').value != null)\r\n if (Number(control.controls[index].get('totalImmAdministered').value) < 0 && control.controls[index].get('totalImmAdministered').value != \"\") {\r\n totalImmAdministeredIsOK = false;\r\n }\r\n if (this.reassignForm.value.assignType !== null && this.reassignForm.value.assignType !== \"\") {\r\n control.controls[index].get('isClinicalReqd').setValidators(null);\r\n control.controls[index].get('isClinicalReqd').updateValueAndValidity();\r\n }\r\n else {\r\n control.controls[index].get('isClinicalReqd').setValidators((ImmunizationsClinicalRequirements[\"immunizations\"].indexOf(control.controls[index].get('immunizationName').value) > -1 ? Validators.requiredTrue : Validators.nullValidator));\r\n control.controls[index].get('isClinicalReqd').updateValueAndValidity();\r\n }\r\n\r\n }\r\n control = this.clinicDetailsForm.controls['clinicList'];\r\n\r\n for (index = 0; index < control.length; index++) {\r\n control.controls[0].get('confirmedClientName').setValidators([1, 3, 5].indexOf(this.clinicType) > -1 ? [Validators.required] : null);\r\n control.controls[0].get('confirmedClientName').updateValueAndValidity();\r\n this.utility.validateAllFormFields(control.controls[index]);\r\n }\r\n\r\n this.isNoclinicValidations();\r\n this.clinicDetailsForm.controls[\"feedbackNotes\"].setValidators(null);\r\n this.clinicDetailsForm.controls[\"feedbackNotes\"].updateValueAndValidity();\r\n // this.clinicDetailsForm.controls[\"pharmacistName\"].setValidators(Validators.required);\r\n // this.clinicDetailsForm.controls[\"pharmacistName\"].updateValueAndValidity();\r\n // this.clinicDetailsForm.controls[\"pharmacistPhone\"].setValidators(Validators.required);\r\n // this.clinicDetailsForm.controls[\"pharmacistPhone\"].updateValueAndValidity();\r\n // this.clinicDetailsForm.controls[\"totalHours\"].setValidators(Validators.required);\r\n // this.clinicDetailsForm.controls[\"totalHours\"].updateValueAndValidity();\r\n // if (this.clinicDetailsForm.value.recipientId.trim().length <= 0 || this.clinicDetailsForm.value.naClinicPlanId.trim().length <= 0) {\r\n // this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n // return false;\r\n // }\r\n if (this.clinicDetailsForm.valid) {\r\n if (!this.usPhoneNoRegEx.test(this.clinicDetailsForm.value.phone)) {\r\n this.showDialogV2(ErrorMessages['OpportunityInformationHeading'], ErrorMessages['OpportunityInformationMessage']);\r\n return false;\r\n }\r\n if (!totalImmAdministeredIsOK) {\r\n this.showDialogV2(ErrorMessages['clinicDetails'], ErrorMessages['totalAdministeredIsNOK']);\r\n return false;\r\n }\r\n for (let i = 0; i < this.clinicDetailsForm.value.clinicList.length; i++) {\r\n if (!this.usPhoneNoRegEx.test(this.clinicDetailsForm.value.clinicList[i].naClinicContactPhone)) {\r\n this.showDialogV2(ErrorMessages['ClinicInformationHeading'], ErrorMessages['ClinicInformationMessage']);\r\n return false;\r\n }\r\n }\r\n\r\n if (this.clinicDetailsForm.value.pharmacistPhone) {\r\n if (((this.clinicDetailsForm.value.pharmacistPhone).indexOf(\"X\") > -1)) {\r\n this.clinicDetailsForm.controls.pharmacistPhone.setValue(null);\r\n this.clinicDetailsForm.controls.pharmacistPhone.updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n\r\n if (!this.usPhoneNoRegEx.test(this.clinicDetailsForm.value.pharmacistPhone)) {\r\n this.showDialogV2(ErrorMessages['PharmacistPostClinicInformationHeading'], ErrorMessages['PharmacistPostClinicInformationMessage']);\r\n return false;\r\n }\r\n }\r\n if (((this.clinicDetailsForm.value.recipientId != null ||\r\n this.clinicDetailsForm.value.recipientId != undefined) &&\r\n this.clinicDetailsForm.value.recipientId.trim().length <= 0) ||\r\n ((this.clinicDetailsForm.value.naClinicPlanId != null ||\r\n this.clinicDetailsForm.value.naClinicPlanId != undefined) &&\r\n this.clinicDetailsForm.value.naClinicPlanId.trim().length <= 0)) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n if (this.clinicDetailsForm.value.email != null || this.clinicDetailsForm.value.email != undefined) {\r\n if (this.clinicDetailsForm.value.email.trim().length > 0) {\r\n if (!this.utility.validateSingleEmail(this.clinicDetailsForm.value.email)) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidEmail']);\r\n return false;\r\n }\r\n }\r\n }\r\n if (this.clinicDetailsForm.value.phone != null || this.clinicDetailsForm.value.phone != undefined) {\r\n\r\n if (this.clinicDetailsForm.value.phone.trim().length > 0) {\r\n if (!this.utility.validatePhoneNo(this.clinicDetailsForm.value.phone.trim())) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidPhoneFormat']);\r\n return false;\r\n }\r\n }\r\n }\r\n if (this.clinicDetailsForm.value.pharmacistPhone != null || this.clinicDetailsForm.value.pharmacistPhone != undefined) {\r\n if (this.clinicDetailsForm.value.pharmacistPhone.trim().length > 0) {\r\n if (!this.utility.validatePhoneNo(this.clinicDetailsForm.value.pharmacistPhone.trim())) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidPhoneFormat']);\r\n return false;\r\n }\r\n }\r\n }\r\n if (!this.isAssignedStoreValid()) {\r\n if (this.coClinicDetails.clinicList[0].isConfirmed || this.coClinicDetails.clinicList[0].isConfirmed == 1 ||\r\n this.coClinicDetails.clinicList[0].isCompleted || this.coClinicDetails.clinicList[0].isCompleted == 1 ||\r\n this.coClinicDetails.clinicList[0].isCancelled || this.coClinicDetails.clinicList[0].isCancelled == 1) {\r\n this.showDialog(ErrorMessages['reAssignStoreInvalidActionHdr'], ErrorMessages['reAssignStoreInvalidActionMsg']);\r\n return false;\r\n }\r\n }\r\n let controlclinicList = this.clinicDetailsForm.controls['clinicList'];\r\n let index_clinic;\r\n for (index_clinic = 0; index_clinic < controlclinicList.length; index_clinic++) {\r\n\r\n let address1: string = controlclinicList.controls[index_clinic].get('naClinicAddress1').value;\r\n let address2: string = controlclinicList.controls[index_clinic].get('naClinicAddress2').value;\r\n\r\n let address = (address1 + address2).trim().replace(/[\\[\\]().-]+/g, '');\r\n address = address.replace(/\\s/g, '');\r\n if (address.toLowerCase().includes(\"pobox\")) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"Addresses containing a P.O. Box are not allowed. Please enter a valid location address.\";\r\n\r\n this.showDialogV2(this.dialogSummary, this.dialogMsg);\r\n return;\r\n }\r\n\r\n }\r\n this.action_status = \"Completed\";\r\n if (!this.validateReduceEstQnt()) {\r\n return;\r\n }\r\n //let clinicItem = (this.clinicDetailsForm.controls['clinicList']);\r\n if (!this.alertUserAboutScheduler()) {\r\n return;\r\n }\r\n this.is_completed = true;\r\n let ret: Boolean = false;\r\n if (this.clinicDetailsForm.value.clinicList.length > 1) {\r\n ret = this.isClinicDateReminderBefore2WksReq(\"Completed\");\r\n }\r\n if (!ret || (ret && this.clinicDetailsForm.value.clinicList.length <= 1)) {\r\n this.continueWithSaving(\"Completed\");\r\n }\r\n else {\r\n let sumMsg = ErrorMessages['impRmndrFor2Wks'];\r\n let errMsg = ErrorMessages['new_clinicDateReminderBefore2WeeksEN'];\r\n // if (ClinicDetailsUtilities.shallWeShow2WkConfirmDialog(SessionDetails.GetUserProfile())) {\r\n this.OverrideOrOkTitle = \"OK\";\r\n this.showCancelBtn = false;\r\n this.confirm(sumMsg, errMsg, \"Completed\");\r\n // return\r\n // }\r\n // else {\r\n // errMsg = ErrorMessages['clinicDateReminderBefore2WeeksEN'];\r\n // this.showDialog(sumMsg, errMsg);\r\n // return\r\n // }\r\n\r\n }\r\n }\r\n else {\r\n control = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let imz_names: string = this.validateClinicalRequirements(control);\r\n if (imz_names.length > 0) {\r\n this.showDialogV2(ErrorMessages['serverError'], String.Format(ErrorMessages['clinicalRequirementsError'], imz_names));\r\n return;\r\n }\r\n if (this.clinicDetailsForm.value.email != null && this.clinicDetailsForm.value.email != undefined &&\r\n this.clinicDetailsForm.value.email.trim().length > 0\r\n && !this.utility.validateSingleEmail(this.clinicDetailsForm.value.email)) {\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidEmail']);\r\n return;\r\n }\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n\r\n return;\r\n }\r\n }\r\n }\r\n\r\n saveChanges() {\r\n this.adminConfirmedCancellation = false;\r\n if (this.coClinicDetails.opportunityInfo.childClinicAgreementId != null && this.coClinicDetails.opportunityInfo.childClinicAgreementId > 0 &&\r\n !this.coClinicDetails.opportunityInfo.childClinicAgreementApproved) {\r\n this.clinicNotConfirmedMsgDlg = true;\r\n this.showClinicNotConfirmedDialog('Amend Agreement', ErrorMessages['DisbaleButtonsAmend']);\r\n return false;\r\n }\r\n this.action_status = null;\r\n let control = this.clinicDetailsForm.controls['clinicList'];\r\n let index;\r\n for (index = 0; index < control.length; index++) {\r\n if (this.coClinicDetails.clinicList[0].isCompleted && index == 0) {\r\n control.controls[index].get('confirmedClientName').setValidators([1, 3, 5].indexOf(this.clinicType) > -1 ? [Validators.required] : null);\r\n control.controls[index].get('confirmedClientName').updateValueAndValidity();\r\n } else {\r\n control.controls[index].get('confirmedClientName').setValidators(null);\r\n control.controls[index].get('confirmedClientName').updateValueAndValidity();\r\n }\r\n this.utility.validateAllFormFields(control.controls[index]);\r\n }\r\n\r\n if (!this.covidVaccineWarningOkClicked) {\r\n const locations = this.clinicDetailsForm.controls[\"clinicList\"] as FormArray;\r\n for (const location of locations.controls) {\r\n const clinicImzQtyList = location.get('clinicImzQtyList') as FormArray;\r\n let clinicDate = location.get('clinicDate').value;\r\n clinicDate = moment(clinicDate);\r\n let startDate = moment(environment.covidVaccineNotAviableDates.startDate, \"DD/MM/YYYY\");\r\n let endDate = moment(environment.covidVaccineNotAviableDates.endDate, \"DD/MM/YYYY\");\r\n for (const clinicImzQty of clinicImzQtyList.controls) {\r\n if (clinicImzQty.get('immunizationName').value.toLocaleLowerCase()?.includes('covid') && Number(clinicImzQty.get('estimatedQuantity').value) > 0 && (clinicDate.isBetween(startDate, endDate) || clinicDate.isSame(startDate) || clinicDate.isSame(endDate)) && !environment.disabledFeatures.covidWarning) {\r\n this.covidVaccineSelected = true;\r\n this.dialogMsg = ErrorMessages[\"sesionalCovid19Info\"];\r\n this.dialogSummary = \"Alert\";\r\n clinicImzQty.get('estimatedQuantity').setErrors({ 'incorrect': true });\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n } else {\r\n clinicImzQty.get('estimatedQuantity').setErrors(null);\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n if (this.covidVaccineSelected) {\r\n locations.updateValueAndValidity();\r\n return false;\r\n } else {\r\n locations.updateValueAndValidity();\r\n }\r\n } else {\r\n this.covidVaccineWarningOkClicked = false;\r\n }\r\n\r\n control = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let totalImmAdministeredIsOK = true;\r\n if (control != null || control != undefined) {\r\n for (index = 0; index < control.length; index++) {\r\n // if (this.coClinicDetails.clinicList[0].isCompleted) {\r\n // control.controls[index].get('totalImmAdministered').setValidators([Validators.required]);\r\n // control.controls[index].get('totalImmAdministered').updateValueAndValidity();\r\n // }\r\n // else {\r\n // control.controls[index].get('totalImmAdministered').setValidators(null);\r\n // control.controls[index].get('totalImmAdministered').updateValueAndValidity();\r\n // }\r\n control.controls[index].get('estimatedQuantity').setValidators(Validators.required);\r\n control.controls[index].get('estimatedQuantity').updateValueAndValidity();\r\n\r\n if ([1, 3, 5, 6, 13].indexOf(this.clinicType) > -1) {\r\n if (this.reassignForm.value.assignType != null && this.reassignForm.value.assignType != \"\") {\r\n control.controls[index].get('isClinicalReqd').setValidators(null);\r\n } else {\r\n control.controls[index].get('isClinicalReqd').setValidators((ImmunizationsClinicalRequirements[\"immunizations\"].indexOf(control.controls[index].get('immunizationName').value) > -1 ? Validators.requiredTrue : Validators.nullValidator));\r\n }\r\n control.controls[index].get('isClinicalReqd').updateValueAndValidity();\r\n }\r\n\r\n this.utility.validateAllFormFields(control.controls[index]);\r\n if (totalImmAdministeredIsOK && control.controls[index].get('totalImmAdministered').value != null) {\r\n if (Number(control.controls[index].get('totalImmAdministered').value) < 0 && control.controls[index].get('totalImmAdministered').value != \"\") {\r\n totalImmAdministeredIsOK = false;\r\n }\r\n }\r\n\r\n if (\r\n (this.coClinicDetails.clinicList[0].isCompleted)\r\n && (\r\n control.controls[index].get('totalImmAdministered').value == null\r\n || control.controls[index].get('totalImmAdministered').value?.toString().length == 0\r\n )\r\n ) {\r\n let formGroup: FormGroup = control.controls[index] as FormGroup;\r\n formGroup.controls['totalImmAdministered'].setValidators([Validators.required]);\r\n formGroup.controls['totalImmAdministered'].setErrors({ 'incorrect': true });\r\n formGroup.controls['totalImmAdministered'].markAsDirty();\r\n formGroup.controls['totalImmAdministered'].markAsTouched();\r\n }\r\n }\r\n }\r\n\r\n this.isNoclinicValidations();\r\n\r\n this.clinicDetailsForm.controls[\"feedbackNotes\"].setValidators(null);\r\n this.clinicDetailsForm.controls[\"feedbackNotes\"].updateValueAndValidity();\r\n\r\n\r\n\r\n if (this.clinicDetailsForm.valid) {\r\n if (!this.validateReduceEstQnt()) {\r\n return;\r\n }\r\n //let clinicItem = (this.clinicDetailsForm.controls['clinicList']);\r\n if (!this.alertUserAboutScheduler()) {\r\n return;\r\n }\r\n // if (this.coClinicDetails.clinicList[0].isCompleted && this.clinicDetailsForm.value.pharmacistName != null &&\r\n // this.clinicDetailsForm.value.pharmacistName != undefined &&\r\n // this.clinicDetailsForm.value.pharmacistName.trim().length <= 0) {\r\n // this.showDialogV2(ErrorMessages['PharmacistPostClinicInfoHeading'], ErrorMessages['PharmacistPostClinicErrorMsg']);\r\n // return false;\r\n // }\r\n if (((this.clinicDetailsForm.value.phone).indexOf(\"X\") > -1)) {\r\n this.clinicDetailsForm.controls.phone.setValue(null);\r\n this.clinicDetailsForm.controls.phone.updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n if ([1, 2, 6].indexOf(this.clinicType) > -1) {\r\n if (!this.usPhoneNoRegEx.test(this.clinicDetailsForm.value.phone)) {\r\n this.showDialogV2(ErrorMessages['OpportunityInformationHeading'], ErrorMessages['OpportunityInformationMessage']);\r\n return false;\r\n }\r\n }\r\n for (let i = 0; i < this.clinicDetailsForm.value.clinicList.length; i++) {\r\n if (!this.usPhoneNoRegEx.test(this.clinicDetailsForm.value.clinicList[i].naClinicContactPhone)) {\r\n if (((this.clinicDetailsForm.value.clinicList[i].naClinicContactPhone).indexOf(\"X\") > -1)) {\r\n let icontrol = this.clinicDetailsForm.controls['clinicList'];\r\n icontrol.controls[i].get('naClinicContactPhone').setValue(null);\r\n icontrol.controls[i].get('naClinicContactPhone').setValidators([Validators.required]);\r\n icontrol.controls[i].get('naClinicContactPhone').updateValueAndValidity();\r\n this.utility.validateAllFormFields(icontrol.controls[i]);\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n else {\r\n if ([1, 2, 6].indexOf(this.clinicType) > -1) {\r\n this.showDialogV2(ErrorMessages['ClinicInformationHeading'], ErrorMessages['ClinicInformationMessage']);\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n if (!totalImmAdministeredIsOK) {\r\n if (this.clinicType != 13) {\r\n this.showDialogV2(ErrorMessages['clinicDetails'], ErrorMessages['totalAdministeredIsNOK']);\r\n return false;\r\n }\r\n\r\n }\r\n if (this.clinicDetailsForm.value.pharmacistPhone) {\r\n if (!this.usPhoneNoRegEx.test(this.clinicDetailsForm.value.pharmacistPhone)) {\r\n this.clinicDetailsForm.controls.pharmacistPhone.setValue(null);\r\n this.clinicDetailsForm.controls.pharmacistPhone.updateValueAndValidity();\r\n this.showDialogV2(ErrorMessages['PharmacistPostClinicInformationHeading'], ErrorMessages['PharmacistPostClinicInformationMessage']);\r\n return false;\r\n }\r\n }\r\n for (let i = 0; i < this.clinicDetailsForm.value.clinicList.length; i++) {\r\n if (this.clinicDetailsForm.value.clinicList[i].assignedStore == 0) {//this.clinicDetailsForm.value.clinicList[i].assignedStore ||\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['assignedStore']);\r\n return false;\r\n }\r\n }\r\n if (((this.clinicDetailsForm.value.recipientId != null ||\r\n this.clinicDetailsForm.value.recipientId != undefined) &&\r\n this.clinicDetailsForm.value.recipientId.trim().length <= 0) ||\r\n ((this.clinicDetailsForm.value.naClinicPlanId != null ||\r\n this.clinicDetailsForm.value.naClinicPlanId != undefined) &&\r\n this.clinicDetailsForm.value.naClinicPlanId.trim().length <= 0)) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n // let errCOVIDVisits:string[] = this.getCOVIDVisitTypesValidity();\r\n // if(errCOVIDVisits.length > 0){\r\n // this.showDialogV2(ErrorMessages['resolve'], errCOVIDVisits.join('

'));\r\n // return false;\r\n // }\r\n let controlclinicList = this.clinicDetailsForm.controls['clinicList'];\r\n let index_clinic;\r\n for (index_clinic = 0; index_clinic < controlclinicList.length; index_clinic++) {\r\n\r\n let address1: string = controlclinicList.controls[index_clinic].get('naClinicAddress1').value;\r\n let address2: string = controlclinicList.controls[index_clinic].get('naClinicAddress2').value;\r\n\r\n let address = (address1 + address2).trim().replace(/[\\[\\]().-]+/g, '');\r\n address = address.replace(/\\s/g, '');\r\n if (address.toLowerCase().includes(\"pobox\")) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"Addresses containing a P.O. Box are not allowed. Please enter a valid location address.\";\r\n\r\n this.showDialogV2(this.dialogSummary, this.dialogMsg);\r\n return;\r\n }\r\n\r\n }\r\n\r\n if (Number(this.coClinicDetails.clinicList[0].noSlotsOfBlocked) > 0 && !this.overrideBlockedSlotAlert\r\n && (this.coClinicDetails.clinicList[0].naClinicStartTime != this.clinicDetailsForm.value.clinicList[0].naClinicStartTime\r\n || this.coClinicDetails.clinicList[0].naClinicEndTime != this.clinicDetailsForm.value.clinicList[0].naClinicEndTime)) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = ErrorMessages['slotsBlockedWarning'];\r\n this.showBlockedSlotAlert = true;\r\n this.clinic_details_update.clinicContactStatus = \"Submit\"\r\n return;\r\n }\r\n if (!this.isClinicDateReminderBefore2WksReq(\"Submit\")) {\r\n this.clinic_details_update = this.saveData(null);\r\n this.clinic_details_update.clinicContactStatus = \"Submit\";\r\n if (this.dateTimeConflict()) {\r\n // if (this.MinimumShotValidation(\"Submit\", false)) {\r\n if (this.isAssignedStoreValid()) {\r\n this._alertService.clear();\r\n this._alertService.info(ErrorMessages['clinicDateReminderAfter2WeeksEN'], false);\r\n this.scrolling();\r\n this.spinner.show();\r\n this.rescheduledErrorCode = 0;\r\n this.clinic_details_update.isSendLocationChangeEmailToAppts = false;\r\n // this.clinic_details_update.opportunityInfo.b2BTeamEmail = '';\r\n // this.clinic_details_update.opportunityInfo.clientReportingEmail = '';\r\n this.clinic_details_update.isSendRescheduleEmailToAppts = false;\r\n this.coClinicdetailsService.upDateClinicDetails(this.coClinicDetails.clinicList[0].clinicPk,\r\n this.clinic_details_update).subscribe((res: any) => {\r\n this.spinner.hide();\r\n //if (res.status == \"200\") {\r\n if (res.errorS != null) {\r\n if (res.errorS.errorCode != 0) {\r\n let errorCode = res.errorS.errorCode;\r\n let errorMessage = res.errorS.errorMessage;\r\n switch (errorCode) {\r\n case -4:\r\n let sumMsg = ErrorMessages['eventDateTimeConflict'];\r\n let finalErrMsg = String.Format(\"{0}

{1}\", res.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']);\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n this.confirm(sumMsg, finalErrMsg, null, true);\r\n break;\r\n case -6:\r\n this.rescheduledErrorCode = errorCode;\r\n this.showClinicLocationDetailsSaveChangesError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsLocationChangedWarning']);\r\n break;\r\n case -5:\r\n // if (this.isAdmin()) {\r\n this.rescheduledErrorCode = errorCode;\r\n this.showUpdateClinicDetailsRspError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsChangedWarning'].replace('{1}', errorMessage.replace(',', ', ')));\r\n // }\r\n // else {\r\n // this.showDialogV2(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsChangedErrMsg'].replace('{1}', errorMessage.replace(',', ', ')));\r\n // }\r\n break;\r\n case -7:\r\n this.showDialog(ErrorMessages['clinicDetails'], errorMessage);\r\n break;\r\n default:\r\n this.showDialogError(ErrorMessages['clinicDetails'], res.json().errorS.errorMessage);\r\n break;\r\n }\r\n return;\r\n }\r\n else {\r\n this.rescheduledErrorCode = 0;\r\n let msg = ErrorMessages['clinicSave'];\r\n if (this.clinic_details_update.clinicList[0].apptSchedulerType === 1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n msg = ErrorMessages['clinicSavedWithSchdlr']\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n msg = ErrorMessages['clinicSavedWithCPSchdlr']\r\n }\r\n this.showDialog(ErrorMessages['clinicDetails'], msg);\r\n }\r\n }\r\n else {\r\n this.rescheduledErrorCode = 0;\r\n let msg = ErrorMessages['clinicSave'];\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n msg = ErrorMessages['clinicSavedWithSchdlr'];\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n msg = ErrorMessages['clinicSavedWithCPSchdlr'];\r\n }\r\n this.showDialog(ErrorMessages['clinicDetails'], msg);\r\n }\r\n //}\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.showDialog(ErrorMessages['serverError'], err.message);\r\n });\r\n } else {\r\n this.showReAssignStoreDialog(null);\r\n }\r\n //}\r\n }\r\n }\r\n else {\r\n\r\n var userProfile = SessionDetails.GetUserProfile();\r\n if (userProfile.userRole.toLowerCase() == \"admin\" && !this.isFluDosesValidUnder14DaysTimeFrame()) {\r\n this.showFluDosesValidityDialog(ErrorMessages['resolve'],\r\n ErrorMessages['moreDosesInDetailsPageError'], null);\r\n return;\r\n }\r\n else if (!this.isFluDosesValidUnder14DaysTimeFrame()) {\r\n this.showDialog(ErrorMessages['resolve'], ErrorMessages['moreDosesInDetailsPageError']);\r\n return;\r\n }\r\n let sumMsg = ErrorMessages['impRmndrFor2Wks'];\r\n let errMsg = ErrorMessages['new_clinicDateReminderBefore2WeeksEN'];\r\n // if (ClinicDetailsUtilities.shallWeShow2WkConfirmDialog(userProfile)) {\r\n this.OverrideOrOkTitle = \"OK\";\r\n this.showCancelBtn = false;\r\n this.confirm(sumMsg, errMsg, null);\r\n // return;\r\n // }\r\n // else {\r\n // errMsg = ErrorMessages['clinicDateReminderBefore2WeeksEN'];\r\n // this.showDialog(sumMsg, errMsg);\r\n // return;\r\n // }\r\n }\r\n }\r\n else {\r\n control = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let imz_names: string = this.validateClinicalRequirements(control);\r\n if (imz_names.length > 0) {\r\n this.showDialogV2(ErrorMessages['serverError'], String.Format(ErrorMessages['clinicalRequirementsError'], imz_names));\r\n return;\r\n }\r\n if (this.clinicDetailsForm.value.email != null && this.clinicDetailsForm.value.email != undefined &&\r\n this.clinicDetailsForm.value.email.trim().length > 0\r\n && !this.utility.validateSingleEmail(this.clinicDetailsForm.value.email.trim())) {\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidEmail']);\r\n return;\r\n }\r\n for (let i = 0; i < this.clinicDetailsForm.value.clinicList.length; i++) {\r\n if (((this.clinicDetailsForm.value.clinicList[i].naClinicContactPhone) && (this.clinicDetailsForm.value.clinicList[i].naClinicContactPhone).indexOf(\"X\") > -1) || (this.clinicDetailsForm.value.clinicList[i].naClinicContactPhone) == '') {\r\n let xcontrol = this.clinicDetailsForm.controls['clinicList'];\r\n xcontrol.controls[i].get('naClinicContactPhone').setValue(null);\r\n xcontrol.controls[i].get('naClinicContactPhone').setValidators([Validators.required]);\r\n xcontrol.controls[i].get('naClinicContactPhone').updateValueAndValidity();\r\n this.utility.validateAllFormFields(xcontrol.controls[i]);\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n }\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n return;\r\n }\r\n }\r\n getCOVIDVisitTypesValidity() {\r\n var re = /COVID19/gi;\r\n var dose1Re = /First Dose/gi;\r\n var dose2Re = /Second Dose/gi;\r\n let isValid = false;\r\n let errMsgs: string[] = [];\r\n for (let count = 0; count < this.clinicDetailsForm.value.clinicList.length; count++) {\r\n // let visitType:number = this.clinicDetailsForm.value.clinicList[count].visitType;\r\n let totalCovidImmCount: number = 0;\r\n let covidImmList = null;\r\n // bug 834 fix\r\n\r\n }\r\n return errMsgs;\r\n }\r\n\r\n validateClinicalRequirements(control_list: any) {\r\n let imz_names: string = \"\";\r\n let cnt = 0;\r\n if (control_list !== null || control_list !== undefined) {\r\n for (let index = 0; index < control_list.length; index++) {\r\n if ((ImmunizationsClinicalRequirements[\"immunizations\"].indexOf(control_list.controls[index].get('immunizationName').value) > -1 && control_list.controls[index].get('isClinicalReqd').status === 'INVALID')) {\r\n if (imz_names.indexOf(control_list.controls[index].get('immunizationName').value) == -1) {\r\n imz_names = imz_names + ((cnt === this.clinicalRequirements.length - 1) ? ((this.clinicalRequirements.length === 1) ? '' : ' and ') : ((imz_names.length > 0) ? ', ' : '')) + control_list.controls[index].get('immunizationName').value;\r\n cnt++;\r\n }\r\n }\r\n }\r\n }\r\n return imz_names;\r\n }\r\n\r\n isAssignedStoreValid() {\r\n let is_valid_assigned_store: boolean = true;\r\n let is_reassigning: boolean = false;\r\n let has_clinical_req_approved: boolean = false;\r\n has_clinical_req_approved = this.hasClinicalRequirements();\r\n if ((this.clinicDetailsForm.value.storeID !== null && this.clinicDetailsForm.value.storeID !== undefined) &&\r\n (this.reassignForm.value.assignStoreID !== null && this.reassignForm.value.assignStoreID !== undefined) &&\r\n ((this.reassignForm.value.assignStoreID.storeId !== null ||\r\n this.reassignForm.value.assignStoreID.storeId !== undefined))) {\r\n if (Number(this.coClinicDetails.opportunityInfo.storeId) !== Number(this.reassignForm.value.assignStoreID.storeId) &&\r\n (this.coClinicDetails.clinicList[0].isConfirmed === true || Number(this.coClinicDetails.clinicList[0].isConfirmed) === 1 ||\r\n (this.coClinicDetails.clinicList[0].isCompleted === true || Number(this.coClinicDetails.clinicList[0].isCompleted) === 1) ||\r\n (this.coClinicDetails.clinicList[0].isCancelled === true || Number(this.coClinicDetails.clinicList[0].isCancelled) === 1))) {\r\n is_valid_assigned_store = false;\r\n if (Number(this.coClinicDetails.opportunityInfo.storeId) !== Number(this.reassignForm.value.assignStoreID.storeId) || this.reassignForm.value.assignType.toLowerCase() === 'geography') {\r\n is_reassigning = true;\r\n }\r\n }\r\n }\r\n\r\n if ((!is_reassigning || (this.coClinicDetails.clinicList && (this.coClinicDetails.clinicList[0].isCancelled !== true && Number(this.coClinicDetails.clinicList[0].isCancelled) !== 1) &&\r\n (this.coClinicDetails.clinicList[0].isCompleted !== true && Number(this.coClinicDetails.clinicList[0].isCompleted) !== 1))) &&\r\n ((!is_valid_assigned_store && has_clinical_req_approved) || (is_valid_assigned_store && has_clinical_req_approved)\r\n || (is_valid_assigned_store && !has_clinical_req_approved))) {\r\n if (this.clinic_details_update.clinicList && this.clinic_details_update.clinicList[0].isReassign === 1) {\r\n this.clinic_details_update.clinicList[0].isCancelled = false;\r\n //this.clinic_details_update.clinicList[0].isCompleted = false;\r\n this.clinic_details_update.clinicList[0].isConfirmed = false;\r\n }\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n hasClinicalRequirements(): boolean {\r\n let has_cl_approved: boolean = false;\r\n this.coClinicDetails.clinicList[0].clinicImzQtyList.forEach(imz => {\r\n if (this.clinic_details_update.clinicList && (this.clinic_details_update.clinicList[0].isReassign === 1 || (this.clinic_details_update.clinicList[0].reassignType && this.clinic_details_update.clinicList[0].reassignType.toLowerCase() === 'geography')) && ImmunizationsClinicalRequirements[\"immunizations\"].indexOf(imz.immunizationName) > -1 && imz.isClinicalReqd) {\r\n has_cl_approved = true;\r\n }\r\n });\r\n return has_cl_approved;\r\n }\r\n\r\n clearReassignDialogControls() {\r\n this.reassignForm = this.formBuilder.group({\r\n assignType: [null, null],\r\n assignStoreID: [null, null],\r\n assignStore: ['', null],\r\n });\r\n }\r\n maintainStatusClicked() {\r\n this.AssignedStoreChkModalDlg = false;\r\n this.maintainStatusSelected = true;\r\n this.clinic_details_update = this.saveData(null);\r\n this.clinic_details_update.clinicContactStatus = \"Submit\";\r\n this._alertService.clear();\r\n this._alertService.info(ErrorMessages['clinicDateReminderAfter2WeeksEN'], false);\r\n this.scrolling();\r\n this.spinner.show();\r\n this.coClinicdetailsService.upDateClinicDetails(this.coClinicDetails.clinicList[0].clinicPk,\r\n this.clinic_details_update).subscribe((res: any) => {\r\n this.spinner.hide();\r\n //if (res.status == \"200\") {\r\n if (res.errorS != null) {\r\n if (res.errorS.errorCode != 0) {\r\n switch (res.errorS.errorCode) {\r\n case -4:\r\n let sumMsg = ErrorMessages['eventDateTimeConflict'];\r\n let finalErrMsg = String.Format(\"{0}

{1}\", res.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']);\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n this.confirm(sumMsg, finalErrMsg, null, true);\r\n break;\r\n default:\r\n this.showDialogError(ErrorMessages['clinicDetails'], res.errorS.errorMessage);\r\n break;\r\n }\r\n return;\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['clinicDetails'], ErrorMessages['clinicSave']);\r\n }\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['clinicDetails'], ErrorMessages['clinicSave']);\r\n }\r\n //}\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.showDialog(ErrorMessages['serverError'], err.Message);\r\n });\r\n }\r\n contactClientClicked() {\r\n this.AssignedStoreChkModalDlg = false;\r\n this.maintainStatusSelected = false;\r\n this.clinic_details_update = this.saveData(null);\r\n this.clinic_details_update.clinicContactStatus = \"Submit\";\r\n this.clinic_details_update.clinicList[0].isConfirmed = [2, 6].indexOf(this.clinicType) > -1 ? 1 : 0;\r\n this.clinic_details_update.clinicList[0].isCancelled = 0;\r\n this.clinic_details_update.clinicList[0].isCompleted = 0;\r\n this.maintainStatusSelected = true;\r\n this._alertService.clear();\r\n this._alertService.info(ErrorMessages['clinicDateReminderAfter2WeeksEN'], false);\r\n this.scrolling();\r\n this.spinner.show();\r\n this.coClinicdetailsService.upDateClinicDetails(this.coClinicDetails.clinicList[0].clinicPk,\r\n this.clinic_details_update).subscribe((res: any) => {\r\n this.spinner.hide();\r\n //if (res.status == \"200\") {\r\n if (res.errorS != null) {\r\n if (res.errorS.errorCode != 0) {\r\n switch (res.errorS.errorCode) {\r\n case -4:\r\n let sumMsg = ErrorMessages['eventDateTimeConflict'];\r\n let finalErrMsg = String.Format(\"{0}

{1}\", res.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']);\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n this.confirm(sumMsg, finalErrMsg, null, true);\r\n break;\r\n default:\r\n this.showDialogError(ErrorMessages['clinicDetails'], res.errorS.errorMessage);\r\n break;\r\n }\r\n return;\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['clinicDetails'], ErrorMessages['clinicSave']);\r\n }\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['clinicDetails'], ErrorMessages['clinicSave']);\r\n }\r\n //}\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.showDialog(ErrorMessages['serverError'], err.Message);\r\n });\r\n }\r\n showReAssignStoreDialog(action_status: string) {\r\n this.dialogSummary = ErrorMessages['reassignStoreChkHdr'];\r\n let control = this.clinicDetailsForm.controls['clinicList'];\r\n\r\n if (control.value[0].isNoClinic == 1) {\r\n if (this.coClinicDetails.clinicList[0].isConfirmed == 1 || this.coClinicDetails.clinicList[0].isCompleted == 1)\r\n this.reAssignOutreachStatusLabel = \"Provide Vouchers\";\r\n }\r\n else {\r\n this.reAssignOutreachStatusLabel = [1].indexOf(this.clinicType) > -1 ? \"Contact Client\" : \"Confirmed\";\r\n }\r\n this.dialogMsg = String.Format(ErrorMessages['reassignStoreChkMsg'], this.reAssignOutreachStatusLabel);\r\n this.AssignedStoreChkModalDlg = true;\r\n }\r\n isNoclinicValidations() {\r\n let control = this.clinicDetailsForm.controls['clinicList'];\r\n let index;\r\n for (index = 0; index < control.length; index++) {\r\n if (control.value[index].isNoClinic == 1) {\r\n control.controls[index].get('clinicDate').setValidators(null);\r\n control.controls[index].get('clinicDate').setValue(null);\r\n control.controls[index].get('clinicDate').updateValueAndValidity();\r\n control.controls[index].get('naClinicStartTime').setValidators(null);\r\n\r\n control.controls[index].get('naClinicStartTime').updateValueAndValidity();\r\n control.controls[index].get('naClinicStartTime').setValue(null);\r\n control.controls[index].get('naClinicEndTime').setValidators(null);\r\n control.controls[index].get('naClinicEndTime').updateValueAndValidity();\r\n control.controls[index].get('naClinicEndTime').setValue(null);\r\n this.utility.validateAllFormFields(control.controls[index]);\r\n }\r\n else {\r\n control.controls[index].get('clinicDate').setValidators([Validators.required]);\r\n control.controls[index].get('clinicDate').updateValueAndValidity();\r\n control.controls[index].get('naClinicStartTime').setValidators([Validators.required]);\r\n control.controls[index].get('naClinicStartTime').updateValueAndValidity();\r\n control.controls[index].get('naClinicEndTime').setValidators([Validators.required]);\r\n control.controls[index].get('naClinicEndTime').updateValueAndValidity();\r\n this.utility.validateAllFormFields(control.controls[index]);\r\n }\r\n }\r\n }\r\n\r\n continueWithSaving(action_status, is_override?: boolean) {\r\n var error_message = \"\";\r\n this.clinic_details_update = this.saveData(action_status);\r\n\r\n if (this.dateTimeConflict()) {\r\n\r\n let min_shot_validation = true;\r\n // min_shot_validation = this.MinimumShotValidation(action_status, is_override);\r\n if (min_shot_validation) {\r\n this.spinner.show();\r\n if (action_status != null) {\r\n if (action_status.toLowerCase() == 'completed') {\r\n error_message = ErrorMessages['clinicComplete'];\r\n if (this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n error_message = ErrorMessages['clinicCompleteWithSchdlr']\r\n }\r\n }\r\n if (action_status.toLowerCase() == 'confirmed') {\r\n error_message = ErrorMessages['clinicConfirm'];\r\n if (this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1) {\r\n error_message = ErrorMessages['clinicConfirmWithSchdlr'];\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1) {\r\n error_message = ErrorMessages['clinicConfirmWithCPSchdlr'];\r\n }\r\n }\r\n }\r\n\r\n if (action_status.toLowerCase() == 'cancelled') {\r\n error_message = ErrorMessages['clinicCancel'];\r\n this.clinic_details_update.disposition = this.selectedCancelDisposition;\r\n }\r\n if (action_status.toLowerCase() == 'submit') {\r\n error_message = ErrorMessages['clinicSave'];\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n error_message = ErrorMessages['clinicSavedWithSchdlr']\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n error_message = ErrorMessages['clinicSavedWithCPSchdlr'];\r\n }\r\n }\r\n }\r\n else {\r\n error_message = ErrorMessages['clinicSave'];\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n error_message = ErrorMessages['clinicSavedWithSchdlr']\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n error_message = ErrorMessages['clinicSavedWithCPSchdlr'];\r\n }\r\n }\r\n\r\n this._alertService.clear();\r\n if (action_status == null || action_status.toLowerCase() != 'completed') {\r\n this._alertService.info(ErrorMessages['clinicDateReminderAfter2WeeksEN'], false);\r\n }\r\n this.scrolling();\r\n this.rescheduledErrorCode = 0;\r\n var areApptsPresent = this.coClinicDetails.clinicList[0].areApptsPresent;\r\n var noSlotsOfBlocked = this.coClinicDetails.clinicList[0].noSlotsOfBlocked;\r\n var isAdmin = SessionDetails.GetUserProfile().isAdmin;\r\n var now = new Date();\r\n now.setHours(0, 0, 0, 0);\r\n var clinicDate = new Date(this.coClinicDetails.clinicList[0].clinicDate);\r\n clinicDate.setHours(0, 0, 0, 0);\r\n this.clinic_details_update.isSendLocationChangeEmailToAppts = false;\r\n this.clinic_details_update.isSendRescheduleEmailToAppts = false;\r\n this.coClinicdetailsService.upDateClinicDetails(this.coClinicDetails.clinicList[0].clinicPk,\r\n this.clinic_details_update, is_override).subscribe((res: any) => {\r\n this.spinner.hide();\r\n //if (res.status == \"200\") {\r\n if (res.errorS != null) {\r\n if (res.errorS.errorCode != 0) {\r\n let errorCode = res.errorS.errorCode;\r\n let errorMessage = res.errorS.errorMessage;\r\n this.isOverride = is_override;\r\n switch (errorCode) {\r\n case -4:\r\n let sumMsg = ErrorMessages['eventDateTimeConflict'];\r\n let finalErrMsg = String.Format(\"{0}

{1}\", res.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']);\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n this.confirm(sumMsg, finalErrMsg, this.clinic_details_update.clinicContactStatus, true);\r\n break;\r\n case -6:\r\n this.rescheduledErrorCode = errorCode;\r\n this.showClinicLocationDetailsSaveChangesError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsLocationChangedWarning']);\r\n break;\r\n case -5:\r\n // if (this.isAdmin()) { \r\n this.rescheduledErrorCode = errorCode;\r\n this.showUpdateClinicDetailsRspError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsChangedWarning'].replace('{1}', errorMessage.replace(',', ', ')));\r\n // }\r\n // else {\r\n // this.showDialogError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsChangedErrMsg'].replace('{1}', errorMessage.replace(',', ', ')));\r\n // }\r\n break;\r\n case -7:\r\n this.showDialog(ErrorMessages['clinicDetails'], errorMessage);\r\n break;\r\n default:\r\n this.showDialogError(ErrorMessages['clinicDetails'], res.json().errorS.errorMessage);\r\n break;\r\n }\r\n return;\r\n }\r\n else {\r\n this.isOverride = false;\r\n this.rescheduledErrorCode = 0;\r\n if (this.coClinicDetails.opportunityInfo.clinicType == 3) {\r\n this.showDialog(ErrorMessages['clinicDetails'], action_status && action_status.toLowerCase() == 'cancelled' && areApptsPresent && (isAdmin == false || isAdmin == undefined)\r\n && clinicDate >= new Date(now.getFullYear(), now.getMonth(), now.getDate()) ? String.Format(ErrorMessages['clinicCancelForClinicType3And5'], this.coClinicDetails.clinicList[0].clinicNumber) : error_message);\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['clinicDetails'], error_message);\r\n }\r\n }\r\n }\r\n else {\r\n this.isOverride = false;\r\n this.rescheduledErrorCode = 0;\r\n if (this.coClinicDetails.opportunityInfo.clinicType == 3) {\r\n this.showDialog(ErrorMessages['clinicDetails'], action_status && action_status.toLowerCase() == 'cancelled' && areApptsPresent && (isAdmin == false || isAdmin == undefined)\r\n && clinicDate >= new Date(now.getFullYear(), now.getMonth(), now.getDate()) ? String.Format(ErrorMessages['clinicCancelForClinicType3And5'], this.coClinicDetails.clinicList[0].clinicNumber) : error_message);\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['clinicDetails'], error_message);\r\n }\r\n }\r\n //}\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.isOverride = false;\r\n this.rescheduledErrorCode = 0;\r\n this.showDialog(ErrorMessages['serverError'], err.message);\r\n });\r\n }\r\n }\r\n }\r\n\r\n confirm(hdr: string, msg: string, action_status, is_overlap?: boolean) {\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n if (is_overlap) {\r\n this.continueWithSaving(action_status, true);\r\n } else {\r\n this.continueWithSaving(action_status);\r\n }\r\n return true;\r\n },\r\n reject: () => {\r\n this.isOverride = false;\r\n return false;\r\n }\r\n });\r\n }\r\n showFluDosesValidityDialog(hdr: string, msg: string, action_status) {\r\n this.dialogMsg = msg;\r\n this.dialogSummary = hdr;\r\n this.FluDosesValidUnder14DaysDlg = true;\r\n }\r\n\r\n OverrideFluDosesValidUnder14Days() {\r\n this.FluDosesValidUnder14DaysDlg = false;\r\n this.continueWithSaving(null);\r\n }\r\n\r\n CancelFluDosesValidUnder14Days() {\r\n this.FluDosesValidUnder14DaysDlg = false;\r\n }\r\n\r\n isFluDosesValidUnder14DaysTimeFrame(): boolean {\r\n let count: number = 0;\r\n try {\r\n this.coClinicDetails.clinicList[0].clinicImzQtyList.forEach(imz => {\r\n let qty = Number(this.clinicDetailsForm.controls.clinicImmunizationList['controls'][count].get('estimatedQuantity').value)\r\n if (Number(imz.estimatedQuantity) < qty) {\r\n throw false;\r\n }\r\n count++;\r\n });\r\n } catch (e) {\r\n if (e === false) {\r\n return e;\r\n }\r\n }\r\n return true;\r\n }\r\n Status() {\r\n this.savePopUpStatus = false;\r\n window.scrollTo(0, 0);\r\n this.bindLocalClinicData();\r\n }\r\n\r\n cancelClinic() {\r\n if (this.selectedCancelDisposition.length) {\r\n this.displayCancelError = false;\r\n }\r\n else {\r\n this.displayCancelError = true;\r\n return;\r\n }\r\n\r\n this.showClinicCancelDlg = false;\r\n if (this.coClinicDetails.opportunityInfo.childClinicAgreementId != null && this.coClinicDetails.opportunityInfo.childClinicAgreementId > 0 && !this.coClinicDetails.opportunityInfo.childClinicAgreementApproved) {\r\n this.clinicNotConfirmedMsgDlg = true;\r\n this.showClinicNotConfirmedDialog('Amend Agreement', ErrorMessages['DisbaleButtonsAmend']);\r\n return false;\r\n }\r\n let control = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let index;\r\n for (index = 0; index < control.length; index++) {\r\n control.controls[index].get('totalImmAdministered').setValidators(null);\r\n control.controls[index].get('totalImmAdministered').updateValueAndValidity();\r\n control.controls[index].get('estimatedQuantity').setValidators(Validators.required);\r\n control.controls[index].get('estimatedQuantity').updateValueAndValidity();\r\n\r\n control.controls[index].get('isClinicalReqd').setValidators(null);\r\n control.controls[index].get('isClinicalReqd').updateValueAndValidity();\r\n }\r\n control = this.clinicDetailsForm.controls['clinicList'];\r\n for (index = 0; index < control.length; index++) {\r\n control.controls[0].get('confirmedClientName').setValidators(null);\r\n control.controls[0].get('confirmedClientName').updateValueAndValidity();\r\n this.utility.validateAllFormFields(control.controls[index]);\r\n }\r\n this.isNoclinicValidations();\r\n // this.clinicDetailsForm.controls[\"pharmacistName\"].setValidators(null);\r\n // this.clinicDetailsForm.controls[\"pharmacistName\"].updateValueAndValidity();\r\n // this.clinicDetailsForm.controls[\"pharmacistPhone\"].setValidators(null);\r\n // this.clinicDetailsForm.controls[\"pharmacistPhone\"].updateValueAndValidity();\r\n // this.clinicDetailsForm.controls[\"totalHours\"].setValidators(null);\r\n // this.clinicDetailsForm.controls[\"totalHours\"].updateValueAndValidity();\r\n\r\n this.clinicDetailsForm.controls[\"feedbackNotes\"].setValidators(null);\r\n this.clinicDetailsForm.controls[\"feedbackNotes\"].updateValueAndValidity();\r\n\r\n this.clinicDetailsForm.controls[\"naClinicAddlComments\"].setValidators(Validators.required);\r\n this.clinicDetailsForm.controls[\"naClinicAddlComments\"].updateValueAndValidity();\r\n\r\n\r\n if (this.clinicDetailsForm.valid) {\r\n if (((this.clinicDetailsForm.value.recipientId != null ||\r\n this.clinicDetailsForm.value.recipientId != undefined) &&\r\n this.clinicDetailsForm.value.recipientId.trim().length <= 0) ||\r\n ((this.clinicDetailsForm.value.naClinicPlanId != null ||\r\n this.clinicDetailsForm.value.naClinicPlanId != undefined) &&\r\n this.clinicDetailsForm.value.naClinicPlanId.trim().length <= 0)) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n if ((this.clinicDetailsForm.value.email != null || this.clinicDetailsForm.value.email != undefined) &&\r\n this.clinicDetailsForm.value.email.trim().length > 0) {\r\n if (!this.utility.validateSingleEmail(this.clinicDetailsForm.value.email.trim())) {\r\n if ([1, 6].indexOf(this.clinicType) > -1) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidEmail']);\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n if ((this.clinicDetailsForm.value.phone != null || this.clinicDetailsForm.value.phone != undefined) &&\r\n this.clinicDetailsForm.value.phone.trim().length > 0) {\r\n if (!this.utility.validatePhoneNo(this.clinicDetailsForm.value.phone.trim())) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidPhoneFormat']);\r\n return false;\r\n }\r\n }\r\n if ((this.clinicDetailsForm.value.pharmacistPhone != null || this.clinicDetailsForm.value.pharmacistPhone != undefined) &&\r\n this.clinicDetailsForm.value.pharmacistPhone.trim().length > 0) {\r\n if (!this.utility.validatePhoneNo(this.clinicDetailsForm.value.pharmacistPhone.trim())) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidPhoneFormat']);\r\n return false;\r\n }\r\n }\r\n if (!this.isAssignedStoreValid()) {\r\n if (this.coClinicDetails.clinicList[0].isConfirmed == true || this.coClinicDetails.clinicList[0].isConfirmed == 1 ||\r\n this.coClinicDetails.clinicList[0].isCompleted == true || this.coClinicDetails.clinicList[0].isCompleted == 1 ||\r\n this.coClinicDetails.clinicList[0].isCancelled == true || this.coClinicDetails.clinicList[0].isCancelled == 1) {\r\n this.showDialog(ErrorMessages['reAssignStoreInvalidActionHdr'], ErrorMessages['reAssignStoreInvalidActionMsg']);\r\n return false;\r\n }\r\n }\r\n let controlclinicList = this.clinicDetailsForm.controls['clinicList'];\r\n let index_clinic;\r\n for (index_clinic = 0; index_clinic < controlclinicList.length; index_clinic++) {\r\n\r\n let address1: string = controlclinicList.controls[index_clinic].get('naClinicAddress1').value;\r\n let address2: string = controlclinicList.controls[index_clinic].get('naClinicAddress2').value;\r\n\r\n let address = (address1 + address2).trim().replace(/[\\[\\]().-]+/g, '');\r\n address = address.replace(/\\s/g, '');\r\n if (address.toLowerCase().includes(\"pobox\")) {\r\n this.dialogSummary = \"Clinic Details\";\r\n this.dialogMsg = \"Addresses containing a P.O. Box are not allowed. Please enter a valid location address.\";\r\n\r\n this.showDialogV2(this.dialogSummary, this.dialogMsg);\r\n return;\r\n }\r\n\r\n }\r\n this.is_cancelled = true;\r\n this.action_status = \"Cancelled\";\r\n if (!this.validateReduceEstQnt()) {\r\n return;\r\n }\r\n //let clinicItem = (this.clinicDetailsForm.controls['clinicList']);\r\n //clinicItem.controls[0].get('apptSchedulerType').value\r\n if (!this.alertUserAboutScheduler()) {\r\n return;\r\n }\r\n var now = new Date();\r\n now.setHours(0, 0, 0, 0);\r\n var clinicDate = new Date(this.coClinicDetails.clinicList[0].clinicDate);\r\n clinicDate.setHours(0, 0, 0, 0);\r\n var areApptsPresent = this.coClinicDetails.clinicList[0].areApptsPresent;\r\n var isAdmin = SessionDetails.GetUserProfile().isAdmin;\r\n if (this.coClinicDetails.clinicList[0].areApptsPresent &&\r\n this.adminConfirmedCancellation === false && //SessionDetails.GetUserProfile().isAdmin === true\r\n clinicDate >= new Date(now.getFullYear(), now.getMonth(), now.getDate())) {\r\n this.dialogSummary = \"Clinic Details\";\r\n this.dialogMsg = String.Format(ErrorMessages['clinicCancelForClinicType3And5ForAdmin'], [3, 5, 7].indexOf(this.clinicType) > -1 ? this.coClinicDetails.clinicList[0].clinicNumber : this.utility.numberToLetters(this.coClinicDetails.clinicList[0].clinicNumber - 1));\r\n this.adminCancellationAlert = true;\r\n return;\r\n }\r\n // \r\n if (this.coClinicDetails.clinicList[0].isCuraAppointmentScheduled &&\r\n this.adminConfirmedCancellation === false && //SessionDetails.GetUserProfile().isAdmin === true\r\n clinicDate >= new Date(now.getFullYear(), now.getMonth(), now.getDate())) {\r\n this.dialogSummary = \"Clinic Details\";\r\n this.dialogMsg = String.Format(ErrorMessages['clinicCancelForClinicType3And5ForAdmin'], [3, 5, 7].indexOf(this.clinicType) > -1 ? this.coClinicDetails.clinicList[0].clinicNumber : this.utility.numberToLetters(this.coClinicDetails.clinicList[0].clinicNumber - 1));\r\n this.adminCancellationAlert = true;\r\n return;\r\n }\r\n\r\n let ret = this.isClinicDateReminderBefore2WksReq(\"Cancelled\");\r\n if (!ret || (ret && this.clinicDetailsForm.value.clinicList.length <= 1)) {\r\n this.continueWithSaving(\"Cancelled\");\r\n }\r\n else {\r\n let sumMsg = ErrorMessages['impRmndrFor2Wks'];\r\n let errMsg = ErrorMessages['new_clinicDateReminderBefore2WeeksEN'];\r\n var userProfile = SessionDetails.GetUserProfile();\r\n //if (ClinicDetailsUtilities.shallWeShow2WkConfirmDialog(userProfile)) {\r\n this.OverrideOrOkTitle = \"OK\";\r\n this.showCancelBtn = false;\r\n this.confirm(sumMsg, errMsg, \"Cancelled\");\r\n // return;\r\n // }\r\n // else {\r\n // errMsg = ErrorMessages['clinicDateReminderBefore2WeeksEN'];\r\n // this.showDialog(sumMsg, errMsg);\r\n // return;\r\n // }\r\n }\r\n }\r\n else {\r\n if (this.clinicDetailsForm.value.email != null && this.clinicDetailsForm.value.email != undefined &&\r\n this.clinicDetailsForm.value.email.trim().length > 0\r\n && !this.utility.validateSingleEmail(this.clinicDetailsForm.value.email)) {\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n if ([1, 6].indexOf(this.clinicType) > -1) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidEmail']);\r\n return false;\r\n }\r\n }\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n return;\r\n }\r\n }\r\n\r\n ContinueCancellation() {\r\n this.adminConfirmedCancellation = true;\r\n this.adminCancellationAlert = false;\r\n this.cancelClinic();\r\n }\r\n\r\n userCancelledCancellation() {\r\n this.adminConfirmedCancellation = false;\r\n this.adminCancellationAlert = false;\r\n }\r\n saveToDB() {\r\n let error_message = ErrorMessages['clinicSave'];\r\n if (this.clinic_details_update.clinicContactStatus == \"Submit\") {\r\n error_message = ErrorMessages['clinicSave'];\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n error_message = ErrorMessages['clinicSavedWithSchdlr']\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n error_message = ErrorMessages['clinicSavedWithCPSchdlr'];\r\n }\r\n }\r\n if (this.clinic_details_update.clinicContactStatus == \"Cancelled\") {\r\n error_message = ErrorMessages['clinicCancel'];\r\n }\r\n if (this.clinic_details_update.clinicContactStatus == \"Completed\") {\r\n error_message = ErrorMessages['clinicComplete'];\r\n if (this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n error_message = ErrorMessages['clinicCompleteWithSchdlr']\r\n }\r\n }\r\n if (this.clinic_details_update.clinicContactStatus == \"Confirmed\") {\r\n error_message = ErrorMessages['clinicConfirm'];\r\n if (this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1) {\r\n error_message = ErrorMessages['clinicConfirmWithSchdlr'];\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1) {\r\n error_message = ErrorMessages['clinicConfirmWithCPSchdlr'];\r\n }\r\n }\r\n }\r\n this.scrolling();\r\n this.spinner.show();\r\n this.coClinicdetailsService.upDateClinicDetails(this.coClinicDetails.clinicList[0].clinicPk,\r\n this.clinic_details_update).subscribe((res: any) => {\r\n this.spinner.hide();\r\n //if (res.status == \"200\") {\r\n if (res.errorS != null) {\r\n if (res.errorS.errorCode != 0) {\r\n let errorMessage = res.errorS.errorMessage;\r\n let errorCode = res.errorS.errorCode;\r\n switch (res.errorS.errorCode) {\r\n case -4:\r\n let sumMsg = ErrorMessages['eventDateTimeConflict'];\r\n let finalErrMsg = String.Format(\"{0}

{1}\", res.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']);\r\n this.confirm(sumMsg, finalErrMsg, this.clinic_details_update.clinicContactStatus, true);\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n break;\r\n case -6:\r\n this.rescheduledErrorCode = errorCode;\r\n this.showClinicLocationDetailsSaveChangesError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsLocationChangedWarning']);\r\n break;\r\n case -5:\r\n // if (this.isAdmin()) {\r\n this.rescheduledErrorCode = errorCode;\r\n this.showUpdateClinicDetailsRspError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsChangedWarning'].replace('{1}', errorMessage.replace(',', ', ')));\r\n // }\r\n // else {\r\n // this.showDialogV2(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsChangedErrMsg'].replace('{1}', errorMessage.replace(',', ', ')));\r\n // }\r\n break;\r\n case -7:\r\n this.showDialog(ErrorMessages['clinicDetails'], errorMessage);\r\n break;\r\n default:\r\n this.showDialogError(ErrorMessages['clinicDetails'], res.errorS.errorMessage);\r\n break;\r\n }\r\n return;\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['clinicDetails'], error_message);\r\n }\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['clinicDetails'], error_message);\r\n }\r\n //}\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.showDialog(ErrorMessages['serverError'], err.Message);\r\n });\r\n }\r\n\r\n\r\n deleteAgreementData() {\r\n if (this.clinicType !== 13) {\r\n this.headerMessage = 'Deleting An Off-Site Agreement';\r\n this.confirmationMessage = 'Deleting the Community Off-Site Agreement cannot be undone. If you \"Continue\" the contract, contract approval, all clinic locations associated with this business, all of their program details, and any pending amended contracts will be permanently deleted.'\r\n\r\n }\r\n else {\r\n this.headerMessage = 'Deleting An Equity Event';\r\n this.confirmationMessage = 'Deleting an Equity Event cannot be undone. If you \"Continue\" all events associated with this business will be permanently deleted.'\r\n\r\n }\r\n if (this.coClinicDetails.clinicList[0].apptSchedulerType == 2 && this.coClinicDetails.clinicList[0].isCuraAppointmentScheduled && this.coClinicDetails.clinicList[0].isCancelled == false) {\r\n\r\n this.dialogMsg = 'This agreement has scheduled clinics with appointments. Please cancel the clinics associated with this agreement.';\r\n this.dialogSummary = ErrorMessages['clinicDetails'];\r\n this.showAfterClinicDelete = true;\r\n this.Action = 'scheduledappointments';\r\n\r\n return;\r\n }\r\n this.deleteAgreement = true;\r\n }\r\n\r\n deleteAmendAgreementData() {\r\n this.isDeleteAmendAgreement = true;\r\n }\r\n deleteClinicDetails() {\r\n\r\n this.deleteAgreement = false;\r\n let clinic_details = new ClinicDetailsDelete();\r\n clinic_details.userPk = this.user_profile.userPk;\r\n clinic_details.username = this.user_profile.userName;\r\n clinic_details.businessName = this.coClinicDetails.opportunityInfo.businessName;\r\n clinic_details.clinicPk = this.coClinicDetails.clinicList[0].clinicPk;\r\n clinic_details.clinicStoreId = this.coClinicDetails.clinicList[0].clinicStoreId;\r\n clinic_details.contractedStoreId = this.coClinicDetails.opportunityInfo.contractedStoreId;\r\n this.clinicType = clinic_details.clinicType = this.coClinicDetails.opportunityInfo.clinicType;\r\n clinic_details.clinicName = [1, 2, 6].indexOf(this.clinicType) > -1 ? this.coClinicDetails.clinicList[0].naClinicLocation.replace(\"LOCATION \", \"CLINIC \") : this.coClinicDetails.clinicList[0].naClinicLocation;\r\n clinic_details.pData = this.pData;\r\n\r\n this.coClinicdetailsService.deleteClinicDetails(\r\n clinic_details).subscribe((res: any) => {\r\n if (res.errorS.errorCode == -1) {\r\n this.showDialogError(ErrorMessages['clinicDetails'], \"This agreement has scheduled clinics with appointments. Please cancel the clinics associated with this agreement.\");\r\n }\r\n else if (res.errorS.errorCode == -2) {\r\n this.showDialogError(ErrorMessages['clinicDetails'], \"The agreement cannot be deleted until the client has approved the Cancellation emails to be sent.\");\r\n }\r\n else if (res.errorS.errorCode == -7) {\r\n this.showDialogError(ErrorMessages['clinicDetails'], \" CURA Patient Error: \" + res.errorS);\r\n }\r\n else {\r\n this.showErrDialogThenGoToHome(ErrorMessages['clinicDetails'], ErrorMessages['clinicDetailsDelete']);\r\n //showErrDialogThenGoToHome(msgSummary: string, msgDetail: string) {\r\n\r\n //this.router.navigateByUrl(\"/communityoutreach/storehome\");\r\n }\r\n });\r\n }\r\n deleteAgreementCancel() {\r\n this.deleteAgreement = false;\r\n }\r\n\r\n deleteAmendAgreementCancel() {\r\n this.isDeleteAmendAgreement = false;\r\n }\r\n\r\n deleteAmendAgreement() {\r\n this.isDeleteAmendAgreement = false;\r\n\r\n this.coClinicdetailsService.deleteAmendAgreement(\r\n this.coClinicDetails.opportunityInfo.childClinicAgreementId, this.user_profile.userPk).subscribe((res: any) => {\r\n\r\n if (res.status == \"200\") {\r\n this.showDialog(ErrorMessages['clinicDetails'], ErrorMessages['clinicDetailsDelete']);\r\n this.router.navigateByUrl(\"/communityoutreach/storehome\");\r\n }\r\n });\r\n\r\n }\r\n removeCancelledStatus(status: boolean) {\r\n this.status = status;\r\n this.dialogSummary = status ? 'Remove Cancelled Status' : 'Remove Last Logged Status';\r\n this.dialogMsg = status ? ErrorMessages['RemoveCancelled'] : ErrorMessages['RemoveLogStatus'];\r\n this.showRemoveCancelledStatusDlg = true;\r\n }\r\n cancelRemoveCancelledStatus() {\r\n this.showRemoveCancelledStatusDlg = false;\r\n }\r\n\r\n continueToRemoveCancelledStatus() {\r\n this.spinner.show();\r\n var clinic_pk = this.coClinicDetails.clinicList[0].clinicPk;\r\n console.log('TODO');\r\n this.coClinicdetailsService.removeClinicCancelledStatus(\r\n clinic_pk, this.status).subscribe((res: any) => {\r\n if (res == \"success\") {\r\n this.showRemoveCancelledStatusDlg = false;\r\n this.showRemoveCancelledStatusDialogResult(ErrorMessages['clinicDetails'], this.status ? ErrorMessages['removeCancelledClinicStatus'] : 'The last logged status has been removed successfully.');\r\n }\r\n this.spinner.hide();\r\n }, error => {\r\n this.spinner.hide();\r\n this.showRemoveCancelledStatusDlg = false;\r\n this.showDialogError(ErrorMessages['clinicDetails'], ErrorMessages['error']);\r\n });\r\n }\r\n confirmDeleteClinic() {\r\n if (this.areApptsPresent || (this.coClinicDetails.clinicList[0].apptSchedulerType == 2 && this.coClinicDetails.clinicList[0].isCuraAppointmentScheduled)) {\r\n this.dialogMsg = 'This clinic has scheduled appointments. Please cancel the clinic prior to deleting it.';\r\n this.dialogSummary = ErrorMessages['clinicDetails'];\r\n this.showAfterClinicDelete = true;\r\n this.Action = 'scheduledappointments';\r\n }\r\n else {\r\n this.dialogMsg = 'Deleting an Uploaded Clinic cannot be undone. If you \"Continue\" the clinic, will be permanently deleted.';\r\n this.dialogSummary = 'Deleting an Uploaded Clinic';\r\n this.showDeleteClinic = true;\r\n }\r\n }\r\n deleteClinic() {\r\n var clinic_pk = this.coClinicDetails.clinicList[0].clinicPk;\r\n //console.log(\"TODO\");\r\n this.coClinicdetailsService.deleteClinic(clinic_pk).subscribe((res: any) => {\r\n if (res == \"success\") {\r\n this.showDeleteClinic = false;\r\n this.showAfterClinicDelete = true;\r\n this.dialogMsg = 'The Clinic has been removed successfully.';\r\n this.dialogSummary = ErrorMessages['clinicDetails'];\r\n }\r\n }, error => {\r\n this.showDeleteClinic = false;\r\n this.showDialogError(ErrorMessages['clinicDetails'], ErrorMessages['error']);\r\n return false;\r\n });\r\n }\r\n loadClinicDataAfterRemove() {\r\n this.showRemoveCancelledStatusResult = false;\r\n this.validateCancel = null;\r\n this.validateComplete = null;\r\n this.isAmendButtonEnable = true;\r\n this.validateConfirm = null;\r\n this.showRemoveCancelledStatus = false;\r\n this.IsAmendSubmit = false;\r\n this.bindLocalClinicData();\r\n this.clinicDetailsForm.updateValueAndValidity();\r\n }\r\n onlyNumbers(event: any) {\r\n Util.onlyNumbers(event);\r\n }\r\n copyPreviousLocation(formIndex: number, checked: boolean) {\r\n if (!checked) {\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicAddress1').setValue('');\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicAddress2').setValue('');\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicCity').setValue('');\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicState').setValue('');\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicZip').setValue('');\r\n }\r\n else {\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicAddress1').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naClinicAddress1').value);\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicAddress2').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naClinicAddress2').value);\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicCity').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naClinicCity').value);\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicState').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naClinicState').value);\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicZip').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naClinicZip').value);\r\n }\r\n this.onBlurMethod(formIndex);\r\n }\r\n\r\n copyPreviousContactInfo(formIndex: number, checked: boolean) {\r\n if (!checked) {\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naContactFirstName').setValue('');\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naContactLastName').setValue('');\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naContactEmail').setValue('');\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicContactPhone').setValue('');\r\n }\r\n else {\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naContactFirstName').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naContactFirstName').value);\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naContactLastName').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naContactLastName').value);\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naContactEmail').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naContactEmail').value);\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicContactPhone').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naClinicContactPhone').value);\r\n }\r\n }\r\n viewAgreement() {\r\n\r\n let showPreUniversalContract = false;\r\n if (this.clinicAgreementDateApproved) {\r\n this.clinicAgreementDateApproved = new Date(this.clinicAgreementDateApproved);\r\n this.routePageName = getContractComponentName(this.clinicAgreementDateApproved, 'localclincdetails-viewcontract');\r\n }\r\n\r\n sessionStorage[\"clinic_agreement_pk\"] = this.coClinicDetails.opportunityInfo.clinicAgreementPk;\r\n SessionDetails.fromLocalclinics(true);\r\n // if(showPreUniversalContract)\r\n // this.router.navigateByUrl(\"/viewcontract\");\r\n // else\r\n // this.router.navigateByUrl(\"/viewcontract-2022-1\");\r\n\r\n this.router.navigateByUrl(this.routePageName);\r\n }\r\n modifyAgreement() {\r\n SessionDetails.SetAgreementPK(this.coClinicDetails.opportunityInfo.clinicAgreementPk);\r\n SessionDetails.fromUserPage(true);\r\n SessionDetails.setOpportunitiesData(JSON.stringify(this.coClinicDetails.opportunityInfo));\r\n this.router.navigateByUrl(\"/communityoutreach/contract\");\r\n }\r\n\r\n Ok() {\r\n this.savePopUp = false;\r\n if (this.reassignForm.value.assignType == \"Area\" || this.reassignForm.value.assignType == \"District\") {\r\n this.savedViaReassignBtn = true;\r\n this.clearReassignDialogControls();\r\n if (this.user_profile.userRole.toLowerCase() == \"store manager\" || this.user_profile.userRole.toLowerCase() == \"pharmacy manager\") {\r\n this.router.navigateByUrl(\"/communityoutreach/storehome\");\r\n }\r\n else {\r\n this.router.navigateByUrl(\"/communityoutreach/home\");\r\n }\r\n }\r\n else if (this.reassignForm.value.assignType == \"Store\" || this.reassignForm.value.assignType == \"Geography\") {\r\n this.savedViaReassignBtn = true;\r\n this.clearReassignDialogControls();\r\n this.router.navigateByUrl(\"/communityoutreach/storehome\");\r\n }\r\n else {\r\n this.savedViaReassignBtn = false;\r\n this.bindLocalClinicData();\r\n }\r\n }\r\n Error() {\r\n this.errorPopUp = false;\r\n }\r\n clinicNotConfirmedMsgOk() {\r\n this.clinicNotConfirmedMsgDlg = false;\r\n }\r\n\r\n showClinicNotConfirmedDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.clinicNotConfirmedMsgDlg = true;\r\n }\r\n showCancelClinicConfirmation() {\r\n this.dialogMsg = ErrorMessages['confirmClinicCancellation'];\r\n this.dialogSummary = \"Review Clinic Cancellation\";\r\n this.showClinicCancelDlg = true;\r\n }\r\n StayonDetailsPage() {\r\n this.showClinicCancelDlg = false;\r\n this.selectedCancelDisposition = '';\r\n this.displayCancelError = false;\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.savePopUp = true;\r\n }\r\n showDialogError(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.errorPopUp = true;\r\n }\r\n\r\n showDialogStatus(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.savePopUpStatus = true;\r\n }\r\n showRemoveCancelledStatusDialogResult(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.showRemoveCancelledStatusResult = true;\r\n }\r\n\r\n saveData(action_status): ClinicDetailsUpdate {\r\n this.updateDataFromFormFields(this.clinic_details_update);\r\n\r\n this.clinic_details_update.clinicsUpdateHistoryLogList = [];\r\n\r\n this.clinic_details_update.clinicList.forEach(item => {\r\n try {\r\n item.naClinicStartTime = this._datePipe.transform(item.naClinicStartTime, \"shortTime\");\r\n } catch (e) {\r\n console.log('save changes' + e);\r\n }\r\n try {\r\n item.naClinicEndTime = this._datePipe.transform(item.naClinicEndTime, \"shortTime\");\r\n } catch (e) {\r\n console.log('save changes' + e);\r\n }\r\n });\r\n\r\n this.clinic_details_update.userPk = this.coClinicDetails.userPk;\r\n this.clinic_details_update.canReassignClinic = this.coClinicDetails.canReassignClinic;\r\n\r\n this.clinic_details_update.clinicContactStatus = action_status == null ? \"Submit\" : this.coClinicDetails.clinicContactStatus;\r\n //Identifying the updated value\r\n let data: any = this.utility.getDifference(this.coClinicDetails, this.clinic_details_update);\r\n //console.log(data);\r\n let localAliasName = LocalField;\r\n\r\n for (let item in data) {\r\n if (item != \"userPk\" && item != \"clinicContactStatus\" && item != \"appointmentScheduler\") {\r\n //Commenting as this is not being used anywhere. Issue occured when item is undefined.\r\n // let opp: any = Object.getOwnPropertyNames(data[item]);\r\n if (typeof data[item] == 'object') {\r\n var temp_obj;\r\n if (item == \"clinicList\") {\r\n temp_obj = data[item][0];\r\n } else {\r\n temp_obj = data[item];\r\n }\r\n for (let updated_item in temp_obj) {\r\n let value = temp_obj[updated_item];\r\n if (typeof value == 'object') {\r\n\r\n for (let updated_imz_item in temp_obj[updated_item]) {\r\n for (let updated_imz_qty in temp_obj[updated_item][updated_imz_item]) {\r\n value = temp_obj[updated_item][updated_imz_item][updated_imz_qty];\r\n let alias_and_group_name = localAliasName.map(group_item => {\r\n if (group_item.aliasNames[updated_imz_qty]) {\r\n return group_item.aliasNames[updated_imz_qty] + \"~\" + group_item.groupName\r\n }\r\n }).filter(test_item => test_item != undefined);\r\n if (alias_and_group_name.length > 0) {\r\n let alias_name = alias_and_group_name[0].substring(0, alias_and_group_name[0].indexOf('~'));\r\n let group_name = alias_and_group_name[0].substring(alias_and_group_name[0].indexOf('~') + 1)\r\n alias_name = temp_obj[updated_item][updated_imz_item][\"imzNameAndPmtMethod\"] + '
' + alias_name;\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Update\", value, group_name, alias_name));\r\n }\r\n }\r\n }\r\n\r\n }\r\n else if (updated_item == 'coOutreachTypeId') {\r\n let alias_and_group_name = localAliasName.map(group_item => {\r\n if (group_item.aliasNames[updated_item]) {\r\n return group_item.aliasNames[updated_item].label + \"~\" + group_item.groupName\r\n }\r\n }).filter(test_item => test_item != undefined);\r\n if (alias_and_group_name.length > 0) {\r\n let alias_name = alias_and_group_name[0].substring(0, alias_and_group_name[0].indexOf('~'));\r\n let group_name = alias_and_group_name[0].substring(alias_and_group_name[0].indexOf('~') + 1)\r\n if ([3, 6].indexOf(this.clinicType) > -1 && alias_name === \"No Clinic - Voucher Distribution Only\") {\r\n //continue;\r\n }\r\n else {\r\n let val = group_name == \"Clinic Information\" ? localAliasName.filter(x => x.groupName == group_name)[0].aliasNames['coOutreachTypeId'].values[value] : value;\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Update\", val, group_name, alias_name));\r\n }\r\n }\r\n }\r\n else if (updated_item == 'apptSchedulerType') {\r\n let alias_and_group_name = localAliasName.map(group_item => {\r\n if (group_item.aliasNames[updated_item]) {\r\n return group_item.aliasNames[updated_item].label + \"~\" + group_item.groupName\r\n }\r\n }).filter(test_item => test_item != undefined);\r\n if (alias_and_group_name.length > 0) {\r\n let alias_name = alias_and_group_name[0].substring(0, alias_and_group_name[0].indexOf('~'));\r\n let group_name = alias_and_group_name[0].substring(alias_and_group_name[0].indexOf('~') + 1)\r\n if ([3, 6].indexOf(this.clinicType) > -1 && alias_name === \"No Clinic - Voucher Distribution Only\") {\r\n //continue;\r\n }\r\n else {\r\n let val = group_name == \"Clinic Information\" ? localAliasName.filter(x => x.groupName == group_name)[0].aliasNames['apptSchedulerType'].values[value] : value;\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Update\", val, group_name, alias_name));\r\n }\r\n }\r\n }\r\n else {\r\n let alias_and_group_name = localAliasName.map(group_item => {\r\n if (group_item.aliasNames[updated_item]) {\r\n return group_item.aliasNames[updated_item] + \"~\" + group_item.groupName\r\n }\r\n }).filter(test_item => test_item != undefined);\r\n if (alias_and_group_name.length > 0) {\r\n let alias_name = alias_and_group_name[0].substring(0, alias_and_group_name[0].indexOf('~'));\r\n let group_name = alias_and_group_name[0].substring(alias_and_group_name[0].indexOf('~') + 1)\r\n if ([3, 6].indexOf(this.clinicType) > -1 && alias_name === \"No Clinic - Voucher Distribution Only\" || (alias_name == \"Other\" && value == null)) {\r\n //continue;\r\n }\r\n else {\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Update\", value, group_name, alias_name));\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n let value = data[item];\r\n if (value && item === 'clinicalRequirements') {\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Approved Clinical Requirements\", \"\", \"\", \"\"));\r\n }\r\n let alias_and_group_name = localAliasName.map(group_item => {\r\n if (group_item.aliasNames[item]) {\r\n return group_item.aliasNames[item] + \"~\" + group_item.groupName\r\n }\r\n }).filter(test_item => test_item != undefined);\r\n if (alias_and_group_name.length > 0) {\r\n let alias_name = alias_and_group_name[0].substring(0, alias_and_group_name[0].indexOf('~'));\r\n let group_name = alias_and_group_name[0].substring(alias_and_group_name[0].indexOf('~') + 1);\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Update\", value, group_name, alias_name));\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.clinic_details_update.userPk = this.user_profile.userPk;\r\n if (action_status != null) {\r\n if (action_status.toLowerCase() == 'submit') {\r\n this.clinic_details_update.clinicContactStatus = \"Submit\";\r\n }\r\n if (action_status.toLowerCase() == \"cancelled\") {\r\n this.clinic_details_update.clinicContactStatus = \"Cancelled\";\r\n this.clinic_details_update.disposition = this.selectedCancelDisposition;\r\n this.clinic_details_update.clinicList[0].isCancelled = 1;\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Cancelled\", \"\", \"\", \"\"));\r\n }\r\n if (action_status.toLowerCase() == \"completed\") {\r\n this.clinic_details_update.clinicContactStatus = \"Completed\";\r\n this.clinic_details_update.clinicList[0].isCancelled = 0;\r\n this.clinic_details_update.clinicList[0].isCompleted = 1;\r\n this.clinic_details_update.clinicList[0].isConfirmed = 0;\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Completed\", \"\", \"\", \"\"));\r\n }\r\n if (action_status.toLowerCase() == \"confirmed\") {\r\n this.clinic_details_update.clinicContactStatus = \"Confirmed\";\r\n this.clinic_details_update.clinicList[0].isConfirmed = 1;\r\n var confirmed_status = (this.clinic_details_update.clinicList[0].isNoClinic) ? 'Vouchers Provided' : 'Confirmed';\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(confirmed_status, \"\", \"\", \"\"));\r\n }\r\n }\r\n\r\n if (!this.maintainStatusSelected) {\r\n this.clinic_details_update.clinicList[0].isConfirmed = [2, 6].indexOf(this.clinicType) > -1 ? 1 : 0;\r\n this.clinic_details_update.clinicList[0].isCancelled = 0;\r\n this.clinic_details_update.clinicList[0].isCompleted = 0;\r\n this.maintainStatusSelected = true;\r\n }\r\n\r\n this.clinic_details_update.clinicList.forEach(item => {\r\n try {\r\n if (item.naClinicLocation != null && item.naClinicLocation.length > 0 && item.naClinicLocation.search(\"CLINIC\") == -1 &&\r\n [1, 2, 6].indexOf(this.clinicType) > -1) {\r\n item.naClinicLocation = \"CLINIC \" + item.naClinicLocation;\r\n }\r\n item.naClinicLocation = item.naClinicLocation != null && item.naClinicLocation.length > 0 ? item.naClinicLocation.trim() : item.naClinicLocation;\r\n\r\n item.clinicImzQtyList.forEach(imzQtyItem => {\r\n delete imzQtyItem[\"imzNameAndPmtMethod\"];\r\n });\r\n\r\n item.isNoClinic != null ? item.isNoClinic = Number(item.isNoClinic) : item.isNoClinic = 0;\r\n item.isReassign != null ? item.isReassign = Number(item.isReassign) : item.isReassign = 0;\r\n item.naClinicContactPhone = item.naClinicContactPhone;\r\n } catch (e) {\r\n console.log('save changes' + e);\r\n }\r\n });\r\n\r\n delete this.clinic_details_update[\"clinicalRequirements\"];\r\n\r\n this.clinic_details_update.canReassignClinic = 0;\r\n this.clinic_details_update.opportunityInfo.pharmacistPhone = this.clinic_details_update.opportunityInfo.pharmacistPhone;\r\n this.clinic_details_update.opportunityInfo.phone = this.clinic_details_update.opportunityInfo.phone;\r\n if (this.coClinicDetails.clinicList[0].isCovidClinic) {\r\n for (var i = 0; i < this.clinic_details_update.clinicList.length; i++) {\r\n let dose1 = 0, dose2 = 0, manufacturer = 0;\r\n let immunizer1 = this.clinic_details_update.clinicList[i].clinicImzQtyList.filter(x => x.immunizationName.includes(\"Dose 1\"));\r\n let immunizer2 = this.clinic_details_update.clinicList[i].clinicImzQtyList.filter(x => x.immunizationName.includes(\"Dose 2\"));\r\n if (immunizer1.length > 0 && immunizer1[0].estimatedQuantity > 0) {\r\n dose1 = 1;\r\n manufacturer = immunizer1[0].immunizationName.includes(\"Pfizer\") ? 1 : 2;\r\n }\r\n if (immunizer2.length > 0 && immunizer2[0].estimatedQuantity > 0) {\r\n dose2 = dose1 == 0 ? 2 : 3;\r\n manufacturer = immunizer2[0].immunizationName.includes(\"Pfizer\") ? 1 : 2;\r\n }\r\n this.clinic_details_update.clinicList[i].manufacturer = manufacturer;\r\n this.clinic_details_update.clinicList[i].doseNumber = dose2 == 0 ? dose1 : dose2;\r\n }\r\n }\r\n if (this.clinic_details_update.clinicList.length >= 1 && this.clinic_details_update.clinicList[0].vouchersDistributed == null) {\r\n this.clinic_details_update.clinicList[0].vouchersDistributed = this.clinic_details_update.opportunityInfo.vouchersDistributed;\r\n }\r\n return this.clinic_details_update;\r\n\r\n }\r\n\r\n updateDataFromFormFields(target_obj) {\r\n\r\n if (!target_obj.opportunityInfo) {\r\n target_obj.opportunityInfo = new OpportunityInfo();\r\n }\r\n if (!target_obj.errorS) {\r\n target_obj.errorS = new ErrorS();\r\n }\r\n target_obj.opportunityInfo.storeId = this.clinicDetailsForm.value.storeID;\r\n target_obj.opportunityInfo.businessAddress = this.coClinicDetails.opportunityInfo.businessAddress;\r\n target_obj.opportunityInfo.businessAddress2 = this.coClinicDetails.opportunityInfo.businessAddress2;\r\n target_obj.opportunityInfo.businessCity = this.coClinicDetails.opportunityInfo.businessCity;\r\n target_obj.opportunityInfo.businessContactEmail = this.clinicDetailsForm.value.email;\r\n target_obj.opportunityInfo.businessName = this.clinicDetailsForm.value.businessName;\r\n target_obj.opportunityInfo.businessPk = this.coClinicDetails.opportunityInfo.businessPk;\r\n target_obj.opportunityInfo.b2BTeamEmail = this.clinicDetailsForm.value.b2BTeamEmail;\r\n target_obj.opportunityInfo.clientReportingEmail = this.clinicDetailsForm.value.clientReportingEmail;\r\n target_obj.opportunityInfo.salesForceOpportunityId = this.clinicDetailsForm.value.salesForceOpportunityId;\r\n target_obj.opportunityInfo.salesForceAccountName = this.clinicDetailsForm.value.salesForceAccountName;\r\n target_obj.opportunityInfo.businessState = this.coClinicDetails.opportunityInfo.businessState;\r\n target_obj.opportunityInfo.businessZip = this.coClinicDetails.opportunityInfo.businessZip;\r\n target_obj.opportunityInfo.clinicAgreementPk = this.coClinicDetails.opportunityInfo.clinicAgreementPk;\r\n this.clinicType = target_obj.opportunityInfo.clinicType = this.coClinicDetails.opportunityInfo.clinicType;\r\n target_obj.opportunityInfo.contractedStoreId = this.coClinicDetails.opportunityInfo.contractedStoreId;\r\n target_obj.opportunityInfo.firstName = this.clinicDetailsForm.value.firstName;\r\n target_obj.opportunityInfo.jobTitle = this.clinicDetailsForm.value.jobTitle;\r\n target_obj.opportunityInfo.lastName = this.clinicDetailsForm.value.lastName;\r\n target_obj.opportunityInfo.maxClinicLocationId = this.coClinicDetails.opportunityInfo.maxClinicLocationId;\r\n target_obj.opportunityInfo.naClinicAddlComments = this.clinicDetailsForm.value.naClinicAddlComments;\r\n if ([3, 4, 5, 7].indexOf(this.clinicType) > -1) {\r\n target_obj.opportunityInfo.naClinicSplBillingInstr = this.clinicDetailsForm.value.naClinicSplBillingInstr;\r\n }\r\n target_obj.opportunityInfo.naClinicGroupId = this.clinicDetailsForm.value.naClinicGroupId;\r\n target_obj.opportunityInfo.naClinicPlanId = this.clinicDetailsForm.value.naClinicPlanId;\r\n target_obj.opportunityInfo.naClinicSplBillingInstr = this.clinicDetailsForm.value.naClinicSplBillingInstr;;\r\n target_obj.opportunityInfo.outreachBusinessPk = this.coClinicDetails.opportunityInfo.outreachBusinessPk;\r\n // target_obj.opportunityInfo.pharmacistName = (this.coClinicDetails.opportunityInfo.pharmacistName == null && !this.clinicDetailsForm.value.pharmacistName) ? this.coClinicDetails.opportunityInfo.pharmacistName : this.clinicDetailsForm.value.pharmacistName;\r\n // target_obj.opportunityInfo.pharmacistPhone = (this.coClinicDetails.opportunityInfo.pharmacistPhone == null && !this.clinicDetailsForm.value.pharmacistPhone) ? this.coClinicDetails.opportunityInfo.pharmacistPhone : this.clinicDetailsForm.value.pharmacistPhone;\r\n this.coClinicDetails.opportunityInfo.pharmacistPhone = this.coClinicDetails.opportunityInfo.pharmacistPhone;\r\n target_obj.opportunityInfo.phone = this.clinicDetailsForm.value.phone;\r\n this.coClinicDetails.opportunityInfo.phone = this.coClinicDetails.opportunityInfo.phone;\r\n target_obj.opportunityInfo.recipientId = this.clinicDetailsForm.value.recipientId;\r\n target_obj.opportunityInfo.clinicFee = this.clinicDetailsForm.value.clinicFee;\r\n target_obj.opportunityInfo.isNoClinicFee = this.clinicDetailsForm.value.isNoClinicFee;\r\n target_obj.opportunityInfo.vouchersDistributed = this.clinicDetailsForm.value.vouchersDistributed;\r\n target_obj.opportunityInfo.vouchersRedeemed = this.clinicDetailsForm.value.vouchersRedeemed;\r\n target_obj.opportunityInfo.regionNumber = this.coClinicDetails.opportunityInfo.regionNumber;\r\n target_obj.opportunityInfo.storeState = this.coClinicDetails.opportunityInfo.storeState;\r\n // target_obj.opportunityInfo.totalHours = (this.coClinicDetails.opportunityInfo.totalHours == null && !this.clinicDetailsForm.value.totalHours) ? this.coClinicDetails.opportunityInfo.totalHours : this.clinicDetailsForm.value.totalHours;\r\n\r\n target_obj.opportunityInfo.naClinicCopay = this.coClinicDetails.opportunityInfo.naClinicCopay;\r\n target_obj.opportunityInfo.naClinicCoverageType = this.coClinicDetails.opportunityInfo.naClinicCoverageType;\r\n\r\n target_obj.opportunityInfo.childClinicAgreementApproved = this.coClinicDetails.opportunityInfo.childClinicAgreementApproved;\r\n target_obj.opportunityInfo.childClinicAgreementId = this.coClinicDetails.opportunityInfo.childClinicAgreementId;\r\n\r\n target_obj.clinicImmunizationList = this.coClinicDetails.clinicImmunizationList;\r\n\r\n target_obj.clinicList = this.clinicDetailsForm.value.clinicList;\r\n if (this.coClinicDetails.pData === \"\") {\r\n this.coClinicDetails.pData = this.pData;\r\n }\r\n target_obj.pData = this.pData;\r\n target_obj.errorS.errorCode = 0;\r\n target_obj.errorS.errorMessage = null;\r\n target_obj.clinicList.forEach(list => {\r\n list.naClinicContactPhone = list.naClinicContactPhone;\r\n if (list.clinicDate != null && list.clinicDate != '') {\r\n var c_date = new Date(list.clinicDate);\r\n list.clinicDate = c_date.getMonth() + 1 + \"/\" + c_date.getDate() + \"/\" + c_date.getFullYear();\r\n }\r\n else {\r\n list.clinicDate = null;\r\n }\r\n list.isCovidClinic = this.coClinicDetails.clinicList[0].isCovidClinic;\r\n list.isFluClinic = this.coClinicDetails.clinicList[0].isFluClinic;\r\n\r\n // conditions for isNOclinic\r\n if (this.coClinicDetails.clinicList[0].isNoClinic == null && list.isNoClinic == 0) {\r\n this.coClinicDetails.clinicList[0].isNoClinic = list.isNoClinic;\r\n }\r\n else if (this.coClinicDetails.clinicList[0].isNoClinic != list.isNoClinic) {\r\n list.isNOclinic = list.isNoClinic;\r\n }\r\n\r\n // list.isNoClinic = list.isNoClinic?list.isNoClinic:this.coClinicDetails.clinicList[0].isNoClinic;//this.coClinicDetails.clinicList[0].isNoClinic\r\n //Bug 834 fix\r\n // if(typeof (list.visitType) == \"string\"){\r\n // list.visitType = list.visitType&&list.visitType.length>0?Number(list.visitType): this.coClinicDetails.clinicList[0].visitType == null ? null : list.visitType=Number(this.coClinicDetails.clinicList[0].visitType);\r\n // }\r\n // else {\r\n // list.visitType = list.visitType?Number(list.visitType): this.coClinicDetails.clinicList[0].visitType == null ? null : list.visitType=Number(this.coClinicDetails.clinicList[0].visitType);\r\n // }\r\n //list.isDataPostedToCP = false;\r\n if (Number(list.apptSchedulerType) > 0) {\r\n\r\n list.isApptSchedulerEnabled = true;\r\n }\r\n // else if(Number(list.apptSchedulerType)<=0){\r\n // list.isApptSchedulerEnabled=list.isApptSchedulerEnabled;\r\n // }\r\n });\r\n this.coClinicDetails.clinicList.forEach(list => {\r\n list.naClinicContactPhone = list.naClinicContactPhone;\r\n list.naClinicLocation = list.naClinicLocation && list.naClinicLocation.length > 0 ? list.naClinicLocation.trim() : list.naClinicLocation;\r\n });\r\n\r\n target_obj.clinicList[0].isDataPostedToCP = this.coClinicDetails.clinicList[0].isDataPostedToCP;\r\n target_obj.clinicList[0].reassignType = this.reassignForm.value.assignType;\r\n if ((this.reassignForm.value.assignType === \"\" || this.reassignForm.value.assignType === null || this.reassignForm.value.assignType.toLowerCase() === \"geography\")) {\r\n this.reassignForm.value.assignType = null;\r\n target_obj.clinicList[0].reassignedTo = null;\r\n target_obj.clinicList[0].isReassign = 0;\r\n if (this.reassignForm.value.assignType && this.reassignForm.value.assignType.toLowerCase() == \"geography\") {\r\n target_obj.clinicList[0].isReassign = 1;\r\n }\r\n }\r\n else {\r\n target_obj.clinicList[0].reassignedTo = this.reassignForm.value.assignType.toLowerCase() == \"store\" ? this.reassignForm.value.assignStoreID != null ? Number(this.reassignForm.value.assignStoreID.storeId) : null : Number(this.reassignForm.value.assignStore);\r\n target_obj.clinicList[0].isReassign = 1;\r\n }\r\n\r\n let is_clinical_req: boolean = false;\r\n for (let i = 0; i < this.clinicDetailsForm.value.clinicList.length; i++) {\r\n for (let j = 0; j < this.clinicDetailsForm.value.clinicImmunizationList.length; j++) {\r\n target_obj.clinicList[i].clinicImzQtyList[j].totalImmAdministered =\r\n this.clinicDetailsForm.value.clinicImmunizationList[j].totalImmAdministered;\r\n target_obj.clinicList[i].clinicImzQtyList[j].paperVars =\r\n this.clinicDetailsForm.value.clinicImmunizationList[j].paperVars;\r\n //Clinical Requirements -- START --\r\n if (ImmunizationsClinicalRequirements.immunizations.indexOf(this.clinicDetailsForm.value.clinicImmunizationList[j].immunizationName) > -1) {\r\n if (this.clinicDetailsForm.value.clinicList[i].isReassign !== 1 && (this.clinicDetailsForm.value.storeID === this.clinicDetailsForm.value.clinicList[i].clinicStoreId)) {\r\n target_obj.clinicList[i].clinicImzQtyList[j].isClinicalReqd = (ImmunizationsClinicalRequirements.immunizations.indexOf(this.clinicDetailsForm.value.clinicImmunizationList[j].immunizationName) > -1) ? this.clinicDetailsForm.value.clinicImmunizationList[j].isClinicalReqd : null;\r\n target_obj.clinicList[i].clinicImzQtyList[j].clinicalReqdApprovedBy = (target_obj.clinicList[i].clinicImzQtyList[j].isClinicalReqd) ? ((this.coClinicDetails.clinicList[i] && this.coClinicDetails.clinicList[i].clinicImzQtyList[j].clinicalReqdApprovedBy) ? this.coClinicDetails.clinicList[i].clinicImzQtyList[j].clinicalReqdApprovedBy : this.user_profile.userPk) : null;\r\n target_obj.clinicList[i].clinicImzQtyList[j].clinicalReqApprovedDate = (this.coClinicDetails.clinicList[i]) ? this.coClinicDetails.clinicList[i].clinicImzQtyList[j].clinicalReqApprovedDate : null;\r\n if (i === 0) {\r\n is_clinical_req = (this.coClinicDetails.clinicList[i] && (this.coClinicDetails.clinicList[i].clinicImzQtyList[j].isClinicalReqd !== target_obj.clinicList[i].clinicImzQtyList[j].isClinicalReqd)) ? true : false;\r\n }\r\n } else if ((this.clinicDetailsForm.value.clinicList[i].isReassign === 1 && (this.clinicDetailsForm.value.clinicList[i].isCompleted === 1 && !this.maintainStatusSelected) || (this.clinicDetailsForm.value.clinicList[i].isCompleted === 0)) || this.clinicDetailsForm.value.storeID !== this.clinicDetailsForm.value.clinicList[i].clinicStoreId) {\r\n target_obj.clinicList[i].clinicImzQtyList[j].isClinicalReqd = (ImmunizationsClinicalRequirements.immunizations.indexOf(this.clinicDetailsForm.value.clinicImmunizationList[j].immunizationName) > -1) ? 0 : null;\r\n target_obj.clinicList[i].clinicImzQtyList[j].clinicalReqdApprovedBy = null;\r\n target_obj.clinicList[i].clinicImzQtyList[j].clinicalReqApprovedDate = null;\r\n }\r\n }\r\n //Clinical Requirements -- END --\r\n }\r\n if (!i) {\r\n this.clinicDetailsForm.value.clinicList[i].confirmedClientName = (this.coClinicDetails.clinicList[i].confirmedClientName == null && !this.clinicDetailsForm.value.clinicList[i].confirmedClientName) ? this.coClinicDetails.clinicList[i].confirmedClientName : this.clinicDetailsForm.value.clinicList[i].confirmedClientName.trim();\r\n target_obj.clinicList[i].areApptsPresent = this.coClinicDetails.clinicList[i].areApptsPresent;// this should be from from get object which has index 0.\r\n }\r\n\r\n }\r\n\r\n target_obj['clinicalRequirements'] = (is_clinical_req) ? true : false;\r\n\r\n target_obj.clinicList[0].clinicScheduledOn = this.coClinicDetails.clinicList[0].clinicScheduledOn;\r\n // if ([1, 2, 6].indexOf(this.clinicType) > -1) {\r\n // target_obj.clinicList[0].clinicRoom = this.coClinicDetails.clinicList[0].clinicRoom;\r\n // }\r\n target_obj.clinicList[0].isScheduled = this.coClinicDetails.clinicList[0].isScheduled;\r\n target_obj.clinicList[0].naClinicContactPhoneExt = this.coClinicDetails.clinicList[0].naClinicContactPhoneExt;\r\n target_obj.clinicList[0].naClinicLocation = this.coClinicDetails.clinicList[0].naClinicLocation;\r\n\r\n target_obj.clinicList[0].coPayFLUGroupId = this.is_flu_group_id == true ? this.clinicDetailsForm.value.coPayFLUGroupId : this.coClinicDetails.clinicList[0].coPayFLUGroupId;\r\n target_obj.clinicList[0].coPayROUTINEGroupId = this.is_routine_group_id == true ? this.clinicDetailsForm.value.coPayROUTINEGroupId : this.coClinicDetails.clinicList[0].coPayROUTINEGroupId;\r\n\r\n // for (let j = 0; j < target_obj.clinicList.length; j++) {\r\n for (let i = 0; i < target_obj.clinicList[0].clinicImzQtyList.length; i++) {\r\n target_obj.clinicList[0].clinicImzQtyList[i].estimatedQuantity =\r\n this.clinicDetailsForm.value.clinicImmunizationList[i].estimatedQuantity;\r\n\r\n target_obj.clinicList[0].clinicImzQtyList[i][\"imzNameAndPmtMethod\"] = target_obj.clinicList[0].clinicImzQtyList[i].immunizationName + \"
\" + target_obj.clinicList[0].clinicImzQtyList[i].paymentTypeName;\r\n\r\n target_obj.clinicList[0].clinicImzQtyList[i].showPrice =\r\n this.coClinicDetails.clinicList[0].clinicImzQtyList[i].showPrice;\r\n target_obj.clinicList[0].clinicImzQtyList[i].price =\r\n this.coClinicDetails.clinicList[0].clinicImzQtyList[i].price;\r\n }\r\n target_obj.feedback = (this.clinicDetailsForm.value.feedbackNotes) ? this.clinicDetailsForm.value.feedbackNotes : this.coClinicDetails.feedback;\r\n }\r\n\r\n makeLogHistoryItem = function (update_status, updated_value, group_name, item_alias_name) {\r\n var logHistory = new ClinicsUpdateHistoryLogList();\r\n logHistory.pk = 0;\r\n logHistory.updateAction = update_status;\r\n logHistory.updatedField = item_alias_name//corporateAliasName[0][opp[i]];\r\n logHistory.updatedValue = updated_value;\r\n logHistory.updateSubCategory = group_name;//\"Billing & Vaccine Information:\";\r\n logHistory.updatedBy = this.user_profile.email;\r\n logHistory.updatedOn = new Date();\r\n return logHistory;\r\n }\r\n\r\n isClinicDateReminderBefore2WksReq(action_status: string): Boolean {\r\n let isClinicDateReminder: Boolean = false;\r\n\r\n try {\r\n let today = new Date();\r\n let start_index = 0;\r\n if (action_status != null && (action_status.toLowerCase() == \"completed\" || action_status.toLowerCase() == \"cancelled\")) {\r\n if (this.clinicDetailsForm.value.clinicList.length > 1) {\r\n start_index = 1;\r\n }\r\n }\r\n for (let index = start_index; index < this.clinicDetailsForm.value.clinicList.length; index++) {\r\n const loc = this.clinicDetailsForm.value.clinicList[index];\r\n let clinicDate: Date = null;\r\n let initialClinicDate: Date = null;\r\n if (typeof (loc.clinicDate) == \"string\") {\r\n var dt = loc.clinicDate.split(\"/\");\r\n\r\n clinicDate = new Date(dt[2], dt[0] - 1, dt[1]);\r\n } else {\r\n clinicDate = loc.clinicDate;\r\n }\r\n if (typeof (this.coClinicDetails.clinicList[0].clinicDate) == \"string\") {\r\n var idt = this.coClinicDetails.clinicList[0].clinicDate.split(\"/\");\r\n initialClinicDate = new Date(parseInt(idt[2]), parseInt(idt[0]) - 1, parseInt(idt[1]));\r\n } else {\r\n initialClinicDate = this.coClinicDetails.clinicList[0].clinicDate;\r\n }\r\n if (Number(loc.isNoClinic) <= 0) {\r\n if (initialClinicDate != null && index <= 0 &&\r\n (initialClinicDate.getFullYear() !== clinicDate.getFullYear() || initialClinicDate.getMonth() !== clinicDate.getMonth() ||\r\n initialClinicDate.getDate() != clinicDate.getDate())) {\r\n // let diffDays: number = clinicDate.getMonth() == today.getMonth() ? Math.round(clinicDate.getDate() - today.getDate())\r\n // : this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n // new Date(clinicDate.getFullYear(), clinicDate.getMonth(), clinicDate.getDate(), 0, 0, 0));\r\n var loc_date = (typeof clinicDate == 'string') ? new Date(clinicDate) : clinicDate;\r\n let diffDays: number = this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n new Date(loc_date.getFullYear(), loc_date.getMonth(), loc_date.getDate(), 0, 0, 0));\r\n if (diffDays < 14) {\r\n isClinicDateReminder = true;\r\n }\r\n }\r\n else if (this.clinicDetailsForm.value.clinicList.length > 1 && index > 0) {\r\n // let diffDays: number = clinicDate.getMonth() == today.getMonth() ? Math.round(clinicDate.getDate() - today.getDate())\r\n // : this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n // new Date(clinicDate.getFullYear(), clinicDate.getMonth(), clinicDate.getDate(), 0, 0, 0));\r\n var loc_date = (typeof clinicDate == 'string') ? new Date(clinicDate) : clinicDate;\r\n let diffDays: number = this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n new Date(loc_date.getFullYear(), loc_date.getMonth(), loc_date.getDate(), 0, 0, 0));\r\n if (diffDays < 14) {\r\n isClinicDateReminder = true;\r\n }\r\n }\r\n else if (initialClinicDate == null) {\r\n // let diffDays: number = clinicDate.getMonth() == today.getMonth() ? Math.round(clinicDate.getDate() - today.getDate())\r\n // : this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n // new Date(clinicDate.getFullYear(), clinicDate.getMonth(), clinicDate.getDate(), 0, 0, 0));\r\n var loc_date = (typeof clinicDate == 'string') ? new Date(clinicDate) : clinicDate;\r\n let diffDays: number = this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n new Date(loc_date.getFullYear(), loc_date.getMonth(), loc_date.getDate(), 0, 0, 0));\r\n if (diffDays < 14) {\r\n isClinicDateReminder = true;\r\n }\r\n }\r\n }\r\n }\r\n } catch (e) {\r\n\r\n return e;\r\n }\r\n return isClinicDateReminder;\r\n }\r\n MinimumShotValidation(action_status: string, is_override?: boolean) {\r\n if ([3].indexOf(this.clinicType) > -1) {\r\n return true;\r\n }\r\n var errMsg: string[] = [];\r\n var estimatedQty = 0;\r\n var location25Names: string[] = [];\r\n var location250Names = [];\r\n var errMsg: string[] = [];\r\n var moreThan255ImmunizationError = false;\r\n\r\n for (let i = 0; i < this.clinicDetailsForm.value.clinicList.length; i++) {\r\n var estimatedQty = 0;\r\n this.userApprovedGt250 = false;\r\n this.userApprovedLt25 = false\r\n for (let j = 0; j < this.clinicDetailsForm.value.clinicList[i].clinicImzQtyList.length; j++) {\r\n let qty: number = +this.clinicDetailsForm.value.clinicList[i].clinicImzQtyList[j].estimatedQuantity;\r\n let vaccineName: string = this.clinicDetailsForm.value.clinicList[i].clinicImzQtyList[j].immunizationName;\r\n\r\n if ((qty >= 250) && vaccineName.search(\"Vaccine Voucher\") === -1) {\r\n moreThan255ImmunizationError = true;\r\n location250Names.push({\r\n estimatedQuantity: qty, immunizationName: this.clinicDetailsForm.value.clinicList[i].clinicImzQtyList[j].immunizationName,\r\n location: this.clinicDetailsForm.value.clinicList[i].naClinicLocation\r\n });\r\n }\r\n else {\r\n if (qty < 250) {\r\n if (vaccineName.search(\"Vaccine Voucher\") === -1) {\r\n estimatedQty += qty;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (estimatedQty < 50 && !moreThan255ImmunizationError && (\r\n this.clinicDetailsForm.value.clinicList[i].isNoClinic == null ||\r\n this.clinicDetailsForm.value.clinicList[i].isNoClinic == undefined ||\r\n Number(this.clinicDetailsForm.value.clinicList[i].isNoClinic) <= 0)) {\r\n //if(!this.isCovidVaccineAvailable || this.isNonCovidVaccineAvailable){ \r\n if (this.coClinicDetails.opportunityInfo.covidOpportunityType == 1 && estimatedQty < 15 && this.clinicType !== 6) {\r\n location25Names.push(this.clinicDetailsForm.value.clinicList[i].naClinicLocation);\r\n }\r\n else if (this.coClinicDetails.opportunityInfo.covidOpportunityType !== 1 && this.clinicType !== 6) {\r\n location25Names.push(this.clinicDetailsForm.value.clinicList[i].naClinicLocation);\r\n }\r\n estimatedQty = 0;\r\n moreThan255ImmunizationError = false;\r\n //}\r\n // else if(this.isCovidVaccineAvailable && estimatedQty <1){ \r\n // location25Names.push(this.clinicDetailsForm.value.clinicList[i].naClinicLocation);\r\n // estimatedQty = 0;\r\n // moreThan255ImmunizationError = false; \r\n // }\r\n }\r\n else {\r\n estimatedQty = 0;\r\n }\r\n moreThan255ImmunizationError = false;\r\n if (!this.userApprovedGt250 && location250Names.length > 0) {\r\n this.userApprovedGt250 = false;\r\n this.userApprovedLt25 = false;\r\n }\r\n else {\r\n this.userApprovedGt250 = true;\r\n }\r\n if (!this.userApprovedLt25 && location25Names.length > 0) {\r\n this.userApprovedLt25 = false;\r\n }\r\n else {\r\n this.userApprovedLt25 = true;\r\n }\r\n\r\n }\r\n if (!is_override && !this.userApprovedGt250) {\r\n location250Names.forEach(item => {\r\n errMsg.push(String.Format(ErrorMessages['moreThan250ImmunizationsForDetails'], item.estimatedQuantity, item.immunizationName, item.location.replace(/CLINIC/g, ' LOCATION')));\r\n });\r\n this.showConfirm250ImmDialog(ErrorMessages['warning'], errMsg.join('

'));\r\n return false;\r\n }\r\n if (action_status !== \"Completed\") {\r\n if (!is_override && !this.userApprovedLt25) {\r\n // var userProfile = SessionDetails.GetUserProfile();\r\n // if (userProfile.userRole.toLowerCase() == \"admin\") {\r\n if (this.coClinicDetails.opportunityInfo.covidOpportunityType == 1) {\r\n this.showConfirm25ImmDialog(ErrorMessages['MinNumberOfShotsForDetailsHeader'],\r\n String.Format([1, 5].indexOf(this.clinicType) > -1 ? ErrorMessages['MinNumberOfShotsForLTCFDetails'] : ErrorMessages['MinNumberOfShotsForLTCFDetails_2_7_6'], location25Names.join(',')));\r\n }\r\n else {\r\n this.showConfirm25ImmDialog(ErrorMessages['MinNumberOfShotsForDetailsHeader'],\r\n String.Format([1, 5].indexOf(this.clinicType) > -1 ? ErrorMessages['MinNumberOfShotsForDetails'] : ErrorMessages['MinNumberOfShotsForDetails_2_7_6'], location25Names.join(',')));\r\n }\r\n // }\r\n // else {\r\n // this.showDialogV2(ErrorMessages['resolve'], String.Format(ErrorMessages['MinNumberOfShotsForDetails'], location25Names.join(',').replace(/CLINIC/g, ' LOCATION')));\r\n // }\r\n return false;\r\n }\r\n if (!is_override && !this.userApprovedGt250) {\r\n location250Names.forEach(item => {\r\n errMsg.push(String.Format(ErrorMessages['moreThan250ImmunizationsForDetails'], item.estimatedQuantity, item.immunizationName, item.location.replace(/CLINIC/g, ' LOCATION')));\r\n });\r\n this.showConfirm250ImmDialog(ErrorMessages['warning'], errMsg.join('

'));\r\n return false;\r\n }\r\n if (!is_override && !this.userApprovedLt25) {\r\n // var userProfile = SessionDetails.GetUserProfile();\r\n // if (userProfile.userRole.toLowerCase() == \"admin\") {\r\n if (this.coClinicDetails.opportunityInfo.covidOpportunityType == 1) {\r\n this.showConfirm25ImmDialog(ErrorMessages['resolve'],\r\n String.Format(ErrorMessages['MinNumberOfShotsForLTCFDetails'], location25Names.join(',').replace(/CLINIC/g, ' LOCATION')));\r\n }\r\n else {\r\n this.showConfirm25ImmDialog(ErrorMessages['resolve'],\r\n String.Format(ErrorMessages['MinNumberOfShotsForDetails'], location25Names.join(',').replace(/CLINIC/g, ' LOCATION')));\r\n }\r\n // }\r\n // else {\r\n // this.showDialogV2(ErrorMessages['resolve'], String.Format(ErrorMessages['MinNumberOfShotsForDetails'], location25Names.join(',').replace(/CLINIC/g, ' LOCATION')));\r\n // }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n showConfirm250ImmDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locConfirm250ModalDlg = true;\r\n }\r\n showConfirm25ImmDialog(msgSummary: string, msgDetail: string) {\r\n\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locConfirm25ModalDlg = true;\r\n }\r\n acceptLt25Imm() {\r\n\r\n this.userApprovedLt25 = true;\r\n\r\n this.locConfirm25ModalDlg = false;\r\n if (this.userApprovedGt250 && this.userApprovedLt25) {\r\n if (this.isAssignedStoreValid()) {\r\n this.saveToDB();\r\n }\r\n else {\r\n this.showReAssignStoreDialog(this.action_status);\r\n }\r\n }\r\n }\r\n acceptGt250Imm() {\r\n this.userApprovedGt250 = true;\r\n\r\n this.locConfirm250ModalDlg = false;\r\n if (this.userApprovedGt250) {\r\n if (this.isAssignedStoreValid()) {\r\n this.saveToDB();\r\n }\r\n else {\r\n this.showReAssignStoreDialog(this.action_status);\r\n }\r\n }\r\n }\r\n rejectLt25Imm() {\r\n this.locConfirm25ModalDlg = false;\r\n return;\r\n }\r\n rejectGt250Imm() {\r\n this.locConfirm250ModalDlg = false;\r\n return;\r\n }\r\n cancelBlockedSlotAlert() {\r\n this.showBlockedSlotAlert = false;\r\n\r\n }\r\n continueBlockedSlotAlert() {\r\n this.showBlockedSlotAlert = false;\r\n this.overrideBlockedSlotAlert = true;\r\n if (this.clinic_details_update.clinicContactStatus == \"Submit\") {\r\n this.saveChanges();\r\n }\r\n if (this.clinic_details_update.clinicContactStatus == \"Cancelled\") {\r\n this.cancelClinic();\r\n }\r\n if (this.clinic_details_update.clinicContactStatus == \"Completed\") {\r\n this.completeClinic();\r\n }\r\n if (this.clinic_details_update.clinicContactStatus == \"Confirmed\") {\r\n this.confirmClinic();\r\n }\r\n }\r\n dateTimeConflict(): boolean {\r\n var locConflictList = [];\r\n var errMsgV1: string[] = [];\r\n if ([3, 5, 7].indexOf(this.clinicType) > -1) {\r\n return true;\r\n }\r\n try {\r\n for (let count = 0; count < this.clinicDetailsForm.value.clinicList.length; count++) {\r\n try {\r\n let locClinicDate: Date = new Date(this.clinicDetailsForm.value.clinicList[count].clinicDate);\r\n let stTime = null;\r\n let locStartTime = null;\r\n try {\r\n if (this.clinicDetailsForm.value.clinicList[count].naClinicStartTime.search(\"am\") !== -1 ||\r\n this.clinicDetailsForm.value.clinicList[count].naClinicStartTime.search(\"AM\") !== -1 ||\r\n this.clinicDetailsForm.value.clinicList[count].naClinicStartTime.search(\"PM\") !== -1 ||\r\n this.clinicDetailsForm.value.clinicList[count].naClinicStartTime.search(\"pm\") !== -1) {\r\n locStartTime = this._timeToDatePipe.transform(locClinicDate, this.clinicDetailsForm.value.clinicList[count].naClinicStartTime);\r\n } else {\r\n stTime = new Date(this.clinicDetailsForm.value.clinicList[count].naClinicStartTime);\r\n locStartTime = this._timeToDatePipe.transform(locClinicDate, this._datePipe.transform(stTime, \"shortTime\"));\r\n }\r\n } catch (e) {\r\n stTime = new Date(this.clinicDetailsForm.value.clinicList[count].naClinicStartTime);\r\n locStartTime = this._timeToDatePipe.transform(locClinicDate, this._datePipe.transform(stTime, \"shortTime\"));\r\n }\r\n\r\n\r\n let enTime = null;\r\n let locEndTime = null;\r\n try {\r\n if (this.clinicDetailsForm.value.clinicList[count].naClinicEndTime.search(\"am\") !== -1 ||\r\n this.clinicDetailsForm.value.clinicList[count].naClinicEndTime.search(\"AM\") !== -1 ||\r\n this.clinicDetailsForm.value.clinicList[count].naClinicEndTime.search(\"PM\") !== -1 ||\r\n this.clinicDetailsForm.value.clinicList[count].naClinicEndTime.search(\"pm\") !== -1) {\r\n locEndTime = this._timeToDatePipe.transform(locClinicDate,\r\n this.clinicDetailsForm.value.clinicList[count].naClinicEndTime);\r\n } else {\r\n enTime = new Date(this.clinicDetailsForm.value.clinicList[count].naClinicEndTime);\r\n locEndTime = this._timeToDatePipe.transform(locClinicDate, this._datePipe.transform(enTime, \"shortTime\"));\r\n }\r\n } catch (e) {\r\n enTime = new Date(this.clinicDetailsForm.value.clinicList[count].naClinicEndTime);\r\n locEndTime = this._timeToDatePipe.transform(locClinicDate, this._datePipe.transform(enTime, \"shortTime\"));\r\n }\r\n if (this.clinicDetailsForm.value.clinicList[count].isNoClinic >= 1 ||\r\n this.clinicDetailsForm.value.clinicList[count].isNoClinic === '1' ||\r\n this.clinicDetailsForm.value.clinicList[count].isReassign >= 1 ||\r\n this.clinicDetailsForm.value.clinicList[count].isReassign === '1' ||\r\n this.clinicDetailsForm.value.clinicList[count].clinicStoreId != this.clinicDetailsForm.value.clinicList[0].clinicStoreId\r\n || (count == 0 && (this.reassignForm.value.assignType == \"Store\" || this.reassignForm.value.assignType == \"Geogrpahy\") && this.clinicDetailsForm.value.clinicList[0].clinicStoreId != this.reassignForm.value.assignStoreID.storeId)\r\n || (count == 0 && (this.reassignForm.value.assignType == \"Area\" || this.reassignForm.value.assignType == \"District\"))) {\r\n continue;\r\n }\r\n let locationsCpy = JSON.parse(JSON.stringify(this.clinicDetailsForm.value.clinicList));\r\n var index = locationsCpy.findIndex(it => it.naClinicLocation === this.clinicDetailsForm.value.clinicList[count].naClinicLocation);\r\n if (index > -1) {\r\n locationsCpy.splice(index, 1);\r\n }\r\n locationsCpy.forEach(element => {\r\n element.clinicDate = new Date(element.clinicDate);\r\n });\r\n let conflictLocs = locationsCpy.filter(locItem => locClinicDate.getFullYear() === locItem.clinicDate.getFullYear() && locClinicDate.getMonth() === locItem.clinicDate.getMonth() && locClinicDate.getDate() === locItem.clinicDate.getDate() && (locItem.isNoClinic <= 0 || locItem.isNoClinic === '0' || locItem.isNoClinic === undefined || locItem.isNoClinic === null) && (locItem.isReassign <= 0 || locItem.isReassign === '0' || locItem.isReassign === undefined || locItem.isReassign === null) && (locItem.clinicStoreId == this.clinicDetailsForm.value.storeID));\r\n let endDateAdd39Mts: Date;\r\n if (locEndTime.toString().toLowerCase().search('am') !== -1 || locEndTime.toString().toLowerCase().search('pm') !== -1) {\r\n endDateAdd39Mts = this._timeToDatePipe.transform(locClinicDate, locEndTime);\r\n }\r\n else {\r\n endDateAdd39Mts = locEndTime;\r\n }\r\n let startDatetmToDt: Date;\r\n if (locStartTime.toString().toLowerCase().search('am') !== -1 || locStartTime.toString().toLowerCase().search('pm') !== -1) {\r\n startDatetmToDt = this._timeToDatePipe.transform(locClinicDate, locStartTime);\r\n }\r\n else {\r\n startDatetmToDt = locStartTime;\r\n }\r\n let add30MinTS: Date = new Date(locClinicDate.getFullYear(), locClinicDate.getMonth(), locClinicDate.getDate(), endDateAdd39Mts.getHours(), endDateAdd39Mts.getMinutes() + 30, endDateAdd39Mts.getSeconds());\r\n let locStart: Date = new Date(startDatetmToDt);\r\n\r\n if (conflictLocs.length > 0) {\r\n var conflictLocsCpy = JSON.parse(JSON.stringify(conflictLocs));\r\n try {\r\n conflictLocsCpy.forEach(element => {\r\n element.clinicDate = new Date(element.clinicDate);\r\n if (element.naClinicStartTime.search(\"am\") != -1 || element.naClinicStartTime.search(\"AM\") != -1 ||\r\n element.naClinicStartTime.search(\"pm\") != -1 || element.naClinicStartTime.search(\"PM\") != -1) {\r\n element.naClinicStartTime = this._timeToDatePipe.transform(element.clinicDate, element.naClinicStartTime);\r\n }\r\n else {\r\n let shrtTime = this._datePipe.transform(new Date(element.naClinicStartTime), \"shortTime\");\r\n element.naClinicStartTime = this._timeToDatePipe.transform(element.clinicDate, shrtTime);\r\n }\r\n if (element.naClinicEndTime.search(\"am\") != -1 || element.naClinicEndTime.search(\"AM\") != -1 ||\r\n element.naClinicEndTime.search(\"pm\") != -1 || element.naClinicEndTime.search(\"PM\") != -1) {\r\n element.naClinicEndTime = this._timeToDatePipe.transform(element.clinicDate, element.naClinicEndTime);\r\n }\r\n else {\r\n let shrtTime = this._datePipe.transform(new Date(element.naClinicEndTime), \"shortTime\");\r\n element.naClinicEndTime = this._timeToDatePipe.transform(element.clinicDate, shrtTime);\r\n }\r\n });\r\n } catch (e) { console.log(e); }\r\n conflictLocs = conflictLocsCpy.filter(locItem => locClinicDate.getFullYear() === locItem.clinicDate.getFullYear() && locClinicDate.getMonth() === locItem.clinicDate.getMonth() && locClinicDate.getDate() === locItem.clinicDate.getDate() && ((locItem.naClinicStartTime.valueOf() >= locStart.valueOf() && locItem.naClinicStartTime.valueOf() < add30MinTS.valueOf()) || (locItem.naClinicEndTime.valueOf() > locStart.valueOf() && locItem.naClinicEndTime.valueOf() < add30MinTS.valueOf())));\r\n if (conflictLocs.length > 0) {\r\n locConflictList.push({\r\n srcLocName: this.clinicDetailsForm.value.clinicList[count],\r\n dstLocName: conflictLocs\r\n });\r\n\r\n }\r\n }\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n let conflictClinicList: any[] = [];\r\n locConflictList.forEach(item => {\r\n item.dstLocName.forEach(element => {\r\n let duplicateEntry = conflictClinicList.filter(l => l.naClinicLocation == element.naClinicLocation);\r\n if (duplicateEntry.length <= 0) {\r\n conflictClinicList.push(element);\r\n }\r\n });\r\n\r\n });\r\n\r\n if (conflictClinicList.length > 0) {\r\n conflictClinicList.sort((leftItem, rightItem): number => {\r\n if (leftItem.naClinicLocation < rightItem.naClinicLocation) return -1;\r\n if (leftItem.naClinicLocation > rightItem.naClinicLocation) return 1;\r\n return 0;\r\n });\r\n if (conflictClinicList.length <= 2 && this.clinicDetailsForm.value.clinicList.length <= 2) {\r\n if (conflictClinicList.length == 2) {\r\n errMsgV1.push(String.Format(ErrorMessages['clincLocDateTimeSingleConflict'], conflictClinicList[1].naClinicLocation.replace(/CLINIC/g, 'LOCATION'), this._datePipe.transform(conflictClinicList[1].clinicDate, \"shortDate\"), this._datePipe.transform(conflictClinicList[1].naClinicStartTime, 'shortTime'), this._datePipe.transform(conflictClinicList[1].naClinicEndTime, 'shortTime'), this.coClinicDetails.opportunityInfo.businessName));\r\n } else {\r\n errMsgV1.push(String.Format(ErrorMessages['clincLocDateTimeSingleConflict'], conflictClinicList[0].naClinicLocation.replace(/CLINIC/g, 'LOCATION'), this._datePipe.transform(conflictClinicList[0].clinicDate, \"shortDate\"), this._datePipe.transform(conflictClinicList[0].naClinicStartTime, 'shortTime'), this._datePipe.transform(conflictClinicList[0].naClinicEndTime, 'shortTime'), this.coClinicDetails.opportunityInfo.businessName));\r\n }\r\n this.showDialogV2(ErrorMessages['resolve'], errMsgV1.join('

'));\r\n return false;\r\n }\r\n if (conflictClinicList.length >= 1) {\r\n conflictClinicList.forEach(loc => {\r\n errMsgV1.push(String.Format(ErrorMessages['clincLocDateTimeMultipleConflict'], loc.naClinicLocation.replace(/CLINIC/g, 'LOCATION'), this._datePipe.transform(loc.clinicDate, \"shortDate\"), this._datePipe.transform(loc.naClinicStartTime, 'shortTime'), this._datePipe.transform(loc.naClinicEndTime, 'shortTime'), this.coClinicDetails.opportunityInfo.businessName));\r\n });\r\n this.showDialogV2(ErrorMessages['resolve'], String.Format(\"{0}{1}\", ErrorMessages['multipleClinicDatesConflictLineItem'], errMsgV1.join('

')));\r\n return false;\r\n }\r\n }\r\n return true;\r\n } catch (e) {\r\n\r\n console.log(e);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n showDialogV2(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locListModalDlg = true;\r\n }\r\n\r\n okClickedV2() {\r\n this.locListModalDlg = false;\r\n }\r\n showErrDialogThenGoToHome(msgSummary: string, msgDetail: string) {\r\n this.dialogSummary = ErrorMessages['clinicDetailsErrHeader'];\r\n this.dialogMsg = msgDetail;\r\n this.getDetailsErr = true;\r\n }\r\n goToHome(action: string = '') {\r\n if (action == \"scheduledappointments\") {\r\n this.Action = '';\r\n this.showAfterClinicDelete = false;\r\n }\r\n else\r\n this.router.navigateByUrl(\"/communityoutreach/storehome\");\r\n }\r\n goToStoreHome() {\r\n window.location.href = '/communityoutreach/storehome';\r\n }\r\n download(value: any) {\r\n\r\n var voucher_form_data = new VoucherFormData();\r\n voucher_form_data.outreachBusinessPk = this.coClinicDetails.opportunityInfo.outreachBusinessPk;\r\n voucher_form_data.clinicPk = this.coClinicDetails.clinicList[0].clinicPk;\r\n voucher_form_data.downloadType = value;\r\n voucher_form_data.pdfPath = \"\";\r\n\r\n voucher_form_data.covidOpportunityType = this.coClinicDetails.opportunityInfo.covidOpportunityType;\r\n if (this.coClinicDetails.opportunityInfo.naClinicGroupId.includes(\"pending copay group id\")) {\r\n this.showDialogV2(\"Message\", \"This document cannot be downloaded until a Group ID is assigned\");\r\n return;\r\n }\r\n this.coClinicdetailsService.getContractVoucherFormData(voucher_form_data).subscribe((data: any) => {\r\n var res = data;\r\n if (res.pdfPath != \"\") {\r\n let url = /*environment.WalgreenDomain*/ res.pdfPath;\r\n localStorage.setItem(\"isApp\", \"yes\");\r\n window.open(url);\r\n }\r\n\r\n });\r\n }\r\n\r\n getModelDiff() {\r\n\r\n let temp: any = JSON.stringify(this.coClinicDetails);\r\n temp = JSON.parse(temp);\r\n\r\n this.updateDataFromFormFields(temp);\r\n temp.clinicList[0].privateCPSchedulerLink = this.coClinicDetails.clinicList[0].privateCPSchedulerLink;\r\n temp.clinicList.forEach(item => {\r\n try {\r\n item.naClinicLocation = [1, 2, 6].indexOf(this.clinicType) > -1 ? item.naClinicLocation.toUpperCase().replace('CLINIC ', '').replace('LOCATION ', '') : item.naClinicLocation;\r\n delete item['noSlotsOfBlocked'];\r\n item.clinicImzQtyList.forEach(imzQtyItem => {\r\n delete imzQtyItem[\"imzNameAndPmtMethod\"];\r\n });\r\n } catch (e) {\r\n console.log('save changes' + e);\r\n }\r\n });\r\n delete temp['clinicalRequirements'];\r\n delete temp['opportunityInfo'].naClinicGroupId\r\n let obj1 = this.deepCopy(this.coClinicDetails);\r\n obj1.clinicList.forEach(item => {\r\n try {\r\n delete item['noSlotsOfBlocked'];\r\n item.naClinicLocation = [1, 2, 6].indexOf(this.clinicType) > -1 ? item.naClinicLocation.toUpperCase().replace('CLINIC ', '').replace('LOCATION ', '') : item.naClinicLocation;\r\n item.clinicImzQtyList.forEach(imzQtyItem => {\r\n delete imzQtyItem[\"imzNameAndPmtMethod\"];\r\n });\r\n temp.clinicList[0].isApptSchedulerEnabled = obj1.clinicList[0].isApptSchedulerEnabled;\r\n } catch (e) {\r\n console.log('save changes' + e);\r\n }\r\n });\r\n delete obj1['clinicalRequirements'];\r\n delete obj1['opportunityInfo'].naClinicGroupId\r\n //let diff = this.utility.getDifference(obj1, temp);\r\n let diff = this.utility.getObjDiff(obj1, temp);\r\n if (this.savedViaReassignBtn) {\r\n diff = {};\r\n }\r\n if ((obj1.clinicList[0].naClinicStartTime && obj1.clinicList[0].naClinicStartTime.toString().toLowerCase().search('12:00 am') !== -1 && temp.clinicList[0].naClinicStartTime.toString().toLowerCase().search('00:00 am') !== -1) ||\r\n (obj1.clinicList[0].naClinicStartTime && obj1.clinicList[0].naClinicStartTime.toString().toLowerCase().search('12:30 am') !== -1 && temp.clinicList[0].naClinicStartTime.toString().toLowerCase().search('00:30 am') !== -1)) {\r\n diff = {};\r\n }\r\n return diff;\r\n }\r\n\r\n deepCopy(oldObj: any) {\r\n var newObj = oldObj;\r\n if (oldObj && typeof oldObj === \"object\") {\r\n newObj = Object.prototype.toString.call(oldObj) === \"[object Array]\" ? [] : {};\r\n for (var i in oldObj) {\r\n newObj[i] = this.deepCopy(oldObj[i]);\r\n }\r\n }\r\n return newObj;\r\n }\r\n\r\n leaveRoute() {\r\n this.showCanRouteChange = false;\r\n this.messageService.setCanShowRouteChangeConfirmation(false);\r\n this.messageService.setCanRouteChange(true);\r\n }\r\n cancelRoute() {\r\n this.showCanRouteChange = false;\r\n this.messageService.setCanShowRouteChangeConfirmation(false);\r\n this.messageService.setCanRouteChange(false);\r\n }\r\n\r\n updateLabel(obj: any) {\r\n obj.value[\"imzNameAndPmtMethod\"] = obj.value.immunizationName + \"
\" + obj.value.paymentTypeName;\r\n\r\n let estimatedQty = obj.controls.estimatedQuantity.value;\r\n let totalImmAdmintered = obj.controls.totalImmAdministered.value;\r\n let paperVars = obj.controls.paperVars.value;\r\n\r\n // let estimatedQty = obj.controls.estimatedQuantity.value;\r\n let frmGrps = this.clinicDetailsForm.controls.clinicImmunizationList['controls'].filter(p => p.controls.immunizationPk.value == obj.controls.immunizationPk.value);\r\n frmGrps.forEach((element, index) => {\r\n if (index > 0) {\r\n element.patchValue({\r\n estimatedQuantity: 0\r\n });\r\n element.patchValue({\r\n totalImmAdministered: 0\r\n });\r\n }\r\n });\r\n }\r\n\r\n updateEstQty(obj: any, clinicIndex) {\r\n // let estimatedQty = obj.controls.estimatedQuantity.value;\r\n let frmar = this.clinicDetailsForm.controls.clinicList['controls'] as FormArray;\r\n let frmGrp = frmar[clinicIndex] as FormGroup;\r\n let clinicImzQtyListArr: any = frmGrp.controls['clinicImzQtyList'] as FormArray;\r\n let matchedImms = clinicImzQtyListArr.controls.filter(p => p.controls['immunizationPk'].value == obj.controls.immunizationPk.value);\r\n matchedImms.forEach((element, index) => {\r\n // if(this.clinicType == 13)\r\n // {\r\n // if( element.controls.immunizationPk.value ==31 && element.controls.estimatedQuantity.value >0 )\r\n // {\r\n // frmar[clinicIndex].controls['vouchersDistributed'].setValue(element.controls.estimatedQuantity.value);\r\n // this.shouldDisableVouchersDistributed = true;\r\n // frmar[clinicIndex].controls['vouchersDistributed'].markAsUntouched();\r\n // frmar[clinicIndex].controls['vouchersDistributed'].markAsPristine(); \r\n // return;\r\n // }\r\n // }\r\n\r\n if (index > 0) {\r\n element.patchValue({\r\n estimatedQuantity: 0\r\n });\r\n }\r\n });\r\n }\r\n doesClinicsHaveNoClinicAndMiscOptions(): boolean {\r\n let hasCorpInvNdVchNd: boolean = this.checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded();\r\n let hasNoClinicAndMiscOptions: boolean = false;\r\n\r\n this.clinicDetailsForm.value.clinicList.forEach(element => {\r\n let isNoClinic: boolean = false;\r\n element.isNoClinic >= 1 && hasCorpInvNdVchNd ? isNoClinic = true : isNoClinic = false;\r\n hasNoClinicAndMiscOptions = hasNoClinicAndMiscOptions || isNoClinic;\r\n });\r\n return hasNoClinicAndMiscOptions;\r\n }\r\n checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded() {\r\n try {\r\n let hasCorpInvoiceNdVchrNd: Boolean = false;\r\n this.coClinicDetails.clinicImmunizationList.forEach(rec => {\r\n\r\n if (Number(rec.paymentTypeId) == 13 &&\r\n (rec.isVoucherNeeded === '1' || Number(rec.isVoucherNeeded) === 1)) {\r\n hasCorpInvoiceNdVchrNd = true;\r\n }\r\n });\r\n if (hasCorpInvoiceNdVchrNd == true)\r\n return true;\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getPrevSiblingInHist(obj: any, index: number, inner_index: number, value: any) {\r\n try {\r\n if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length < 40)\r\n return 'minHeight65';\r\n else if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 500) {\r\n return 'enableScroller';\r\n }\r\n else if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 400) {\r\n return 'minHeight150';\r\n }\r\n else if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 300) {\r\n return 'minHeight100';\r\n }\r\n else if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 80) {\r\n return 'minHeight110';\r\n }\r\n else if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 60) {\r\n return 'minHeight90';\r\n }\r\n else if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 41) {\r\n return 'minHeight65';\r\n }\r\n else\r\n return '';\r\n }\r\n catch (e) {\r\n return '';\r\n }\r\n }\r\n\r\n getNextSiblingInHist(obj: any, index: number, inner_index: number) {\r\n try {\r\n if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length < 40)\r\n return 'minHeight65';\r\n else if ((obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 500)) {\r\n return 'enableScrollerHeight';\r\n }\r\n else if ((obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 400)) {\r\n return 'minHeight150';\r\n }\r\n else if ((obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 300)) {\r\n return 'minHeight100';\r\n }\r\n else if ((obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 80)) {\r\n return 'minHeight110';\r\n }\r\n else if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 60) {\r\n return 'minHeight90';\r\n }\r\n else if ((obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 41)) {\r\n return 'minHeight65';\r\n }\r\n else\r\n return '';\r\n }\r\n catch (e) {\r\n return '';\r\n }\r\n }\r\n\r\n enableDisableClinicDates() {\r\n var userProfile = SessionDetails.GetUserProfile();\r\n let today = new Date();\r\n if (this.utility.isStoreIsfromRestrictedState()) {\r\n if (userProfile.userRole.toLowerCase() == \"store manager\" || userProfile.userRole.toLowerCase() == \"pharmacy manager\") {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);// + 14\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);// + 14\r\n }\r\n else {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n }\r\n if (ClinicDetailsUtilities.checkIfAnyFluImmIsSelected(this.coClinicDetails)) {\r\n this.maxDateValue = new Date(today.getFullYear() + 1, 3, 1, 12, 55, 55);\r\n }\r\n else {\r\n this.maxDateValue = new Date(today.getFullYear() + 1, today.getMonth(), today.getDate() - 1, 12, 55, 55);\r\n }\r\n }\r\n }\r\n\r\n onBlurMethod(i: number) {\r\n let controlclinicList = this.clinicDetailsForm.controls['clinicList'];\r\n let address1: string = controlclinicList.controls[i].get('naClinicAddress1').value;\r\n let address2: string = controlclinicList.controls[i].get('naClinicAddress2').value;\r\n let city: string = controlclinicList.controls[i].get('naClinicCity').value;\r\n let state: string = controlclinicList.controls[i].get('naClinicState').value;\r\n let zipCode: string = controlclinicList.controls[i].get('naClinicZip').value;\r\n let address = address1 + \", \" + address2 + \", \" + city + \", \" + state + \" \" + zipCode;\r\n this.getLatitudeLongitude(address, i);\r\n\r\n let isReassignGeographySelected: boolean = controlclinicList.controls[i].get('isReassign').value;\r\n let reAssigAllowed = this.utility.IsReassignmentAllowedForRestrictedState(state);\r\n if (isReassignGeographySelected && !reAssigAllowed) {\r\n let dialogMsg = state == \"DC\" ? String.Format(ErrorMessages['restrictedStates'], \"Columbia \", \"15\") : String.Format(ErrorMessages['restrictedStates'], \"Missouri \", \"20\");\r\n if (i > 0) {\r\n controlclinicList.controls[i].get('naClinicState').setValue('');\r\n }\r\n else {\r\n controlclinicList.controls[i].get('naClinicState').setValue(this.coClinicDetails.clinicList[0].naClinicState);\r\n }\r\n this.showDialogV2(\"Alert\", dialogMsg);\r\n }\r\n }\r\n\r\n //geocoder to get the latitude and longitude \r\n getLatitudeLongitude(fulladdress, index) {\r\n\r\n let controlclinicList = this.clinicDetailsForm.controls['clinicList'];\r\n var geocoder = new google.maps.Geocoder();\r\n geocoder.geocode({ 'address': fulladdress }, function (results, status) {\r\n if (status == google.maps.GeocoderStatus.OK) {\r\n controlclinicList.controls[index].get('clinicLatitude').setValue(results[0].geometry.location.lat());\r\n controlclinicList.controls[index].get('clinicLongitude').setValue(results[0].geometry.location.lng());\r\n }\r\n });\r\n\r\n }\r\n //end geocoder \r\n AllowAdminsToEditDataForRestrictedState() {\r\n return this.utility.AllowAdminsToEditDataForRestrictedState();\r\n }\r\n isStoreIsfromRestrictedState() {\r\n return this.utility.isStoreIsfromRestrictedState();\r\n }\r\n scrolling() {\r\n window.scrollTo(0, 0);\r\n }\r\n //geocoder to get the latitude and longitude\r\n getAddr(idx, addr, sourceobject, result) {\r\n sourceobject.clinicList[idx].latitude = result.lat();\r\n sourceobject.clinicList[idx].longitude = result.lng();\r\n };\r\n\r\n OnAmendAgreementClick() {\r\n\r\n let control = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let index;\r\n for (index = 0; index < control.length; index++) {\r\n if (this.reassignForm.value.assignType !== null && this.reassignForm.value.assignType !== \"\") {\r\n control.controls[index].get('isClinicalReqd').setValidators(null);\r\n control.controls[index].get('isClinicalReqd').updateValueAndValidity();\r\n }\r\n }\r\n\r\n sessionStorage[\"AmendAgreement\"] = \"true\";\r\n if (this.coClinicDetails.opportunityInfo.childClinicAgreementId != null && this.coClinicDetails.opportunityInfo.childClinicAgreementId > 0) {\r\n sessionStorage[\"NewAmendAgreement\"] = \"false\"\r\n SessionDetails.SetAgreementPK(this.coClinicDetails.opportunityInfo.childClinicAgreementId);\r\n SessionDetails.setOpportunitiesData(JSON.stringify(this.coClinicDetails.opportunityInfo));\r\n this.router.navigateByUrl(\"/communityoutreach/contract\");\r\n }\r\n else {\r\n sessionStorage[\"NewAmendAgreement\"] = \"true\"\r\n SessionDetails.SetAgreementPK(this.coClinicDetails.opportunityInfo.clinicAgreementPk);\r\n this.isAmendAgreementPopUp = true;\r\n }\r\n }\r\n\r\n OnAmendAgreementForCommOutreachClick() {\r\n\r\n let control = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let index;\r\n for (index = 0; index < control.length; index++) {\r\n if (this.reassignForm.value.assignType !== null && this.reassignForm.value.assignType !== \"\") {\r\n control.controls[index].get('isClinicalReqd').setValidators(null);\r\n control.controls[index].get('isClinicalReqd').updateValueAndValidity();\r\n }\r\n }\r\n sessionStorage[\"AmendAgreementForCommOutreach\"] = \"true\";\r\n if (this.coClinicDetails.opportunityInfo.childClinicAgreementId != null && this.coClinicDetails.opportunityInfo.childClinicAgreementId > 0) {\r\n sessionStorage[\"NewAmendAgreement\"] = \"false\"\r\n SessionDetails.SetAgreementPK(this.coClinicDetails.opportunityInfo.childClinicAgreementId);\r\n SessionDetails.setOpportunitiesData(JSON.stringify(this.coClinicDetails.opportunityInfo));\r\n\r\n if (this.coClinicDetails.opportunityInfo.clinicType == 13) {\r\n this.pageName = 'quity Event Clinic Details';\r\n this.router.navigateByUrl(\"/communityoutreach/equityevents\");\r\n }\r\n else {\r\n this.router.navigateByUrl(\"/communityoutreach/communityoutreach\");\r\n }\r\n\r\n }\r\n else {\r\n sessionStorage[\"NewAmendAgreement\"] = \"true\"\r\n SessionDetails.SetAgreementPK(this.coClinicDetails.opportunityInfo.clinicAgreementPk);\r\n this.isAmendAgreementCommOutreachPopUp = true;\r\n sessionStorage[\"IsEquityAmendAgreement\"] = \"true\";\r\n }\r\n }\r\n\r\n CancelAmendAgreement() {\r\n this.isAmendAgreementPopUp = false;\r\n }\r\n CancelAmendAgreementCommOutreach() {\r\n this.isAmendAgreementCommOutreachPopUp = false;\r\n }\r\n\r\n ContinueAmendAgreement() {\r\n this.isAmendAgreementPopUp = false;\r\n SessionDetails.setOpportunitiesData(JSON.stringify(this.coClinicDetails.opportunityInfo));\r\n if (this.coClinicDetails.opportunityInfo.clinicType == 13) {\r\n this.router.navigateByUrl(\"/communityoutreach/equityevents\");\r\n }\r\n else if (this.coClinicDetails.opportunityInfo.clinicType == 6) {\r\n this.router.navigateByUrl(\"/communityoutreach/communityoutreach\");\r\n }\r\n else {\r\n this.router.navigateByUrl(\"/communityoutreach/contract\");\r\n\r\n }\r\n }\r\n\r\n ContinueAmendAgreementCommOutreach() {\r\n this.isAmendAgreementPopUp = false;\r\n SessionDetails.setOpportunitiesData(JSON.stringify(this.coClinicDetails.opportunityInfo));\r\n if (this.coClinicDetails.opportunityInfo.clinicType == 13) {\r\n this.router.navigateByUrl(\"/communityoutreach/equityevents\");\r\n }\r\n else if (this.coClinicDetails.opportunityInfo.clinicType == 6) {\r\n this.router.navigateByUrl(\"/communityoutreach/communityoutreach\");\r\n }\r\n else {\r\n this.router.navigateByUrl(\"/communityoutreach/contract\");\r\n\r\n }\r\n }\r\n\r\n checkRestrictedStatesCompliance(index: number) {\r\n let reAssignedStoreId = this.clinicDetailsForm.controls.clinicList['controls'][index].get('clinicStoreId').value;\r\n if (reAssignedStoreId.trim().length > 0) {\r\n //get restricted store state using userPk 41, this is necessary as store date is not fetched for non authorized users, but as per business req, an rxm can assign.\r\n this._headerservice.storeSearch(41, reAssignedStoreId.trim(), 0).subscribe(data => {\r\n if (reAssignedStoreId.trim() != SessionDetails.GetStoreId()) {\r\n let returnValue = true;\r\n var filterSearchRes = data.filter(store => store.storeId == reAssignedStoreId);\r\n if (this.utility.IsReassignmentAllowedForRestrictedState(filterSearchRes[0].state)) {\r\n returnValue = true;;\r\n }\r\n else if (SessionDetails.GetState() == \"MO\") {\r\n\r\n if (filterSearchRes.length > 0 && filterSearchRes[0].state == \"DC\") {\r\n returnValue = false;\r\n }\r\n }\r\n else if (SessionDetails.GetState() == \"DC\") {\r\n if (filterSearchRes.length > 0 && filterSearchRes[0].state == \"MO\") {\r\n returnValue = false;\r\n }\r\n }\r\n else if (SessionDetails.GetState() != \"MO\" || SessionDetails.GetState() != \"DC\") {\r\n if (filterSearchRes.length > 0 && (filterSearchRes[0].state == \"MO\" || filterSearchRes[0].state == \"DC\")) {\r\n returnValue = false;\r\n }\r\n }\r\n if (!returnValue) {\r\n let dialogMsg = filterSearchRes[0].state == \"DC\" ? String.Format(ErrorMessages['restrictedStates'], \"Columbia \", \"15\") : String.Format(ErrorMessages['restrictedStates'], \"Missouri \", \"20\")\r\n this.clinicDetailsForm.controls.clinicList['controls'][index].get('clinicStoreId').setValue(this.coClinicDetails.clinicList[0].clinicStoreId);\r\n this.showDialogV2(\"Alert\", dialogMsg);\r\n this.clinicDetailsForm.controls.clinicList['controls'][index].updateValueAndValidity();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n onvisitTypeClicked(locationForm: any) {\r\n }\r\n onOtherRadioClicked(locationForm: any) {\r\n if (locationForm.controls['coOutreachTypeId'].value === 4) {\r\n locationForm.controls['coOutreachTypeDesc'].enable();\r\n locationForm.controls['coOutreachTypeDesc'].setValidators([Validators.required]);\r\n locationForm.controls['coOutreachTypeDesc'].updateValueAndValidity();\r\n }\r\n else {\r\n locationForm.controls['coOutreachTypeDesc'].setValidators(null);\r\n locationForm.controls['coOutreachTypeDesc'].setErrors(null);\r\n locationForm.controls['coOutreachTypeDesc'].updateValueAndValidity();\r\n locationForm.controls['coOutreachTypeDesc'].disable();\r\n }\r\n }\r\n\r\n onOtherTextChanged(obj: any) {\r\n obj.value.coOutreachTypeId = obj.value.coOutreachTypeId + \"_U\";\r\n }\r\n\r\n displayFieldCssOutReachType(field: string, i: number) {\r\n try {\r\n const control = this.clinicDetailsForm.controls['clinicList'];\r\n const outReach = control.controls[i].get(field);\r\n let return_val = !outReach.valid && outReach.touched;\r\n return {\r\n 'has-error': return_val,\r\n 'has-feedback': return_val\r\n };\r\n\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n\r\n isAdmin() {\r\n if ([1, 2, 3, 4, 5, 7].indexOf(this.clinicType) > -1) {\r\n let userProfile = SessionDetails.GetUserProfile();\r\n if (userProfile != null && userProfile.userRole.toLowerCase() == 'admin') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n showUpdateClinicDetailsRspError(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.errorMsgOverride = true;\r\n }\r\n\r\n showClinicLocationDetailsSaveChangesError(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.errorMsgSaveChanges = true;\r\n }\r\n\r\n ErrorMsgContinueClicked() {\r\n this.errorMsgOverride = false;\r\n this.errorMsgSaveChanges = false;\r\n this.HandleUserResponse();\r\n }\r\n\r\n ErrorMsgSaveChangesClicked() {\r\n this.errorMsgSaveChanges = false;\r\n this.HandleUserResponse();\r\n }\r\n\r\n HandleUserResponse() {\r\n switch (this.rescheduledErrorCode) {\r\n case -5:\r\n this.clinic_details_update.isSendLocationChangeEmailToAppts = false;\r\n this.clinic_details_update.isSendRescheduleEmailToAppts = true;\r\n break;\r\n case -6:\r\n this.clinic_details_update.isSendLocationChangeEmailToAppts = true;\r\n this.clinic_details_update.isSendRescheduleEmailToAppts = false;\r\n break;\r\n default:\r\n this.clinic_details_update.isSendLocationChangeEmailToAppts = false;\r\n this.clinic_details_update.isSendRescheduleEmailToAppts = false;\r\n break;\r\n }\r\n this.scrolling();\r\n this.spinner.show();\r\n this.coClinicdetailsService.upDateClinicDetails(this.coClinicDetails.clinicList[0].clinicPk,\r\n this.clinic_details_update, this.isOverride).subscribe((res: any) => {\r\n this.spinner.hide();\r\n this.rescheduledErrorCode = 0;\r\n //if (res.status == \"200\") {\r\n let msg = ErrorMessages['clinicSave'];\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n msg = ErrorMessages['clinicSavedWithSchdlr']\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n msg = ErrorMessages['clinicSavedWithCPSchdlr'];\r\n }\r\n if (this.action_status != null) {\r\n if (this.action_status.toLowerCase() == 'cancelled') {\r\n msg = ErrorMessages['clinicCancel'];\r\n } else if (this.action_status.toLowerCase() == 'confirmed') {\r\n msg = ErrorMessages['clinicConfirm'];\r\n if (this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1) {\r\n msg = ErrorMessages['clinicConfirmWithSchdlr'];\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1) {\r\n msg = ErrorMessages['clinicConfirmWithCPSchdlr'];\r\n }\r\n }\r\n } else if (this.action_status.toLowerCase() == 'completed') {\r\n msg = ErrorMessages['clinicComplete'];\r\n this.IsAmendSubmit = false;\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n msg = ErrorMessages['clinicCompleteWithSchdlr'];\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1) {\r\n msg = ErrorMessages['clinicCompleteWithCPSchdlr'];\r\n }\r\n }\r\n }\r\n if (res.errorS != null) {\r\n if (res.errorS.errorCode != 0) {\r\n let errorCode = res.json().errorS.errorCode;\r\n let errorMessage = res.json().errorS.errorMessage;\r\n switch (res.errorS.errorCode) {\r\n case -4:\r\n let sumMsg = ErrorMessages['eventDateTimeConflict'];\r\n let finalErrMsg = String.Format(\"{0}

{1}\", res.json().errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']);\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n this.confirm(sumMsg, finalErrMsg, this.clinic_details_update.clinicContactStatus, true);\r\n break;\r\n case -6:\r\n this.rescheduledErrorCode = errorCode;\r\n this.showClinicLocationDetailsSaveChangesError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsLocationChangedWarning']);\r\n break;\r\n case -5:\r\n // if (this.isAdmin()) { \r\n this.rescheduledErrorCode = errorCode;\r\n this.showUpdateClinicDetailsRspError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsChangedWarning'].replace('{1}', errorMessage.replace(',', ', ')));\r\n // }\r\n // else {\r\n // this.showDialogV2(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsChangedErrMsg'].replace('{1}', errorMessage.replace(',', ', ')));\r\n // }\r\n case -7:\r\n this.showDialog(ErrorMessages['clinicDetails'], errorMessage);\r\n break;\r\n\r\n default:\r\n this.showDialogV2(ErrorMessages['CorpClinicDetailsRspErrorSummary'], errorMessage);\r\n break;\r\n }\r\n return;\r\n }\r\n else {\r\n this.isOverride = false;\r\n this.showDialog(ErrorMessages['clinicDetails'], msg);\r\n window.scrollTo(0, 0);\r\n }\r\n }\r\n else {\r\n this.clinic_details_update.isSendLocationChangeEmailToAppts = false;\r\n this.clinic_details_update.isSendRescheduleEmailToAppts = false;\r\n this.showDialog(ErrorMessages['clinicDetails'], msg);\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n },\r\n err => {\r\n this.isOverride = false;\r\n this.rescheduledErrorCode = 0;\r\n this.spinner.hide();\r\n this.showDialogV2(ErrorMessages['serverError'], err.Message != null && err.Message != undefined ? err.Message : err.statusText);\r\n });\r\n }\r\n\r\n ErrorMsgCancelClicked() {\r\n this.errorMsgOverride = false;\r\n this.rescheduledErrorCode = 0;\r\n this.isOverride = false;\r\n this.bindLocalClinicData();\r\n }\r\n\r\n ErrorMsgSaveChangesCancelClicked() {\r\n this.errorMsgSaveChanges = false;\r\n this.rescheduledErrorCode = 0;\r\n this.bindLocalClinicData();\r\n }\r\n getSchedulerDisabledStatus(index: number, locationForm: any) {\r\n if ((index === 0 && this.isApptSchedulerDisabled && !this.isSuperAdmin) || this.isNoClinic) {\r\n return true;\r\n }\r\n else if (index > 0) {\r\n return null;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n\r\n uncheckCOPRadio(locationForm: any, event) {\r\n let schedulerType: any = locationForm.controls['apptSchedulerType'].value\r\n if (!this.isSuperAdmin) {\r\n if (schedulerType == 1) {\r\n this.clinicDetailsForm.controls.clinicList['controls'][0].get('isApptSchedulerEnabled').setValue(false);\r\n locationForm.controls['apptSchedulerType'].patchValue(0);\r\n schedulerType = 0\r\n this.cOPForceUncheck = true;\r\n }\r\n else if (typeof schedulerType == 'object' && schedulerType == 1) {\r\n this.clinicDetailsForm.controls.clinicList['controls'][0].get('isApptSchedulerEnabled').setValue(false);\r\n locationForm.controls['apptSchedulerType'].patchValue(0);\r\n schedulerType = 0\r\n this.cOPForceUncheck = true;\r\n }\r\n else if (typeof schedulerType == 'object' && (schedulerType == null || schedulerType == 0) && !this.isNoClinic) {\r\n schedulerType = 1\r\n locationForm.controls['apptSchedulerType'].patchValue(1);\r\n this.cOPForceUncheck = false;\r\n }\r\n else if (typeof schedulerType != 'object' && (schedulerType == null || schedulerType == 0) && !this.isNoClinic) {\r\n schedulerType = 1\r\n locationForm.controls['apptSchedulerType'].patchValue(1);\r\n this.cOPForceUncheck = false;\r\n }\r\n } else if (this.isSuperAdmin && !this.isNoClinic) {\r\n locationForm.controls['apptSchedulerType'].patchValue(1);\r\n }\r\n this.showAppointmentScheduler = schedulerType == 1 && this.isEncryptLinkNull;\r\n if (schedulerType <= 0 && this.coClinicDetails.clinicList[0].isScheduled && !this.isNoClinic) {\r\n this.showDialogV2(\"Appointment Scheduler\", ErrorMessages['turnOffApptSchdWarning']);\r\n }\r\n if (schedulerType == 2 && !this.is_admin)\r\n this.disableTotalAdministered = true;\r\n else\r\n this.disableTotalAdministered = null;\r\n event.preventDefault();\r\n }\r\n\r\n onScheduleChange(locationForm: any) {\r\n // \r\n if (this.cOPForceUncheck) {\r\n locationForm.controls['apptSchedulerType'].patchValue({ apptSchedulerType: null });\r\n this.cOPForceUncheck = false;\r\n }\r\n let schedulerType: number = locationForm.controls['apptSchedulerType'].value;\r\n this.showAppointmentScheduler = schedulerType == 1 && this.isEncryptLinkNull;\r\n if (schedulerType <= 0 && this.coClinicDetails.clinicList[0].isScheduled) {\r\n this.showDialogV2(\"Appointment Scheduler\", ErrorMessages['turnOffApptSchdWarning']);\r\n }\r\n if (schedulerType == 2 && !this.is_admin)\r\n this.disableTotalAdministered = true;\r\n else\r\n this.disableTotalAdministered = null;\r\n // if(schedulerType==1 || schedulerType==2){\r\n // this.clinicDetailsForm.controls['isApptSchedulerEnabled'].setValue(true);\r\n // }\r\n // else {\r\n // this.clinicDetailsForm.controls['isApptSchedulerEnabled'].setValue(null);\r\n // }\r\n }\r\n copyEncryptedLink(linkText) {\r\n this.copyText = document.getElementById(linkText);\r\n this.copyText.select();\r\n document.execCommand(\"copy\");\r\n }\r\n accessCPScheduler() {\r\n window.open(\"https://vaccine.walgreens.com/login\");\r\n }\r\n accessScheduler() {\r\n let today = new Date();\r\n if (!this.accessSchedulerEncryptedLink) {\r\n return;\r\n }\r\n\r\n // if( (new Date (this.coClinicDetails.clinicList[0].clinicDate)) < new Date(today.getFullYear(),today.getMonth(),today.getDate()) && this.coClinicDetails.clinicList[0].isScheduled){\r\n // this.showDialogV2(\"Scheduler\", \"Scheduler is not available for past clinics.\");\r\n // return;\r\n // }\r\n //sessionStorage.removeItem(\"registrationDetails\");\r\n this.navigateToSchedulerSites(\"schedulerLanding\");\r\n }\r\n accessTracker() {\r\n if (!this.accessSchedulerTrackerEncryptedLink) {\r\n return;\r\n }\r\n this.navigateToSchedulerSites(\"clientSchedulerApptTracker\");\r\n }\r\n navigateToSchedulerSites(page_name: string) {\r\n var encrypt_data = new EncryptDecrypt();\r\n encrypt_data.encryptedS = this.accessSchedulerTrackerEncryptedLink;\r\n encrypt_data.decryptedS = \"\";\r\n this.authenticationService.postEncryptionDecryption(encrypt_data).subscribe((data: any) => {\r\n let decrypted_data = data.decryptedS;\r\n if (decrypted_data !== null || decrypted_data !== undefined) {\r\n let splited_Data = SessionDetails.getD(SessionDetails.absJ, decrypted_data).split(\"|\");\r\n var scheduleuserInfo = new SchedulerUserInfo();\r\n scheduleuserInfo.userName = splited_Data[0];\r\n scheduleuserInfo.userPk = Number(splited_Data[1]);\r\n scheduleuserInfo.password = splited_Data[2];\r\n scheduleuserInfo.designPk = Number(splited_Data[3]);\r\n scheduleuserInfo.appointmentPK = (splited_Data.length <= 5 && (!splited_Data[4] || typeof (splited_Data[4]) === 'string') ? -1 : Number(splited_Data[4]));\r\n scheduleuserInfo.redirectPage = ''// splited_Data[5];\r\n scheduleuserInfo.clinicPK = splited_Data[6] ? Number(splited_Data[6]) : -1;\r\n SessionDetails.setSchedulerUserInfo(scheduleuserInfo);\r\n let path = this.protocol + \"//\" + this.domain + ((this.port) ? \":\" + this.port : \"\");\r\n window.open(path + '/' + page_name);\r\n }\r\n });\r\n }\r\n showEncryptedLinkDlg(ptype: any) {\r\n if (ptype == 'Tracking') {\r\n this.dispEncryptedLink = true;\r\n this.isApptTrackingEncLink = true;\r\n this.accessLinkHeaderTitle = \"Shared Encrypted Access Link\";\r\n this.isApptSchedulerEncLink = false;\r\n }\r\n if (ptype == 'Scheduler') {\r\n this.dispEncryptedLink = true;\r\n this.isApptSchedulerEncLink = true;\r\n this.accessLinkHeaderTitle = \"Shared Encrypted Access Link & QR Code\";\r\n this.isApptTrackingEncLink = false;\r\n }\r\n if (ptype == 'CPScheduler') {\r\n this.dispEncryptedLink = true;\r\n this.isApptSchedulerEncLink = true;\r\n this.accessLinkHeaderTitle = \"Share CURA Patient Scheduler Link & QR Code\";\r\n this.isApptTrackingEncLink = false;\r\n }\r\n }\r\n // downloadImage(){\r\n // this.href= document.getElementsByTagName('img')[4].src;\r\n // }\r\n private convertBase64ToBlob(Base64Image: any) {\r\n // SPLIT INTO TWO PARTS\r\n const parts = Base64Image.split(';base64,');\r\n // HOLD THE CONTENT TYPE\r\n const imageType = parts[0].split(':')[1];\r\n // DECODE BASE64 STRING\r\n const decodedData = window.atob(parts[1]);\r\n // CREATE UNIT8ARRAY OF SIZE SAME AS ROW DATA LENGTH\r\n const uInt8Array = new Uint8Array(decodedData.length);\r\n // INSERT ALL CHARACTER CODE INTO UINT8ARRAY\r\n for (let i = 0; i < decodedData.length; ++i) {\r\n uInt8Array[i] = decodedData.charCodeAt(i);\r\n }\r\n // RETURN BLOB IMAGE AFTER CONVERSION\r\n return new Blob([uInt8Array], { type: imageType });\r\n }\r\n saveAsImage(parent) {\r\n // fetches base 64 date from image\r\n const parentElement = parent.qrcElement.nativeElement.querySelector(\"img\").src;\r\n\r\n // converts base 64 encoded image to blobData\r\n let blobData = this.convertBase64ToBlob(parentElement);\r\n let winnavigator: any;\r\n winnavigator = window.navigator;\r\n // saves as image \r\n if (window.navigator && winnavigator.msSaveOrOpenBlob) { //IE\r\n winnavigator.msSaveOrOpenBlob(blobData, this.myAngularxQrCode.substr(this.myAngularxQrCode.lastIndexOf('/') + 1));\r\n } else { // chrome\r\n const blob = new Blob([blobData], { type: \"image/png\" });\r\n const url = window.URL.createObjectURL(blob);\r\n // window.open(url);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = this.myAngularxQrCode.substr(this.myAngularxQrCode.lastIndexOf('/') + 1);\r\n link.click();\r\n }\r\n\r\n }\r\n validateReduceEstQnt() {\r\n let ret: boolean = true;\r\n let clinicList = this.clinicDetailsForm.get(\"clinicList\").value[0];\r\n if (clinicList.isApptSchedulerEnabled == true && this.coClinicDetails.clinicList[0].isCovidClinic) {\r\n let newQuant = 0;\r\n this.clinicDetailsForm.controls.clinicImmunizationList['controls'].forEach(\r\n x => newQuant += Number(x.value.estimatedQuantity));\r\n let oldQuant = 0;\r\n this.coClinicDetails.clinicList[0].clinicImzQtyList.forEach(x => oldQuant += x.estimatedQuantity);\r\n if (newQuant < oldQuant) {\r\n this.dialogSummary = ErrorMessages['warning'];\r\n this.dialogMsg = \"Reducing the Estimated Quantity with the Scheduler enabled will not remove appointment slots or cancel appointments that have already been created for this clinic.\";\r\n this.showEstQnt = true;\r\n ret = false;\r\n }\r\n else\r\n ret = true;\r\n }\r\n return ret;\r\n }\r\n continueEstQntAlert() {\r\n this.showEstQnt = false;\r\n this.continueWithSaving(this.action_status);\r\n }\r\n alertUserAboutScheduler() {\r\n let ret: boolean = true;\r\n let showAlert: boolean = false;\r\n let messageString: string = \"\";\r\n let clinicList = this.clinicDetailsForm.get(\"clinicList\").value;\r\n let businessName = this.clinicDetailsForm.get('businessName').value;\r\n let alertClinicsList = [];\r\n //clinicItem.controls[0].get('apptSchedulerType').value\r\n if (clinicList.length > 1) {\r\n let index: number = 0;\r\n clinicList.forEach(clinic => {\r\n if (clinic.apptSchedulerType > 0 && index > 0) {\r\n showAlert = true;\r\n let name: string = clinic.apptSchedulerType == 1 ? \"(Community Outreach Portal Scheduler)\" : clinic.apptSchedulerType == 2 ? \"(CURA Patient Scheduler)\" : \"(CURA Patient Regional Scheduler)\";\r\n alertClinicsList.push(businessName + \" - \" + clinic.naClinicLocation + \" \" + name);\r\n }\r\n index++;\r\n });\r\n }\r\n if (clinicList[0].apptSchedulerType > 0 && this.coClinicDetails.clinicList[0].isApptSchedulerEnabled !== true && this.coClinicDetails.clinicList[0].isDataPostedToCP !== true) {\r\n let res: boolean = Number(this.coClinicDetails.clinicList[0].isApptSchedulerEnabled) != 1 && Number(this.coClinicDetails.clinicList[0].isDataPostedToCP) != 1;\r\n showAlert = clinicList[0].apptSchedulerType > 0 && res;\r\n let name: string = clinicList[0].apptSchedulerType == 1 ? \"(Community Outreach Portal Scheduler)\" : clinicList[0].apptSchedulerType == 2 ? \"(CURA Patient Scheduler)\" : \"(CURA Patient Regional Scheduler)\";\r\n alertClinicsList.push(businessName + \" - \" + clinicList[0].naClinicLocation + \" \" + name);\r\n }\r\n // \r\n // this.coClinicDetails.clinicList[0].isCuraAppointmentScheduled = true;\r\n // if(clinicList[0].apptSchedulerType == 2 &&this.coClinicDetails.clinicList[0].isCuraAppointmentScheduled ==true){ \r\n // showAlert = true;\r\n // let name:string = clinicList[0].apptSchedulerType==1?\"Community Outreach Portal\":clinicList[0].apptSchedulerType==2?\"CURA Patient Scheduler\":\"\";\r\n // alertClinicsList.push(\"CLINIC - \" + clinicList[0].naClinicLocation + \" \" + name);\r\n // }\r\n\r\n if (showAlert && !this.showSchedulerAlert) {\r\n\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = String.Format(\"Are you sure you want to update the following clinics with the selected appointment schedulers? Once selected, you will not be able to change your selection.

{0}\", alertClinicsList.join('
'));\r\n this.showSchedulerAlert = true;\r\n ret = false;\r\n }\r\n else {\r\n ret = true;\r\n }\r\n return ret;\r\n }\r\n continueSchedulerAlertClicked() {\r\n this.showSchedulerAlert = false;\r\n this.continueWithSaving(this.action_status);\r\n }\r\n\r\n updateClinicFee(state) {\r\n if (state.target.checked) {\r\n this.clinicDetailsForm.controls['isNoClinicFee'].patchValue(true);\r\n }\r\n else {\r\n this.clinicDetailsForm.controls['isNoClinicFee'].patchValue(false);\r\n }\r\n }\r\n\r\n onSelectedCancelDisposition(event) {\r\n if (event && this.selectedCancelDisposition.length) {\r\n this.displayCancelError = false;\r\n }\r\n else {\r\n this.displayCancelError = true;\r\n }\r\n }\r\n\r\n onClinicDateSelected(selectedDate: Date) {\r\n for (let immunization of this.clinicDetailsForm.controls.clinicImmunizationList['controls']) {\r\n if (immunization.get('immunizationName').value.toLocaleLowerCase()?.includes('covid')) {\r\n let startDate = moment(environment.covidVaccineNotAviableDates.startDate, \"DD/MM/YYYY\");\r\n let endDate = moment(environment.covidVaccineNotAviableDates.endDate, \"DD/MM/YYYY\");\r\n let comparisonDate = moment(new Date(selectedDate.getFullYear(), selectedDate.getMonth(), selectedDate.getDate(), 18, 0, 0), \"DD/MM/YYYY\");\r\n\r\n if ((comparisonDate.isBetween(startDate, endDate) || comparisonDate.isSame(startDate) || comparisonDate.isSame(endDate)) && !environment.disabledFeatures.covidWarning) {\r\n this.showDialogV2(\"Warning\", ErrorMessages[\"sesionalCovid19Info\"]);\r\n // immunization.estimatedQuantity.setErrors({ 'incorrect': true });\r\n }\r\n }\r\n }\r\n }\r\n\r\n handleCovidVaccineAdminConfirmation() {\r\n const locations = this.clinicDetailsForm.controls[\"clinicList\"] as FormArray;\r\n this.covidVaccineSelected = false;\r\n this.covidVaccineWarningOkClicked = true;\r\n for (const location of locations.controls) {\r\n const clinicImzQtyList = location.get('clinicImzQtyList') as FormArray;\r\n for (const clinicImzQty of clinicImzQtyList.controls) {\r\n if (clinicImzQty.get('immunizationName').value.toLocaleLowerCase()?.includes('covid')) {\r\n clinicImzQty.get('estimatedQuantity').setErrors(null);\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n locations.updateValueAndValidity();\r\n this.saveChanges();\r\n }\r\n\r\n handleCovidVaccineAlertOk() {\r\n this.covidVaccineSelected = false;\r\n }\r\n\r\n handleCompleteClinic() {\r\n this.hasCompleteClinicClicked = true;\r\n }\r\n\r\n handleCompleteClinicNo() {\r\n this.hasCompleteClinicClicked = false;\r\n }\r\n}\r\n","import { of as observableOf, Observable } from 'rxjs';\r\nimport { catchError, switchMap, tap, distinctUntilChanged, debounceTime } from 'rxjs/operators';\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormArray, Validators, NgForm } from '@angular/forms';\r\nimport { ClinicdetailsService } from '../../services/clinicdetails.service';\r\nimport { Router } from '@angular/router';\r\nimport { states } from '../../../../JSON/States';\r\nimport { Util } from '../../../../utility/util';\r\nimport { TimeToDatePipe } from '../../../contractaggreement/pipes/time-to-date.pipe';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { ClinicDetailsUpdate, OpportunityInfo, ClinicsUpdateHistoryLogList, ClinicList, ErrorS, ClinicImmunizationList } from '../../../../models/clinicDetailsUpdate';\r\nimport { String } from 'typescript-string-operations';\r\nimport { DatePipe, DOCUMENT } from '@angular/common';\r\nimport { ClinicDetailsDelete } from '../../../../models/clinicDetailsDelete';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { HeaderserviceService } from '../../../common/services/headerservice.service';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { AlertService } from '../../../../alert.service';\r\nimport { VoucherFormData } from '../../../../models/voucherFormData';\r\nimport { OutreachProgramService } from '../../../contractaggreement/services/outreach-program.service';\r\nimport { LocalField } from '../../../../JSON/localFields';\r\nimport { FormCanDeactivate } from '../../../../guards/form-can-deactivate/form-can-deactivate';\r\nimport { KeysLogPipe } from '../../../store/pipes/keyslog';\r\nimport { CSTDateConvertPipe } from '../../../store/pipes/cstDateConvert';\r\nimport { ImmunizationsClinicalRequirements } from '../../../../config-files/ClinicalRequirements';\r\nimport { ClinicDetailsUtilities } from '../../../../utility/clinicDetailsUtilities';\r\nimport { EncryptDecrypt } from '../../../../models/encryptDecrypt';\r\nimport { SchedulerUserInfo } from '../../../../models/schedulerUserInfo';\r\nimport { AuthenticationService } from '../../../common/services/authentication.service';\r\nimport { COVIDVisits } from '../../../../JSON/COVIDVisits';\r\nimport * as _ from 'lodash';\r\nimport { ContractapproveService } from '../../../../modules/contractaggreement/services/contractapprove.service';\r\nimport { adminUserNames } from '../../../../JSON/adminsInformation';\r\nimport { LookupService } from '../../../../lookup.service';\r\nimport { SelectType } from '../../../../models/OutreachOpportunity';\r\nimport { getContractComponentName } from '../../../../utility/loadContracts';\r\nimport { UniquePipeClinicDetails } from '../../pipes/clinicUnique.pipe';\r\nimport * as moment from 'moment';\r\nimport { UserRole } from '../../../../config-files/UserRole';\r\nimport { CompleteClinic } from '../../../../config-files/ClinicalRequirements';\r\nimport { ImmunizationDetail } from '../../../../../app/models/clinic-details';\r\n\r\ndeclare var google: any;\r\n\r\n@Component({\r\n selector: 'app-local-clinic-details',\r\n templateUrl: './local-clinic-details.component.html',\r\n styleUrls: ['./local-clinic-details.component.css'],\r\n providers: [TimeToDatePipe, DatePipe, KeysLogPipe, CSTDateConvertPipe, UniquePipeClinicDetails],\r\n outputs: ['fileUploaded']\r\n})\r\nexport class LocalClinicDetailsComponent extends FormCanDeactivate implements OnInit {\r\n isApptSchedulerDisabled: boolean = null;\r\n showAppointmentScheduler: boolean = false;\r\n immunizers: number;\r\n signUpEndDate: Date;\r\n dispEncryptedLink: boolean = false;\r\n isApptSchedulerEncLink: boolean = false;\r\n isApptTrackingEncLink: boolean = false;\r\n accessLinkHeaderTitle: string = \"Shared Encrypted Access Link\";\r\n apptSchedulerEncLink: string;\r\n copyApptTrackingEncLink: string;\r\n copyText: any;\r\n encryptedSiteLink: boolean = false;\r\n accessSchedulerEncryptedLink: any;\r\n encryptedClientApptTrackingLink: boolean = false;\r\n accessSchedulerTrackerEncryptedLink: any;\r\n isEncryptLinkNull: boolean = false;\r\n domain: any;\r\n protocol: any;\r\n port: any;\r\n estimatedImmunizers: Number = 1;\r\n form: NgForm;\r\n isAmendAgreementPopUp = false;\r\n showCanRouteChange: boolean;\r\n isCovid: boolean;\r\n isFlu: boolean;\r\n showHints: boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) === 'yes') ? false : true;\r\n pageName: string = \"localclinicprogramdetails\";\r\n LCDdisplayDialog: boolean = false;\r\n ShowDeleteAmendAgreement: boolean = false;\r\n showRemoveCancelledStatus: boolean = false;\r\n showLastLogStatus: boolean = false;\r\n clinicDetailsForm: FormGroup;\r\n corporateForm: FormGroup;\r\n reassignForm: FormGroup;\r\n coClinicDetails: ClinicDetailsUpdate = new ClinicDetailsUpdate();\r\n clinic_details_update: ClinicDetailsUpdate = new ClinicDetailsUpdate();\r\n validateCancel: boolean = null;\r\n disableCancelIfTotalAdmPresent: boolean = null;\r\n validateComplete: boolean = null;\r\n validateConfirm: boolean = null;\r\n IsnoclinicvouchersDistributed: boolean = false;\r\n states: any[];\r\n dlgDispCOViewAgreement: boolean = false;\r\n defaultDate: Date = new Date();\r\n maxDateValue: Date = new Date(this.defaultDate.getFullYear() + 5, this.defaultDate.getMonth(), this.defaultDate.getDate());\r\n minDateValue: Date = new Date();\r\n clinicLocation: number;\r\n deleteAgreement: boolean = false;\r\n isDeleteAmendAgreement: boolean = false;\r\n storeV: boolean = false;\r\n distV: boolean = false;\r\n ariaV: boolean = false;\r\n storeV1: boolean = true;\r\n distV1: boolean = true;\r\n ariaV1: boolean = true;\r\n gropId: boolean = false;\r\n event_details: any;\r\n is_copay: boolean = false;\r\n voucher_needed: boolean = false;\r\n defaultStartTime: Date;\r\n savePopUp: boolean = false;\r\n vouchersDistributed: number = null;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n user_profile: any;\r\n savedViaReassignBtn: boolean = false;\r\n showClinicCancelDlg: boolean = false;\r\n locListModalDlg: boolean = false;\r\n getDetailsErr: boolean = false;\r\n userApprovedGt250: boolean = false;\r\n userApprovedLt25: boolean = false;\r\n locConfirm250ModalDlg: boolean = false;\r\n locConfirm25ModalDlg: boolean = false;\r\n is_cancelled: boolean = false;\r\n is_completed: boolean = false;\r\n is_confirmed: boolean = false;\r\n savePopUpStatus: boolean = false;\r\n is_no_clinc: number = 0;\r\n is_voucher_needed: boolean = null;\r\n is_voucher_neededForEQ: boolean = false;\r\n is_flu_group_id: boolean = false;\r\n is_routine_group_id: boolean = false;\r\n is_admin: boolean = false;\r\n area_dist = [];\r\n clinic_number: any = 1;\r\n intakeID: string = '';\r\n searching = false;\r\n searchFailed = false;\r\n assignType: string;\r\n assignStore: number;\r\n step_value: any = 1;\r\n is_flu_date: boolean = false;\r\n is_routine_date: boolean = false;\r\n isVARSectionShow: boolean = false;\r\n isVoucherSectionShow: boolean = false;\r\n isFluVoucher: boolean = false;\r\n isRoutineVoucher: boolean = false;\r\n isCovidVoucher: boolean = false;\r\n is_covid_date: boolean = false;\r\n varFormSP: string = \"\";\r\n fluFormSP: string = \"\";\r\n routingformSP: string = \"\";\r\n covidformSP: string = \"\";\r\n max_clinic_location_id: number;\r\n naClinicGroupId: any;\r\n naClinicGroupIdOriginal: any;\r\n naClinicGroupIdForDisplayOriginal: any;\r\n is_previous_locations: boolean = false;\r\n previous_location_data: any[];\r\n display_message: boolean = false;\r\n previous_locations: any[];\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n zipCode: any;\r\n updateLogHistory: any = [];\r\n AssignedStoreChkModalDlg: boolean = false;\r\n maintainStatusSelected: boolean = true;\r\n action_status: string = null;\r\n FluDosesValidUnder14DaysDlg = false;\r\n isfluexpirationDate: boolean = false;\r\n isroutineexpirationDate: boolean = false;\r\n isCovidExpirationDate: boolean = false;\r\n isNewClinicAdded: boolean = false;\r\n rescheduledErrorCode: number = 0;\r\n isOverride: boolean = false;\r\n errorMsgOverride: boolean = false;\r\n errorMsgSaveChanges: boolean = false;\r\n viewSteps: boolean = true;\r\n totalSteps: number = 3;\r\n currentStep: number;\r\n errorPopUp: boolean = false;\r\n usPhoneNoRegEx: RegExp = /^((\\(\\d{3}\\) ?)|(\\d{3}-))?\\d{3}-\\d{4}$/\r\n ConfirmBtnLabel = \"Confirm\";\r\n storeSearchRsp = null;\r\n clinicNotConfirmedMsgDlg = false;\r\n isNoClinic: number = 0;\r\n reAssignOutreachStatusLabel: string = \"Contact Client\";\r\n showRemoveCancelledStatusDlg: boolean = false;\r\n showRemoveCancelledStatusResult: boolean = false;\r\n showClinicalRequirements: boolean = false;\r\n clinicalRequirements: any = [];\r\n canDisableClinicalRequirements: boolean = null;\r\n clinicalReqUserNote: string;\r\n clinicType: number = 0;\r\n BillingVaccinesCol1Heading = \"Vaccines Covered\";\r\n BillingVaccinesCol2Rates = \"\";\r\n BillingVaccinesCol3PaymentMethod = \"Payment Method\";\r\n BillingVaccinesCol4EstVol = \"Estimated Volume\";\r\n BillingVaccinesCol5TtlAdmn = \"\";\r\n BillingVaccinesCol6VARs = \"Paper VARs Completed\";\r\n adminConfirmedCancellation: boolean = false;\r\n adminCancellationAlert: boolean = false;\r\n showBlockedSlotAlert = false;\r\n overrideBlockedSlotAlert = false;\r\n OverrideOrOkTitle: string = \"Override\";\r\n showCancelBtn: boolean = false;\r\n public myAngularxQrCode: string = null;\r\n isCovidVaccineAvailable: boolean = false;\r\n COVIDVisits: any[];\r\n isNonCovidVaccineAvailable: boolean = true;\r\n storeState: string;\r\n is_Admin: boolean = false;\r\n status: boolean = false;\r\n showEstQnt: boolean = false;\r\n showSchedulerAlert: boolean = false;\r\n showDeleteClinic: boolean = false;\r\n showAfterClinicDelete: boolean = false;\r\n specificAdmin: boolean = false;\r\n Action: string = '';\r\n areApptsPresent: boolean = false;\r\n covidOpportunityType: number = 0;\r\n apptSchedulerType: any = 0;\r\n pData: string = \"\";\r\n isremove: boolean = false;\r\n immunizations: any;\r\n disableTotalAdministered: boolean = null;\r\n clinicAgreementDateApproved: any;\r\n currentStoreId: any;\r\n showCuraScheduler: boolean = false;\r\n isAmendAgreementCommOutreachPopUp: boolean;\r\n canEditPatientGroupId: boolean = false;\r\n cOPForceUncheck: boolean = false;\r\n disableCuraPatientScheduler: boolean = false;\r\n isProd: boolean = false;\r\n envvariable: string = \"\";\r\n cancelDispositions: SelectType[] = [];\r\n selectedCancelDisposition: string = '';\r\n displayCancelError: boolean = false;\r\n routePageName: string = '';\r\n isVoucherPaymentSelected: boolean = false;\r\n isAmendButtonEnable: boolean = true;\r\n IsAmendSubmit: boolean = false;\r\n deleteDialogHeader: string = '';\r\n deleteDialogMsg: string = '';\r\n covidVaccineWarningOkClicked = false;\r\n covidVaccineSelected = false;\r\n showParticipantsShotsMismatchWarning = false;\r\n showParticipantsShotsMismatchWarningSaveError = false;\r\n estimatedParticipantsAdminConfirmation = false;\r\n isSuperAdmin = false;\r\n clinicPK: number;\r\n schedularType: number;\r\n selectedappointementDetails: any = [];\r\n isRhdUser = false;\r\n disableEstimatedVolume: boolean = false;\r\n isRsvVaccineSelected: boolean = false;\r\n clinictype: boolean = false;\r\n completeClinicHeader: string;\r\n hasCompleteClinicClicked = false;\r\n hasServiceFeefeatureDisabled = environment.disabledFeatures.serviceFee;\r\n isPreviousClinic: number | null;\r\n isShowInvoiceInfo: boolean = false;\r\n constructor(\r\n @Inject('Window') private win: Window,\r\n @Inject(DOCUMENT) private document: any,\r\n private formBuilder: FormBuilder,\r\n private _headerservice: HeaderserviceService,\r\n private coClinicdetailsService: ClinicdetailsService,\r\n private _timeToDatePipe: TimeToDatePipe,\r\n private confirmationService: ConfirmationService,\r\n private _datePipe: DatePipe,\r\n private utility: Util,\r\n private _localContractService: OutreachProgramService,\r\n private router: Router,\r\n private _alertService: AlertService,\r\n private messageService: MessageServiceService,\r\n private _keysPipe: KeysLogPipe,\r\n private spinner: NgxSpinnerService,\r\n private authenticationService: AuthenticationService,\r\n private _apiservice: ContractapproveService,\r\n private _lookupService: LookupService,\r\n private _uniquePipeClinicDetails: UniquePipeClinicDetails\r\n ) {\r\n super();\r\n this.messageService.getCanShowRouteChangeConfirmation().subscribe(message => {\r\n this.showCanRouteChange = message.text;\r\n });\r\n this.adminConfirmedCancellation = false;\r\n let userProfile = SessionDetails.GetUserProfile();\r\n this.is_Admin = adminUserNames.filter(item => item.toLowerCase() == userProfile.userName.toLowerCase()).length > 0;\r\n this.isSuperAdmin = adminUserNames.filter(item => item.toLowerCase() == userProfile.userName.toLowerCase()).length > 0;\r\n this.isRhdUser = UserRole.REGIONALHEALTHCAREDIRECTOR === userProfile.userRole.toLocaleLowerCase();\r\n }\r\n\r\n\r\n stampImm(immunization, index) {\r\n // console.log(immunization.controls.immunizationName.value);\r\n // console.log('index-'+index);\r\n }\r\n\r\n ngOnInit() {\r\n this.isShowInvoiceInfo = true;\r\n this.envvariable = '#{envvariable}#';\r\n if (this.envvariable == 'Prod') {\r\n this.isProd = true;\r\n }\r\n else {\r\n this.isProd = false;\r\n }\r\n this.domain = this.document.location.hostname;\r\n this.protocol = this.document.location.protocol;\r\n this.port = this.document.location.port;\r\n this.completeClinicHeader = CompleteClinic.completeClinic;\r\n if (sessionStorage[\"AmendAgreement\"] != null)\r\n sessionStorage.removeItem(\"AmendAgreement\");\r\n\r\n if (sessionStorage[\"NewAmendAgreement\"] != null)\r\n sessionStorage.removeItem(\"NewAmendAgreement\");\r\n\r\n if (sessionStorage[\"isStoreBusinessClinicAdded\"] != null)\r\n sessionStorage.removeItem(\"isStoreBusinessClinicAdded\");\r\n\r\n this.isVARSectionShow = false;\r\n this.isVoucherSectionShow = false;\r\n this.isFluVoucher = false;\r\n this.isRoutineVoucher = false;\r\n this.clinicType = 0;\r\n this.storeState = SessionDetails.GetState();\r\n this.user_profile = SessionDetails.GetUserProfile();\r\n\r\n if (environment.SuperAdmins.includes(this.user_profile.userName.toLowerCase())) {\r\n this.canEditPatientGroupId = true;\r\n this.isSuperAdmin = true;\r\n }\r\n if (SessionDetails.GetState() == \"PR\") {\r\n this.varFormSP = \"Vaccine Administration Record (VAR) form – Puerto Rican Spanish\";\r\n this.fluFormSP = \"Flu Voucher – Puerto Rican Spanish\";\r\n this.routingformSP = \"Routine Voucher – Puerto Rican Spanish\";\r\n this.covidformSP = \"Covid Voucher – Puerto Rican Spanish\";\r\n }\r\n else {\r\n this.varFormSP = \"Vaccine Administration Record (VAR) form – Spanish\";\r\n this.fluFormSP = \"Flu Voucher – Spanish\";\r\n this.routingformSP = \"Routine Voucher – Spanish\";\r\n this.covidformSP = \"Covid Voucher – Spanish\";\r\n }\r\n let today = new Date();\r\n var userProfile = SessionDetails.GetUserProfile();\r\n this.isRhdUser = UserRole.REGIONALHEALTHCAREDIRECTOR === this.user_profile.userRole.toLocaleLowerCase();\r\n if (userProfile.userRole.toLowerCase() == \"admin\") {\r\n this.gropId = true;\r\n }\r\n if (this.utility.isStoreIsfromRestrictedState()) {\r\n if (userProfile.userRole.toLowerCase() == \"store manager\" || userProfile.userRole.toLowerCase() == \"pharmacy manager\") {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);// + 14\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);// + 14\r\n }\r\n else {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n }\r\n if (ClinicDetailsUtilities.checkIfAnyFluImmIsSelected(this.coClinicDetails)) {\r\n this.maxDateValue = new Date(today.getFullYear() + 1, 3, 1, 12, 55, 55);\r\n }\r\n else {\r\n this.maxDateValue = new Date(today.getFullYear() + 1, today.getMonth(), today.getDate() - 1, 12, 55, 55);\r\n }\r\n }\r\n else {\r\n if (userProfile.userRole.toLowerCase() == \"store manager\" || userProfile.userRole.toLowerCase() == \"pharmacy manager\") {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());// + 14\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate());// + 14\r\n\r\n } else {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n }\r\n this.maxDateValue = new Date(today.getFullYear() + 5, today.getMonth(), today.getDate() - 1);\r\n }\r\n if (['CommunityUpdate@WagOutreach.com', 'jerry.v.thomas@walgreens.com', 'samuel.nass@walgreens.com', 'carlos.flores@walgreens.com', 'enterpriseimmunizationservice@walgreens.com', 'tyrone.clark@walgreens.com'].indexOf(userProfile.email) > -1) {\r\n let today = new Date();\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n\r\n this.minDateValue.setMonth(this.minDateValue.getMonth() - 6);\r\n this.minDateValue.setDate(this.minDateValue.getDate() + 4);\r\n }\r\n this.defaultStartTime = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n this.is_admin = this.user_profile.isAdmin;\r\n\r\n if ((this.user_profile.userRole.toLowerCase() == \"store manager\" || this.user_profile.userRole.toLowerCase() == \"pharmacy manager\")) {\r\n this.storeV1 = false;\r\n this.distV1 = true;\r\n this.ariaV1 = true;\r\n }\r\n this.corporateForm = this.formBuilder.group({\r\n name: ['', null],\r\n phone: ['', null],\r\n fax: ['', null],\r\n address1: ['', null],\r\n address2: ['', null],\r\n email1: ['', null],\r\n email2: ['', null],\r\n city: ['', null],\r\n state: ['', null],\r\n zip: ['', null],\r\n isTaxExempt: ['', null],\r\n isCopay: ['', null],\r\n copayValue: ['', null],\r\n isVoucherNeeded: ['', null],\r\n fluexpirationDate: ['', null],\r\n routineexpirationDate: ['', null],\r\n covidExpirationDate: ['', null],\r\n });\r\n this.reassignForm = this.formBuilder.group({\r\n assignType: [null, null],\r\n assignStoreID: [null, null],\r\n assignStore: ['', null],\r\n });\r\n\r\n SessionDetails.fromLocalclinics(false);\r\n this.event_details = SessionDetails.GetEventDetails();\r\n this.COVIDVisits = COVIDVisits;\r\n this.bindControls1();\r\n this.bindLocalClinicData();\r\n if (this.router.url.search('LocalClinicProgramDetails') > 0 || this.router.url.search('CorporateClinicProgramDetails') > 0) {\r\n this.totalSteps = 3;\r\n }\r\n else if (this.router.url.search('CommunityOutreachProgramDetails') > 0) {\r\n this.totalSteps = 2;\r\n }\r\n else if (this.router.url.search('CharityProgramDetails') > 0) {\r\n this.totalSteps = 2;\r\n }\r\n SessionDetails.setIsPCA(false);\r\n SessionDetails.setIsSR(false);\r\n this._alertService.sendWarningAlert(true, false, false);\r\n this.coClinicdetailsService.cacheCPTokenData().subscribe((data: any) => {\r\n\r\n this.pData = data;\r\n this.spinner.hide();\r\n },\r\n err => {\r\n this.spinner.hide();\r\n // this.showErrDialogThenGoToHome(ErrorMessages['clinicDetailsErrHeader'], err.json().Message);\r\n });\r\n\r\n this.currentStoreId = JSON.parse(sessionStorage.store_profile)[0].storeId;\r\n // this.showCuraScheduler = [59406,59407].indexOf(this.currentStoreId) > -1\r\n this._lookupService.getLookUpValues('disposition', 'disposition')\r\n .subscribe(\r\n (data: SelectType[]) => {\r\n this.cancelDispositions = data;\r\n },\r\n (error) => {\r\n console.log(\"Failed to get cancelled disposition lookup values. \", error)\r\n }\r\n );\r\n\r\n if (this.router.url.includes('CommunityOutreachProgramDetails')) {\r\n this.pageName = 'communityoutreachprogramdetails';\r\n }\r\n }\r\n getContractAgreementApproveData(cpk: any) {\r\n this._apiservice.getContractAgreementApproveData(cpk).subscribe((data: any) => {\r\n this.clinicAgreementDateApproved = data.dateApproved;\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n });\r\n }\r\n\r\n getPaymentTypes(immunization) {\r\n\r\n if (this.coClinicDetails.opportunityInfo.clinicType != 3 && this.coClinicDetails.opportunityInfo.clinicType != 5) {\r\n let immPk = immunization.controls.immunizationPk.value;\r\n let paymentTypes = '';\r\n let immzs = this.coClinicDetails.clinicImmunizationList.filter(p => p.immunizationPk == immPk);\r\n immzs.forEach((element, index, array) => {\r\n paymentTypes += `

`\r\n // this.immunizations.filter(p=>p.)\r\n paymentTypes += element.paymentTypeName;\r\n paymentTypes += ' ';\r\n if (element.paymentTypeId == 14) {\r\n paymentTypes += '';\r\n\r\n }\r\n else if (element.price > 0) {\r\n paymentTypes += '($';\r\n paymentTypes += (Math.round(element.price * 100) / 100).toFixed(2);\r\n paymentTypes += ')';\r\n }\r\n if (index !== (array.length - 1)) {\r\n paymentTypes += ',';\r\n }\r\n paymentTypes += `

`\r\n });\r\n return paymentTypes;\r\n }\r\n else if (this.coClinicDetails.opportunityInfo.clinicType == 3 || this.coClinicDetails.opportunityInfo.clinicType == 5) {\r\n let immPk = immunization.controls.immunizationPk.value;\r\n let paymentTypes = '';\r\n let immzs = this.coClinicDetails.clinicImmunizationList.filter(p => p.immunizationPk == immPk);\r\n immzs.forEach((element, index, array) => {\r\n paymentTypes += `

`\r\n let paymentName = '';\r\n if (element.paymentTypeId == 7) {\r\n paymentName = 'Cash Paid by Employee';\r\n }\r\n else if (element.paymentTypeId == 11) {\r\n paymentName = 'Submit Claims to Insurance';\r\n }\r\n else if (element.paymentTypeId == 6) {\r\n paymentName = 'Off-Site: Corporate to Invoice Employer Directly';\r\n }\r\n\r\n paymentTypes += paymentName;\r\n paymentTypes += ' ';\r\n if (element.price > 0) {\r\n paymentTypes += '($';\r\n paymentTypes += (Math.round(element.price * 100) / 100).toFixed(2);\r\n paymentTypes += ')';\r\n }\r\n if (index !== (array.length - 1)) {\r\n paymentTypes += ',';\r\n }\r\n paymentTypes += `

`\r\n });\r\n return paymentTypes;\r\n }\r\n }\r\n\r\n bindLocalClinicData() {\r\n this.clinicalRequirements = [];\r\n this.spinner.show();\r\n this.is_flu_group_id = false;\r\n this.is_routine_group_id = false;\r\n this.showLastLogStatus = false;\r\n this.coClinicdetailsService.geLocalClinicDetails(this.event_details.clinicPk, this.user_profile.userRole).subscribe((data: any) => {\r\n this.getContractAgreementApproveData(data.opportunityInfo.clinicAgreementPk);\r\n\r\n if (data.opportunityInfo.clinicType == 1) {\r\n this.clinictype = true;\r\n }\r\n let userProfile = SessionDetails.GetUserProfile();\r\n this.clinicPK = data.clinicList[0].clinicPk;\r\n const apptSchedulerTypeForCP = data.clinicList[0].apptSchedulerType;\r\n this.isPreviousClinic = Number(ClinicDetailsUtilities.getisPreviousClinic(data.clinicList));\r\n\r\n this.schedularType = apptSchedulerTypeForCP;\r\n this.isRsvVaccineSelected = data.clinicImmunizationList.some(item => item.immunizationName === \"RSV (ABRYSVO, AREXVY)\");\r\n this.coClinicdetailsService.getclinicappointmentdetails(this.clinicPK).subscribe((result: any) => {\r\n this.selectedappointementDetails = result;\r\n });\r\n if (data.opportunityInfo.IsLTCFdesignatedOpprtunity == true && apptSchedulerTypeForCP == 0) {\r\n this.showCuraScheduler = true;\r\n this.isremove = true;\r\n\r\n }\r\n else if (data.opportunityInfo.clinicType == 3) {\r\n // \r\n if (userProfile != null && userProfile.userRole.toLowerCase() != 'store manager' && userProfile.userRole.toLowerCase() != 'pharmacy manager') {\r\n this.showCuraScheduler = true;\r\n this.isremove = true;\r\n }\r\n else {\r\n this.showCuraScheduler = false;\r\n this.isremove = true;\r\n }\r\n }\r\n else if (apptSchedulerTypeForCP === 1) {\r\n this.showCuraScheduler = false;\r\n this.isremove = false;\r\n }\r\n else if (apptSchedulerTypeForCP === 2) {\r\n this.showCuraScheduler = true;\r\n this.isremove = true;\r\n }\r\n else {\r\n this.showCuraScheduler = false;\r\n this.isremove = false;\r\n }\r\n //removing visitType from response for task 839\r\n data.clinicList = data.clinicList.map(({ visitType, ...rest }) => {\r\n return rest;\r\n });\r\n if (data.errorS !== null && data.errorS.errorCode !== 0) {\r\n this.spinner.hide();\r\n this.showErrDialogThenGoToHome(ErrorMessages['clinicDetailsErrHeader'], data.errorS.errorMessage);\r\n return false;\r\n }\r\n // writing this to disable CP as COP has been selected in the past\r\n // \r\n this.disableCuraPatientScheduler = data.clinicsUpdateHistoryLogList.filter(p => p.updatedField == 'Appointment Scheduler Type' && !this.isSuperAdmin && p.updatedValue == 'Community Outreach Portal Scheduler').length > 0 == true ? true : null;\r\n this.disableTotalAdministered = data.clinicList[0].apptSchedulerType == 2 && !this.is_admin ? true : null;\r\n if (!environment.disabledFeatures.serviceFee)\r\n this.disableEstimatedVolume = data.opportunityInfo.IsLTCFdesignatedOpprtunity == true && this.isRsvVaccineSelected && !this.is_Admin;\r\n this.areApptsPresent = data.clinicList[0].areApptsPresent;\r\n this.isCovid = data.clinicList[0].isCovidClinic;\r\n this.isFlu = data.clinicList[0].isCovidClinic;\r\n this.max_clinic_location_id = data.opportunityInfo.maxClinicLocationId;\r\n this.clinicType = data.opportunityInfo.clinicType;\r\n this.intakeID = data.clinicList[0].intakeID;\r\n for (let item in data) {\r\n if (data[item] != null && typeof data[item] == 'boolean') {\r\n data[item] = (data[item] == true) ? 1 : 0;\r\n } else if (data[item] != null && typeof data[item] == 'object') {\r\n for (var i = 0; i < data[item].length; i++) {\r\n for (let sub_item in data[item][i]) {\r\n if ((sub_item.indexOf('Date') > -1 || sub_item.indexOf('clinicScheduledOn') > -1) && typeof data[item][i][sub_item] == 'string') {\r\n //var dt = new Date(data[item][i][sub_item]);\r\n //data[item][i][sub_item] = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate(), 8, 5, 5); \r\n var temp_dt = data[item][i][sub_item].substring(0, data[item][i][sub_item].indexOf('T'));\r\n let temp_dt_parts = temp_dt.split('-');\r\n var dt = new Date(temp_dt_parts[0], temp_dt_parts[1] - 1, temp_dt_parts[2], 18, 30, 30);\r\n data[item][i][sub_item] = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate(), 18, 30, 30);\r\n\r\n } else if ((sub_item.indexOf('Time') > -1)) {\r\n if (data[item][i][sub_item] != null) {\r\n if (data[item][i][sub_item].indexOf('AM') > -1) {\r\n data[item][i][sub_item] = data[item][i][sub_item].substring(0, data[item][i][sub_item].indexOf('AM')) + ' ' + data[item][i][sub_item].substring(data[item][i][sub_item].indexOf('AM'));\r\n } else if (data[item][i][sub_item].indexOf('PM') > -1) {\r\n data[item][i][sub_item] = data[item][i][sub_item].substring(0, data[item][i][sub_item].indexOf('PM')) + ' ' + data[item][i][sub_item].substring(data[item][i][sub_item].indexOf('PM'));\r\n }\r\n }\r\n }\r\n else if (typeof data[item][i][sub_item] == 'boolean') {\r\n data[item][i][sub_item] = (data[item][i][sub_item] == true) ? 1 : 0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.coClinicDetails = data;\r\n if(this.coClinicDetails.clinicImmunizationList.filter(item => item.paymentTypeId == 13).length == 0 && this.coClinicDetails.clinicImmunizationList.filter(item => item.paymentTypeId == 6).length == 0 && !this.isPreviousClinic){\r\n console.log(\"new changes\");\r\n this.isShowInvoiceInfo = false;\r\n \r\n }\r\n else\r\n {\r\n this.isShowInvoiceInfo = true;\r\n console.log(\"old changes\");\r\n }\r\n\r\n var immDistinct = Array.from(new Set(this.coClinicDetails.clinicList[0].clinicImzQtyList.map(x => x.immunizationPk)));\r\n immDistinct.forEach(element => {\r\n let frmGrps = this.coClinicDetails.clinicList[0].clinicImzQtyList.filter(p => p.immunizationPk == element);\r\n frmGrps.forEach((element, index) => {\r\n if (index > 0)\r\n element.totalImmAdministered = 0;\r\n });\r\n });\r\n\r\n // this.isremove = data.opportunityInfo.covidOpportunityType==1?true:false\r\n if (data.opportunityInfo.clinicType == 3 || data.opportunityInfo.IsLTCFdesignatedOpprtunity == true && apptSchedulerTypeForCP == 0) {\r\n this.showCuraScheduler = true;\r\n this.isremove = true;\r\n }\r\n else if (apptSchedulerTypeForCP === 1) {\r\n this.showCuraScheduler = false;\r\n this.isremove = false;\r\n }\r\n else if (apptSchedulerTypeForCP === 2 && !this.isSuperAdmin) {\r\n this.showCuraScheduler = true;\r\n this.isremove = true;\r\n }\r\n else if (apptSchedulerTypeForCP === 2 && this.isSuperAdmin && data.opportunityInfo.IsLTCFdesignatedOpprtunity == true) {\r\n this.showCuraScheduler = true;\r\n this.isremove = true;\r\n }\r\n else if (apptSchedulerTypeForCP == 1 && this.isSuperAdmin) {\r\n this.showCuraScheduler = true;\r\n this.isremove = false;\r\n }\r\n else {\r\n this.showCuraScheduler = false;\r\n this.isremove = false;\r\n }\r\n\r\n\r\n if (data.clinicList[0].isApptSchedulerEnabled === 1) {\r\n this.coClinicDetails.clinicList[0].isApptSchedulerEnabled = true;\r\n }\r\n if (data.clinicList[0].isApptSchedulerEnabled === 0) {\r\n this.coClinicDetails.clinicList[0].isApptSchedulerEnabled = false;\r\n }\r\n this.coClinicDetails.pData = this.pData;\r\n if (this.coClinicDetails.clinicList[0].isCancelled == true && this.is_Admin) {\r\n this.showRemoveCancelledStatus = true;\r\n }\r\n if ([2, 6].indexOf(this.coClinicDetails.opportunityInfo.clinicType) > -1) {\r\n if ((this.coClinicDetails.clinicList[0].isCancelled == true || this.coClinicDetails.clinicList[0].isCompleted == true) && this.is_Admin) {\r\n this.showLastLogStatus = true;\r\n }\r\n }\r\n else {\r\n if ((this.coClinicDetails.clinicList[0].isCancelled == true || this.coClinicDetails.clinicList[0].isConfirmed == true || this.coClinicDetails.clinicList[0].isCompleted == true) && this.is_Admin) {\r\n this.showLastLogStatus = true;\r\n }\r\n }\r\n if (this.coClinicDetails.opportunityInfo.childClinicAgreementId != null && this.coClinicDetails.opportunityInfo.childClinicAgreementId > 0) {\r\n this.ShowDeleteAmendAgreement = true;\r\n }\r\n this.isNoClinic = this.coClinicDetails.clinicList[0].isNoClinic;\r\n\r\n if (this.coClinicDetails.clinicList[0].isNoClinic == 1) {\r\n if (this.coClinicDetails.clinicList[0].isConfirmed != 1) {\r\n this.ConfirmBtnLabel = \"Provided Vouchers\";\r\n }\r\n else if (this.coClinicDetails.clinicList[0].isConfirmed == 1) {\r\n this.ConfirmBtnLabel = \"Vouchers Provided\";\r\n }\r\n }\r\n else {\r\n this.coClinicDetails.clinicList[0].isConfirmed == 1 ? this.ConfirmBtnLabel = \"Confirmed\" : this.ConfirmBtnLabel = \"Confirm\";\r\n }\r\n this.enableDisableClinicDates();\r\n // this.logHistory= this.historyGroup.transform(this.coClinicDetails.clinicsUpdateHistoryLogList,'updatedOn')\r\n var ala_sql = require('alasql');\r\n let source = this.coClinicDetails.clinicsUpdateHistoryLogList;\r\n source.reverse();\r\n let updateLogHistoryQuery = ala_sql(\"SELECT updatedOn, updateAction, ARRAY({updateSubCategory:x.updateSubCategory, updatedField:x.updatedField}) AS updateField, ARRAY({updateSubCategory:x.updateSubCategory, updatedValue:x.updatedValue}) as updatedValue, x.updatedBy updatedBy \\\r\n FROM ? x \\\r\n GROUP BY updatedOn,updateAction,updatedBy ORDER BY updatedOn DESC\", [source]);\r\n for (var i = 0; i < updateLogHistoryQuery.length; i++) {\r\n // if(updateLogHistoryQuery[i].updateField && updateLogHistoryQuery[i].updateField[0].key){\r\n updateLogHistoryQuery[i].updateField = (updateLogHistoryQuery[i].updateField == \"null\") ? \"\" : this._keysPipe.transform(updateLogHistoryQuery[i].updateField);\r\n updateLogHistoryQuery[i].updatedValue = this._keysPipe.transform(updateLogHistoryQuery[i].updatedValue);\r\n }\r\n // }\r\n\r\n // 863 fix\r\n const keyToRemove = \"Pharmacist Information\";\r\n updateLogHistoryQuery.forEach(element => {\r\n const filteredField = element.updateField.filter((item) => item.key != keyToRemove);\r\n const filteredValue = element.updatedValue.filter((item) => item.key != keyToRemove);\r\n\r\n element.updateField = [];\r\n element.updateField.push(...filteredField);\r\n\r\n element.updatedValue = [];\r\n element.updatedValue.push(...filteredValue);\r\n });\r\n\r\n this.updateLogHistory = updateLogHistoryQuery;\r\n this.naClinicGroupIdOriginal = this.coClinicDetails.opportunityInfo.naClinicGroupId;\r\n this.naClinicGroupIdForDisplayOriginal = this.coClinicDetails.opportunityInfo.naClinicGroupId;\r\n this.naClinicGroupId = this.coClinicDetails.opportunityInfo.naClinicGroupId;\r\n\r\n if (this.naClinicGroupId && this.naClinicGroupId.toLowerCase().search('(flu)') !== -1) {\r\n this.naClinicGroupId = this.naClinicGroupId.replace('(flu)', ' (flu)');\r\n this.naClinicGroupIdForDisplayOriginal = this.naClinicGroupId.replace('(flu)', ' (flu)');\r\n\r\n }\r\n if (this.naClinicGroupId && this.naClinicGroupId.toLowerCase().search('(routine)') !== -1) {\r\n this.naClinicGroupId = this.naClinicGroupId.replace('(routine)', ' (routine)');\r\n this.naClinicGroupIdForDisplayOriginal = this.naClinicGroupId.replace('(routine)', ' (routine)');\r\n }\r\n\r\n // \r\n if (this.naClinicGroupId != null && this.naClinicGroupId != '') {\r\n var updategroupid = '';\r\n\r\n var IsFLUVVoucherIncluded = this.naClinicGroupId.includes('FLUV');\r\n var IsROUVVoucherIncluded = this.naClinicGroupId.includes('ROUV');\r\n if (IsFLUVVoucherIncluded == true || IsROUVVoucherIncluded == true) {\r\n var splitData = this.naClinicGroupId.split(',');\r\n if (splitData.length > 0) {\r\n splitData.forEach((element, index) => {\r\n\r\n if (!element.includes('FLUV') && !element.includes('ROUV')) {\r\n if (index == 0) {\r\n updategroupid += element;\r\n }\r\n if (index > 0) {\r\n updategroupid = updategroupid + ',' + element;\r\n }\r\n }\r\n\r\n if (element.indexOf('and') > -1) {\r\n var splitData = element.split('and');\r\n if (splitData.length > 0) {\r\n\r\n splitData.forEach(element => {\r\n if (!element.includes('FLUV') && !element.includes('ROUV')) {\r\n if (index == 0) {\r\n updategroupid += element;\r\n }\r\n if (index > 0) {\r\n updategroupid = updategroupid + ',' + element;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n this.naClinicGroupIdForDisplayOriginal = updategroupid;\r\n }\r\n else {\r\n this.naClinicGroupIdForDisplayOriginal = this.naClinicGroupId;\r\n\r\n }\r\n }\r\n\r\n let imz_count = 0;\r\n this.coClinicDetails.clinicImmunizationList.forEach(imz => {\r\n\r\n if (imz.paymentTypeId == 13 && imz.isVoucherNeeded) {\r\n this.is_voucher_needed = imz.isVoucherNeeded;\r\n }\r\n\r\n if (imz.paymentTypeId == 14 && imz.immunizationPk == 31 && this.coClinicDetails.clinicImmunizationList.length == 1) {\r\n this.is_voucher_neededForEQ = true;\r\n }\r\n else {\r\n this.is_voucher_neededForEQ = false;\r\n }\r\n\r\n\r\n if (ImmunizationsClinicalRequirements[\"immunizations\"].indexOf(imz.immunizationName) > -1 && JSON.stringify(this.clinicalRequirements).indexOf(imz.immunizationName) == -1) {\r\n this.clinicalRequirements.push({\r\n \"imzName\": imz.immunizationName,\r\n \"imzReqText\": String.Format(ImmunizationsClinicalRequirements[\"imzClinicalrequirementsText\"][\"imzText\"], ImmunizationsClinicalRequirements[\"imzClinicalReqAgeGroups\"][imz.immunizationName], imz.immunizationName, ImmunizationsClinicalRequirements[\"links\"][imz.immunizationName], ImmunizationsClinicalRequirements[\"additionalLinks\"][imz.immunizationName]),\r\n \"imzChkText\": String.Format(ImmunizationsClinicalRequirements[\"imzClinicalrequirementsText\"][\"chkText\"], imz.immunizationName, ImmunizationsClinicalRequirements[\"imzClinicalReqAgeGroups\"][imz.immunizationName], ImmunizationsClinicalRequirements[\"links\"][imz.immunizationName]),\r\n \"imzIndex\": imz_count\r\n });\r\n this.showClinicalRequirements = true;\r\n }\r\n\r\n if (imz.paymentTypeId == 13 && imz.isCopay && imz.immunizationName.toLowerCase().search('flu') !== -1 &&\r\n this.coClinicDetails.opportunityInfo.naClinicGroupId.search('pending copay group id') !== -1 && this.utility.isAdminAllowedToAddGroupId()) {\r\n this.is_flu_group_id = true;\r\n }\r\n if (imz.paymentTypeId == 13 && imz.isCopay && imz.immunizationName.toLowerCase().search('flu') == -1 &&\r\n this.coClinicDetails.opportunityInfo.naClinicGroupId.search('pending copay group id') !== -1 && this.utility.isAdminAllowedToAddGroupId()) {\r\n this.is_routine_group_id = true;\r\n }\r\n if (imz.paymentTypeId == 13 && (imz.isVoucherNeeded == true || imz.isVoucherNeeded == 1) &&\r\n imz.immunizationName.toLowerCase().search('flu') !== -1) {\r\n this.is_flu_date = true;\r\n this.isFluVoucher = true;\r\n if (!this.is_routine_group_id && !this.is_flu_group_id) {\r\n this.isVoucherSectionShow = true;\r\n }\r\n }\r\n if (imz.paymentTypeId == 13 && (imz.isVoucherNeeded == true || imz.isVoucherNeeded == 1) &&\r\n imz.immunizationName.toLowerCase().search('covid') !== -1) {\r\n this.isRoutineVoucher = true;\r\n this.is_routine_date = true;\r\n }\r\n if (imz.paymentTypeId == 13 && (imz.isVoucherNeeded == true || imz.isVoucherNeeded == 1) &&\r\n (imz.immunizationName.toLowerCase().search('flu') == -1)\r\n ) {\r\n if (imz.immunizationName.toLowerCase().search('covid') == -1) {\r\n this.is_routine_date = true;\r\n this.isRoutineVoucher = true;\r\n }\r\n if (!this.is_routine_group_id && !this.is_flu_group_id) {\r\n this.isVoucherSectionShow = true;\r\n }\r\n }\r\n if ((imz.paymentTypeId == 13 || imz.paymentTypeId == 6) && !this.coClinicDetails.clinicList[0].isNoClinic) {\r\n if (this.coClinicDetails.opportunityInfo.naClinicGroupId.search('pending copay group id') == -1) {\r\n if (this.coClinicDetails.opportunityInfo.covidOpportunityType != 1 && this.coClinicDetails.opportunityInfo.fluOpportunityType != 3) {\r\n this.isVARSectionShow = true;\r\n }\r\n }\r\n }\r\n imz_count++;\r\n });\r\n this.isCovidVaccineAvailable = this.coClinicDetails.clinicImmunizationList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n for (let i = 0; i < this.coClinicDetails.clinicList.length; i++) {\r\n\r\n if (this.coClinicDetails.clinicList[i].clinicDate != null && this.coClinicDetails.clinicList[i].clinicDate != undefined) {\r\n var current_date = new Date();\r\n var c_date = new Date(this.coClinicDetails.clinicList[i].clinicDate);\r\n this.coClinicDetails.clinicList[i].clinicDate = c_date.getMonth() + 1 + \"/\" + c_date.getDate() + \"/\" + c_date.getFullYear();\r\n if (c_date < current_date) {\r\n this.minDateValue = null;\r\n }\r\n } else if (this.coClinicDetails.clinicList[i].isNoClinic >= 1) {\r\n this.coClinicDetails.clinicList[i].clinicDate = null;\r\n } else {\r\n var c_date = new Date();\r\n this.coClinicDetails.clinicList[i].clinicDate = c_date.getMonth() + 1 + \"/\" + c_date.getDate() + \"/\" + c_date.getFullYear();\r\n }\r\n this.is_no_clinc = this.coClinicDetails.clinicList[i].isNoClinic;\r\n let is_clinical_req: boolean = false;\r\n this.coClinicDetails.clinicList[i].clinicImzQtyList.forEach(imzQtyItem => {\r\n imzQtyItem[\"imzNameAndPmtMethod\"] = imzQtyItem.immunizationName;\r\n if (ImmunizationsClinicalRequirements[\"immunizations\"].indexOf(imzQtyItem.immunizationName) > -1) {\r\n is_clinical_req = (imzQtyItem.isClinicalReqd) ? true : false;\r\n }\r\n });\r\n\r\n this.canDisableClinicalRequirements = (is_clinical_req) ? true : null;\r\n this.coClinicDetails['clinicalRequirements'] = (is_clinical_req) ? true : false;\r\n }\r\n if (this.showClinicalRequirements) {\r\n this.clinicalReqUserNote = ImmunizationsClinicalRequirements.userNote;\r\n }\r\n if ([1, 3, 5, 7].indexOf(this.clinicType) > -1) {\r\n if (this.coClinicDetails.clinicList[0].isConfirmed) {\r\n this.validateConfirm = true;\r\n this.currentStep = 2\r\n this.step_value = 2;\r\n }\r\n if (this.coClinicDetails.clinicList[0].isCancelled) {\r\n this.validateCancel = true;\r\n this.isAmendButtonEnable = false;\r\n this.currentStep = -1\r\n this.step_value = -1;\r\n }\r\n if (this.coClinicDetails.clinicList[0].isCompleted) {\r\n this.validateCancel = true;\r\n this.validateComplete = false;\r\n this.validateConfirm = true;\r\n this.currentStep = 3\r\n this.step_value = 3;\r\n }\r\n }\r\n else if ([2].indexOf(this.clinicType) > -1) {\r\n if (this.coClinicDetails.clinicList[0].isCompleted) {\r\n this.is_cancelled = true;\r\n this.is_completed = true;\r\n this.validateCancel = true;\r\n this.validateComplete = true;\r\n this.currentStep = 2;\r\n this.validateConfirm = true;\r\n }\r\n else if (this.coClinicDetails.clinicList[0].isCancelled) {\r\n this.validateCancel = true;\r\n this.isAmendButtonEnable = false;\r\n this.is_cancelled = true;\r\n this.currentStep = -1;\r\n }\r\n else if (this.coClinicDetails.clinicList[0].isConfirmed) {\r\n this.currentStep = 1;\r\n this.validateConfirm = true;\r\n }\r\n }\r\n else {\r\n if (this.coClinicDetails.clinicList[0].isCompleted || Number(this.coClinicDetails.clinicList[0].isCompleted) == 1) {\r\n this.validateCancel = true;\r\n this.isAmendButtonEnable = true;\r\n let testsSortedByCognome = this.coClinicDetails.clinicsUpdateHistoryLogList.sort((a, b) => (a.updatedOn > b.updatedOn ? -1 : 1));\r\n if (testsSortedByCognome[0].updateAction.toLocaleLowerCase() == 'amended') {\r\n this.IsAmendSubmit = true;\r\n this.step_value = 2;\r\n this.currentStep = 1;\r\n }\r\n else {\r\n this.IsAmendSubmit = false;\r\n this.step_value = 3;\r\n this.currentStep = 2;\r\n }\r\n\r\n this.validateComplete = true;\r\n this.validateConfirm = true;\r\n this.is_cancelled = true;\r\n\r\n }\r\n else if (this.coClinicDetails.clinicList[0].isCancelled || Number(this.coClinicDetails.clinicList[0].isCancelled) == 1) {\r\n this.validateCancel = true;\r\n this.isAmendButtonEnable = false;\r\n this.is_cancelled = true;\r\n if (this.coClinicDetails.clinicList[0].isConfirmed || Number(this.coClinicDetails.clinicList[0].isConfirmed) == 1) {\r\n this.validateConfirm = true;\r\n }\r\n this.step_value = -1;\r\n this.currentStep = -1;\r\n }\r\n else if (this.coClinicDetails.clinicList[0].isConfirmed || Number(this.coClinicDetails.clinicList[0].isConfirmed) == 1) {\r\n this.validateConfirm = true;\r\n this.step_value = 2;\r\n this.currentStep = 1;\r\n }\r\n }\r\n\r\n if (this.coClinicDetails.clinicList[0].clinicImzQtyList.filter(p => p.totalImmAdministered > 0).length > 0) {\r\n this.disableCancelIfTotalAdmPresent = true;\r\n }\r\n else {\r\n this.disableCancelIfTotalAdmPresent = null;\r\n }\r\n if (this.clinicType == 2) {\r\n this.BillingVaccinesCol1Heading = \"Vaccines Covered\";\r\n this.BillingVaccinesCol2Rates = \"\";\r\n this.BillingVaccinesCol3PaymentMethod = \"Vouchers Distributed\";\r\n this.BillingVaccinesCol4EstVol = \"Estimated Volume\";\r\n this.BillingVaccinesCol5TtlAdmn = \"Total Administered\";\r\n }\r\n if (data.clinicList[0].apptSchedulerType == 2) {\r\n this.BillingVaccinesCol1Heading = \"Immunization\";\r\n this.BillingVaccinesCol2Rates = \"Rates\";\r\n this.BillingVaccinesCol3PaymentMethod = \"Payment Method\";\r\n this.BillingVaccinesCol4EstVol = \"Est Vol\";\r\n this.BillingVaccinesCol5TtlAdmn = \"Electronic VARs\";\r\n }\r\n else {\r\n this.BillingVaccinesCol1Heading = \"Immunization\";\r\n this.BillingVaccinesCol2Rates = \"Rates\";\r\n this.BillingVaccinesCol3PaymentMethod = \"Payment Method\";\r\n this.BillingVaccinesCol4EstVol = \"Est Vol\";\r\n this.BillingVaccinesCol5TtlAdmn = \"Total Administered\";\r\n }\r\n if (this.utility.isStoreIsfromRestrictedState()) {\r\n if ([1, 2, 6].indexOf(this.clinicType) > -1) {\r\n this._localContractService.getpreviousseasoncliniclocations(this.coClinicDetails.opportunityInfo.clinicAgreementPk, this.coClinicDetails.opportunityInfo.businessPk).subscribe((res: any) => {\r\n this.previous_location_data = res.previousLocationsList;\r\n if (this.previous_location_data.length > 1) {\r\n this.is_previous_locations = true;\r\n this.display_message = true;\r\n }\r\n else {\r\n this.display_message = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n this.clinicLocation = 1;\r\n this.states = states;\r\n let today = new Date();\r\n this.isApptSchedulerDisabled = this.coClinicDetails.clinicList[0].isCancelled\r\n || this.coClinicDetails.clinicList[0].isCompleted\r\n || this.coClinicDetails.clinicList[0].isNoClinic\r\n || this.coClinicDetails.clinicList[0].isApptSchedulerEnabled\r\n || new Date(this.coClinicDetails.clinicList[0].clinicDate) < new Date(today.getFullYear(), today.getMonth(), today.getDate()) ? true : null;\r\n\r\n if (this.coClinicDetails.clinicList[0].apptSchedulerType == 1) {\r\n if (data.appointmentScheduler) {\r\n this.immunizers = data.appointmentScheduler.immunizers;\r\n this.estimatedImmunizers = data.appointmentScheduler.estimatedImmunizers;\r\n this.signUpEndDate = data.appointmentScheduler.signupEndDate;\r\n this.accessSchedulerEncryptedLink = data.appointmentScheduler.encryptedSiteLink;\r\n this.accessSchedulerTrackerEncryptedLink = data.appointmentScheduler.encryptedClientApptTrackingLink;\r\n if (data.appointmentScheduler.enryptedClientKey !== null) {\r\n this.showAppointmentScheduler = data.clinicList[0].apptSchedulerType == 1 && data.clinicList[0].isApptSchedulerEnabled > 0 && data.clinicList[0].isNoClinic != true;\r\n this.isEncryptLinkNull = true;\r\n this.encryptedSiteLink = true;\r\n this.apptSchedulerEncLink = this.win.location.protocol + \"//\" + this.win.location.hostname + \"/ss\" + \"/\" + data.appointmentScheduler.enryptedClientKey;\r\n this.myAngularxQrCode = this.apptSchedulerEncLink;\r\n }\r\n if (data.appointmentScheduler.encryptedClientApptTrackingLink !== null) {\r\n this.encryptedClientApptTrackingLink = true;\r\n this.copyApptTrackingEncLink = this.win.location.protocol + \"//\" + this.win.location.hostname + \"/ss\" + \"/\" + data.appointmentScheduler.encryptedClientApptTrackingLink;\r\n }\r\n }\r\n }\r\n else if ([2, 3].indexOf(this.coClinicDetails.clinicList[0].apptSchedulerType) > -1) {\r\n this.immunizers = -1;\r\n this.estimatedImmunizers = -1;\r\n this.signUpEndDate = this.coClinicDetails.clinicList[0].clinicDate;\r\n this.isEncryptLinkNull = true;\r\n this.encryptedSiteLink = true;\r\n this.apptSchedulerEncLink = this.coClinicDetails.clinicList[0].privateCPSchedulerLink;\r\n this.myAngularxQrCode = this.apptSchedulerEncLink;\r\n }\r\n this.bindControls();\r\n this.clinicDetailsForm.updateValueAndValidity();\r\n this.spinner.hide();\r\n this.isCovidVaccineAvailable = this.coClinicDetails.clinicImmunizationList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n let isFluVaccineAvailable: boolean = this.coClinicDetails.clinicImmunizationList.filter(p => p.immunizationName.search(/Influenza/gi) >= 0).length > 0;\r\n let isRoutineVaccineAvailable: boolean = false;\r\n\r\n isRoutineVaccineAvailable = this.coClinicDetails.clinicImmunizationList.filter(p => (p.immunizationName.search(/Influenza/gi) == -1) && p.immunizationName.search(/COVID19/gi) == -1).length > 0;\r\n\r\n if (isFluVaccineAvailable || isRoutineVaccineAvailable) {\r\n this.isNonCovidVaccineAvailable = true;\r\n }\r\n else {\r\n this.isNonCovidVaccineAvailable = false;\r\n }\r\n if (this.is_Admin && (this.clinicType == 5 || this.clinicType == 3 || this.clinicType == 7)) {\r\n this.specificAdmin = true;\r\n }\r\n\r\n this.covidOpportunityType = this.coClinicDetails.opportunityInfo.covidOpportunityType;\r\n this.apptSchedulerType = this.coClinicDetails.clinicList[0].apptSchedulerType;\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.showErrDialogThenGoToHome(ErrorMessages['clinicDetailsErrHeader'], err.message);\r\n });\r\n\r\n }\r\n PreviousLocationChange(event) {\r\n if (event != \"\") {\r\n this.display_message = false;\r\n this.previous_locations = this.previous_location_data.filter(item => item.rowId == event);\r\n }\r\n else {\r\n this.display_message = true;\r\n\r\n }\r\n }\r\n noClinicOptionChanged(formIndex: number, checked: boolean) {\r\n let control = this.clinicDetailsForm.controls['clinicList'];\r\n if (this.clinicType == 1) {\r\n if (checked) {\r\n if (this.coClinicDetails.clinicList[0].isConfirmed != 1) {\r\n this.ConfirmBtnLabel = \"Provided Vouchers\";\r\n }\r\n else if (this.coClinicDetails.clinicList[0].isConfirmed == 1) {\r\n this.ConfirmBtnLabel = \"Vouchers Provided\";\r\n this.isApptSchedulerDisabled = true;\r\n }\r\n\r\n this.is_no_clinc = 1;\r\n this.isNoClinic = 1;\r\n if (formIndex == 0) {\r\n this.isVARSectionShow = false;\r\n\r\n if (this.coClinicDetails.clinicList[0].areApptsPresent && !this.coClinicDetails.clinicList[0].isNoClinic) {\r\n this.showDialogV2(\"Alert\", ErrorMessages['noClinicApptsWarning']);\r\n }\r\n }\r\n this.isApptSchedulerDisabled = this.coClinicDetails.clinicList[0].isCancelled || this.coClinicDetails.clinicList[0].isCompleted ? true : null;\r\n this.isApptSchedulerDisabled = true;\r\n control.controls[0].patchValue({ apptSchedulerType: null });\r\n //noClinicOptionChanged\r\n\r\n }\r\n else {\r\n this.is_no_clinc = 0;\r\n this.coClinicDetails.clinicList[0].isConfirmed == 1 ? this.ConfirmBtnLabel = \"Confirmed\" : this.ConfirmBtnLabel = \"Confirm\";\r\n if (formIndex == 0) {\r\n this.coClinicDetails.clinicImmunizationList.forEach(imz => {\r\n if (imz.paymentTypeId == 13 && imz.isVoucherNeeded) {\r\n this.is_voucher_needed = imz.isVoucherNeeded;\r\n }\r\n\r\n if (imz.paymentTypeId == 13 && imz.isCopay && imz.immunizationName.toLowerCase().search('flu') !== -1 &&\r\n this.coClinicDetails.opportunityInfo.naClinicGroupId.search('pending copay group id') !== -1 && this.utility.isAdminAllowedToAddGroupId()) {\r\n this.is_flu_group_id = true;\r\n }\r\n if (imz.paymentTypeId == 13 && imz.isCopay && imz.immunizationName.toLowerCase().search('flu') == -1 &&\r\n this.coClinicDetails.opportunityInfo.naClinicGroupId.search('pending copay group id') !== -1 && this.utility.isAdminAllowedToAddGroupId()) {\r\n this.is_routine_group_id = true;\r\n }\r\n if (imz.paymentTypeId == 13 && (imz.isVoucherNeeded == true || imz.isVoucherNeeded == 1) && imz.immunizationName.toLowerCase().search('flu') !== -1) {\r\n this.is_flu_date = true;\r\n this.isFluVoucher = true;\r\n if (!this.is_routine_group_id && !this.is_flu_group_id) {\r\n this.isVoucherSectionShow = true;\r\n }\r\n }\r\n if (imz.paymentTypeId == 13 && (imz.isVoucherNeeded == true || imz.isVoucherNeeded == 1) &&\r\n imz.immunizationName.toLowerCase().search('flu') == -1) {\r\n if (imz.immunizationName.toLowerCase().search('covid') == -1) {\r\n this.is_routine_date = true;\r\n this.isRoutineVoucher = true;\r\n }\r\n if (!this.is_routine_group_id && !this.is_flu_group_id) {\r\n this.isVoucherSectionShow = true;\r\n }\r\n }\r\n if (imz.paymentTypeId == 13) {\r\n if (this.coClinicDetails.opportunityInfo.naClinicGroupId.search('pending copay group id') == -1) {\r\n this.isVARSectionShow = true;\r\n }\r\n }\r\n });\r\n this.isNoClinic = 0;\r\n this.isApptSchedulerDisabled = this.coClinicDetails.clinicList[0].isCancelled || this.coClinicDetails.clinicList[0].isCompleted ? true : null;\r\n }\r\n this.isApptSchedulerDisabled = null;\r\n }\r\n }\r\n else if (this.clinicType == 13) {\r\n let noClinicOption = control.controls[formIndex].get('isNoClinic');\r\n if ((noClinicOption.value == 1 || noClinicOption.value == true) && checked) {\r\n const clinicListArray = this.clinicDetailsForm.controls['clinicList'] as FormArray;\r\n const specificClinic = clinicListArray.controls[formIndex] as FormGroup;\r\n const specificClinicImz = specificClinic.controls['clinicImzQtyList'] as FormArray;\r\n\r\n for (const imzQty of specificClinicImz.controls) {\r\n const imzCtrl = imzQty as FormGroup;\r\n if (imzCtrl.value.immunizationPk != 31) {\r\n imzCtrl.controls['estimatedQuantity'].setValue(0);\r\n // imzCtrl.controls['estimatedQuantity'].set(0);\r\n this.IsnoclinicvouchersDistributed = true;\r\n // imzCtrl.controls['estimatedQuantity'].disable();\r\n }\r\n }\r\n\r\n if (specificClinicImz.value.some(imzList => imzList.immunizationPk == 31)) {\r\n\r\n const shotsCountOfFlu = parseInt(specificClinicImz.value.find(imzList => imzList.immunizationPk == 31).estimatedQuantity ?? 0);\r\n if (shotsCountOfFlu != 0 && shotsCountOfFlu > 0) {\r\n specificClinic.controls['vouchersDistributed'].setValue(shotsCountOfFlu);\r\n // specificClinic.controls['vouchersDistributed'].disable();\r\n specificClinic.controls['vouchersDistributed'].setValidators(null);\r\n specificClinic.controls['vouchersDistributed'].updateValueAndValidity();\r\n\r\n }\r\n }\r\n // control.controls[formIndex].get('naClinicAddress1').setValidators(null);\r\n control.controls[formIndex].get('naClinicAddress2').setValidators(null);\r\n // control.controls[formIndex].get('naClinicCity').setValidators(null);\r\n // control.controls[formIndex].get('naClinicState').setValidators(null);\r\n // control.controls[formIndex].get('naClinicZip').setValidators(null);\r\n control.controls[formIndex].get('clinicDate').setValidators(null);\r\n control.controls[formIndex].get('naClinicStartTime').setValidators(null);\r\n control.controls[formIndex].get('naClinicEndTime').setValidators(null);\r\n\r\n control.controls[formIndex].get('naContactFirstName').updateValueAndValidity();\r\n control.controls[formIndex].get('naContactLastName').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicContactPhone').updateValueAndValidity();\r\n control.controls[formIndex].get('naContactEmail').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicAddress1').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicAddress2').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicCity').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicState').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicZip').updateValueAndValidity();\r\n control.controls[formIndex].get('clinicDate').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicStartTime').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicEndTime').updateValueAndValidity();\r\n this.isNoClinic = 1;\r\n this.isApptSchedulerDisabled = this.coClinicDetails.clinicList[0].isCancelled || this.coClinicDetails.clinicList[0].isCompleted ? true : null;\r\n this.isApptSchedulerDisabled = true;\r\n if (checked) {\r\n control.controls[0].patchValue({ apptSchedulerType: null });\r\n }\r\n }\r\n }\r\n else if (this.clinicType == 2) {\r\n let noClinicOption = control.controls[formIndex].get('isNoClinic');\r\n if ((noClinicOption.value == 1 || noClinicOption.value == true) && checked) {\r\n if (this.coClinicDetails.clinicList[0].isConfirmed != 1) {\r\n this.ConfirmBtnLabel = \"Provided Vouchers\";\r\n }\r\n else if (this.coClinicDetails.clinicList[0].isConfirmed == 1) {\r\n this.ConfirmBtnLabel = \"Vouchers Provided\";\r\n }\r\n\r\n control.controls[formIndex].get('naClinicAddress1').setValidators(null);\r\n control.controls[formIndex].get('naClinicAddress2').setValidators(null);\r\n control.controls[formIndex].get('naClinicCity').setValidators(null);\r\n control.controls[formIndex].get('naClinicState').setValidators(null);\r\n control.controls[formIndex].get('naClinicZip').setValidators(null);\r\n control.controls[formIndex].get('clinicDate').setValidators(null);\r\n control.controls[formIndex].get('naClinicStartTime').setValidators(null);\r\n control.controls[formIndex].get('naClinicEndTime').setValidators(null);\r\n\r\n control.controls[formIndex].get('naContactFirstName').updateValueAndValidity();\r\n control.controls[formIndex].get('naContactLastName').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicContactPhone').updateValueAndValidity();\r\n control.controls[formIndex].get('naContactEmail').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicAddress1').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicAddress2').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicCity').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicState').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicZip').updateValueAndValidity();\r\n control.controls[formIndex].get('clinicDate').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicStartTime').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicEndTime').updateValueAndValidity();\r\n this.isNoClinic = 1;\r\n this.isApptSchedulerDisabled = this.coClinicDetails.clinicList[0].isCancelled || this.coClinicDetails.clinicList[0].isCompleted ? true : null;\r\n this.isApptSchedulerDisabled = true;\r\n if (checked) {\r\n control.controls[0].patchValue({ apptSchedulerType: null });\r\n }\r\n }\r\n else {\r\n this.ConfirmBtnLabel = \"Confirmed\";\r\n this.isNoClinic = 0;\r\n control.controls[formIndex].get('naContactFirstName').setValidators([Validators.required]);\r\n control.controls[formIndex].get('naContactLastName').setValidators([Validators.required]);\r\n control.controls[formIndex].get('naClinicContactPhone').setValidators([Validators.required]);\r\n control.controls[formIndex].get('naContactEmail').setValidators([Validators.required]);\r\n control.controls[formIndex].get('naClinicAddress1').setValidators([Validators.required]);\r\n control.controls[formIndex].get('naClinicAddress2').setValidators(null);\r\n control.controls[formIndex].get('naClinicCity').setValidators([Validators.required]);\r\n control.controls[formIndex].get('naClinicState').setValidators([Validators.required]);\r\n control.controls[formIndex].get('naClinicZip').setValidators([Validators.required]);\r\n control.controls[formIndex].get('clinicDate').setValidators([Validators.required]);\r\n control.controls[formIndex].get('naClinicStartTime').setValidators([Validators.required]);\r\n control.controls[formIndex].get('naClinicEndTime').setValidators([Validators.required]);\r\n\r\n control.controls[formIndex].get('naContactFirstName').updateValueAndValidity();\r\n control.controls[formIndex].get('naContactLastName').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicContactPhone').updateValueAndValidity();\r\n control.controls[formIndex].get('naContactEmail').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicAddress1').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicAddress2').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicCity').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicState').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicZip').updateValueAndValidity();\r\n control.controls[formIndex].get('clinicDate').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicStartTime').updateValueAndValidity();\r\n control.controls[formIndex].get('naClinicEndTime').updateValueAndValidity();\r\n if (formIndex == 0) {\r\n this.isApptSchedulerDisabled = this.coClinicDetails.clinicList[0].isCancelled || this.coClinicDetails.clinicList[0].isCompleted ? true : null;\r\n }\r\n else {\r\n this.isApptSchedulerDisabled = null;\r\n }\r\n }\r\n }\r\n }\r\n\r\n trimSpaces(formCtrlName) {\r\n const formValue = this.clinicDetailsForm.get(formCtrlName)?.value;\r\n if (formValue) {\r\n this.clinicDetailsForm.get(formCtrlName).setValue(formValue.trim());\r\n }\r\n }\r\n\r\n onlyLettersSpaceAndNumbers(event) {\r\n return Util.onlyLettersSpaceAndNumbers(event)\r\n }\r\n\r\n onlyNumberKey(event) {\r\n Util.onlyNumbers(event);\r\n }\r\n\r\n onlyNumberDecimals(event) {\r\n Util.onlyNumberDecimals(event);\r\n }\r\n\r\n checkIfFluGroupid() {\r\n this.coClinicDetails.clinicImmunizationList.forEach(rec => {\r\n if (rec.paymentTypeId == 13 && (rec.sendInvoiceTo == 1 || rec.sendInvoiceTo === 1) &&\r\n (rec.isCopay === '1' || rec.isCopay === 1) && rec.immunizationName.toLowerCase().search('flu') !== -1) {\r\n throw true;\r\n }\r\n });\r\n }\r\n checkIfRoutineGroupid() {\r\n this.coClinicDetails.clinicImmunizationList.forEach(rec => {\r\n if ((rec.paymentTypeId == 13 && (rec.sendInvoiceTo == 1 || rec.sendInvoiceTo === 1))) {\r\n if (rec.isCopay == 1 || rec.isCopay == '1') {\r\n return true;\r\n }\r\n }\r\n });\r\n }\r\n checkIfFluImmForCorpInvoiceSelected() {\r\n try {\r\n this.coClinicDetails.clinicImmunizationList.forEach(rec => {\r\n if (rec.paymentTypeId == 13 && (rec.sendInvoiceTo == 1 || rec.sendInvoiceTo === 1) &&\r\n (rec.isVoucherNeeded === '1' || rec.isVoucherNeeded === 1) && rec.immunizationName.toLowerCase().search('flu') !== -1) {\r\n throw true;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n checkIfVoucherYesSelectedForFluCorpInvoiceSelected() {\r\n let isFluYes: boolean = false;\r\n let count: number = 0;\r\n try {\r\n this.coClinicDetails.clinicImmunizationList.forEach(rec => {\r\n if ((rec.paymentTypeId == 13 && (rec.sendInvoiceTo == 1 || rec.sendInvoiceTo === 1))) { //&& rec.immunizationName.toLowerCase().search('flu')!==-1\r\n //throw true;\r\n if (rec.isVoucherNeeded == 1 || rec.isVoucherNeeded == '1') {\r\n isFluYes = true;\r\n }\r\n count++;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n if (count <= 0) {\r\n return true;\r\n }\r\n else if (count > 0 && !isFluYes) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n dlgCOViewAgreement() {\r\n this.dlgDispCOViewAgreement = !this.dlgDispCOViewAgreement;\r\n }\r\n\r\n formatter = (result: any) =>\r\n result.storeId == undefined ? \"\" : result.storeId + \" - \" +\r\n result.address + \", \" + result.city + \",\"\r\n + result.state + \" \" + result.zip || '';\r\n\r\n search = (text$: Observable) =>\r\n text$.pipe(\r\n debounceTime(400),\r\n distinctUntilChanged(),\r\n tap(() => this.searching = true),\r\n switchMap(term =>\r\n this._headerservice.storeSearch(this.user_profile.userPk, term.trim(), 0).pipe(\r\n tap((data) => {\r\n this.storeSearchRsp = data;\r\n }),\r\n catchError(() => {\r\n // this.searchFailed = true;\r\n return observableOf([]);\r\n }),)),\r\n tap(() => this.searching = false),);\r\n\r\n\r\n onChange(reassignVal) {\r\n this.ariaV = false;\r\n this.storeV = false;\r\n this.distV = false;\r\n if (reassignVal.toLowerCase() == \"store\") {\r\n this.storeV = true;\r\n this.distV = false;\r\n this.ariaV = false;\r\n }\r\n if (reassignVal.toLowerCase() == \"district\") {\r\n this.distV = true;\r\n this.storeV = false;\r\n this.ariaV = false;\r\n }\r\n if (reassignVal.toLowerCase() == \"area\") {\r\n this.ariaV = true;\r\n this.storeV = false;\r\n this.distV = false;\r\n }\r\n if (reassignVal.toLowerCase() == \"geography\") {\r\n this.ariaV = false;\r\n this.storeV = false;\r\n this.distV = false;\r\n }\r\n if (reassignVal == \"\" || reassignVal.toLowerCase() == \"geography\") {\r\n return;\r\n }\r\n this.coClinicdetailsService.getAreaDist(reassignVal, 0).subscribe((data: any) => {\r\n // \r\n let dataList = data;\r\n\r\n this.area_dist = [];\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.area_dist.push({ key: keyValue, value: valueData })\r\n }\r\n });\r\n }\r\n closePop() {\r\n this.dlgDispCOViewAgreement = false;\r\n this.clearReassignDialogControls();\r\n }\r\n saveReassign() {\r\n this.reassignForm = this.formBuilder.group({\r\n assignType: [this.reassignForm.value.assignType, null],\r\n assignStoreID: [this.reassignForm.value.assignStoreID, null],\r\n assignStore: [this.reassignForm.value.assignStore, null],\r\n });\r\n this.dlgDispCOViewAgreement = false;\r\n let restrictedStateCompliance: boolean = true;\r\n let assignType = this.reassignForm.controls['assignType'].value;\r\n if (assignType == undefined || (assignType == \"Store\" && this.reassignForm.controls['assignStoreID'].value == undefined) ||\r\n ((assignType == \"Area\" || assignType == \"District\") && this.reassignForm.controls['assignStore'].value == \"\")) {\r\n this.showDialogV2(\"Clinic Details\", \"Please select Reassign Type or Reassign Category\");\r\n return;\r\n }\r\n if (assignType.toLowerCase() == \"store\") {\r\n if (this.reassignForm.controls['assignStoreID'].value.storeId == undefined) {\r\n this._headerservice.storeSearch(this.user_profile.userPk, this.reassignForm.controls['assignStoreID'].value.trim(), 0).subscribe(data => {\r\n this.storeSearchRsp = data;\r\n restrictedStateCompliance = this.checkRestrictedStateCompliance();\r\n if (this.storeSearchRsp.length > 0 && restrictedStateCompliance) {\r\n this.saveChanges();\r\n return;\r\n }\r\n else if (this.storeSearchRsp.length <= 0) {\r\n this.showDialogV2(\"Clinic Details\", \"You dont have permission to Reassign to this Store. Please retry using different keyword.\");\r\n return;\r\n }\r\n });\r\n return;\r\n }\r\n else {\r\n restrictedStateCompliance = this.checkRestrictedStateCompliance();\r\n }\r\n\r\n }\r\n if (restrictedStateCompliance) {\r\n this.saveChanges();\r\n }\r\n }\r\n checkRestrictedStateCompliance() {\r\n\r\n if (!this.validateRestrictedStatesReassignment()) {\r\n this.dialogSummary = \"Alert\";\r\n var storeId = this.reassignForm.controls['assignStoreID'].value.storeId;\r\n if (storeId == undefined || storeId == null) {\r\n storeId = this.reassignForm.controls['assignStoreID'].value;\r\n }\r\n var filterSearchRes = this.storeSearchRsp.filter(store => store.storeId == storeId);\r\n if (filterSearchRes.length > 0) {\r\n if (this.utility.IsReassignmentAllowedForRestrictedState(filterSearchRes[0].state)) {\r\n return true;\r\n }\r\n this.dialogMsg = filterSearchRes[0].state == \"DC\" ? String.Format(ErrorMessages['restrictedStates'], \"Columbia \", \"15\") : String.Format(ErrorMessages['restrictedStates'], \"Missouri \", \"20\")\r\n this.showDialogV2(this.dialogSummary, this.dialogMsg);\r\n var orginalStoreId = SessionDetails.GetStoreId();\r\n this.searching = false;\r\n this.reassignForm.controls['assignStoreID'].setValue(orginalStoreId);\r\n this.reassignForm.controls['assignStoreID'].updateValueAndValidity();\r\n this.clearReassignDialogControls();\r\n }\r\n return false;\r\n }\r\n return true;\r\n }\r\n validateRestrictedStatesReassignment() {\r\n var storeId = this.reassignForm.controls['assignStoreID'].value.storeId;\r\n if (storeId == undefined || storeId == null) {\r\n storeId = this.reassignForm.controls['assignStoreID'].value;\r\n }\r\n let returnValue: boolean = true;\r\n if (storeId != SessionDetails.GetStoreId()) {\r\n var current_date = new Date();\r\n var filterSearchRes = this.storeSearchRsp.filter(store => store.storeId == storeId);\r\n if (SessionDetails.GetState() == \"MO\") {\r\n if (filterSearchRes.length > 0 && filterSearchRes[0].state == \"DC\" && current_date > new Date(environment.DC_State_From) && current_date < new Date(environment.DC_State_TO)) {\r\n returnValue = false;\r\n }\r\n }\r\n else if (SessionDetails.GetState() == \"DC\") {\r\n if (filterSearchRes.length > 0 && filterSearchRes[0].state == \"MO\" && current_date > new Date(environment.MO_State_From) && current_date < new Date(environment.MO_State_TO)) {\r\n returnValue = false;\r\n }\r\n }\r\n else if (SessionDetails.GetState() != \"MO\" || SessionDetails.GetState() != \"DC\") {\r\n if (filterSearchRes.length > 0 && ((filterSearchRes[0].state == \"MO\" && current_date > new Date(environment.MO_State_From) && current_date < new Date(environment.MO_State_TO))\r\n || (filterSearchRes[0].state == \"DC\" && current_date > new Date(environment.DC_State_From) && current_date < new Date(environment.DC_State_TO)))) {\r\n returnValue = false;\r\n }\r\n }\r\n }\r\n return returnValue;\r\n }\r\n bindControls(check: boolean = false) {\r\n\r\n this.clinicDetailsForm = this.formBuilder.group({\r\n // store information\r\n storeID: this.formBuilder.control(this.coClinicDetails.opportunityInfo.storeId, null),//this.coClinicDetails.opportunityInfo.storeID, Validators.required),\r\n // Business Information\r\n businessName: this.formBuilder.control(this.coClinicDetails.opportunityInfo.businessName, null),\r\n businessPk: this.formBuilder.control(this.coClinicDetails.opportunityInfo.businessPk, null),\r\n pk_hash: this.formBuilder.control(this.coClinicDetails.opportunityInfo.pk_hash, null),\r\n clientReportingEmail: this.formBuilder.control(this.coClinicDetails.opportunityInfo.clientReportingEmail, null),\r\n b2BTeamEmail: this.formBuilder.control(this.coClinicDetails.opportunityInfo.b2BTeamEmail, null),\r\n salesForceOpportunityId: this.formBuilder.control(this.coClinicDetails.opportunityInfo.salesForceOpportunityId, null),\r\n salesForceAccountName: this.formBuilder.control(this.coClinicDetails.opportunityInfo.salesForceAccountName, null),\r\n firstName: this.formBuilder.control(this.coClinicDetails.opportunityInfo.firstName, Validators.required),\r\n phone: this.formBuilder.control(this.coClinicDetails.opportunityInfo.phone, Validators.required),\r\n fax: this.formBuilder.control(this.coClinicDetails.opportunityInfo.fax, null),\r\n lastName: this.formBuilder.control(this.coClinicDetails.opportunityInfo.lastName, Validators.required),\r\n email: this.formBuilder.control(this.coClinicDetails.opportunityInfo.businessContactEmail, null),\r\n jobTitle: this.formBuilder.control(this.coClinicDetails.opportunityInfo.jobTitle, null),\r\n // Billing & Vaccine Information\r\n clinicFee: this.formBuilder.control(this.coClinicDetails.opportunityInfo.clinicFee, null),\r\n isNoClinicFee: this.formBuilder.control(this.coClinicDetails.opportunityInfo.isNoClinicFee, null),\r\n vouchersDistributed: this.formBuilder.control(this.coClinicDetails.opportunityInfo.vouchersDistributed, null),\r\n vouchersRedeemed: this.formBuilder.control(this.coClinicDetails.opportunityInfo.vouchersRedeemed, null),\r\n naClinicPlanId: this.formBuilder.control(this.coClinicDetails.opportunityInfo.naClinicPlanId, null),\r\n naClinicGroupId: this.formBuilder.control(this.naClinicGroupId, null),\r\n // naClinicGroupIdForDisplayOriginal:this.formBuilder.control(this.naClinicGroupIdForDisplayOriginal, null),\r\n coPayFLUGroupId: this.formBuilder.control(null, this.is_flu_group_id == true ? Validators.required : null),\r\n coPayROUTINEGroupId: this.formBuilder.control(null, this.is_routine_group_id == true ? Validators.required : null),\r\n recipientId: this.formBuilder.control(this.coClinicDetails.opportunityInfo.recipientId, null),\r\n //opportunityInfo:\r\n clinicImmunizationList: this.initImmunization(),\r\n naClinicAddlComments: this.formBuilder.control(this.coClinicDetails.opportunityInfo.naClinicAddlComments, null),\r\n naClinicSplBillingInstr: this.formBuilder.control(this.coClinicDetails.opportunityInfo.naClinicSplBillingInstr, null),\r\n // reassignType: this.formBuilder.control(location.reassignType, null),\r\n // reassignedTo: this.formBuilder.control(location.reassignedTo, null),\r\n //Clinic Contact Information\r\n clinicList: this.initClinicLocations(),\r\n //pharmacist info\r\n // pharmacistName: this.formBuilder.control(this.coClinicDetails.opportunityInfo.pharmacistName, null),\r\n // pharmacistPhone: this.formBuilder.control(this.coClinicDetails.opportunityInfo.pharmacistPhone, null),\r\n // totalHours: this.formBuilder.control(this.coClinicDetails.opportunityInfo.totalHours, null),\r\n feedbackNotes: this.formBuilder.control(this.coClinicDetails.feedback, null),\r\n\r\n //Clinic History Log\r\n clinicsUpdateHistoryLogList: this.initClinicHistoryLog(),\r\n estimatedParticipants: this.formBuilder.control(this.coClinicDetails.clinicList?.[0]?.estimatedParticipants, null)\r\n });\r\n }\r\n bindControls1() {\r\n this.clinicDetailsForm = this.formBuilder.group({\r\n // store information\r\n storeID: ['', null],//this.coClinicDetails.opportunityInfo.storeID, Validators.required),\r\n // Business Information\r\n businessName: this.formBuilder.control('', null),\r\n businessPk: this.formBuilder.control('', null),\r\n pk_hash: this.formBuilder.control('', null),\r\n clientReportingEmail: this.formBuilder.control('', null),\r\n b2BTeamEmail: this.formBuilder.control('', null),\r\n salesForceOpportunityId: this.formBuilder.control('', null),\r\n salesForceAccountName: this.formBuilder.control('', null),\r\n firstName: this.formBuilder.control('', Validators.required),\r\n phone: this.formBuilder.control('', Validators.required),\r\n fax: this.formBuilder.control('', null),\r\n lastName: this.formBuilder.control('', Validators.required),\r\n email: this.formBuilder.control('', null),\r\n jobTitle: this.formBuilder.control('', null),\r\n // Billing & Vaccine Information\r\n naClinicPlanId: this.formBuilder.control('', Validators.required),\r\n naClinicGroupId: this.formBuilder.control(null, Validators.required),\r\n coPayFLUGroupId: this.formBuilder.control(null, null),\r\n coPayROUTINEGroupId: this.formBuilder.control(null, null),\r\n recipientId: this.formBuilder.control('', Validators.required),\r\n clinicImmunizationList: [],\r\n naClinicAddlComments: this.formBuilder.control('', null),\r\n naClinicSplBillingInstr: this.formBuilder.control('', null),\r\n vouchersDistributed: this.formBuilder.control('', null),\r\n //Clinic Contact Information\r\n clinicList: [],\r\n //pharmacist info\r\n // pharmacistName: this.formBuilder.control('', null),\r\n // pharmacistPhone: this.formBuilder.control('', null),\r\n // totalHours: this.formBuilder.control('', null),\r\n feedbackNotes: this.formBuilder.control(\"\"),//this.coClinicDetails.opportunityInfo.feedbackNotes),\r\n //Clinic History Log\r\n clinicsUpdateHistoryLogList: [],\r\n });\r\n }\r\n initClinicLocations() {\r\n let start_time: Date;\r\n let end_time: Date;\r\n let loc_array: any[] = [];\r\n let today = new Date();\r\n\r\n this.coClinicDetails.clinicList.forEach(loc => {\r\n this.clinicLocation = this.utility.colLetterToNum([1, 2, 6].indexOf(this.clinicType) > -1 ? loc.naClinicLocation.toUpperCase().replace(\"LOCATION \", \"\").trim() : loc.naClinicLocation);\r\n let start_time = loc.naClinicStartTime;\r\n let end_time = loc.naClinicEndTime;\r\n if (loc.naClinicStartTime != null) {\r\n if (loc.naClinicStartTime.indexOf(' ') == -1) {\r\n start_time = loc.naClinicStartTime.toLocaleLowerCase().replace('am', ' AM').replace('pm', ' PM');\r\n }\r\n }\r\n if (loc.naClinicEndTime != null) {\r\n if (loc.naClinicEndTime.indexOf(' ') == -1) {\r\n end_time = loc.naClinicEndTime.toLocaleLowerCase().replace('am', ' AM').replace('pm', ' PM');\r\n }\r\n }\r\n let cDate: any = '';\r\n let dateSplitString: any;\r\n if (loc.clinicDate !== null && loc.clinicDate !== undefined) {\r\n let dateString = loc.clinicDate;\r\n dateSplitString = dateString.split('/');\r\n cDate = (new Date(dateSplitString[2], Number(dateSplitString[0]) - 1, dateSplitString[1], 18, 30, 30));\r\n }\r\n this.coClinicDetails.clinicImmunizationList.forEach(rec => {\r\n\r\n if (rec.voucherExpirationDate != null && rec.voucherExpirationDate != undefined) {\r\n if (rec.immunizationName.toLowerCase().search('flu') !== -1 && rec.voucherExpirationDate.valueOf() > 0) {\r\n loc.fluExpiryDate = rec.voucherExpirationDate;\r\n }\r\n if (rec.immunizationName.toLowerCase().search('flu') === -1 && rec.voucherExpirationDate.valueOf() > 0\r\n && rec.immunizationName.toLowerCase().search('covid') === -1) {\r\n loc.routineExpiryDate = rec.voucherExpirationDate;\r\n }\r\n if (rec.immunizationName.toLowerCase().search('covid') !== -1 && rec.voucherExpirationDate.valueOf() > 0) {\r\n loc.covidExpiryDate = rec.voucherExpirationDate;\r\n }\r\n }\r\n });\r\n loc_array.push(\r\n this.formBuilder.group(\r\n {\r\n clinicPk: this.formBuilder.control(loc.clinicPk),\r\n clinicStoreId: this.formBuilder.control(loc.clinicStoreId),\r\n clinicNumber: this.formBuilder.control(loc.clinicNumber),\r\n naClinicLocation: this.formBuilder.control([1, 2, 6].indexOf(this.clinicType) > -1 ? loc.naClinicLocation.toUpperCase().replace(\"LOCATION \", \"\").trim() : loc.naClinicLocation),\r\n intakeID: this.formBuilder.control(loc.intakeID),\r\n naClinicAddress1: this.formBuilder.control(this.address1 = loc.naClinicAddress1, [Validators.required, Validators.maxLength(40)]),\r\n naClinicAddress2: this.formBuilder.control(this.address2 = loc.naClinicAddress2, [Validators.maxLength(60)]),\r\n naClinicCity: this.formBuilder.control(this.city = loc.naClinicCity, Validators.required),\r\n naClinicState: this.formBuilder.control(this.state = loc.naClinicState, Validators.required),\r\n naClinicZip: this.formBuilder.control(this.zipCode = loc.naClinicZip, Validators.required),\r\n vouchersDistributed: this.formBuilder.control(this.vouchersDistributed = loc.vouchersDistributed, null),\r\n clinicDate: this.formBuilder.control((cDate != '' && cDate != null) ? new Date(dateSplitString[2], Number(dateSplitString[0]) - 1, Number(dateSplitString[1]), 18, 30, 30) : null, (loc.isNoClinic != null && loc.isNoClinic == 1) ? null : [Validators.required]),\r\n naClinicStartTime: this.formBuilder.control(start_time, Validators.required),//Need to change\r\n naClinicEndTime: this.formBuilder.control(end_time, Validators.required),//Need to change\r\n naContactFirstName: this.formBuilder.control(loc.naContactFirstName, Validators.required),\r\n patientGroupId: this.formBuilder.control(loc.patientGroupId, null),\r\n naContactLastName: this.formBuilder.control(loc.naContactLastName, Validators.required),\r\n confirmedClientName: this.formBuilder.control(loc.confirmedClientName, null),\r\n naClinicContactPhone: this.formBuilder.control(loc.naClinicContactPhone, Validators.required),\r\n naContactEmail: this.formBuilder.control(loc.naContactEmail, Validators.required),\r\n isCancelled: this.formBuilder.control(loc.isCancelled ? 1 : 0, null),\r\n isConfirmed: this.formBuilder.control(loc.isConfirmed ? 1 : 0, null),\r\n isCompleted: this.formBuilder.control(loc.isCompleted ? 1 : 0, null),\r\n previousContact: this.formBuilder.control('', null),\r\n previousLocation: this.formBuilder.control('', null),\r\n isReassign: this.formBuilder.control(loc.isReassign, null),\r\n coPayFLUGroupId: this.formBuilder.control(loc.coPayFLUGroupId, null),\r\n coPayROUTINEGroupId: this.formBuilder.control(loc.coPayROUTINEGroupId, null),\r\n fluExpiryDate: this.formBuilder.control(loc.fluExpiryDate != null ? new Date(loc.fluExpiryDate) : new Date(today.getFullYear() + 1, today.getMonth(), today.getDate(), 18, 30, 30), null),\r\n routineExpiryDate: this.formBuilder.control(loc.routineExpiryDate != null ? new Date(loc.routineExpiryDate) : new Date(today.getFullYear() + 1, today.getMonth(), today.getDate(), 18, 30, 30), null),\r\n covidExpiryDate: this.formBuilder.control(loc.covidExpiryDate != null ? new Date(loc.covidExpiryDate) : new Date(today.getFullYear() + 1, today.getMonth(), today.getDate(), 18, 30, 30), null),\r\n // visitType: this.formBuilder.control(loc.visitType !==null?loc.visitType.toString():\"\", this.isCovidVaccineAvailable?Validators.required:null),\r\n coOutreachTypeId: this.formBuilder.control(loc.coOutreachTypeId, this.clinicType == 6 ? Validators.required : null),\r\n coOutreachTypeDesc: this.formBuilder.control(loc.coOutreachTypeDesc, null),\r\n clinicLatitude: this.formBuilder.control(loc.clinicLatitude, null),\r\n clinicLongitude: this.formBuilder.control(loc.clinicLongitude, null),\r\n reassignType: this.formBuilder.control(loc.reassignType, null),\r\n reassignedTo: this.formBuilder.control(loc.reassignedTo, null),\r\n clinicRoom: this.formBuilder.control(loc.clinicRoom, null),\r\n apptSchedulerType: this.formBuilder.control(loc.apptSchedulerType, null),\r\n isApptSchedulerEnabled: this.formBuilder.control(loc.isApptSchedulerEnabled, null),\r\n isCuraAppointmentScheduled: this.formBuilder.control(loc.isCuraAppointmentScheduled, null),\r\n isSendCancellationEmailsApproved: this.formBuilder.control(loc.isSendCancellationEmailsApproved, null),\r\n isNoClinic: this.formBuilder.control((loc.isNoClinic != null && loc.isNoClinic == 1) ? 1 : 0, null),\r\n clientReportingEmail: this.formBuilder.control(this.coClinicDetails.opportunityInfo.clientReportingEmail, null),\r\n b2BTeamEmail: this.formBuilder.control(this.coClinicDetails.opportunityInfo.b2BTeamEmail, null),\r\n salesForceOpportunityId: this.formBuilder.control(this.coClinicDetails.opportunityInfo.salesForceOpportunityId, null),\r\n salesForceAccountName: this.formBuilder.control(this.coClinicDetails.opportunityInfo.salesForceAccountName, null),\r\n clinicImzQtyList: this.AddInitialdummyClinicImmunizations(),\r\n paperVars: this.formBuilder.control(loc.paperVars),\r\n IsPreviousClinic: this.formBuilder.control(loc.IsPreviousClinic)\r\n }\r\n )\r\n )\r\n });\r\n return this.formBuilder.array(loc_array);\r\n\r\n }\r\n\r\n initClinicHistoryLog() {\r\n let start_time: Date;\r\n let end_time: Date;\r\n let loc_array: any[] = [];\r\n this.coClinicDetails.clinicsUpdateHistoryLogList.forEach(loc => {\r\n\r\n loc_array.push(\r\n this.formBuilder.group(\r\n {\r\n userPk: this.formBuilder.control(this.user_profile.userPk, null),\r\n updatedOn: this.formBuilder.control(loc.updatedOn, Validators.required),\r\n updateAction: this.formBuilder.control(loc.updateAction),\r\n updatedField: this.formBuilder.control(loc.updatedField),\r\n updateSubCategory: this.formBuilder.control(loc.updateSubCategory),\r\n updatedValue: this.formBuilder.control(loc.updatedValue),\r\n updatedBy: this.formBuilder.control(loc.updatedBy)\r\n\r\n }\r\n )\r\n\r\n )\r\n });\r\n return this.formBuilder.array(loc_array);\r\n }\r\n AddInitialdummyClinicImmunizations() {\r\n let imz_array: any[] = [];\r\n this.coClinicDetails.clinicList[0].clinicImzQtyList.forEach(imz => {\r\n let imz_app_date: any = '';\r\n let dateSplitString: any;\r\n if (imz.clinicalReqApprovedDate !== null && imz.clinicalReqApprovedDate !== undefined) {\r\n //cDate = new Date(new Date(loc.clinicDate));\r\n var temp_dt = imz.clinicalReqApprovedDate.toString().substring(0, imz.clinicalReqApprovedDate.toString().indexOf('T'));\r\n if (temp_dt.indexOf('-') > -1) {\r\n let temp_dt_parts = temp_dt.split('-');\r\n var dt = new Date(temp_dt_parts[0], temp_dt_parts[1] - 1, temp_dt_parts[2], 18, 30, 30);\r\n imz.clinicalReqApprovedDate = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate(), 18, 30, 30);\r\n }\r\n //let dateString = imz.clinicalReqApprovedDate;\r\n //dateSplitString = dateString.split('/');\r\n //imz_app_date = (new Date(dateSplitString[2],Number(dateSplitString[0])-1,dateSplitString[1], 18, 30, 30));\r\n imz_app_date = imz.clinicalReqApprovedDate;\r\n }\r\n imz_array.push(\r\n this.formBuilder.group(\r\n {\r\n clinicPk: this.formBuilder.control(imz.clinicPk),\r\n immunizationPk: this.formBuilder.control(imz.immunizationPk),\r\n estimatedQuantity: this.formBuilder.control(imz.estimatedQuantity),\r\n immunizationName: this.formBuilder.control(imz.immunizationName),\r\n paymentTypeName: this.formBuilder.control(imz.paymentTypeName),\r\n paymentTypeId: this.formBuilder.control(imz.paymentTypeId),\r\n totalImmAdministered: this.formBuilder.control(this.isNoClinic ? 0 : imz.totalImmAdministered),\r\n paperVars: this.formBuilder.control(imz.paperVars),\r\n vouchersDistributed: this.formBuilder.control(imz.vouchersDistributed),\r\n isClinicalReqd: this.formBuilder.control(imz.isClinicalReqd ? true : null),\r\n clinicalReqdApprovedBy: this.formBuilder.control(imz.clinicalReqdApprovedBy),\r\n clinicalReqApprovedDate: this.formBuilder.control((imz_app_date != '' && imz_app_date != null) ? /*new Date(dateSplitString[2], Number(dateSplitString[0]) - 1, Number(dateSplitString[1]), 18, 30, 30)*/imz_app_date : null)\r\n }\r\n )\r\n )\r\n });\r\n\r\n return this.formBuilder.array(imz_array);\r\n\r\n }\r\n labelClinicNames(remove_loation_id) {\r\n let max_Location_id = 0;\r\n max_Location_id = this.max_clinic_location_id;\r\n var location_count = max_Location_id - 1;\r\n const control = this.clinicDetailsForm.controls['clinicList'];\r\n\r\n for (let index = 1; index < control.length + 1; index++) {\r\n let element = control.controls[index - 1];\r\n if (index <= this.clinicLocation) {\r\n if (remove_loation_id != -1)\r\n element.get('naClinicLocation').setValue(this.utility.numberToLetters(location_count));\r\n location_count++;\r\n }\r\n };\r\n }\r\n\r\n removeLocation(i: number) {\r\n let max_Location_id = 0;\r\n const control = this.clinicDetailsForm.controls['clinicList'];\r\n control.removeAt(i);\r\n this.clinicLocation--;\r\n max_Location_id = this.max_clinic_location_id;\r\n var location_count = max_Location_id - 1;\r\n for (let index = 1; index < control.length + 1; index++) {\r\n let element = control.controls[index - 1];\r\n if (index <= this.clinicLocation) {\r\n if (element.value.clinicPk == null) {\r\n element.get('naClinicLocation').setValue(this.utility.numberToLetters(location_count));\r\n }\r\n location_count++;\r\n }\r\n };\r\n }\r\n initImmunization() {\r\n let imz_array: any[] = [];\r\n this.coClinicDetails.clinicList[0].clinicImzQtyList.forEach(imz => {\r\n let imz_app_date: any = '';\r\n let dateSplitString: any;\r\n if (imz.clinicalReqApprovedDate !== null && imz.clinicalReqApprovedDate !== undefined) {\r\n //cDate = new Date(new Date(loc.clinicDate));\r\n var temp_dt = imz.clinicalReqApprovedDate.toString().substring(0, imz.clinicalReqApprovedDate.toString().indexOf('T'));\r\n if (temp_dt.indexOf('-') > -1) {\r\n let temp_dt_parts = temp_dt.split('-');\r\n var dt = new Date(temp_dt_parts[0], temp_dt_parts[1] - 1, temp_dt_parts[2], 18, 30, 30);\r\n imz.clinicalReqApprovedDate = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate(), 18, 30, 30);\r\n }\r\n //let dateString = imz.clinicalReqApprovedDate;\r\n //dateSplitString = dateString.split('/');\r\n imz_app_date = imz.clinicalReqApprovedDate;\r\n //imz_app_date = (new Date(dateSplitString[2],Number(dateSplitString[0])-1,dateSplitString[1], 18, 30, 30));\r\n }\r\n\r\n // var totalEstimatedValue= this.coClinicDetails.clinicList[0].clinicImzQtyList.filter(qty => qty.immunizationPk == imz.immunizationPk && qty.estimatedQuantity >0);\r\n imz_array.push(\r\n this.formBuilder.group(\r\n {\r\n pk: this.formBuilder.control(imz.clinicPk),\r\n immunizationPk: this.formBuilder.control(imz.immunizationPk),\r\n estimatedQuantity: this.formBuilder.control(imz.estimatedQuantity),\r\n vouchersDistributed: this.formBuilder.control(imz.vouchersDistributed),\r\n immunizationName: this.formBuilder.control(imz.immunizationName),\r\n paymentTypeName: this.formBuilder.control(imz.paymentTypeName),\r\n paymentTypeId: this.formBuilder.control(imz.paymentTypeId),\r\n price: this.formBuilder.control(ClinicDetailsUtilities.getPrice(this.coClinicDetails, imz.immunizationPk, imz.paymentTypeId)),\r\n totalImmAdministered: this.formBuilder.control(this.isNoClinic ? 0 : imz.totalImmAdministered),\r\n paperVars: this.formBuilder.control(imz.paperVars),\r\n isClinicalReqd: this.formBuilder.control((imz.isClinicalReqd ? true : (imz.isClinicalReqd == false) ? false : null)),\r\n clinicalReqdApprovedBy: this.formBuilder.control(imz.clinicalReqdApprovedBy),\r\n clinicalReqApprovedDate: this.formBuilder.control((imz_app_date != '' && imz_app_date != null) ? /*new Date(dateSplitString[2], Number(dateSplitString[0]) - 1, Number(dateSplitString[1]), 18, 30, 30)*/imz_app_date : null)\r\n }\r\n )\r\n )\r\n });\r\n this.isVoucherPaymentSelected = ClinicDetailsUtilities.CheckIfVoucherPaymentMethodIsSelected(this.coClinicDetails.clinicImmunizationList);\r\n return this.formBuilder.array(imz_array);\r\n }\r\n\r\n updateClinicalRequirements(imz_name: string, imz_index: number, event: any) {\r\n for (let control of this.clinicDetailsForm.get('clinicImmunizationList')['controls']) {\r\n if (control.controls.immunizationName.value === imz_name) {\r\n control.controls.isClinicalReqd.value = (event.target.checked) ? true : null;\r\n this.clinicDetailsForm.value['clinicalRequirements'] = true;\r\n control.controls.isClinicalReqd.updateValueAndValidity();\r\n this.canDisableClinicalRequirements = null;\r\n }\r\n }\r\n }\r\n\r\n addLocation(location) {\r\n if (this.coClinicDetails.opportunityInfo.childClinicAgreementId != null && this.coClinicDetails.opportunityInfo.childClinicAgreementId > 0) {\r\n this.clinicNotConfirmedMsgDlg = true;\r\n this.showClinicNotConfirmedDialog('Amend Agreement', ErrorMessages['StopAddLocationAmend']);\r\n return false;\r\n }\r\n const control = this.clinicDetailsForm.controls['clinicList'];\r\n let max_Location_id = 0;\r\n max_Location_id = this.max_clinic_location_id;\r\n var location_count = max_Location_id - 1;\r\n this.labelClinicNames(-1);\r\n if (!this.user_profile.isAdmin) {\r\n var current_date = new Date();\r\n var storeState = SessionDetails.GetState();\r\n if (storeState != \"MO\" || storeState != \"DC\") {\r\n if (current_date > new Date(environment.MO_State_From) && current_date < new Date(environment.MO_State_TO) && storeState != \"MO\") {\r\n this.states = this.states.filter(s => s.id != \"MO\");\r\n }\r\n if (current_date > new Date(environment.DC_State_From) && current_date < new Date(environment.DC_State_TO) && storeState != \"DC\") {\r\n this.states = this.states.filter(s => s.id != \"DC\");\r\n }\r\n }\r\n }\r\n const addrCtrl = this.initAddClinicLocation(location);\r\n control.push(addrCtrl);\r\n this.isNewClinicAdded = true;\r\n if ([1, 2, 3, 5, 6].indexOf(this.clinicType) > -1 && this.isCovidVaccineAvailable) {\r\n const ctrl = this.clinicDetailsForm.controls['clinicList'];\r\n let index = ctrl.length;\r\n if ([3, 5].indexOf(this.clinicType) > -1) {\r\n this.copyPreviousContactInfo(index - 1, true);\r\n }\r\n this.copyPreviousLocation(index - 1, true);\r\n }\r\n }\r\n\r\n initAddClinicLocation(location: ClinicList) {\r\n\r\n if (location === undefined) {\r\n location = new ClinicList();\r\n }\r\n const control = this.clinicDetailsForm.controls['clinicList'];\r\n let max_Location_id = 0;\r\n max_Location_id = this.max_clinic_location_id;\r\n var location_count = max_Location_id + control.length - 1;\r\n let previous_display: boolean = true;\r\n if (this.previous_locations != undefined) {\r\n if (this.previous_locations.length > 0) {\r\n this.address1 = this.previous_locations[0].address;\r\n this.address2 = this.previous_locations[0].address2;\r\n this.city = this.previous_locations[0].city;\r\n this.state = this.previous_locations[0].state;\r\n this.zipCode = this.previous_locations[0].zip;\r\n previous_display = false;\r\n }\r\n }\r\n location.naClinicLocation = [3, 5, 7].indexOf(this.clinicType) > -1 ? this.coClinicDetails.clinicList[0].naClinicLocation : this.utility.numberToLetters(location_count);\r\n this.clinic_number = this.utility.colLetterToNum(this.utility.numberToLetters(location_count));//location.naClinicLocation\r\n location.clinicStoreId = this.coClinicDetails.clinicList[0].clinicStoreId;\r\n this.clinicLocation++;\r\n let today = new Date();\r\n this.coClinicDetails.clinicImmunizationList.forEach(rec => {\r\n if (rec.voucherExpirationDate != null && rec.voucherExpirationDate != undefined) {\r\n if (rec.immunizationName.toLowerCase().search('flu') !== -1 && rec.voucherExpirationDate.valueOf() > 0) {\r\n location.fluExpiryDate = rec.voucherExpirationDate;\r\n }\r\n if ((rec.immunizationName.toLowerCase().search('flu') === -1 || rec.immunizationName.toLowerCase().search('covid') === -1) && rec.voucherExpirationDate.valueOf() > 0) {\r\n location.routineExpiryDate = rec.voucherExpirationDate;\r\n }\r\n if (rec.immunizationName.toLowerCase().search('covid') !== -1 && rec.voucherExpirationDate.valueOf() > 0) {\r\n location.covidExpiryDate = rec.voucherExpirationDate;\r\n }\r\n }\r\n });\r\n return (this.formBuilder.group(\r\n {\r\n clinicPk: this.formBuilder.control(location.clinicPk),\r\n clinicStoreId: this.formBuilder.control(location.clinicStoreId),\r\n clinicNumber: this.formBuilder.control(this.clinic_number),\r\n naClinicLocation: this.formBuilder.control([1, 2, 6].indexOf(this.clinicType) > -1 ? location.naClinicLocation.toUpperCase().replace(\"LOCATION \", \"\").trim() : location.naClinicLocation.trim()),\r\n intakeID: this.formBuilder.control(this.intakeID),\r\n naClinicAddress1: this.formBuilder.control(this.utility.isStoreIsfromRestrictedState() ? this.address1 : location.naClinicAddress1, Validators.required),\r\n naClinicAddress2: this.formBuilder.control(this.utility.isStoreIsfromRestrictedState() ? this.address2 : location.naClinicAddress2, null),\r\n naClinicCity: this.formBuilder.control(this.utility.isStoreIsfromRestrictedState() ? this.city : location.naClinicCity, Validators.required),\r\n naClinicState: this.formBuilder.control(this.utility.isStoreIsfromRestrictedState() ? this.state : location.naClinicState == null ? \"\" : location.naClinicState, Validators.required),\r\n naClinicZip: this.formBuilder.control(this.utility.isStoreIsfromRestrictedState() ? this.zipCode : location.naClinicZip, Validators.required),\r\n clinicDate: this.formBuilder.control('', Validators.required),//this.defaultDate\r\n naClinicStartTime: this.formBuilder.control('', Validators.required),\r\n naClinicEndTime: this.formBuilder.control('', Validators.required),\r\n naContactFirstName: this.formBuilder.control(location.naContactFirstName, Validators.required),\r\n patientGroupId: this.formBuilder.control(location.patientGroupId, null),\r\n naContactLastName: this.formBuilder.control(location.naContactLastName, Validators.required),\r\n confirmedClientName: this.formBuilder.control(location.confirmedClientName, null),\r\n naClinicContactPhone: this.formBuilder.control(location.naClinicContactPhone, Validators.required),\r\n naContactEmail: this.formBuilder.control(location.naContactEmail, Validators.required),\r\n isCancelled: this.formBuilder.control((location.isCancelled != null || location.isCancelled ? 1 : 0), null),\r\n isConfirmed: this.formBuilder.control((location.isConfirmed != null || location.isConfirmed ? 1 : 0), null),\r\n isCompleted: this.formBuilder.control((location.isCompleted != null || location.isCompleted ? 1 : 0), null),\r\n previousContact: this.formBuilder.control('', null),\r\n previousLocation: this.formBuilder.control('', null),\r\n isReassign: this.formBuilder.control((location.isReassign == null || location.isReassign == undefined) ? 0 : 1, null),\r\n coPayFLUGroupId: this.formBuilder.control(location.coPayFLUGroupId, null),\r\n coPayROUTINEGroupId: this.formBuilder.control(location.coPayROUTINEGroupId, null),\r\n fluExpiryDate: this.formBuilder.control(location.fluExpiryDate != null ? new Date(location.fluExpiryDate) : new Date(today.getFullYear() + 1, today.getMonth(), today.getDate(), 12, 30, 30), null),\r\n routineExpiryDate: this.formBuilder.control(location.routineExpiryDate != null ? new Date(location.routineExpiryDate) : new Date(today.getFullYear() + 1, today.getMonth(), today.getDate(), 12, 30, 30), null),\r\n covidExpiryDate: this.formBuilder.control(location.covidExpiryDate != null ? new Date(location.covidExpiryDate) : new Date(today.getFullYear() + 1, today.getMonth(), today.getDate(), 12, 30, 30), null),\r\n // visitType: this.formBuilder.control(location.visitType&&location.visitType !==null?location.visitType.toString():\"\", this.isCovidVaccineAvailable?Validators.required:null),\r\n coOutreachTypeId: this.formBuilder.control(location.coOutreachTypeId, this.clinicType == 6 ? Validators.required : null),\r\n coOutreachTypeDesc: this.formBuilder.control(location.coOutreachTypeDesc, null),\r\n clinicLatitude: this.formBuilder.control(location.clinicLatitude, null),\r\n clinicLongitude: this.formBuilder.control(location.clinicLongitude, null),\r\n clinicRoom: this.formBuilder.control(location.clinicRoom, null),\r\n isNoClinic: this.formBuilder.control((location.isNoClinic != null && location.isNoClinic == 1) ? 1 : 0, null),\r\n reassignType: this.formBuilder.control(location.reassignType, null),\r\n reassignedTo: this.formBuilder.control(location.reassignedTo, null),\r\n apptSchedulerType: this.formBuilder.control(location.apptSchedulerType, null),\r\n isApptSchedulerEnabled: this.formBuilder.control(location.isApptSchedulerEnabled, null),\r\n vouchersDistributed: this.formBuilder.control(location.vouchersDistributed, null),\r\n clinicImzQtyList: this.AddAddlClinicImmunizations()\r\n }\r\n ));\r\n }\r\n AddAddlClinicImmunizations() {\r\n let imz_array: any[] = [];\r\n this.coClinicDetails.clinicList[0].clinicImzQtyList.forEach(imz => {\r\n let imz_app_date: any = '';\r\n if (imz.clinicalReqApprovedDate !== null && imz.clinicalReqApprovedDate !== undefined) {\r\n var temp_dt = imz.clinicalReqApprovedDate.toString().substring(0, imz.clinicalReqApprovedDate.toString().indexOf('T'));\r\n let temp_dt_parts = temp_dt.split('-');\r\n var dt = new Date(temp_dt_parts[0], temp_dt_parts[1] - 1, temp_dt_parts[2], 18, 30, 30);\r\n imz.clinicalReqApprovedDate = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate(), 18, 30, 30);\r\n imz_app_date = imz.clinicalReqApprovedDate;\r\n }\r\n imz_array.push(\r\n this.formBuilder.group(\r\n {\r\n clinicPk: this.formBuilder.control(null),\r\n immunizationPk: this.formBuilder.control(imz.immunizationPk),\r\n estimatedQuantity: this.formBuilder.control('', Validators.required),\r\n immunizationName: this.formBuilder.control(imz.immunizationName),\r\n paymentTypeName: this.formBuilder.control(imz.paymentTypeName),\r\n paymentTypeId: this.formBuilder.control(imz.paymentTypeId),\r\n totalImmAdministered: this.formBuilder.control(this.isNoClinic ? 0 : imz.totalImmAdministered),\r\n paperVars: this.formBuilder.control(imz.paperVars),\r\n vouchersDistributed: this.formBuilder.control(this.clinicType != 2 ? imz.vouchersDistributed : null),\r\n isClinicalReqd: this.formBuilder.control(imz.isClinicalReqd),\r\n clinicalReqdApprovedBy: this.formBuilder.control(imz.clinicalReqdApprovedBy),\r\n clinicalReqApprovedDate: this.formBuilder.control((imz_app_date != '' && imz_app_date != null) ? /*new Date(dateSplitString[2], Number(dateSplitString[0]) - 1, Number(dateSplitString[1]), 18, 30, 30)*/imz_app_date : null)\r\n }\r\n )\r\n )\r\n });\r\n return this.formBuilder.array(imz_array);\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n calculateBS4GridSize() {\r\n if (this.clinicType == 2) {\r\n return {\r\n 'col-md-5': true\r\n }\r\n }\r\n else {\r\n return {\r\n 'col-md-8': true\r\n }\r\n }\r\n }\r\n displayFieldCssForArray(field: string, index: number) {\r\n let return_value = this.isValidArrayField(field, index);\r\n return {\r\n 'has-error': return_value,\r\n 'has-feedback': return_value\r\n };\r\n }\r\n\r\n displayFieldCssForTable(field: string, index: number) {\r\n const clinicImmzList = this.clinicDetailsForm.controls['clinicImmunizationList'] as FormArray;\r\n const transformedList = this._uniquePipeClinicDetails.transform(clinicImmzList.controls);\r\n\r\n let return_value = transformedList[index].controls[field].status == 'INVALID';\r\n return {\r\n 'has-error': return_value,\r\n 'has-feedback': return_value\r\n };\r\n }\r\n\r\n displayFieldCssForLocImm(field: string, i: number, im: number) {\r\n const control = this.clinicDetailsForm.controls['clinicList'];\r\n const immArray = control.controls[i].get('clinicImzQtyList');\r\n const estQty = immArray.controls[im].get('estimatedQuantity');\r\n let return_val = !estQty.valid && estQty.touched;\r\n return {\r\n 'has-error': return_val,\r\n 'has-feedback': return_val\r\n };\r\n }\r\n\r\n isFieldValid(field: string) {\r\n if (this.clinicDetailsForm.get(field) != null)\r\n return !this.clinicDetailsForm.get(field).valid && this.clinicDetailsForm.get(field).touched;\r\n }\r\n\r\n isValidArrayField(fields: string, index: number) {\r\n let return_value = false;\r\n Object.keys(this.clinicDetailsForm.controls).forEach(field => {\r\n const control = this.clinicDetailsForm.get(field);\r\n if (control instanceof FormArray) {\r\n if (control.controls[index] !== undefined) {\r\n if (control.controls[index].get(fields) != null) {\r\n return_value = !control.controls[index].get(fields).valid && control.controls[index].get(fields).touched;\r\n }\r\n }\r\n }\r\n });\r\n return return_value;\r\n }\r\n\r\n isFormValid(): boolean {\r\n let frmar: FormArray = this.clinicDetailsForm.get('clinicList') as FormArray;\r\n for (let index = 0; index < frmar.length; index++) {\r\n const element = frmar.controls[index] as FormGroup;\r\n this.utility.validateAllFormFields(element);\r\n }\r\n return this.clinicDetailsForm.valid;\r\n }\r\n confirmClinic() {\r\n\r\n if (this.coClinicDetails.opportunityInfo.childClinicAgreementId != null && this.coClinicDetails.opportunityInfo.childClinicAgreementId > 0 && !this.coClinicDetails.opportunityInfo.childClinicAgreementApproved) {\r\n this.clinicNotConfirmedMsgDlg = true;\r\n this.showClinicNotConfirmedDialog('Amend Agreement', ErrorMessages['DisbaleButtonsAmend']);\r\n return false;\r\n }\r\n\r\n let control_imz = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let index1;\r\n for (index1 = 0; index1 < control_imz.length; index1++) {\r\n control_imz.controls[index1].get('estimatedQuantity').setValidators(Validators.required);\r\n control_imz.controls[index1].get('estimatedQuantity').updateValueAndValidity();\r\n control_imz.controls[index1].get('totalImmAdministered').setValidators(null);\r\n control_imz.controls[index1].get('totalImmAdministered').updateValueAndValidity();\r\n\r\n if (this.reassignForm.value.assignType !== null && this.reassignForm.value.assignType !== \"\") {\r\n control_imz.controls[index1].get('isClinicalReqd').setValidators(null);\r\n control_imz.controls[index1].get('isClinicalReqd').updateValueAndValidity();\r\n } else {\r\n control_imz.controls[index1].get('isClinicalReqd').setValidators((ImmunizationsClinicalRequirements[\"immunizations\"].indexOf(control_imz.controls[index1].get('immunizationName').value) > -1 ? Validators.requiredTrue : Validators.nullValidator));\r\n control_imz.controls[index1].get('isClinicalReqd').updateValueAndValidity();\r\n }\r\n\r\n this.utility.validateAllFormFields(control_imz.controls[index1]);\r\n }\r\n let control = this.clinicDetailsForm.controls['clinicList'];\r\n let index;\r\n for (index = 0; index < control.length; index++) {\r\n control.controls[0].get('confirmedClientName').setValidators([1, 3, 5, 7].indexOf(this.clinicType) > -1 ? [Validators.required] : null);\r\n control.controls[0].get('confirmedClientName').updateValueAndValidity();\r\n this.utility.validateAllFormFields(control.controls[index]);\r\n }\r\n this.isNoclinicValidations();\r\n this.clinicDetailsForm.controls[\"feedbackNotes\"].setValidators(null);\r\n this.clinicDetailsForm.controls[\"feedbackNotes\"].updateValueAndValidity();\r\n // this.clinicDetailsForm.controls[\"pharmacistName\"].setValidators(null);\r\n // this.clinicDetailsForm.controls[\"pharmacistName\"].updateValueAndValidity();\r\n // this.clinicDetailsForm.controls[\"pharmacistPhone\"].setValidators(null);\r\n // this.clinicDetailsForm.controls[\"pharmacistPhone\"].updateValueAndValidity();\r\n // this.clinicDetailsForm.controls[\"totalHours\"].setValidators(null);\r\n // this.clinicDetailsForm.controls[\"totalHours\"].updateValueAndValidity();\r\n\r\n if (this.clinicDetailsForm.valid && control.controls[0].get('confirmedClientName')?.value?.trim()?.length > 0) {\r\n this.is_confirmed = true;\r\n\r\n if (((this.clinicDetailsForm.value.recipientId != null ||\r\n this.clinicDetailsForm.value.recipientId != undefined) &&\r\n this.clinicDetailsForm.value.recipientId.trim().length <= 0) ||\r\n ((this.clinicDetailsForm.value.naClinicPlanId != null ||\r\n this.clinicDetailsForm.value.naClinicPlanId != undefined) &&\r\n this.clinicDetailsForm.value.naClinicPlanId.trim().length <= 0)) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n if (this.clinicDetailsForm.value.email != null || this.clinicDetailsForm.value.email != undefined) {\r\n if (this.clinicDetailsForm.value.email.trim().length > 0) {\r\n if (!this.utility.validateSingleEmail(this.clinicDetailsForm.value.email)) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidEmail']);\r\n return false;\r\n }\r\n }\r\n }\r\n if (this.clinicDetailsForm.value.phone != null || this.clinicDetailsForm.value.phone != undefined) {\r\n if (this.clinicDetailsForm.value.phone.trim().length > 0) {\r\n if (!this.utility.validatePhoneNo(this.clinicDetailsForm.value.phone.trim())) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidPhoneFormat']);\r\n return false;\r\n }\r\n }\r\n }\r\n if (this.clinicDetailsForm.value.pharmacistPhone != null ||\r\n this.clinicDetailsForm.value.pharmacistPhone != undefined) {\r\n if (this.clinicDetailsForm.value.pharmacistPhone.trim().length > 0) {\r\n if (!this.utility.validatePhoneNo(this.clinicDetailsForm.value.pharmacistPhone.trim())) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidPhoneFormat']);\r\n return false;\r\n }\r\n }\r\n }\r\n if (!this.isAssignedStoreValid()) {\r\n if (this.coClinicDetails.clinicList[0].isConfirmed == true || this.coClinicDetails.clinicList[0].isConfirmed == 1 ||\r\n this.coClinicDetails.clinicList[0].isCompleted == true || this.coClinicDetails.clinicList[0].isCompleted == 1 ||\r\n this.coClinicDetails.clinicList[0].isCancelled == true || this.coClinicDetails.clinicList[0].isCancelled == 1) {\r\n this.showDialog(ErrorMessages['reAssignStoreInvalidActionHdr'], ErrorMessages['reAssignStoreInvalidActionMsg']);\r\n return false;\r\n }\r\n }\r\n let controlclinicList = this.clinicDetailsForm.controls['clinicList'];\r\n let index_clinic;\r\n for (index_clinic = 0; index_clinic < controlclinicList.length; index_clinic++) {\r\n\r\n let address1: string = controlclinicList.controls[index_clinic].get('naClinicAddress1').value;\r\n let address2: string = controlclinicList.controls[index_clinic].get('naClinicAddress2').value;\r\n\r\n let address = (address1 + address2).trim().replace(/[\\[\\]().-]+/g, '');\r\n address = address.replace(/\\s/g, '');\r\n if (address.toLowerCase().includes(\"pobox\")) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"Addresses containing a P.O. Box are not allowed. Please enter a valid location address.\";\r\n\r\n this.showDialogV2(this.dialogSummary, this.dialogMsg);\r\n return;\r\n }\r\n\r\n }\r\n this.action_status = \"Confirmed\";\r\n if (!this.validateReduceEstQnt()) {\r\n return;\r\n }\r\n let clinicItem = (this.clinicDetailsForm.controls['clinicList']);\r\n //clinicItem.controls[0].get('apptSchedulerType').value\r\n if (!this.alertUserAboutScheduler()) {\r\n return;\r\n }\r\n if (!this.isClinicDateReminderBefore2WksReq(\"Confirmed\")) {\r\n this.continueWithSaving(\"Confirmed\");\r\n }\r\n else {\r\n let sumMsg = ErrorMessages['impRmndrFor2Wks'];\r\n let errMsg = ErrorMessages['new_clinicDateReminderBefore2WeeksEN'];\r\n var userProfile = SessionDetails.GetUserProfile();\r\n //if (ClinicDetailsUtilities.shallWeShow2WkConfirmDialog(userProfile)) {\r\n this.OverrideOrOkTitle = \"OK\";\r\n this.showCancelBtn = false;\r\n this.confirm(sumMsg, errMsg, \"Confirmed\");\r\n //return;\r\n //}\r\n // else {\r\n // errMsg = ErrorMessages['clinicDateReminderBefore2WeeksEN'];\r\n // this.showDialog(sumMsg, errMsg);\r\n // return\r\n // }\r\n }\r\n }\r\n else {\r\n control = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let imz_names: string = this.validateClinicalRequirements(control);\r\n if (imz_names.length > 0) {\r\n this.showDialogV2(ErrorMessages['serverError'], String.Format(ErrorMessages['clinicalRequirementsError'], imz_names));\r\n return;\r\n }\r\n if (this.clinicDetailsForm.value.email != null && this.clinicDetailsForm.value.email != undefined &&\r\n this.clinicDetailsForm.value.email.trim().length > 0\r\n && !this.utility.validateSingleEmail(this.clinicDetailsForm.value.email)) {\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidEmail']);\r\n return;\r\n }\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n return;\r\n }\r\n }\r\n\r\n completeClinic() {\r\n this.hasCompleteClinicClicked = false;\r\n if (this.coClinicDetails.opportunityInfo.childClinicAgreementId != null && this.coClinicDetails.opportunityInfo.childClinicAgreementId > 0 && !this.coClinicDetails.opportunityInfo.childClinicAgreementApproved) {\r\n this.clinicNotConfirmedMsgDlg = true;\r\n this.showClinicNotConfirmedDialog('Amend Agreement', ErrorMessages['DisbaleButtonsAmend']);\r\n return false;\r\n }\r\n\r\n if (this.coClinicDetails.clinicList[0].isConfirmed == false) {\r\n this.clinicNotConfirmedMsgDlg = true;\r\n this.showClinicNotConfirmedDialog('Alert', ErrorMessages['clinicNotConfirmedMsg']);\r\n return false;\r\n }\r\n else {\r\n let control = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let index;\r\n let totalImmAdministeredIsOK = true;\r\n\r\n\r\n for (index = 0; index < control.length; index++) {\r\n if (!this.isNoClinic) {\r\n control.controls[index].get('totalImmAdministered').setValidators([Validators.required]);\r\n control.controls[index].get('totalImmAdministered').updateValueAndValidity();\r\n\r\n }\r\n control.controls[index].get('estimatedQuantity').setValidators(Validators.required);\r\n control.controls[index].get('estimatedQuantity').updateValueAndValidity();\r\n this.utility.validateAllFormFields(control.controls[index]);\r\n\r\n if (totalImmAdministeredIsOK && control.controls[index].get('totalImmAdministered').value != null)\r\n if (Number(control.controls[index].get('totalImmAdministered').value) < 0 && control.controls[index].get('totalImmAdministered').value != \"\") {\r\n totalImmAdministeredIsOK = false;\r\n }\r\n\r\n if (this.reassignForm.value.assignType !== null && this.reassignForm.value.assignType !== \"\") {\r\n control.controls[index].get('isClinicalReqd').setValidators(null);\r\n control.controls[index].get('isClinicalReqd').updateValueAndValidity();\r\n }\r\n else {\r\n control.controls[index].get('isClinicalReqd').setValidators((ImmunizationsClinicalRequirements[\"immunizations\"].indexOf(control.controls[index].get('immunizationName').value) > -1 ? Validators.requiredTrue : Validators.nullValidator));\r\n control.controls[index].get('isClinicalReqd').updateValueAndValidity();\r\n }\r\n\r\n }\r\n control = this.clinicDetailsForm.controls['clinicList'];\r\n\r\n for (index = 0; index < control.length; index++) {\r\n control.controls[0].get('confirmedClientName').setValidators([1, 3, 5, 7].indexOf(this.clinicType) > -1 ? [Validators.required] : null);\r\n control.controls[0].get('confirmedClientName').updateValueAndValidity();\r\n this.utility.validateAllFormFields(control.controls[index]);\r\n }\r\n\r\n this.isNoclinicValidations();\r\n this.clinicDetailsForm.controls[\"feedbackNotes\"].setValidators(null);\r\n this.clinicDetailsForm.controls[\"feedbackNotes\"].updateValueAndValidity();\r\n // this.clinicDetailsForm.controls[\"pharmacistName\"].setValidators(Validators.required);\r\n // this.clinicDetailsForm.controls[\"pharmacistName\"].updateValueAndValidity();\r\n // this.clinicDetailsForm.controls[\"pharmacistPhone\"].setValidators(Validators.required);\r\n // this.clinicDetailsForm.controls[\"pharmacistPhone\"].updateValueAndValidity();\r\n // this.clinicDetailsForm.controls[\"totalHours\"].setValidators(Validators.required);\r\n // this.clinicDetailsForm.controls[\"totalHours\"].updateValueAndValidity();\r\n if (this.clinicDetailsForm.value?.recipientId?.trim()?.length <= 0 || this.clinicDetailsForm.value?.naClinicPlanId?.trim()?.length <= 0) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n if (this.clinicDetailsForm.valid) {\r\n if (!this.usPhoneNoRegEx.test(this.clinicDetailsForm.value.phone)) {\r\n this.showDialogV2(ErrorMessages['OpportunityInformationHeading'], ErrorMessages['OpportunityInformationMessage']);\r\n return false;\r\n }\r\n if (!totalImmAdministeredIsOK) {\r\n this.showDialogV2(ErrorMessages['clinicDetails'], ErrorMessages['totalAdministeredIsNOK']);\r\n return false;\r\n }\r\n for (let i = 0; i < this.clinicDetailsForm.value.clinicList.length; i++) {\r\n if (!this.usPhoneNoRegEx.test(this.clinicDetailsForm.value.clinicList[i].naClinicContactPhone)) {\r\n this.showDialogV2(ErrorMessages['ClinicInformationHeading'], ErrorMessages['ClinicInformationMessage']);\r\n return false;\r\n }\r\n }\r\n\r\n if (this.clinicDetailsForm.value.pharmacistPhone) {\r\n if (((this.clinicDetailsForm.value.pharmacistPhone).indexOf(\"X\") > -1)) {\r\n this.clinicDetailsForm.controls.pharmacistPhone.setValue(null);\r\n this.clinicDetailsForm.controls.pharmacistPhone.updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n\r\n if (!this.usPhoneNoRegEx.test(this.clinicDetailsForm.value.pharmacistPhone)) {\r\n this.showDialogV2(ErrorMessages['PharmacistPostClinicInformationHeading'], ErrorMessages['PharmacistPostClinicInformationMessage']);\r\n return false;\r\n }\r\n }\r\n if (((this.clinicDetailsForm.value.recipientId != null ||\r\n this.clinicDetailsForm.value.recipientId != undefined) &&\r\n this.clinicDetailsForm.value.recipientId.trim().length <= 0) ||\r\n ((this.clinicDetailsForm.value.naClinicPlanId != null ||\r\n this.clinicDetailsForm.value.naClinicPlanId != undefined) &&\r\n this.clinicDetailsForm.value.naClinicPlanId.trim().length <= 0)) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n if (this.clinicDetailsForm.value.email != null || this.clinicDetailsForm.value.email != undefined) {\r\n if (this.clinicDetailsForm.value.email.trim().length > 0) {\r\n if (!this.utility.validateSingleEmail(this.clinicDetailsForm.value.email)) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidEmail']);\r\n return false;\r\n }\r\n }\r\n }\r\n if (this.clinicDetailsForm.value.phone != null || this.clinicDetailsForm.value.phone != undefined) {\r\n\r\n if (this.clinicDetailsForm.value.phone.trim().length > 0) {\r\n if (!this.utility.validatePhoneNo(this.clinicDetailsForm.value.phone.trim())) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidPhoneFormat']);\r\n return false;\r\n }\r\n }\r\n }\r\n if (this.clinicDetailsForm.value.pharmacistPhone != null || this.clinicDetailsForm.value.pharmacistPhone != undefined) {\r\n if (this.clinicDetailsForm.value.pharmacistPhone.trim().length > 0) {\r\n if (!this.utility.validatePhoneNo(this.clinicDetailsForm.value.pharmacistPhone.trim())) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidPhoneFormat']);\r\n return false;\r\n }\r\n }\r\n }\r\n if (!this.isAssignedStoreValid()) {\r\n if (this.coClinicDetails.clinicList[0].isConfirmed || this.coClinicDetails.clinicList[0].isConfirmed == 1 ||\r\n this.coClinicDetails.clinicList[0].isCompleted || this.coClinicDetails.clinicList[0].isCompleted == 1 ||\r\n this.coClinicDetails.clinicList[0].isCancelled || this.coClinicDetails.clinicList[0].isCancelled == 1) {\r\n this.showDialog(ErrorMessages['reAssignStoreInvalidActionHdr'], ErrorMessages['reAssignStoreInvalidActionMsg']);\r\n return false;\r\n }\r\n }\r\n let controlclinicList = this.clinicDetailsForm.controls['clinicList'];\r\n let index_clinic;\r\n for (index_clinic = 0; index_clinic < controlclinicList.length; index_clinic++) {\r\n\r\n let address1: string = controlclinicList.controls[index_clinic].get('naClinicAddress1').value;\r\n let address2: string = controlclinicList.controls[index_clinic].get('naClinicAddress2').value;\r\n\r\n let address = (address1 + address2).trim().replace(/[\\[\\]().-]+/g, '');\r\n address = address.replace(/\\s/g, '');\r\n if (address.toLowerCase().includes(\"pobox\")) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"Addresses containing a P.O. Box are not allowed. Please enter a valid location address.\";\r\n\r\n this.showDialogV2(this.dialogSummary, this.dialogMsg);\r\n return;\r\n }\r\n\r\n }\r\n this.action_status = \"Completed\";\r\n if (!this.validateReduceEstQnt()) {\r\n return;\r\n }\r\n //let clinicItem = (this.clinicDetailsForm.controls['clinicList']);\r\n if (!this.alertUserAboutScheduler()) {\r\n return;\r\n }\r\n this.is_completed = true;\r\n let ret: Boolean = false;\r\n if (this.clinicDetailsForm.value.clinicList.length > 1) {\r\n ret = this.isClinicDateReminderBefore2WksReq(\"Completed\");\r\n }\r\n if (!ret || (ret && this.clinicDetailsForm.value.clinicList.length <= 1)) {\r\n this.continueWithSaving(\"Completed\");\r\n }\r\n else {\r\n let sumMsg = ErrorMessages['impRmndrFor2Wks'];\r\n let errMsg = ErrorMessages['new_clinicDateReminderBefore2WeeksEN'];\r\n // if (ClinicDetailsUtilities.shallWeShow2WkConfirmDialog(SessionDetails.GetUserProfile())) {\r\n this.OverrideOrOkTitle = \"OK\";\r\n this.showCancelBtn = false;\r\n this.confirm(sumMsg, errMsg, \"Completed\");\r\n // return\r\n // }\r\n // else {\r\n // errMsg = ErrorMessages['clinicDateReminderBefore2WeeksEN'];\r\n // this.showDialog(sumMsg, errMsg);\r\n // return\r\n // }\r\n\r\n }\r\n }\r\n else {\r\n control = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let imz_names: string = this.validateClinicalRequirements(control);\r\n if (imz_names.length > 0) {\r\n this.showDialogV2(ErrorMessages['serverError'], String.Format(ErrorMessages['clinicalRequirementsError'], imz_names));\r\n return;\r\n }\r\n if (this.clinicDetailsForm.value.email != null && this.clinicDetailsForm.value.email != undefined &&\r\n this.clinicDetailsForm.value.email.trim().length > 0\r\n && !this.utility.validateSingleEmail(this.clinicDetailsForm.value.email)) {\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidEmail']);\r\n return;\r\n }\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n if (this.isVoucherPaymentSelected && !(parseInt(this.clinicDetailsForm.get('vouchersRedeemed')?.value)) || 0) {\r\n this.clinicDetailsForm.get('vouchersRedeemed').setErrors({ incorrect: true });\r\n this.clinicDetailsForm.get('vouchersRedeemed').markAsTouched();\r\n this.clinicDetailsForm.get('vouchersRedeemed').markAsDirty();\r\n }\r\n else {\r\n this.clinicDetailsForm.get('vouchersRedeemed').setErrors(null);\r\n this.clinicDetailsForm.get('vouchersRedeemed').markAsUntouched();\r\n this.clinicDetailsForm.get('vouchersRedeemed').markAsPristine();\r\n }\r\n this.clinicDetailsForm.updateValueAndValidity();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n saveChanges() {\r\n this.adminConfirmedCancellation = false;\r\n // this.isAdmin = SessionDetails.GetUserProfile().isAdmin;\r\n if (this.coClinicDetails.opportunityInfo.childClinicAgreementId != null && this.coClinicDetails.opportunityInfo.childClinicAgreementId > 0 &&\r\n !this.coClinicDetails.opportunityInfo.childClinicAgreementApproved) {\r\n this.clinicNotConfirmedMsgDlg = true;\r\n this.showClinicNotConfirmedDialog('Amend Agreement', ErrorMessages['DisbaleButtonsAmend']);\r\n return false;\r\n }\r\n this.action_status = null;\r\n let control = this.clinicDetailsForm.controls['clinicList'];\r\n const estimatedParticipants = this.clinicDetailsForm.get('estimatedParticipants')?.value;\r\n let index;\r\n for (index = 0; index < control.length; index++) {\r\n if (this.coClinicDetails.clinicList[0].isCompleted && index == 0) {\r\n control.controls[index].get('confirmedClientName').setValidators([1, 3, 5, 7].indexOf(this.clinicType) > -1 ? [Validators.required] : null);\r\n control.controls[index].get('confirmedClientName').updateValueAndValidity();\r\n } else {\r\n control.controls[index].get('confirmedClientName').setValidators(null);\r\n control.controls[index].get('confirmedClientName').updateValueAndValidity();\r\n }\r\n this.utility.validateAllFormFields(control.controls[index]);\r\n }\r\n if ((estimatedParticipants != null || estimatedParticipants != undefined) && !this.estimatedParticipantsAdminConfirmation) {\r\n const locations = this.clinicDetailsForm.controls[\"clinicList\"] as FormArray;\r\n for (const location of locations.controls) {\r\n const clinicImzQtyList = location.get('clinicImzQtyList') as FormArray;\r\n for (const clinicImzQty of clinicImzQtyList.controls) {\r\n const estimatedQty = clinicImzQty.get('estimatedQuantity')?.value;\r\n if (estimatedQty > estimatedParticipants) {\r\n this.showParticipantsShotsMismatchWarningSaveError = true;\r\n this.dialogMsg = ErrorMessages[\"estimatedParticipantsWarning\"].replace('LOCATION', `${location.get('naClinicLocation').value}`);\r\n this.dialogSummary = \"Please resolve the below issues to continue further\";\r\n clinicImzQty.get('estimatedQuantity').setErrors({ incorrect: true });\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n locations.updateValueAndValidity();\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n if (!this.covidVaccineWarningOkClicked) {\r\n const locations = this.clinicDetailsForm.controls[\"clinicList\"] as FormArray;\r\n for (const location of locations.controls) {\r\n const clinicImzQtyList = location.get('clinicImzQtyList') as FormArray;\r\n let clinicDate = location.get('clinicDate').value;\r\n clinicDate = moment(clinicDate);\r\n let startDate = moment(environment.covidVaccineNotAviableDates.startDate, \"DD/MM/YYYY\");\r\n let endDate = moment(environment.covidVaccineNotAviableDates.endDate, \"DD/MM/YYYY\");\r\n for (const clinicImzQty of clinicImzQtyList.controls) {\r\n if (clinicImzQty.get('immunizationName').value.toLocaleLowerCase()?.includes('covid') && (Number(clinicImzQty.get('estimatedQuantity').value) > 0) && (clinicDate.isBetween(startDate, endDate) || clinicDate.isSame(startDate) || clinicDate.isSame(endDate)) && !environment.disabledFeatures.covidWarning) {\r\n this.covidVaccineSelected = true;\r\n this.dialogMsg = ErrorMessages[\"sesionalCovid19Info\"];\r\n this.dialogSummary = \"Alert\";\r\n clinicImzQty.get('estimatedQuantity').setErrors({ 'incorrect': true });\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n } else {\r\n clinicImzQty.get('estimatedQuantity').setErrors(null);\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n if (this.covidVaccineSelected) {\r\n locations.updateValueAndValidity();\r\n return false;\r\n } else {\r\n locations.updateValueAndValidity();\r\n }\r\n } else {\r\n this.covidVaccineWarningOkClicked = false;\r\n }\r\n\r\n control = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let totalImmAdministeredIsOK = true;\r\n if (control != null || control != undefined) {\r\n for (index = 0; index < control.length; index++) {\r\n // if (this.coClinicDetails.clinicList[0].isCompleted) {\r\n // control.controls[index].get('totalImmAdministered').setValidators([Validators.required]);\r\n // control.controls[index].get('totalImmAdministered').updateValueAndValidity();\r\n // }\r\n // else {\r\n // control.controls[index].get('totalImmAdministered').setValidators(null);\r\n // control.controls[index].get('totalImmAdministered').updateValueAndValidity();\r\n control.controls[index].get('estimatedQuantity').setValidators(Validators.required);\r\n control.controls[index].get('estimatedQuantity').updateValueAndValidity();\r\n\r\n if ([1, 3, 5, 6, 13].indexOf(this.clinicType) > -1) {\r\n if (this.reassignForm.value.assignType != null && this.reassignForm.value.assignType != \"\") {\r\n control.controls[index].get('isClinicalReqd').setValidators(null);\r\n } else {\r\n control.controls[index].get('isClinicalReqd').setValidators((ImmunizationsClinicalRequirements[\"immunizations\"].indexOf(control.controls[index].get('immunizationName').value) > -1 ? Validators.requiredTrue : Validators.nullValidator));\r\n }\r\n control.controls[index].get('isClinicalReqd').updateValueAndValidity();\r\n }\r\n\r\n this.utility.validateAllFormFields(control.controls[index]);\r\n console.log(\"controls\", control.controls)\r\n if (totalImmAdministeredIsOK && control.controls[index].get('totalImmAdministered').value != null) {\r\n if (Number(control.controls[index].get('totalImmAdministered').value) < 0 && control.controls[index].get('totalImmAdministered').value != \"\") {\r\n totalImmAdministeredIsOK = false;\r\n }\r\n }\r\n\r\n if (\r\n (this.coClinicDetails.clinicList[0].isCompleted)\r\n && (\r\n control.controls[index].get('totalImmAdministered').value == null\r\n || control.controls[index].get('totalImmAdministered').value?.toString().length == 0\r\n )\r\n ) {\r\n let formGroup: FormGroup = control.controls[index] as FormGroup;\r\n formGroup.controls['totalImmAdministered'].setValidators([Validators.required]);\r\n formGroup.controls['totalImmAdministered'].setErrors({ 'incorrect': true });\r\n formGroup.controls['totalImmAdministered'].markAsDirty();\r\n formGroup.controls['totalImmAdministered'].markAsTouched();\r\n }\r\n }\r\n }\r\n\r\n this.isNoclinicValidations();\r\n\r\n this.clinicDetailsForm.controls[\"feedbackNotes\"].setValidators(null);\r\n this.clinicDetailsForm.controls[\"feedbackNotes\"].updateValueAndValidity();\r\n\r\n if (this.clinicDetailsForm.valid) {\r\n if (!this.validateReduceEstQnt()) {\r\n return;\r\n }\r\n //let clinicItem = (this.clinicDetailsForm.controls['clinicList']);\r\n if (!this.alertUserAboutScheduler()) {\r\n return;\r\n }\r\n // if (this.coClinicDetails.clinicList[0].isCompleted && this.clinicDetailsForm.value.pharmacistName != null &&\r\n // this.clinicDetailsForm.value.pharmacistName != undefined &&\r\n // this.clinicDetailsForm.value.pharmacistName.trim().length <= 0) {\r\n // this.showDialogV2(ErrorMessages['PharmacistPostClinicInfoHeading'], ErrorMessages['PharmacistPostClinicErrorMsg']);\r\n // return false;\r\n // }\r\n if (((this.clinicDetailsForm.value.phone).indexOf(\"X\") > -1)) {\r\n this.clinicDetailsForm.controls.phone.setValue(null);\r\n this.clinicDetailsForm.controls.phone.updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n if ([1, 2, 6].indexOf(this.clinicType) > -1) {\r\n if (!this.usPhoneNoRegEx.test(this.clinicDetailsForm.value.phone)) {\r\n this.showDialogV2(ErrorMessages['OpportunityInformationHeading'], ErrorMessages['OpportunityInformationMessage']);\r\n return false;\r\n }\r\n }\r\n for (let i = 0; i < this.clinicDetailsForm.value.clinicList.length; i++) {\r\n if (!this.usPhoneNoRegEx.test(this.clinicDetailsForm.value.clinicList[i].naClinicContactPhone)) {\r\n if (((this.clinicDetailsForm.value.clinicList[i].naClinicContactPhone).indexOf(\"X\") > -1)) {\r\n let icontrol = this.clinicDetailsForm.controls['clinicList'];\r\n icontrol.controls[i].get('naClinicContactPhone').setValue(null);\r\n icontrol.controls[i].get('naClinicContactPhone').setValidators([Validators.required]);\r\n icontrol.controls[i].get('naClinicContactPhone').updateValueAndValidity();\r\n this.utility.validateAllFormFields(icontrol.controls[i]);\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n else {\r\n if ([1, 2, 6].indexOf(this.clinicType) > -1) {\r\n this.showDialogV2(ErrorMessages['ClinicInformationHeading'], ErrorMessages['ClinicInformationMessage']);\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n if (!totalImmAdministeredIsOK) {\r\n if (this.clinicType != 13) {\r\n this.showDialogV2(ErrorMessages['clinicDetails'], ErrorMessages['totalAdministeredIsNOK']);\r\n return false;\r\n }\r\n\r\n }\r\n if (this.clinicDetailsForm.value.pharmacistPhone) {\r\n if (!this.usPhoneNoRegEx.test(this.clinicDetailsForm.value.pharmacistPhone)) {\r\n this.clinicDetailsForm.controls.pharmacistPhone.setValue(null);\r\n this.clinicDetailsForm.controls.pharmacistPhone.updateValueAndValidity();\r\n this.showDialogV2(ErrorMessages['PharmacistPostClinicInformationHeading'], ErrorMessages['PharmacistPostClinicInformationMessage']);\r\n return false;\r\n }\r\n }\r\n for (let i = 0; i < this.clinicDetailsForm.value.clinicList.length; i++) {\r\n if (this.clinicDetailsForm.value.clinicList[i].assignedStore == 0) {//this.clinicDetailsForm.value.clinicList[i].assignedStore ||\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['assignedStore']);\r\n return false;\r\n }\r\n }\r\n if (((this.clinicDetailsForm.value.recipientId != null ||\r\n this.clinicDetailsForm.value.recipientId != undefined) &&\r\n this.clinicDetailsForm.value.recipientId.trim().length <= 0) ||\r\n ((this.clinicDetailsForm.value.naClinicPlanId != null ||\r\n this.clinicDetailsForm.value.naClinicPlanId != undefined) &&\r\n this.clinicDetailsForm.value.naClinicPlanId.trim().length <= 0)) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n // let errCOVIDVisits:string[] = this.getCOVIDVisitTypesValidity();\r\n // if(errCOVIDVisits.length > 0){\r\n // this.showDialogV2(ErrorMessages['resolve'], errCOVIDVisits.join('

'));\r\n // return false;\r\n // }\r\n let controlclinicList = this.clinicDetailsForm.controls['clinicList'];\r\n let index_clinic;\r\n for (index_clinic = 0; index_clinic < controlclinicList.length; index_clinic++) {\r\n\r\n let address1: string = controlclinicList.controls[index_clinic].get('naClinicAddress1').value;\r\n let address2: string = controlclinicList.controls[index_clinic].get('naClinicAddress2').value;\r\n\r\n let address = (address1 + address2).trim().replace(/[\\[\\]().-]+/g, '');\r\n address = address.replace(/\\s/g, '');\r\n if (address.toLowerCase().includes(\"pobox\")) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"Addresses containing a P.O. Box are not allowed. Please enter a valid location address.\";\r\n\r\n this.showDialogV2(this.dialogSummary, this.dialogMsg);\r\n return;\r\n }\r\n\r\n }\r\n\r\n if (Number(this.coClinicDetails.clinicList[0].noSlotsOfBlocked) > 0 && !this.overrideBlockedSlotAlert\r\n && (this.coClinicDetails.clinicList[0].naClinicStartTime != this.clinicDetailsForm.value.clinicList[0].naClinicStartTime\r\n || this.coClinicDetails.clinicList[0].naClinicEndTime != this.clinicDetailsForm.value.clinicList[0].naClinicEndTime)) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = ErrorMessages['slotsBlockedWarning'];\r\n this.showBlockedSlotAlert = true;\r\n this.clinic_details_update.clinicContactStatus = \"Submit\"\r\n return;\r\n }\r\n if (!this.isClinicDateReminderBefore2WksReq(\"Submit\")) {\r\n this.clinic_details_update = this.saveData(null);\r\n this.clinic_details_update.clinicContactStatus = \"Submit\";\r\n if (this.dateTimeConflict()) {\r\n if (this.MinimumShotValidation(\"Submit\", false)) {\r\n if (this.isAssignedStoreValid()) {\r\n this._alertService.clear();\r\n this._alertService.info(ErrorMessages['clinicDateReminderAfter2WeeksEN'], false);\r\n this.scrolling();\r\n this.spinner.show();\r\n this.rescheduledErrorCode = 0;\r\n this.clinic_details_update.isSendLocationChangeEmailToAppts = false;\r\n if (this.isNoClinic) {\r\n this.handleTotalVaccinesAdministered();\r\n const clinic = this.clinic_details_update.clinicList[0];\r\n\r\n if (clinic && clinic.clinicImzQtyList) {\r\n clinic.clinicImzQtyList.forEach((immunization: any) => {\r\n immunization.estimatedQuantity = 0;\r\n });\r\n }\r\n\r\n }\r\n // this.clinic_details_update.opportunityInfo.b2BTeamEmail = '';\r\n // this.clinic_details_update.opportunityInfo.clientReportingEmail = '';\r\n this.clinic_details_update.isSendRescheduleEmailToAppts = false;\r\n console.log(\"clinic update details\", this.clinic_details_update);\r\n this.coClinicdetailsService.upDateClinicDetails(this.coClinicDetails.clinicList[0].clinicPk,\r\n this.clinic_details_update).subscribe((res: any) => {\r\n this.spinner.hide();\r\n //if (res.status == \"200\") {\r\n if (res.errorS != null) {\r\n if (res.errorS.errorCode != 0) {\r\n let errorCode = res.errorS.errorCode;\r\n let errorMessage = res.errorS.errorMessage;\r\n switch (errorCode) {\r\n case -4:\r\n let sumMsg = ErrorMessages['eventDateTimeConflict'];\r\n let finalErrMsg = String.Format(\"{0}

{1}\", res.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']);\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n this.confirm(sumMsg, finalErrMsg, null, true);\r\n break;\r\n case -6:\r\n this.rescheduledErrorCode = errorCode;\r\n this.showClinicLocationDetailsSaveChangesError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsLocationChangedWarning']);\r\n break;\r\n case -5:\r\n // if (this.isAdmin()) {\r\n this.rescheduledErrorCode = errorCode;\r\n this.showUpdateClinicDetailsRspError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsChangedWarning'].replace('{1}', errorMessage.replace(',', ', ')));\r\n // }\r\n // else {\r\n // this.showDialogV2(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsChangedErrMsg'].replace('{1}', errorMessage.replace(',', ', ')));\r\n // }\r\n break;\r\n case -7:\r\n this.showDialog(ErrorMessages['clinicDetails'], errorMessage);\r\n break;\r\n default:\r\n this.showDialogError(ErrorMessages['clinicDetails'], res.json().errorS.errorMessage);\r\n break;\r\n }\r\n return;\r\n }\r\n else {\r\n this.rescheduledErrorCode = 0;\r\n let msg = ErrorMessages['clinicSave'];\r\n if (this.clinic_details_update.clinicList[0].apptSchedulerType === 1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n msg = ErrorMessages['clinicSavedWithSchdlr']\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n msg = ErrorMessages['clinicSavedWithCPSchdlr']\r\n }\r\n this.showDialog(ErrorMessages['clinicDetails'], msg);\r\n }\r\n }\r\n else {\r\n this.rescheduledErrorCode = 0;\r\n let msg = ErrorMessages['clinicSave'];\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n msg = ErrorMessages['clinicSavedWithSchdlr'];\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n msg = ErrorMessages['clinicSavedWithCPSchdlr'];\r\n }\r\n this.showDialog(ErrorMessages['clinicDetails'], msg);\r\n }\r\n //}\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.showDialog(ErrorMessages['serverError'], err.message);\r\n });\r\n } else {\r\n this.showReAssignStoreDialog(null);\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n\r\n var userProfile = SessionDetails.GetUserProfile();\r\n if (userProfile.userRole.toLowerCase() == \"admin\" && !this.isFluDosesValidUnder14DaysTimeFrame()) {\r\n this.showFluDosesValidityDialog(ErrorMessages['resolve'],\r\n ErrorMessages['moreDosesInDetailsPageError'], null);\r\n return;\r\n }\r\n else if (!this.isFluDosesValidUnder14DaysTimeFrame()) {\r\n this.showDialog(ErrorMessages['resolve'], ErrorMessages['moreDosesInDetailsPageError']);\r\n return;\r\n }\r\n let sumMsg = ErrorMessages['impRmndrFor2Wks'];\r\n let errMsg = ErrorMessages['new_clinicDateReminderBefore2WeeksEN'];\r\n // if (ClinicDetailsUtilities.shallWeShow2WkConfirmDialog(userProfile)) {\r\n this.OverrideOrOkTitle = \"OK\";\r\n this.showCancelBtn = false;\r\n this.confirm(sumMsg, errMsg, null);\r\n // return;\r\n // }\r\n // else {\r\n // errMsg = ErrorMessages['clinicDateReminderBefore2WeeksEN'];\r\n // this.showDialog(sumMsg, errMsg);\r\n // return;\r\n // }\r\n }\r\n }\r\n else {\r\n control = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let imz_names: string = this.validateClinicalRequirements(control);\r\n if (imz_names.length > 0) {\r\n this.showDialogV2(ErrorMessages['serverError'], String.Format(ErrorMessages['clinicalRequirementsError'], imz_names));\r\n return;\r\n }\r\n if (this.clinicDetailsForm.value.email != null && this.clinicDetailsForm.value.email != undefined &&\r\n this.clinicDetailsForm.value.email.trim().length > 0\r\n && !this.utility.validateSingleEmail(this.clinicDetailsForm.value.email.trim())) {\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidEmail']);\r\n return;\r\n }\r\n for (let i = 0; i < this.clinicDetailsForm.value.clinicList.length; i++) {\r\n if (((this.clinicDetailsForm.value.clinicList[i].naClinicContactPhone) && (this.clinicDetailsForm.value.clinicList[i].naClinicContactPhone).indexOf(\"X\") > -1) || (this.clinicDetailsForm.value.clinicList[i].naClinicContactPhone) == '') {\r\n let xcontrol = this.clinicDetailsForm.controls['clinicList'];\r\n xcontrol.controls[i].get('naClinicContactPhone').setValue(null);\r\n xcontrol.controls[i].get('naClinicContactPhone').setValidators([Validators.required]);\r\n xcontrol.controls[i].get('naClinicContactPhone').updateValueAndValidity();\r\n this.utility.validateAllFormFields(xcontrol.controls[i]);\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n }\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n return;\r\n }\r\n }\r\n getCOVIDVisitTypesValidity() {\r\n var re = /COVID19/gi;\r\n var dose1Re = /First Dose/gi;\r\n var dose2Re = /Second Dose/gi;\r\n let isValid = false;\r\n let errMsgs: string[] = [];\r\n for (let count = 0; count < this.clinicDetailsForm.value.clinicList.length; count++) {\r\n // let visitType:number = this.clinicDetailsForm.value.clinicList[count].visitType;\r\n let totalCovidImmCount: number = 0;\r\n let covidImmList = null;\r\n // bug 834 fix\r\n\r\n }\r\n return errMsgs;\r\n }\r\n\r\n validateClinicalRequirements(control_list: any) {\r\n let imz_names: string = \"\";\r\n let cnt = 0;\r\n if (control_list !== null || control_list !== undefined) {\r\n for (let index = 0; index < control_list.length; index++) {\r\n if ((ImmunizationsClinicalRequirements[\"immunizations\"].indexOf(control_list.controls[index].get('immunizationName').value) > -1 && control_list.controls[index].get('isClinicalReqd').status === 'INVALID')) {\r\n if (imz_names.indexOf(control_list.controls[index].get('immunizationName').value) == -1) {\r\n imz_names = imz_names + ((cnt === this.clinicalRequirements.length - 1) ? ((this.clinicalRequirements.length === 1) ? '' : ' and ') : ((imz_names.length > 0) ? ', ' : '')) + control_list.controls[index].get('immunizationName').value;\r\n cnt++;\r\n }\r\n }\r\n }\r\n }\r\n return imz_names;\r\n }\r\n\r\n isAssignedStoreValid() {\r\n let is_valid_assigned_store: boolean = true;\r\n let is_reassigning: boolean = false;\r\n let has_clinical_req_approved: boolean = false;\r\n has_clinical_req_approved = this.hasClinicalRequirements();\r\n if ((this.clinicDetailsForm.value.storeID !== null && this.clinicDetailsForm.value.storeID !== undefined) &&\r\n (this.reassignForm.value.assignStoreID !== null && this.reassignForm.value.assignStoreID !== undefined) &&\r\n ((this.reassignForm.value.assignStoreID.storeId !== null ||\r\n this.reassignForm.value.assignStoreID.storeId !== undefined))) {\r\n if (Number(this.coClinicDetails.opportunityInfo.storeId) !== Number(this.reassignForm.value.assignStoreID.storeId) &&\r\n (this.coClinicDetails.clinicList[0].isConfirmed === true || Number(this.coClinicDetails.clinicList[0].isConfirmed) === 1 ||\r\n (this.coClinicDetails.clinicList[0].isCompleted === true || Number(this.coClinicDetails.clinicList[0].isCompleted) === 1) ||\r\n (this.coClinicDetails.clinicList[0].isCancelled === true || Number(this.coClinicDetails.clinicList[0].isCancelled) === 1))) {\r\n is_valid_assigned_store = false;\r\n if (Number(this.coClinicDetails.opportunityInfo.storeId) !== Number(this.reassignForm.value.assignStoreID.storeId) || this.reassignForm.value.assignType.toLowerCase() === 'geography') {\r\n is_reassigning = true;\r\n }\r\n }\r\n }\r\n\r\n if ((!is_reassigning || (this.coClinicDetails.clinicList && (this.coClinicDetails.clinicList[0].isCancelled !== true && Number(this.coClinicDetails.clinicList[0].isCancelled) !== 1) &&\r\n (this.coClinicDetails.clinicList[0].isCompleted !== true && Number(this.coClinicDetails.clinicList[0].isCompleted) !== 1))) &&\r\n ((!is_valid_assigned_store && has_clinical_req_approved) || (is_valid_assigned_store && has_clinical_req_approved)\r\n || (is_valid_assigned_store && !has_clinical_req_approved))) {\r\n if (this.clinic_details_update.clinicList && this.clinic_details_update.clinicList[0].isReassign === 1) {\r\n this.clinic_details_update.clinicList[0].isCancelled = false;\r\n //this.clinic_details_update.clinicList[0].isCompleted = false;\r\n this.clinic_details_update.clinicList[0].isConfirmed = false;\r\n }\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n hasClinicalRequirements(): boolean {\r\n let has_cl_approved: boolean = false;\r\n this.coClinicDetails.clinicList[0].clinicImzQtyList.forEach(imz => {\r\n if (this.clinic_details_update.clinicList && (this.clinic_details_update.clinicList[0].isReassign === 1 || (this.clinic_details_update.clinicList[0].reassignType && this.clinic_details_update.clinicList[0].reassignType.toLowerCase() === 'geography')) && ImmunizationsClinicalRequirements[\"immunizations\"].indexOf(imz.immunizationName) > -1 && imz.isClinicalReqd) {\r\n has_cl_approved = true;\r\n }\r\n });\r\n return has_cl_approved;\r\n }\r\n\r\n clearReassignDialogControls() {\r\n this.reassignForm = this.formBuilder.group({\r\n assignType: [null, null],\r\n assignStoreID: [null, null],\r\n assignStore: ['', null],\r\n });\r\n }\r\n maintainStatusClicked() {\r\n this.AssignedStoreChkModalDlg = false;\r\n this.maintainStatusSelected = true;\r\n this.clinic_details_update = this.saveData(null);\r\n this.clinic_details_update.clinicContactStatus = \"Submit\";\r\n this._alertService.clear();\r\n this._alertService.info(ErrorMessages['clinicDateReminderAfter2WeeksEN'], false);\r\n this.scrolling();\r\n this.spinner.show();\r\n this.coClinicdetailsService.upDateClinicDetails(this.coClinicDetails.clinicList[0].clinicPk,\r\n this.clinic_details_update).subscribe((res: any) => {\r\n this.spinner.hide();\r\n //if (res.status == \"200\") {\r\n if (res.errorS != null) {\r\n if (res.errorS.errorCode != 0) {\r\n switch (res.errorS.errorCode) {\r\n case -4:\r\n let sumMsg = ErrorMessages['eventDateTimeConflict'];\r\n let finalErrMsg = String.Format(\"{0}

{1}\", res.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']);\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n this.confirm(sumMsg, finalErrMsg, null, true);\r\n break;\r\n default:\r\n this.showDialogError(ErrorMessages['clinicDetails'], res.errorS.errorMessage);\r\n break;\r\n }\r\n return;\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['clinicDetails'], ErrorMessages['clinicSave']);\r\n }\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['clinicDetails'], ErrorMessages['clinicSave']);\r\n }\r\n //}\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.showDialog(ErrorMessages['serverError'], err.Message);\r\n });\r\n }\r\n contactClientClicked() {\r\n this.AssignedStoreChkModalDlg = false;\r\n this.maintainStatusSelected = false;\r\n this.clinic_details_update = this.saveData(null);\r\n this.clinic_details_update.clinicContactStatus = \"Submit\";\r\n this.clinic_details_update.clinicList[0].isConfirmed = [2, 6].indexOf(this.clinicType) > -1 ? 1 : 0;\r\n this.clinic_details_update.clinicList[0].isCancelled = 0;\r\n this.clinic_details_update.clinicList[0].isCompleted = 0;\r\n this.maintainStatusSelected = true;\r\n this._alertService.clear();\r\n this._alertService.info(ErrorMessages['clinicDateReminderAfter2WeeksEN'], false);\r\n this.scrolling();\r\n this.spinner.show();\r\n this.coClinicdetailsService.upDateClinicDetails(this.coClinicDetails.clinicList[0].clinicPk,\r\n this.clinic_details_update).subscribe((res: any) => {\r\n this.spinner.hide();\r\n //if (res.status == \"200\") {\r\n if (res.errorS != null) {\r\n if (res.errorS.errorCode != 0) {\r\n switch (res.errorS.errorCode) {\r\n case -4:\r\n let sumMsg = ErrorMessages['eventDateTimeConflict'];\r\n let finalErrMsg = String.Format(\"{0}

{1}\", res.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']);\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n this.confirm(sumMsg, finalErrMsg, null, true);\r\n break;\r\n default:\r\n this.showDialogError(ErrorMessages['clinicDetails'], res.errorS.errorMessage);\r\n break;\r\n }\r\n return;\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['clinicDetails'], ErrorMessages['clinicSave']);\r\n }\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['clinicDetails'], ErrorMessages['clinicSave']);\r\n }\r\n //}\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.showDialog(ErrorMessages['serverError'], err.Message);\r\n });\r\n }\r\n showReAssignStoreDialog(action_status: string) {\r\n this.dialogSummary = ErrorMessages['reassignStoreChkHdr'];\r\n let control = this.clinicDetailsForm.controls['clinicList'];\r\n\r\n if (control.value[0].isNoClinic == 1) {\r\n if (this.coClinicDetails.clinicList[0].isConfirmed == 1 || this.coClinicDetails.clinicList[0].isCompleted == 1)\r\n this.reAssignOutreachStatusLabel = \"Provide Vouchers\";\r\n }\r\n else {\r\n this.reAssignOutreachStatusLabel = [1].indexOf(this.clinicType) > -1 ? \"Contact Client\" : \"Confirmed\";\r\n }\r\n this.dialogMsg = String.Format(ErrorMessages['reassignStoreChkMsg'], this.reAssignOutreachStatusLabel);\r\n this.AssignedStoreChkModalDlg = true;\r\n }\r\n isNoclinicValidations() {\r\n let control = this.clinicDetailsForm.controls['clinicList'];\r\n let index;\r\n for (index = 0; index < control.length; index++) {\r\n if (control.value[index].isNoClinic == 1) {\r\n control.controls[index].get('clinicDate').setValidators(null);\r\n control.controls[index].get('clinicDate').setValue(null);\r\n control.controls[index].get('clinicDate').updateValueAndValidity();\r\n control.controls[index].get('naClinicStartTime').setValidators(null);\r\n\r\n control.controls[index].get('naClinicStartTime').updateValueAndValidity();\r\n control.controls[index].get('naClinicStartTime').setValue(null);\r\n control.controls[index].get('naClinicEndTime').setValidators(null);\r\n control.controls[index].get('naClinicEndTime').updateValueAndValidity();\r\n control.controls[index].get('naClinicEndTime').setValue(null);\r\n this.utility.validateAllFormFields(control.controls[index]);\r\n }\r\n else {\r\n control.controls[index].get('clinicDate').setValidators([Validators.required]);\r\n control.controls[index].get('clinicDate').updateValueAndValidity();\r\n control.controls[index].get('naClinicStartTime').setValidators([Validators.required]);\r\n control.controls[index].get('naClinicStartTime').updateValueAndValidity();\r\n control.controls[index].get('naClinicEndTime').setValidators([Validators.required]);\r\n control.controls[index].get('naClinicEndTime').updateValueAndValidity();\r\n this.utility.validateAllFormFields(control.controls[index]);\r\n }\r\n }\r\n }\r\n\r\n continueWithSaving(action_status, is_override?: boolean) {\r\n var error_message = \"\";\r\n this.clinic_details_update = this.saveData(action_status);\r\n\r\n if (this.dateTimeConflict()) {\r\n\r\n let min_shot_validation = true;\r\n min_shot_validation = this.MinimumShotValidation(action_status, is_override);\r\n if (min_shot_validation) {\r\n this.spinner.show();\r\n if (action_status != null) {\r\n if (action_status.toLowerCase() == 'completed') {\r\n error_message = ErrorMessages['clinicComplete'];\r\n if (this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n error_message = ErrorMessages['clinicCompleteWithSchdlr']\r\n }\r\n }\r\n if (action_status.toLowerCase() == 'confirmed') {\r\n error_message = ErrorMessages['clinicConfirm'];\r\n if (this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1) {\r\n error_message = ErrorMessages['clinicConfirmWithSchdlr'];\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1) {\r\n error_message = ErrorMessages['clinicConfirmWithCPSchdlr'];\r\n }\r\n }\r\n }\r\n\r\n if (action_status.toLowerCase() == 'cancelled') {\r\n error_message = ErrorMessages['clinicCancel'];\r\n this.clinic_details_update.disposition = this.selectedCancelDisposition;\r\n }\r\n if (action_status.toLowerCase() == 'submit') {\r\n error_message = ErrorMessages['clinicSave'];\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n error_message = ErrorMessages['clinicSavedWithSchdlr']\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n error_message = ErrorMessages['clinicSavedWithCPSchdlr'];\r\n }\r\n }\r\n }\r\n else {\r\n error_message = ErrorMessages['clinicSave'];\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n error_message = ErrorMessages['clinicSavedWithSchdlr']\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n error_message = ErrorMessages['clinicSavedWithCPSchdlr'];\r\n }\r\n }\r\n\r\n this._alertService.clear();\r\n if (action_status == null || action_status.toLowerCase() != 'completed') {\r\n this._alertService.info(ErrorMessages['clinicDateReminderAfter2WeeksEN'], false);\r\n }\r\n this.scrolling();\r\n this.rescheduledErrorCode = 0;\r\n var areApptsPresent = this.coClinicDetails.clinicList[0].areApptsPresent;\r\n var noSlotsOfBlocked = this.coClinicDetails.clinicList[0].noSlotsOfBlocked;\r\n var isAdmin = SessionDetails.GetUserProfile().isAdmin;\r\n var now = new Date();\r\n now.setHours(0, 0, 0, 0);\r\n var clinicDate = new Date(this.coClinicDetails.clinicList[0].clinicDate);\r\n clinicDate.setHours(0, 0, 0, 0);\r\n this.clinic_details_update.isSendLocationChangeEmailToAppts = false;\r\n this.clinic_details_update.isSendRescheduleEmailToAppts = false;\r\n if (this.isNoClinic) {\r\n const clinic = this.clinic_details_update.clinicList[0];\r\n\r\n if (clinic && clinic.clinicImzQtyList) {\r\n clinic.clinicImzQtyList.forEach((immunization: any) => {\r\n immunization.estimatedQuantity = 0;\r\n });\r\n }\r\n }\r\n this.coClinicdetailsService.upDateClinicDetails(this.coClinicDetails.clinicList[0].clinicPk,\r\n this.clinic_details_update, is_override).subscribe((res: any) => {\r\n this.spinner.hide();\r\n //if (res.status == \"200\") {\r\n if (res.errorS != null) {\r\n if (res.errorS.errorCode != 0) {\r\n let errorCode = res.errorS.errorCode;\r\n let errorMessage = res.errorS.errorMessage;\r\n this.isOverride = is_override;\r\n switch (errorCode) {\r\n case -4:\r\n let sumMsg = ErrorMessages['eventDateTimeConflict'];\r\n let finalErrMsg = String.Format(\"{0}

{1}\", res.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']);\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n this.confirm(sumMsg, finalErrMsg, this.clinic_details_update.clinicContactStatus, true);\r\n break;\r\n case -6:\r\n this.rescheduledErrorCode = errorCode;\r\n this.showClinicLocationDetailsSaveChangesError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsLocationChangedWarning']);\r\n break;\r\n case -5:\r\n // if (this.isAdmin()) { \r\n this.rescheduledErrorCode = errorCode;\r\n this.showUpdateClinicDetailsRspError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsChangedWarning'].replace('{1}', errorMessage.replace(',', ', ')));\r\n // }\r\n // else {\r\n // this.showDialogError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsChangedErrMsg'].replace('{1}', errorMessage.replace(',', ', ')));\r\n // }\r\n break;\r\n case -7:\r\n this.showDialog(ErrorMessages['clinicDetails'], errorMessage);\r\n break;\r\n default:\r\n this.showDialogError(ErrorMessages['clinicDetails'], res.json().errorS.errorMessage);\r\n break;\r\n }\r\n return;\r\n }\r\n else {\r\n this.isOverride = false;\r\n this.rescheduledErrorCode = 0;\r\n if (this.coClinicDetails.opportunityInfo.clinicType == 3) {\r\n this.showDialog(ErrorMessages['clinicDetails'], action_status && action_status.toLowerCase() == 'cancelled' && areApptsPresent && (isAdmin == false || isAdmin == undefined)\r\n && clinicDate >= new Date(now.getFullYear(), now.getMonth(), now.getDate()) ? String.Format(ErrorMessages['clinicCancelForClinicType3And5'], this.coClinicDetails.clinicList[0].clinicNumber) : error_message);\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['clinicDetails'], error_message);\r\n }\r\n }\r\n }\r\n else {\r\n this.isOverride = false;\r\n this.rescheduledErrorCode = 0;\r\n if (this.coClinicDetails.opportunityInfo.clinicType == 3) {\r\n this.showDialog(ErrorMessages['clinicDetails'], action_status && action_status.toLowerCase() == 'cancelled' && areApptsPresent && (isAdmin == false || isAdmin == undefined)\r\n && clinicDate >= new Date(now.getFullYear(), now.getMonth(), now.getDate()) ? String.Format(ErrorMessages['clinicCancelForClinicType3And5'], this.coClinicDetails.clinicList[0].clinicNumber) : error_message);\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['clinicDetails'], error_message);\r\n }\r\n }\r\n //}\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.isOverride = false;\r\n this.rescheduledErrorCode = 0;\r\n this.showDialog(ErrorMessages['serverError'], err.message);\r\n });\r\n }\r\n }\r\n }\r\n\r\n confirm(hdr: string, msg: string, action_status, is_overlap?: boolean) {\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n if (is_overlap) {\r\n this.continueWithSaving(action_status, true);\r\n } else {\r\n this.continueWithSaving(action_status);\r\n }\r\n return true;\r\n },\r\n reject: () => {\r\n this.isOverride = false;\r\n return false;\r\n }\r\n });\r\n }\r\n showFluDosesValidityDialog(hdr: string, msg: string, action_status) {\r\n this.dialogMsg = msg;\r\n this.dialogSummary = hdr;\r\n this.FluDosesValidUnder14DaysDlg = true;\r\n }\r\n\r\n OverrideFluDosesValidUnder14Days() {\r\n this.FluDosesValidUnder14DaysDlg = false;\r\n this.continueWithSaving(null);\r\n }\r\n\r\n CancelFluDosesValidUnder14Days() {\r\n this.FluDosesValidUnder14DaysDlg = false;\r\n }\r\n\r\n isFluDosesValidUnder14DaysTimeFrame(): boolean {\r\n let count: number = 0;\r\n try {\r\n this.coClinicDetails.clinicList[0].clinicImzQtyList.forEach(imz => {\r\n let qty = Number(this.clinicDetailsForm.controls.clinicImmunizationList['controls'][count].get('estimatedQuantity').value)\r\n if (Number(imz.estimatedQuantity) < qty) {\r\n throw false;\r\n }\r\n count++;\r\n });\r\n } catch (e) {\r\n if (e === false) {\r\n return e;\r\n }\r\n }\r\n return true;\r\n }\r\n Status() {\r\n this.savePopUpStatus = false;\r\n window.scrollTo(0, 0);\r\n this.bindLocalClinicData();\r\n }\r\n\r\n cancelClinic() {\r\n if (this.selectedCancelDisposition.length) {\r\n this.displayCancelError = false;\r\n }\r\n else {\r\n this.displayCancelError = true;\r\n return;\r\n }\r\n\r\n this.showClinicCancelDlg = false;\r\n if (this.coClinicDetails.opportunityInfo.childClinicAgreementId != null && this.coClinicDetails.opportunityInfo.childClinicAgreementId > 0 && !this.coClinicDetails.opportunityInfo.childClinicAgreementApproved) {\r\n this.clinicNotConfirmedMsgDlg = true;\r\n this.showClinicNotConfirmedDialog('Amend Agreement', ErrorMessages['DisbaleButtonsAmend']);\r\n return false;\r\n }\r\n let control = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let index;\r\n for (index = 0; index < control.length; index++) {\r\n control.controls[index].get('totalImmAdministered').setValidators(null);\r\n control.controls[index].get('totalImmAdministered').updateValueAndValidity();\r\n control.controls[index].get('estimatedQuantity').setValidators(Validators.required);\r\n control.controls[index].get('estimatedQuantity').updateValueAndValidity();\r\n\r\n control.controls[index].get('isClinicalReqd').setValidators(null);\r\n control.controls[index].get('isClinicalReqd').updateValueAndValidity();\r\n }\r\n control = this.clinicDetailsForm.controls['clinicList'];\r\n for (index = 0; index < control.length; index++) {\r\n control.controls[0].get('confirmedClientName').setValidators(null);\r\n control.controls[0].get('confirmedClientName').updateValueAndValidity();\r\n this.utility.validateAllFormFields(control.controls[index]);\r\n }\r\n this.isNoclinicValidations();\r\n // this.clinicDetailsForm.controls[\"pharmacistName\"].setValidators(null);\r\n // this.clinicDetailsForm.controls[\"pharmacistName\"].updateValueAndValidity();\r\n // this.clinicDetailsForm.controls[\"pharmacistPhone\"].setValidators(null);\r\n // this.clinicDetailsForm.controls[\"pharmacistPhone\"].updateValueAndValidity();\r\n // this.clinicDetailsForm.controls[\"totalHours\"].setValidators(null);\r\n // this.clinicDetailsForm.controls[\"totalHours\"].updateValueAndValidity();\r\n\r\n this.clinicDetailsForm.controls[\"feedbackNotes\"].setValidators(null);\r\n this.clinicDetailsForm.controls[\"feedbackNotes\"].updateValueAndValidity();\r\n\r\n this.clinicDetailsForm.controls[\"naClinicAddlComments\"].setValidators(Validators.required);\r\n this.clinicDetailsForm.controls[\"naClinicAddlComments\"].updateValueAndValidity();\r\n\r\n\r\n if (this.clinicDetailsForm.valid) {\r\n if (((this.clinicDetailsForm.value.recipientId != null ||\r\n this.clinicDetailsForm.value.recipientId != undefined) &&\r\n this.clinicDetailsForm.value.recipientId.trim().length <= 0) ||\r\n ((this.clinicDetailsForm.value.naClinicPlanId != null ||\r\n this.clinicDetailsForm.value.naClinicPlanId != undefined) &&\r\n this.clinicDetailsForm.value.naClinicPlanId.trim().length <= 0)) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n if ((this.clinicDetailsForm.value.email != null || this.clinicDetailsForm.value.email != undefined) &&\r\n this.clinicDetailsForm.value.email.trim().length > 0) {\r\n if (!this.utility.validateSingleEmail(this.clinicDetailsForm.value.email.trim())) {\r\n if ([1, 6].indexOf(this.clinicType) > -1) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidEmail']);\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n if ((this.clinicDetailsForm.value.phone != null || this.clinicDetailsForm.value.phone != undefined) &&\r\n this.clinicDetailsForm.value.phone.trim().length > 0) {\r\n if (!this.utility.validatePhoneNo(this.clinicDetailsForm.value.phone.trim())) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidPhoneFormat']);\r\n return false;\r\n }\r\n }\r\n if ((this.clinicDetailsForm.value.pharmacistPhone != null || this.clinicDetailsForm.value.pharmacistPhone != undefined) &&\r\n this.clinicDetailsForm.value.pharmacistPhone.trim().length > 0) {\r\n if (!this.utility.validatePhoneNo(this.clinicDetailsForm.value.pharmacistPhone.trim())) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidPhoneFormat']);\r\n return false;\r\n }\r\n }\r\n if (!this.isAssignedStoreValid()) {\r\n if (this.coClinicDetails.clinicList[0].isConfirmed == true || this.coClinicDetails.clinicList[0].isConfirmed == 1 ||\r\n this.coClinicDetails.clinicList[0].isCompleted == true || this.coClinicDetails.clinicList[0].isCompleted == 1 ||\r\n this.coClinicDetails.clinicList[0].isCancelled == true || this.coClinicDetails.clinicList[0].isCancelled == 1) {\r\n this.showDialog(ErrorMessages['reAssignStoreInvalidActionHdr'], ErrorMessages['reAssignStoreInvalidActionMsg']);\r\n return false;\r\n }\r\n }\r\n let controlclinicList = this.clinicDetailsForm.controls['clinicList'];\r\n let index_clinic;\r\n for (index_clinic = 0; index_clinic < controlclinicList.length; index_clinic++) {\r\n\r\n let address1: string = controlclinicList.controls[index_clinic].get('naClinicAddress1').value;\r\n let address2: string = controlclinicList.controls[index_clinic].get('naClinicAddress2').value;\r\n\r\n let address = (address1 + address2).trim().replace(/[\\[\\]().-]+/g, '');\r\n address = address.replace(/\\s/g, '');\r\n if (address.toLowerCase().includes(\"pobox\")) {\r\n this.dialogSummary = \"Clinic Details\";\r\n this.dialogMsg = \"Addresses containing a P.O. Box are not allowed. Please enter a valid location address.\";\r\n\r\n this.showDialogV2(this.dialogSummary, this.dialogMsg);\r\n return;\r\n }\r\n\r\n }\r\n this.is_cancelled = true;\r\n this.action_status = \"Cancelled\";\r\n if (!this.validateReduceEstQnt()) {\r\n return;\r\n }\r\n //let clinicItem = (this.clinicDetailsForm.controls['clinicList']);\r\n //clinicItem.controls[0].get('apptSchedulerType').value\r\n if (!this.alertUserAboutScheduler()) {\r\n return;\r\n }\r\n var now = new Date();\r\n now.setHours(0, 0, 0, 0);\r\n var clinicDate = new Date(this.coClinicDetails.clinicList[0].clinicDate);\r\n clinicDate.setHours(0, 0, 0, 0);\r\n var areApptsPresent = this.coClinicDetails.clinicList[0].areApptsPresent;\r\n var isAdmin = SessionDetails.GetUserProfile().isAdmin;\r\n if (this.coClinicDetails.clinicList[0].areApptsPresent &&\r\n this.adminConfirmedCancellation === false && //SessionDetails.GetUserProfile().isAdmin === true\r\n clinicDate >= new Date(now.getFullYear(), now.getMonth(), now.getDate())) {\r\n this.dialogSummary = \"Clinic Details\";\r\n this.dialogMsg = String.Format(ErrorMessages['clinicCancelForClinicType3And5ForAdmin'], [3, 5, 7].indexOf(this.clinicType) > -1 ? this.coClinicDetails.clinicList[0].clinicNumber : this.utility.numberToLetters(this.coClinicDetails.clinicList[0].clinicNumber - 1));\r\n this.adminCancellationAlert = true;\r\n return;\r\n }\r\n // \r\n if (this.coClinicDetails.clinicList[0].isCuraAppointmentScheduled &&\r\n this.adminConfirmedCancellation === false && //SessionDetails.GetUserProfile().isAdmin === true\r\n clinicDate >= new Date(now.getFullYear(), now.getMonth(), now.getDate())) {\r\n this.dialogSummary = \"Clinic Details\";\r\n this.dialogMsg = String.Format(ErrorMessages['clinicCancelForClinicType3And5ForAdmin'], [3, 5, 7].indexOf(this.clinicType) > -1 ? this.coClinicDetails.clinicList[0].clinicNumber : this.utility.numberToLetters(this.coClinicDetails.clinicList[0].clinicNumber - 1));\r\n this.adminCancellationAlert = true;\r\n return;\r\n }\r\n\r\n let ret = this.isClinicDateReminderBefore2WksReq(\"Cancelled\");\r\n if (!ret || (ret && this.clinicDetailsForm.value.clinicList.length <= 1)) {\r\n this.continueWithSaving(\"Cancelled\");\r\n }\r\n else {\r\n let sumMsg = ErrorMessages['impRmndrFor2Wks'];\r\n let errMsg = ErrorMessages['new_clinicDateReminderBefore2WeeksEN'];\r\n var userProfile = SessionDetails.GetUserProfile();\r\n //if (ClinicDetailsUtilities.shallWeShow2WkConfirmDialog(userProfile)) {\r\n this.OverrideOrOkTitle = \"OK\";\r\n this.showCancelBtn = false;\r\n this.confirm(sumMsg, errMsg, \"Cancelled\");\r\n // return;\r\n // }\r\n // else {\r\n // errMsg = ErrorMessages['clinicDateReminderBefore2WeeksEN'];\r\n // this.showDialog(sumMsg, errMsg);\r\n // return;\r\n // }\r\n }\r\n }\r\n else {\r\n if (this.clinicDetailsForm.value.email != null && this.clinicDetailsForm.value.email != undefined &&\r\n this.clinicDetailsForm.value.email.trim().length > 0\r\n && !this.utility.validateSingleEmail(this.clinicDetailsForm.value.email)) {\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n if ([1, 6].indexOf(this.clinicType) > -1) {\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['invalidEmail']);\r\n return false;\r\n }\r\n }\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n this.utility.validateAllFormFields(this.clinicDetailsForm);\r\n return;\r\n }\r\n }\r\n\r\n ContinueCancellation() {\r\n this.adminConfirmedCancellation = true;\r\n this.adminCancellationAlert = false;\r\n this.cancelClinic();\r\n }\r\n\r\n userCancelledCancellation() {\r\n this.adminConfirmedCancellation = false;\r\n this.adminCancellationAlert = false;\r\n }\r\n saveToDB() {\r\n let error_message = ErrorMessages['clinicSave'];\r\n if (this.clinic_details_update.clinicContactStatus == \"Submit\") {\r\n error_message = ErrorMessages['clinicSave'];\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n error_message = ErrorMessages['clinicSavedWithSchdlr']\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n error_message = ErrorMessages['clinicSavedWithCPSchdlr'];\r\n }\r\n }\r\n if (this.clinic_details_update.clinicContactStatus == \"Cancelled\") {\r\n error_message = ErrorMessages['clinicCancel'];\r\n }\r\n if (this.clinic_details_update.clinicContactStatus == \"Completed\") {\r\n error_message = ErrorMessages['clinicComplete'];\r\n if (this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n error_message = ErrorMessages['clinicCompleteWithSchdlr']\r\n }\r\n }\r\n if (this.clinic_details_update.clinicContactStatus == \"Confirmed\") {\r\n error_message = ErrorMessages['clinicConfirm'];\r\n if (this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1) {\r\n error_message = ErrorMessages['clinicConfirmWithSchdlr'];\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1) {\r\n error_message = ErrorMessages['clinicConfirmWithCPSchdlr'];\r\n }\r\n }\r\n }\r\n this.scrolling();\r\n this.spinner.show();\r\n this.coClinicdetailsService.upDateClinicDetails(this.coClinicDetails.clinicList[0].clinicPk,\r\n this.clinic_details_update).subscribe((res: any) => {\r\n this.spinner.hide();\r\n //if (res.status == \"200\") {\r\n if (res.errorS != null) {\r\n if (res.errorS.errorCode != 0) {\r\n let errorMessage = res.errorS.errorMessage;\r\n let errorCode = res.errorS.errorCode;\r\n switch (res.errorS.errorCode) {\r\n case -4:\r\n let sumMsg = ErrorMessages['eventDateTimeConflict'];\r\n let finalErrMsg = String.Format(\"{0}

{1}\", res.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']);\r\n this.confirm(sumMsg, finalErrMsg, this.clinic_details_update.clinicContactStatus, true);\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n break;\r\n case -6:\r\n this.rescheduledErrorCode = errorCode;\r\n this.showClinicLocationDetailsSaveChangesError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsLocationChangedWarning']);\r\n break;\r\n case -5:\r\n // if (this.isAdmin()) {\r\n this.rescheduledErrorCode = errorCode;\r\n this.showUpdateClinicDetailsRspError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsChangedWarning'].replace('{1}', errorMessage.replace(',', ', ')));\r\n // }\r\n // else {\r\n // this.showDialogV2(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsChangedErrMsg'].replace('{1}', errorMessage.replace(',', ', ')));\r\n // }\r\n break;\r\n case -7:\r\n this.showDialog(ErrorMessages['clinicDetails'], errorMessage);\r\n break;\r\n default:\r\n this.showDialogError(ErrorMessages['clinicDetails'], res.errorS.errorMessage);\r\n break;\r\n }\r\n return;\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['clinicDetails'], error_message);\r\n }\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['clinicDetails'], error_message);\r\n }\r\n //}\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.showDialog(ErrorMessages['serverError'], err.Message);\r\n });\r\n }\r\n\r\n\r\n deleteAgreementData() {\r\n if (this.coClinicDetails.clinicList[0].apptSchedulerType == 2 && this.coClinicDetails.clinicList[0].isCuraAppointmentScheduled && this.coClinicDetails.clinicList[0].isCancelled == false) {\r\n this.dialogMsg = 'This agreement has scheduled clinics with appointments. Please cancel the clinics associated with this agreement.';\r\n this.dialogSummary = ErrorMessages['clinicDetails'];\r\n this.showAfterClinicDelete = true;\r\n this.Action = 'scheduledappointments';\r\n return;\r\n }\r\n\r\n if (this.pageName.toLowerCase() == 'communityoutreachprogramdetails') {\r\n this.deleteDialogHeader = ErrorMessages['deleteCommunityOutreachHeader'];\r\n this.deleteDialogMsg = ErrorMessages['deleteCommunityOutreachConfirmation'];\r\n }\r\n else if (this.pageName.toLowerCase() == 'localclinicprogramdetails') {\r\n this.deleteDialogHeader = ErrorMessages['deleteOffSiteAgreementHeader'];\r\n this.deleteDialogMsg = ErrorMessages['deleteOffSiteAgreementConfirmation'];\r\n }\r\n this.deleteAgreement = true;\r\n }\r\n\r\n deleteAmendAgreementData() {\r\n this.isDeleteAmendAgreement = true;\r\n }\r\n deleteClinicDetails() {\r\n\r\n this.deleteAgreement = false;\r\n let clinic_details = new ClinicDetailsDelete();\r\n clinic_details.userPk = this.user_profile.userPk;\r\n clinic_details.username = this.user_profile.userName;\r\n clinic_details.businessName = this.coClinicDetails.opportunityInfo.businessName;\r\n clinic_details.clinicPk = this.coClinicDetails.clinicList[0].clinicPk;\r\n clinic_details.clinicStoreId = this.coClinicDetails.clinicList[0].clinicStoreId;\r\n clinic_details.contractedStoreId = this.coClinicDetails.opportunityInfo.contractedStoreId;\r\n this.clinicType = clinic_details.clinicType = this.coClinicDetails.opportunityInfo.clinicType;\r\n clinic_details.clinicName = [1, 2, 6].indexOf(this.clinicType) > -1 ? this.coClinicDetails.clinicList[0].naClinicLocation.replace(\"LOCATION \", \"CLINIC \") : this.coClinicDetails.clinicList[0].naClinicLocation;\r\n clinic_details.pData = this.pData;\r\n\r\n this.coClinicdetailsService.deleteClinicDetails(\r\n clinic_details).subscribe((res: any) => {\r\n if (res.errorS.errorCode == -1) {\r\n this.showDialogError(ErrorMessages['clinicDetails'], \"This agreement has scheduled clinics with appointments. Please cancel the clinics associated with this agreement.\");\r\n }\r\n else if (res.errorS.errorCode == -2) {\r\n this.showDialogError(ErrorMessages['clinicDetails'], \"The agreement cannot be deleted until the client has approved the Cancellation emails to be sent.\");\r\n }\r\n else if (res.errorS.errorCode == -7) {\r\n this.showDialogError(ErrorMessages['clinicDetails'], \" CURA Patient Error: \" + res.errorS);\r\n }\r\n else {\r\n this.showErrDialogThenGoToHome(ErrorMessages['clinicDetails'], ErrorMessages['clinicDetailsDelete']);\r\n //showErrDialogThenGoToHome(msgSummary: string, msgDetail: string) {\r\n\r\n //this.router.navigateByUrl(\"/communityoutreach/storehome\");\r\n }\r\n });\r\n }\r\n deleteAgreementCancel() {\r\n this.deleteAgreement = false;\r\n }\r\n\r\n deleteAmendAgreementCancel() {\r\n this.isDeleteAmendAgreement = false;\r\n }\r\n\r\n deleteAmendAgreement() {\r\n this.isDeleteAmendAgreement = false;\r\n\r\n this.coClinicdetailsService.deleteAmendAgreement(\r\n this.coClinicDetails.opportunityInfo.childClinicAgreementId, this.user_profile.userPk).subscribe((res: any) => {\r\n\r\n if (res.status == \"200\") {\r\n this.showDialog(ErrorMessages['clinicDetails'], ErrorMessages['clinicDetailsDelete']);\r\n this.router.navigateByUrl(\"/communityoutreach/storehome\");\r\n }\r\n });\r\n\r\n }\r\n removeCancelledStatus(status: boolean) {\r\n this.status = status;\r\n this.dialogSummary = status ? 'Remove Cancelled Status' : 'Remove Last Logged Status';\r\n this.dialogMsg = status ? ErrorMessages['RemoveCancelled'] : ErrorMessages['RemoveLogStatus'];\r\n this.showRemoveCancelledStatusDlg = true;\r\n }\r\n cancelRemoveCancelledStatus() {\r\n this.showRemoveCancelledStatusDlg = false;\r\n }\r\n\r\n continueToRemoveCancelledStatus() {\r\n var clinic_pk = this.coClinicDetails.clinicList[0].clinicPk;\r\n console.log('TODO');\r\n this.coClinicdetailsService.removeClinicCancelledStatus(\r\n clinic_pk, this.status).subscribe((res: any) => {\r\n if (res == \"success\") {\r\n this.showRemoveCancelledStatusDlg = false;\r\n this.showRemoveCancelledStatusDialogResult(ErrorMessages['clinicDetails'], this.status ? ErrorMessages['removeCancelledClinicStatus'] : 'The last logged status has been removed successfully.');\r\n }\r\n }, error => {\r\n this.showRemoveCancelledStatusDlg = false;\r\n this.showDialogError(ErrorMessages['clinicDetails'], ErrorMessages['error']);\r\n });\r\n }\r\n confirmDeleteClinic() {\r\n if (this.areApptsPresent || (this.coClinicDetails.clinicList[0].apptSchedulerType == 2 && this.coClinicDetails.clinicList[0].isCuraAppointmentScheduled)) {\r\n this.dialogMsg = 'This clinic has scheduled appointments. Please cancel the clinic prior to deleting it.';\r\n this.dialogSummary = ErrorMessages['clinicDetails'];\r\n this.showAfterClinicDelete = true;\r\n this.Action = 'scheduledappointments';\r\n }\r\n else {\r\n this.dialogMsg = 'Deleting an Uploaded Clinic cannot be undone. If you \"Continue\" the clinic, will be permanently deleted.';\r\n this.dialogSummary = 'Deleting an Uploaded Clinic';\r\n this.showDeleteClinic = true;\r\n }\r\n }\r\n deleteClinic() {\r\n var clinic_pk = this.coClinicDetails.clinicList[0].clinicPk;\r\n //console.log(\"TODO\");\r\n this.coClinicdetailsService.deleteClinic(clinic_pk).subscribe((res: any) => {\r\n if (res == \"success\") {\r\n this.showDeleteClinic = false;\r\n this.showAfterClinicDelete = true;\r\n this.dialogMsg = 'The Clinic has been removed successfully.';\r\n this.dialogSummary = ErrorMessages['clinicDetails'];\r\n }\r\n }, error => {\r\n this.showDeleteClinic = false;\r\n this.showDialogError(ErrorMessages['clinicDetails'], ErrorMessages['error']);\r\n return false;\r\n });\r\n }\r\n loadClinicDataAfterRemove() {\r\n this.showRemoveCancelledStatusResult = false;\r\n this.validateCancel = null;\r\n this.validateComplete = null;\r\n this.validateConfirm = null;\r\n this.showRemoveCancelledStatus = false;\r\n this.IsAmendSubmit = false;\r\n this.bindLocalClinicData();\r\n this.clinicDetailsForm.updateValueAndValidity();\r\n }\r\n onlyNumbers(event: any) {\r\n Util.onlyNumbers(event);\r\n }\r\n copyPreviousLocation(formIndex: number, checked: boolean) {\r\n if (!checked) {\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicAddress1').setValue('');\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicAddress2').setValue('');\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicCity').setValue('');\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicState').setValue('');\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicZip').setValue('');\r\n }\r\n else {\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicAddress1').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naClinicAddress1').value);\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicAddress2').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naClinicAddress2').value);\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicCity').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naClinicCity').value);\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicState').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naClinicState').value);\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicZip').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naClinicZip').value);\r\n }\r\n this.onBlurMethod(formIndex);\r\n }\r\n\r\n copyPreviousContactInfo(formIndex: number, checked: boolean) {\r\n if (!checked) {\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naContactFirstName').setValue('');\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naContactLastName').setValue('');\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naContactEmail').setValue('');\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicContactPhone').setValue('');\r\n }\r\n else {\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naContactFirstName').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naContactFirstName').value);\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naContactLastName').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naContactLastName').value);\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naContactEmail').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naContactEmail').value);\r\n this.clinicDetailsForm.controls.clinicList['controls'][formIndex].get('naClinicContactPhone').setValue(this.clinicDetailsForm.controls.clinicList['controls'][formIndex - 1].get('naClinicContactPhone').value);\r\n }\r\n }\r\n viewAgreement() {\r\n\r\n let showPreUniversalContract = false;\r\n if (this.clinicAgreementDateApproved) {\r\n this.clinicAgreementDateApproved = new Date(this.clinicAgreementDateApproved);\r\n this.routePageName = getContractComponentName(this.clinicAgreementDateApproved, 'localclincdetails-viewcontract');\r\n }\r\n\r\n sessionStorage[\"clinic_agreement_pk\"] = this.coClinicDetails.opportunityInfo.clinicAgreementPk;\r\n SessionDetails.fromLocalclinics(true);\r\n // if(showPreUniversalContract)\r\n // this.router.navigateByUrl(\"/viewcontract\");\r\n // else\r\n // this.router.navigateByUrl(\"/viewcontract-2022-1\");\r\n\r\n this.router.navigateByUrl(this.routePageName);\r\n }\r\n modifyAgreement() {\r\n SessionDetails.SetAgreementPK(this.coClinicDetails.opportunityInfo.clinicAgreementPk);\r\n SessionDetails.fromUserPage(true);\r\n SessionDetails.setOpportunitiesData(JSON.stringify(this.coClinicDetails.opportunityInfo));\r\n this.router.navigateByUrl(\"/communityoutreach/contract\");\r\n }\r\n displayDialogCC() {\r\n this.LCDdisplayDialog = false;\r\n }\r\n\r\n Ok() {\r\n this.savePopUp = false;\r\n if (this.reassignForm.value.assignType == \"Area\" || this.reassignForm.value.assignType == \"District\") {\r\n this.savedViaReassignBtn = true;\r\n this.clearReassignDialogControls();\r\n if (this.user_profile.userRole.toLowerCase() == \"store manager\" || this.user_profile.userRole.toLowerCase() == \"pharmacy manager\") {\r\n this.router.navigateByUrl(\"/communityoutreach/storehome\");\r\n }\r\n else {\r\n this.router.navigateByUrl(\"/communityoutreach/home\");\r\n }\r\n }\r\n else if (this.reassignForm.value.assignType == \"Store\" || this.reassignForm.value.assignType == \"Geography\") {\r\n this.savedViaReassignBtn = true;\r\n this.clearReassignDialogControls();\r\n this.router.navigateByUrl(\"/communityoutreach/storehome\");\r\n }\r\n else {\r\n this.savedViaReassignBtn = false;\r\n this.bindLocalClinicData();\r\n }\r\n }\r\n Error() {\r\n this.errorPopUp = false;\r\n }\r\n clinicNotConfirmedMsgOk() {\r\n this.clinicNotConfirmedMsgDlg = false;\r\n }\r\n\r\n showClinicNotConfirmedDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.clinicNotConfirmedMsgDlg = true;\r\n }\r\n showCancelClinicConfirmation() {\r\n this.dialogMsg = ErrorMessages['confirmClinicCancellation'];\r\n this.dialogSummary = \"Review Clinic Cancellation\";\r\n this.showClinicCancelDlg = true;\r\n }\r\n StayonDetailsPage() {\r\n this.showClinicCancelDlg = false;\r\n this.selectedCancelDisposition = '';\r\n this.displayCancelError = false;\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.savePopUp = true;\r\n }\r\n showDialogError(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.errorPopUp = true;\r\n }\r\n\r\n showDialogStatus(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.savePopUpStatus = true;\r\n }\r\n showRemoveCancelledStatusDialogResult(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.showRemoveCancelledStatusResult = true;\r\n }\r\n\r\n showLCDdisplayDialog() {\r\n let c_invoice: any = this.coClinicDetails.clinicImmunizationList;\r\n\r\n let routineExpDateLst = c_invoice.filter(c => c.immunizationName.toLowerCase().search('flu') == -1);\r\n let flueExpDateLst = c_invoice.filter(c => c.immunizationName.toLowerCase().search('flu') != -1);\r\n let covidExpDateLst = c_invoice.filter(c => c.immunizationName.toLowerCase().search('covid') != -1)\r\n if (flueExpDateLst.length > 0) {\r\n this.isfluexpirationDate = true;\r\n }\r\n if (routineExpDateLst.length > 0) {\r\n this.isroutineexpirationDate = true;\r\n }\r\n if (covidExpDateLst.length > 0) {\r\n this.isCovidExpirationDate = true;\r\n }\r\n\r\n if (c_invoice.length > 0) {\r\n this.is_copay = c_invoice[0].isCopay;\r\n let invoiceList = c_invoice.filter(c => c.isVoucherNeeded == 1);\r\n if (invoiceList.length > 0) {\r\n this.voucher_needed = true;\r\n }\r\n else {\r\n this.voucher_needed = false;\r\n }\r\n this.LCDdisplayDialog = true;\r\n this.corporateForm = this.formBuilder.group({\r\n name: [c_invoice[0].name, null],\r\n phone: [c_invoice[0].phone, null],\r\n fax: [c_invoice[0].fax, null],\r\n address1: [c_invoice[0].address1, null],\r\n address2: [c_invoice[0].address2, null],\r\n email1: [c_invoice[0].email, Validators.email],\r\n email2: [c_invoice[0].email, Validators.email],\r\n city: [c_invoice[0].city, Validators.required],\r\n state: [c_invoice[0].state, Validators.required],\r\n zip: [c_invoice[0].zip, Validators.required],\r\n isTaxExempt: [c_invoice[0].isTaxExempt == false ? \"0\" : \"1\", null],\r\n isCopay: [c_invoice[0].isCopay == false ? \"0\" : \"1\", null],\r\n copayValue: [c_invoice[0].copayValue, Validators.required],\r\n isVoucherNeeded: [this.voucher_needed == true ? \"1\" : \"0\", null],\r\n fluexpirationDate: flueExpDateLst.length > 0 ? new Date(flueExpDateLst[0].voucherExpirationDate) : null,\r\n routineexpirationDate: routineExpDateLst.length > 0 ? new Date(routineExpDateLst[0].voucherExpirationDate) : null,\r\n covidExpirationDate: covidExpDateLst.length > 0 ? new Date(covidExpDateLst[0].voucherExpirationDate) : null,\r\n });\r\n }\r\n }\r\n\r\n saveData(action_status): ClinicDetailsUpdate {\r\n this.updateDataFromFormFields(this.clinic_details_update);\r\n\r\n this.clinic_details_update.clinicsUpdateHistoryLogList = [];\r\n\r\n this.clinic_details_update.clinicList.forEach(item => {\r\n try {\r\n item.naClinicStartTime = this._datePipe.transform(item.naClinicStartTime, \"shortTime\");\r\n } catch (e) {\r\n console.log('save changes' + e);\r\n }\r\n try {\r\n item.naClinicEndTime = this._datePipe.transform(item.naClinicEndTime, \"shortTime\");\r\n } catch (e) {\r\n console.log('save changes' + e);\r\n }\r\n });\r\n\r\n this.clinic_details_update.userPk = this.coClinicDetails.userPk;\r\n this.clinic_details_update.canReassignClinic = this.coClinicDetails.canReassignClinic;\r\n\r\n this.clinic_details_update.clinicContactStatus = action_status == null ? \"Submit\" : this.coClinicDetails.clinicContactStatus;\r\n //Identifying the updated value\r\n let data: any = this.utility.getDifference(this.coClinicDetails, this.clinic_details_update);\r\n //console.log(data);\r\n let localAliasName = LocalField;\r\n\r\n for (let item in data) {\r\n if (item != \"userPk\" && item != \"clinicContactStatus\" && item != \"appointmentScheduler\") {\r\n //Commenting as this is not being used anywhere. Issue occured when item is undefined.\r\n // let opp: any = Object.getOwnPropertyNames(data[item]);\r\n if (typeof data[item] == 'object') {\r\n var temp_obj;\r\n if (item == \"clinicList\") {\r\n temp_obj = data[item][0];\r\n } else {\r\n temp_obj = data[item];\r\n }\r\n for (let updated_item in temp_obj) {\r\n let value = temp_obj[updated_item];\r\n if (typeof value == 'object') {\r\n\r\n for (let updated_imz_item in temp_obj[updated_item]) {\r\n for (let updated_imz_qty in temp_obj[updated_item][updated_imz_item]) {\r\n value = temp_obj[updated_item][updated_imz_item][updated_imz_qty];\r\n let alias_and_group_name = localAliasName.map(group_item => {\r\n if (group_item.aliasNames[updated_imz_qty]) {\r\n return group_item.aliasNames[updated_imz_qty] + \"~\" + group_item.groupName\r\n }\r\n }).filter(test_item => test_item != undefined);\r\n if (alias_and_group_name.length > 0) {\r\n let alias_name = alias_and_group_name[0].substring(0, alias_and_group_name[0].indexOf('~'));\r\n let group_name = alias_and_group_name[0].substring(alias_and_group_name[0].indexOf('~') + 1)\r\n // removing the payment method name \r\n alias_name = temp_obj[updated_item][updated_imz_item][\"imzNameAndPmtMethod\"].split(\"
\")[0] + '
' + alias_name;\r\n\r\n if (+value > 0) {\r\n if(this.BillingVaccinesCol5TtlAdmn=='Electronic VARs' && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled){\r\n alias_name=alias_name.replace('Total Administered', 'Electronic VARs'); \r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Update\", value, group_name, alias_name));\r\n } else {\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Update\", value, group_name, alias_name));\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n }\r\n else if (updated_item == 'coOutreachTypeId') {\r\n let alias_and_group_name = localAliasName.map(group_item => {\r\n if (group_item.aliasNames[updated_item]) {\r\n return group_item.aliasNames[updated_item].label + \"~\" + group_item.groupName\r\n }\r\n }).filter(test_item => test_item != undefined);\r\n if (alias_and_group_name.length > 0) {\r\n let alias_name = alias_and_group_name[0].substring(0, alias_and_group_name[0].indexOf('~'));\r\n let group_name = alias_and_group_name[0].substring(alias_and_group_name[0].indexOf('~') + 1)\r\n if ([3, 6].indexOf(this.clinicType) > -1 && alias_name === \"No Clinic - Voucher Distribution Only\") {\r\n //continue;\r\n }\r\n else {\r\n let val = group_name == \"Clinic Information\" ? localAliasName.filter(x => x.groupName == group_name)[0].aliasNames['coOutreachTypeId'].values[value] : value;\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Update\", val, group_name, alias_name));\r\n }\r\n }\r\n }\r\n else if (updated_item == 'apptSchedulerType') {\r\n let alias_and_group_name = localAliasName.map(group_item => {\r\n if (group_item.aliasNames[updated_item]) {\r\n return group_item.aliasNames[updated_item].label + \"~\" + group_item.groupName\r\n }\r\n }).filter(test_item => test_item != undefined);\r\n if (alias_and_group_name.length > 0) {\r\n let alias_name = alias_and_group_name[0].substring(0, alias_and_group_name[0].indexOf('~'));\r\n let group_name = alias_and_group_name[0].substring(alias_and_group_name[0].indexOf('~') + 1)\r\n if ([3, 6].indexOf(this.clinicType) > -1 && alias_name === \"No Clinic - Voucher Distribution Only\") {\r\n //continue;\r\n }\r\n else {\r\n let val = group_name == \"Clinic Information\" ? localAliasName.filter(x => x.groupName == group_name)[0].aliasNames['apptSchedulerType'].values[value] : value;\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Update\", val, group_name, alias_name));\r\n }\r\n }\r\n }\r\n else {\r\n let alias_and_group_name = localAliasName.map(group_item => {\r\n if (group_item.aliasNames[updated_item]) {\r\n return group_item.aliasNames[updated_item] + \"~\" + group_item.groupName\r\n }\r\n }).filter(test_item => test_item != undefined);\r\n if (alias_and_group_name.length > 0) {\r\n let alias_name = alias_and_group_name[0].substring(0, alias_and_group_name[0].indexOf('~'));\r\n let group_name = alias_and_group_name[0].substring(alias_and_group_name[0].indexOf('~') + 1)\r\n if ([3, 6].indexOf(this.clinicType) > -1 && alias_name === \"No Clinic - Voucher Distribution Only\" || (alias_name == \"Other\" && value == null)) {\r\n //continue;\r\n }\r\n else {\r\n if (group_name == \"Billing & Vaccine Information\"\r\n && this.isVoucherPaymentSelected\r\n && !this.clinic_details_update.clinicsUpdateHistoryLogList.some(log => log.updatedField == \"Vouchers Distributed\" && log.updateSubCategory == \"Billing & Vaccine Information\")\r\n ) {\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Update\", this.clinic_details_update.opportunityInfo.vouchersDistributed, group_name, \"Vouchers Distributed\"));\r\n }\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Update\", value, group_name, alias_name));\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n let value = data[item];\r\n if (value && item === 'clinicalRequirements') {\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Approved Clinical Requirements\", \"\", \"\", \"\"));\r\n }\r\n let alias_and_group_name = localAliasName.map(group_item => {\r\n if (group_item.aliasNames[item]) {\r\n return group_item.aliasNames[item] + \"~\" + group_item.groupName\r\n }\r\n }).filter(test_item => test_item != undefined);\r\n if (alias_and_group_name.length > 0) {\r\n let alias_name = alias_and_group_name[0].substring(0, alias_and_group_name[0].indexOf('~'));\r\n let group_name = alias_and_group_name[0].substring(alias_and_group_name[0].indexOf('~') + 1);\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Update\", value, group_name, alias_name));\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.clinic_details_update.userPk = this.user_profile.userPk;\r\n if (action_status != null) {\r\n if (action_status.toLowerCase() == 'submit') {\r\n this.clinic_details_update.clinicContactStatus = \"Submit\";\r\n }\r\n if (action_status.toLowerCase() == \"cancelled\") {\r\n this.clinic_details_update.clinicContactStatus = \"Cancelled\";\r\n this.clinic_details_update.disposition = this.selectedCancelDisposition;\r\n this.clinic_details_update.clinicList[0].isCancelled = 1;\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Cancelled\", \"\", \"\", \"\"));\r\n }\r\n if (action_status.toLowerCase() == \"completed\") {\r\n this.clinic_details_update.clinicContactStatus = \"Completed\";\r\n this.clinic_details_update.clinicList[0].isCancelled = 0;\r\n this.clinic_details_update.clinicList[0].isCompleted = 1;\r\n this.clinic_details_update.clinicList[0].isConfirmed = 0;\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Completed\", \"\", \"\", \"\"));\r\n }\r\n if (action_status.toLowerCase() == \"confirmed\") {\r\n this.clinic_details_update.clinicContactStatus = \"Confirmed\";\r\n this.clinic_details_update.clinicList[0].isConfirmed = 1;\r\n var confirmed_status = (this.clinic_details_update.clinicList[0].isNoClinic) ? 'Vouchers Provided' : 'Confirmed';\r\n this.clinic_details_update.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(confirmed_status, \"\", \"\", \"\"));\r\n }\r\n }\r\n\r\n if (!this.maintainStatusSelected) {\r\n this.clinic_details_update.clinicList[0].isConfirmed = [2, 6].indexOf(this.clinicType) > -1 ? 1 : 0;\r\n this.clinic_details_update.clinicList[0].isCancelled = 0;\r\n this.clinic_details_update.clinicList[0].isCompleted = 0;\r\n this.maintainStatusSelected = true;\r\n }\r\n\r\n this.clinic_details_update.clinicList.forEach(item => {\r\n try {\r\n if (item.naClinicLocation != null && item.naClinicLocation.length > 0 && item.naClinicLocation.search(\"CLINIC\") == -1 &&\r\n [1, 2, 6].indexOf(this.clinicType) > -1) {\r\n item.naClinicLocation = \"CLINIC \" + item.naClinicLocation;\r\n }\r\n item.naClinicLocation = item.naClinicLocation != null && item.naClinicLocation.length > 0 ? item.naClinicLocation.trim() : item.naClinicLocation;\r\n\r\n item.clinicImzQtyList.forEach(imzQtyItem => {\r\n delete imzQtyItem[\"imzNameAndPmtMethod\"];\r\n });\r\n\r\n item.isNoClinic != null ? item.isNoClinic = Number(item.isNoClinic) : item.isNoClinic = 0;\r\n item.isReassign != null ? item.isReassign = Number(item.isReassign) : item.isReassign = 0;\r\n item.naClinicContactPhone = item.naClinicContactPhone;\r\n } catch (e) {\r\n console.log('save changes' + e);\r\n }\r\n });\r\n\r\n delete this.clinic_details_update[\"clinicalRequirements\"];\r\n\r\n this.clinic_details_update.canReassignClinic = 0;\r\n this.clinic_details_update.opportunityInfo.pharmacistPhone = this.clinic_details_update.opportunityInfo.pharmacistPhone;\r\n this.clinic_details_update.opportunityInfo.phone = this.clinic_details_update.opportunityInfo.phone;\r\n if (this.coClinicDetails.clinicList[0].isCovidClinic) {\r\n for (var i = 0; i < this.clinic_details_update.clinicList.length; i++) {\r\n let dose1 = 0, dose2 = 0, manufacturer = 0;\r\n let immunizer1 = this.clinic_details_update.clinicList[i].clinicImzQtyList.filter(x => x.immunizationName.includes(\"Dose 1\"));\r\n let immunizer2 = this.clinic_details_update.clinicList[i].clinicImzQtyList.filter(x => x.immunizationName.includes(\"Dose 2\"));\r\n if (immunizer1.length > 0 && immunizer1[0].estimatedQuantity > 0) {\r\n dose1 = 1;\r\n manufacturer = immunizer1[0].immunizationName.includes(\"Pfizer\") ? 1 : 2;\r\n }\r\n if (immunizer2.length > 0 && immunizer2[0].estimatedQuantity > 0) {\r\n dose2 = dose1 == 0 ? 2 : 3;\r\n manufacturer = immunizer2[0].immunizationName.includes(\"Pfizer\") ? 1 : 2;\r\n }\r\n this.clinic_details_update.clinicList[i].manufacturer = manufacturer;\r\n this.clinic_details_update.clinicList[i].doseNumber = dose2 == 0 ? dose1 : dose2;\r\n }\r\n }\r\n if (this.clinic_details_update.clinicList.length >= 1 && this.clinic_details_update.clinicList[0].vouchersDistributed == null) {\r\n this.clinic_details_update.clinicList[0].vouchersDistributed = this.clinic_details_update.opportunityInfo.vouchersDistributed;\r\n }\r\n return this.clinic_details_update;\r\n\r\n }\r\n\r\n updateDataFromFormFields(target_obj) {\r\n\r\n if (!target_obj.opportunityInfo) {\r\n target_obj.opportunityInfo = new OpportunityInfo();\r\n }\r\n if (!target_obj.errorS) {\r\n target_obj.errorS = new ErrorS();\r\n }\r\n target_obj.opportunityInfo.storeId = this.clinicDetailsForm.value.storeID;\r\n target_obj.opportunityInfo.businessAddress = this.coClinicDetails.opportunityInfo.businessAddress;\r\n target_obj.opportunityInfo.businessAddress2 = this.coClinicDetails.opportunityInfo.businessAddress2;\r\n target_obj.opportunityInfo.businessCity = this.coClinicDetails.opportunityInfo.businessCity;\r\n target_obj.opportunityInfo.businessContactEmail = this.clinicDetailsForm.value.email;\r\n target_obj.opportunityInfo.businessName = this.clinicDetailsForm.value.businessName;\r\n target_obj.opportunityInfo.businessPk = this.coClinicDetails.opportunityInfo.businessPk;\r\n target_obj.opportunityInfo.b2BTeamEmail = this.clinicDetailsForm.value.b2BTeamEmail;\r\n target_obj.opportunityInfo.clientReportingEmail = this.clinicDetailsForm.value.clientReportingEmail;\r\n target_obj.opportunityInfo.salesForceOpportunityId = this.clinicDetailsForm.value.salesForceOpportunityId;\r\n target_obj.opportunityInfo.salesForceAccountName = this.clinicDetailsForm.value.salesForceAccountName;\r\n target_obj.opportunityInfo.businessState = this.coClinicDetails.opportunityInfo.businessState;\r\n target_obj.opportunityInfo.businessZip = this.coClinicDetails.opportunityInfo.businessZip;\r\n target_obj.opportunityInfo.clinicAgreementPk = this.coClinicDetails.opportunityInfo.clinicAgreementPk;\r\n this.clinicType = target_obj.opportunityInfo.clinicType = this.coClinicDetails.opportunityInfo.clinicType;\r\n target_obj.opportunityInfo.contractedStoreId = this.coClinicDetails.opportunityInfo.contractedStoreId;\r\n target_obj.opportunityInfo.firstName = this.clinicDetailsForm.value.firstName;\r\n target_obj.opportunityInfo.jobTitle = this.clinicDetailsForm.value.jobTitle;\r\n target_obj.opportunityInfo.lastName = this.clinicDetailsForm.value.lastName;\r\n target_obj.opportunityInfo.maxClinicLocationId = this.coClinicDetails.opportunityInfo.maxClinicLocationId;\r\n target_obj.opportunityInfo.naClinicAddlComments = this.clinicDetailsForm.value.naClinicAddlComments;\r\n if ([3, 4, 5, 7].indexOf(this.clinicType) > -1) {\r\n target_obj.opportunityInfo.naClinicSplBillingInstr = this.clinicDetailsForm.value.naClinicSplBillingInstr;\r\n }\r\n target_obj.opportunityInfo.naClinicGroupId = this.clinicDetailsForm.value.naClinicGroupId;\r\n target_obj.opportunityInfo.naClinicPlanId = this.clinicDetailsForm.value.naClinicPlanId;\r\n target_obj.opportunityInfo.naClinicSplBillingInstr = this.clinicDetailsForm.value.naClinicSplBillingInstr;;\r\n target_obj.opportunityInfo.outreachBusinessPk = this.coClinicDetails.opportunityInfo.outreachBusinessPk;\r\n // target_obj.opportunityInfo.pharmacistName = (this.coClinicDetails.opportunityInfo.pharmacistName == null && !this.clinicDetailsForm.value.pharmacistName) ? this.coClinicDetails.opportunityInfo.pharmacistName : this.clinicDetailsForm.value.pharmacistName;\r\n // target_obj.opportunityInfo.pharmacistPhone = (this.coClinicDetails.opportunityInfo.pharmacistPhone == null && !this.clinicDetailsForm.value.pharmacistPhone) ? this.coClinicDetails.opportunityInfo.pharmacistPhone : this.clinicDetailsForm.value.pharmacistPhone;\r\n this.coClinicDetails.opportunityInfo.pharmacistPhone = this.coClinicDetails.opportunityInfo.pharmacistPhone;\r\n target_obj.opportunityInfo.phone = this.clinicDetailsForm.value.phone;\r\n this.coClinicDetails.opportunityInfo.phone = this.coClinicDetails.opportunityInfo.phone;\r\n target_obj.opportunityInfo.recipientId = this.clinicDetailsForm.value.recipientId;\r\n target_obj.opportunityInfo.clinicFee = this.clinicDetailsForm.value.clinicFee;\r\n target_obj.opportunityInfo.isNoClinicFee = this.clinicDetailsForm.value.isNoClinicFee;\r\n target_obj.opportunityInfo.vouchersDistributed = this.clinicDetailsForm.value.vouchersDistributed;\r\n target_obj.opportunityInfo.vouchersRedeemed = this.clinicDetailsForm.value.vouchersRedeemed;\r\n target_obj.opportunityInfo.regionNumber = this.coClinicDetails.opportunityInfo.regionNumber;\r\n target_obj.opportunityInfo.storeState = this.coClinicDetails.opportunityInfo.storeState;\r\n // target_obj.opportunityInfo.totalHours = (this.coClinicDetails.opportunityInfo.totalHours == null && !this.clinicDetailsForm.value.totalHours) ? this.coClinicDetails.opportunityInfo.totalHours : this.clinicDetailsForm.value.totalHours;\r\n\r\n target_obj.opportunityInfo.naClinicCopay = this.coClinicDetails.opportunityInfo.naClinicCopay;\r\n target_obj.opportunityInfo.naClinicCoverageType = this.coClinicDetails.opportunityInfo.naClinicCoverageType;\r\n\r\n target_obj.opportunityInfo.childClinicAgreementApproved = this.coClinicDetails.opportunityInfo.childClinicAgreementApproved;\r\n target_obj.opportunityInfo.childClinicAgreementId = this.coClinicDetails.opportunityInfo.childClinicAgreementId;\r\n\r\n target_obj.clinicImmunizationList = this.coClinicDetails.clinicImmunizationList;\r\n\r\n target_obj.clinicList = this.clinicDetailsForm.value.clinicList;\r\n if (this.coClinicDetails.pData === \"\") {\r\n this.coClinicDetails.pData = this.pData;\r\n }\r\n target_obj.pData = this.pData;\r\n target_obj.errorS.errorCode = 0;\r\n target_obj.errorS.errorMessage = null;\r\n target_obj.clinicList.forEach(list => {\r\n list.naClinicContactPhone = list.naClinicContactPhone;\r\n if (list.clinicDate != null && list.clinicDate != '') {\r\n var c_date = new Date(list.clinicDate);\r\n list.clinicDate = c_date.getMonth() + 1 + \"/\" + c_date.getDate() + \"/\" + c_date.getFullYear();\r\n }\r\n else {\r\n list.clinicDate = null;\r\n }\r\n list.isCovidClinic = this.coClinicDetails.clinicList[0].isCovidClinic;\r\n list.isFluClinic = this.coClinicDetails.clinicList[0].isFluClinic;\r\n\r\n // conditions for isNOclinic\r\n if (this.coClinicDetails.clinicList[0].isNoClinic == null && list.isNoClinic == 0) {\r\n this.coClinicDetails.clinicList[0].isNoClinic = list.isNoClinic;\r\n }\r\n else if (this.coClinicDetails.clinicList[0].isNoClinic != list.isNoClinic) {\r\n list.isNOclinic = list.isNoClinic;\r\n }\r\n\r\n // list.isNoClinic = list.isNoClinic?list.isNoClinic:this.coClinicDetails.clinicList[0].isNoClinic;//this.coClinicDetails.clinicList[0].isNoClinic\r\n //Bug 834 fix\r\n // if(typeof (list.visitType) == \"string\"){\r\n // list.visitType = list.visitType&&list.visitType.length>0?Number(list.visitType): this.coClinicDetails.clinicList[0].visitType == null ? null : list.visitType=Number(this.coClinicDetails.clinicList[0].visitType);\r\n // }\r\n // else {\r\n // list.visitType = list.visitType?Number(list.visitType): this.coClinicDetails.clinicList[0].visitType == null ? null : list.visitType=Number(this.coClinicDetails.clinicList[0].visitType);\r\n // }\r\n //list.isDataPostedToCP = false;\r\n if (Number(list.apptSchedulerType) > 0) {\r\n\r\n list.isApptSchedulerEnabled = true;\r\n }\r\n // else if(Number(list.apptSchedulerType)<=0){\r\n // list.isApptSchedulerEnabled=list.isApptSchedulerEnabled;\r\n // }\r\n });\r\n this.coClinicDetails.clinicList.forEach(list => {\r\n list.naClinicContactPhone = list.naClinicContactPhone;\r\n list.naClinicLocation = list.naClinicLocation && list.naClinicLocation.length > 0 ? list.naClinicLocation.trim() : list.naClinicLocation;\r\n });\r\n\r\n target_obj.clinicList[0].isDataPostedToCP = this.coClinicDetails.clinicList[0].isDataPostedToCP;\r\n target_obj.clinicList[0].reassignType = this.reassignForm.value.assignType;\r\n if ((this.reassignForm.value.assignType === \"\" || this.reassignForm.value.assignType === null || this.reassignForm.value.assignType.toLowerCase() === \"geography\")) {\r\n this.reassignForm.value.assignType = null;\r\n target_obj.clinicList[0].reassignedTo = null;\r\n target_obj.clinicList[0].isReassign = 0;\r\n if (this.reassignForm.value.assignType && this.reassignForm.value.assignType.toLowerCase() == \"geography\") {\r\n target_obj.clinicList[0].isReassign = 1;\r\n }\r\n }\r\n else {\r\n target_obj.clinicList[0].reassignedTo = this.reassignForm.value.assignType.toLowerCase() == \"store\" ? this.reassignForm.value.assignStoreID != null ? Number(this.reassignForm.value.assignStoreID.storeId) : null : Number(this.reassignForm.value.assignStore);\r\n target_obj.clinicList[0].isReassign = 1;\r\n }\r\n\r\n let is_clinical_req: boolean = false;\r\n for (let i = 0; i < this.clinicDetailsForm.value.clinicList.length; i++) {\r\n if (this.clinicDetailsForm.value.clinicList[i]?.paperVars)\r\n target_obj.clinicList[i].paperVars = this.clinicDetailsForm.value.clinicList[i]?.paperVars;\r\n for (let j = 0; j < this.clinicDetailsForm.value.clinicImmunizationList.length; j++) {\r\n target_obj.clinicList[i].clinicImzQtyList[j].totalImmAdministered =\r\n this.clinicDetailsForm.value.clinicImmunizationList[j].totalImmAdministered;\r\n target_obj.clinicList[i].clinicImzQtyList[j].paperVars =\r\n this.clinicDetailsForm.value.clinicImmunizationList[j].paperVars;\r\n //Clinical Requirements -- START --\r\n if (ImmunizationsClinicalRequirements.immunizations.indexOf(this.clinicDetailsForm.value.clinicImmunizationList[j].immunizationName) > -1) {\r\n if (this.clinicDetailsForm.value.clinicList[i].isReassign !== 1 && (this.clinicDetailsForm.value.storeID === this.clinicDetailsForm.value.clinicList[i].clinicStoreId)) {\r\n target_obj.clinicList[i].clinicImzQtyList[j].isClinicalReqd = (ImmunizationsClinicalRequirements.immunizations.indexOf(this.clinicDetailsForm.value.clinicImmunizationList[j].immunizationName) > -1) ? this.clinicDetailsForm.value.clinicImmunizationList[j].isClinicalReqd : null;\r\n target_obj.clinicList[i].clinicImzQtyList[j].clinicalReqdApprovedBy = (target_obj.clinicList[i].clinicImzQtyList[j].isClinicalReqd) ? ((this.coClinicDetails.clinicList[i] && this.coClinicDetails.clinicList[i].clinicImzQtyList[j].clinicalReqdApprovedBy) ? this.coClinicDetails.clinicList[i].clinicImzQtyList[j].clinicalReqdApprovedBy : this.user_profile.userPk) : null;\r\n target_obj.clinicList[i].clinicImzQtyList[j].clinicalReqApprovedDate = (this.coClinicDetails.clinicList[i]) ? this.coClinicDetails.clinicList[i].clinicImzQtyList[j].clinicalReqApprovedDate : null;\r\n if (i === 0) {\r\n is_clinical_req = (this.coClinicDetails.clinicList[i] && (this.coClinicDetails.clinicList[i].clinicImzQtyList[j].isClinicalReqd !== target_obj.clinicList[i].clinicImzQtyList[j].isClinicalReqd)) ? true : false;\r\n }\r\n } else if ((this.clinicDetailsForm.value.clinicList[i].isReassign === 1 && (this.clinicDetailsForm.value.clinicList[i].isCompleted === 1 && !this.maintainStatusSelected) || (this.clinicDetailsForm.value.clinicList[i].isCompleted === 0)) || this.clinicDetailsForm.value.storeID !== this.clinicDetailsForm.value.clinicList[i].clinicStoreId) {\r\n target_obj.clinicList[i].clinicImzQtyList[j].isClinicalReqd = (ImmunizationsClinicalRequirements.immunizations.indexOf(this.clinicDetailsForm.value.clinicImmunizationList[j].immunizationName) > -1) ? 0 : null;\r\n target_obj.clinicList[i].clinicImzQtyList[j].clinicalReqdApprovedBy = null;\r\n target_obj.clinicList[i].clinicImzQtyList[j].clinicalReqApprovedDate = null;\r\n }\r\n }\r\n //Clinical Requirements -- END --\r\n }\r\n if (!i) {\r\n this.clinicDetailsForm.value.clinicList[i].confirmedClientName = (this.coClinicDetails.clinicList[i].confirmedClientName == null && !this.clinicDetailsForm.value.clinicList[i].confirmedClientName) ? this.coClinicDetails.clinicList[i].confirmedClientName : this.clinicDetailsForm.value.clinicList[i].confirmedClientName.trim();\r\n target_obj.clinicList[i].areApptsPresent = this.coClinicDetails.clinicList[i].areApptsPresent;// this should be from from get object which has index 0.\r\n }\r\n\r\n }\r\n\r\n target_obj['clinicalRequirements'] = (is_clinical_req) ? true : false;\r\n\r\n target_obj.clinicList[0].clinicScheduledOn = this.coClinicDetails.clinicList[0].clinicScheduledOn;\r\n target_obj.clinicList[0].estimatedParticipants = this.coClinicDetails.clinicList[0].estimatedParticipants;\r\n // if ([1, 2, 6].indexOf(this.clinicType) > -1) {\r\n // target_obj.clinicList[0].clinicRoom = this.coClinicDetails.clinicList[0].clinicRoom;\r\n // }\r\n target_obj.clinicList[0].isScheduled = this.coClinicDetails.clinicList[0].isScheduled;\r\n target_obj.clinicList[0].naClinicContactPhoneExt = this.coClinicDetails.clinicList[0].naClinicContactPhoneExt;\r\n target_obj.clinicList[0].naClinicLocation = this.clinicDetailsForm.value.clinicList[0].naClinicLocation;\r\n\r\n target_obj.clinicList[0].coPayFLUGroupId = this.is_flu_group_id == true ? this.clinicDetailsForm.value.coPayFLUGroupId : this.coClinicDetails.clinicList[0].coPayFLUGroupId;\r\n target_obj.clinicList[0].coPayROUTINEGroupId = this.is_routine_group_id == true ? this.clinicDetailsForm.value.coPayROUTINEGroupId : this.coClinicDetails.clinicList[0].coPayROUTINEGroupId;\r\n\r\n // for (let j = 0; j < target_obj.clinicList.length; j++) {\r\n for (let i = 0; i < target_obj.clinicList[0].clinicImzQtyList.length; i++) {\r\n target_obj.clinicList[0].clinicImzQtyList[i].estimatedQuantity =\r\n this.clinicDetailsForm.value.clinicImmunizationList[i].estimatedQuantity;\r\n\r\n target_obj.clinicList[0].clinicImzQtyList[i][\"imzNameAndPmtMethod\"] = target_obj.clinicList[0].clinicImzQtyList[i].immunizationName + \"
\" + target_obj.clinicList[0].clinicImzQtyList[i].paymentTypeName;\r\n\r\n target_obj.clinicList[0].clinicImzQtyList[i].showPrice =\r\n this.coClinicDetails.clinicList[0].clinicImzQtyList[i].showPrice;\r\n target_obj.clinicList[0].clinicImzQtyList[i].price =\r\n this.coClinicDetails.clinicList[0].clinicImzQtyList[i].price;\r\n }\r\n target_obj.feedback = (this.clinicDetailsForm.value.feedbackNotes) ? this.clinicDetailsForm.value.feedbackNotes : this.coClinicDetails.feedback;\r\n }\r\n\r\n makeLogHistoryItem = function (update_status, updated_value, group_name, item_alias_name) {\r\n var logHistory = new ClinicsUpdateHistoryLogList();\r\n logHistory.pk = 0;\r\n logHistory.updateAction = update_status;\r\n logHistory.updatedField = item_alias_name//corporateAliasName[0][opp[i]];\r\n logHistory.updatedValue = updated_value;\r\n logHistory.updateSubCategory = group_name;//\"Billing & Vaccine Information:\";\r\n logHistory.updatedBy = this.user_profile.email;\r\n logHistory.updatedOn = new Date();\r\n return logHistory;\r\n }\r\n\r\n isClinicDateReminderBefore2WksReq(action_status: string): Boolean {\r\n let isClinicDateReminder: Boolean = false;\r\n\r\n try {\r\n let today = new Date();\r\n let start_index = 0;\r\n if (action_status != null && (action_status.toLowerCase() == \"completed\" || action_status.toLowerCase() == \"cancelled\")) {\r\n if (this.clinicDetailsForm.value.clinicList.length > 1) {\r\n start_index = 1;\r\n }\r\n }\r\n for (let index = start_index; index < this.clinicDetailsForm.value.clinicList.length; index++) {\r\n const loc = this.clinicDetailsForm.value.clinicList[index];\r\n let clinicDate: Date = null;\r\n let initialClinicDate: Date = null;\r\n if (typeof (loc.clinicDate) == \"string\") {\r\n var dt = loc.clinicDate.split(\"/\");\r\n\r\n clinicDate = new Date(dt[2], dt[0] - 1, dt[1]);\r\n } else {\r\n clinicDate = loc.clinicDate;\r\n }\r\n if (typeof (this.coClinicDetails.clinicList[0].clinicDate) == \"string\") {\r\n var idt = this.coClinicDetails.clinicList[0].clinicDate.split(\"/\");\r\n initialClinicDate = new Date(parseInt(idt[2]), parseInt(idt[0]) - 1, parseInt(idt[1]));\r\n } else {\r\n initialClinicDate = this.coClinicDetails.clinicList[0].clinicDate;\r\n }\r\n if (Number(loc.isNoClinic) <= 0) {\r\n if (initialClinicDate != null && index <= 0 &&\r\n (initialClinicDate.getFullYear() !== clinicDate.getFullYear() || initialClinicDate.getMonth() !== clinicDate.getMonth() ||\r\n initialClinicDate.getDate() != clinicDate.getDate())) {\r\n // let diffDays: number = clinicDate.getMonth() == today.getMonth() ? Math.round(clinicDate.getDate() - today.getDate())\r\n // : this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n // new Date(clinicDate.getFullYear(), clinicDate.getMonth(), clinicDate.getDate(), 0, 0, 0));\r\n var loc_date = (typeof clinicDate == 'string') ? new Date(clinicDate) : clinicDate;\r\n let diffDays: number = this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n new Date(loc_date.getFullYear(), loc_date.getMonth(), loc_date.getDate(), 0, 0, 0));\r\n if (diffDays < 14) {\r\n isClinicDateReminder = true;\r\n }\r\n }\r\n else if (this.clinicDetailsForm.value.clinicList.length > 1 && index > 0) {\r\n // let diffDays: number = clinicDate.getMonth() == today.getMonth() ? Math.round(clinicDate.getDate() - today.getDate())\r\n // : this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n // new Date(clinicDate.getFullYear(), clinicDate.getMonth(), clinicDate.getDate(), 0, 0, 0));\r\n var loc_date = (typeof clinicDate == 'string') ? new Date(clinicDate) : clinicDate;\r\n let diffDays: number = this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n new Date(loc_date.getFullYear(), loc_date.getMonth(), loc_date.getDate(), 0, 0, 0));\r\n if (diffDays < 14) {\r\n isClinicDateReminder = true;\r\n }\r\n }\r\n else if (initialClinicDate == null) {\r\n // let diffDays: number = clinicDate.getMonth() == today.getMonth() ? Math.round(clinicDate.getDate() - today.getDate())\r\n // : this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n // new Date(clinicDate.getFullYear(), clinicDate.getMonth(), clinicDate.getDate(), 0, 0, 0));\r\n var loc_date = (typeof clinicDate == 'string') ? new Date(clinicDate) : clinicDate;\r\n let diffDays: number = this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n new Date(loc_date.getFullYear(), loc_date.getMonth(), loc_date.getDate(), 0, 0, 0));\r\n if (diffDays < 14) {\r\n isClinicDateReminder = true;\r\n }\r\n }\r\n }\r\n }\r\n } catch (e) {\r\n\r\n return e;\r\n }\r\n return isClinicDateReminder;\r\n }\r\n MinimumShotValidation(action_status: string, is_override?: boolean) {\r\n if ([3].indexOf(this.clinicType) > -1) {\r\n return true;\r\n }\r\n var errMsg: string[] = [];\r\n var estimatedQty = 0;\r\n var location25Names: string[] = [];\r\n var location250Names = [];\r\n var errMsg: string[] = [];\r\n var moreThan255ImmunizationError = false;\r\n\r\n for (let i = 0; i < this.clinicDetailsForm.value.clinicList.length; i++) {\r\n var estimatedQty = 0;\r\n this.userApprovedGt250 = false;\r\n this.userApprovedLt25 = false;\r\n const clinicImmunizationList: Array = this.getUniqueImmunization(this.clinicDetailsForm.value.clinicList[i].clinicImzQtyList);\r\n\r\n for (const clinic of clinicImmunizationList) {\r\n let qty: number = +clinic.estimatedQuantity;\r\n let vaccineName: string = clinic.immunizationName;\r\n\r\n if ((qty >= 250) && vaccineName.search(\"Vaccine Voucher\") === -1) {\r\n moreThan255ImmunizationError = true;\r\n location250Names.push({\r\n estimatedQuantity: qty,\r\n immunizationName: clinic.immunizationName,\r\n location: this.clinicDetailsForm.value.clinicList[i].naClinicLocation\r\n });\r\n }\r\n else {\r\n if (qty < 250) {\r\n if (vaccineName.search(\"Vaccine Voucher\") === -1) {\r\n estimatedQty += qty;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (estimatedQty < 50 && !moreThan255ImmunizationError && (\r\n this.clinicDetailsForm.value.clinicList[i].isNoClinic == null ||\r\n this.clinicDetailsForm.value.clinicList[i].isNoClinic == undefined ||\r\n Number(this.clinicDetailsForm.value.clinicList[i].isNoClinic) <= 0)) {\r\n //if(!this.isCovidVaccineAvailable || this.isNonCovidVaccineAvailable){ \r\n if (this.coClinicDetails.opportunityInfo.covidOpportunityType == 1 && estimatedQty < 15 && this.clinicType !== 6) {\r\n location25Names.push(this.clinicDetailsForm.value.clinicList[i].naClinicLocation);\r\n }\r\n else if (this.coClinicDetails.opportunityInfo.covidOpportunityType !== 1 && this.clinicType !== 6) {\r\n location25Names.push(this.clinicDetailsForm.value.clinicList[i].naClinicLocation);\r\n }\r\n estimatedQty = 0;\r\n moreThan255ImmunizationError = false;\r\n //}\r\n // else if(this.isCovidVaccineAvailable && estimatedQty <1){ \r\n // location25Names.push(this.clinicDetailsForm.value.clinicList[i].naClinicLocation);\r\n // estimatedQty = 0;\r\n // moreThan255ImmunizationError = false; \r\n // }\r\n }\r\n else {\r\n estimatedQty = 0;\r\n }\r\n moreThan255ImmunizationError = false;\r\n if (!this.userApprovedGt250 && location250Names.length > 0) {\r\n this.userApprovedGt250 = false;\r\n this.userApprovedLt25 = false;\r\n }\r\n else {\r\n this.userApprovedGt250 = true;\r\n }\r\n if (!this.userApprovedLt25 && location25Names.length > 0) {\r\n this.userApprovedLt25 = false;\r\n }\r\n else {\r\n this.userApprovedLt25 = true;\r\n }\r\n\r\n }\r\n if (!is_override && !this.userApprovedGt250) {\r\n location250Names.forEach(item => {\r\n errMsg.push(String.Format(ErrorMessages['moreThan250ImmunizationsForDetails'], item.estimatedQuantity, item.immunizationName, item.location.replace(/CLINIC/g, ' LOCATION')));\r\n });\r\n this.showConfirm250ImmDialog(ErrorMessages['warning'], errMsg.join('

'));\r\n return false;\r\n }\r\n if (action_status !== \"Completed\") {\r\n if (!is_override && !this.userApprovedLt25) {\r\n // var userProfile = SessionDetails.GetUserProfile();\r\n // if (userProfile.userRole.toLowerCase() == \"admin\") {\r\n if (this.coClinicDetails.opportunityInfo.covidOpportunityType == 1) {\r\n this.showConfirm25ImmDialog(ErrorMessages['MinNumberOfShotsForDetailsHeader'],\r\n String.Format([1, 5].indexOf(this.clinicType) > -1 ? ErrorMessages['MinNumberOfShotsForLTCFDetails'] : ErrorMessages['MinNumberOfShotsForLTCFDetails_2_7_6'], location25Names.join(',')));\r\n }\r\n else {\r\n this.showConfirm25ImmDialog(ErrorMessages['MinNumberOfShotsForDetailsHeader'],\r\n String.Format([1, 5].indexOf(this.clinicType) > -1 ? ErrorMessages['MinNumberOfShots'] : ErrorMessages['MinNumberOfShotsForDetails_2_7_6'], location25Names.join(',')));\r\n }\r\n // }\r\n // else {\r\n // this.showDialogV2(ErrorMessages['resolve'], String.Format(ErrorMessages['MinNumberOfShotsForDetails'], location25Names.join(',').replace(/CLINIC/g, ' LOCATION')));\r\n // }\r\n return false;\r\n }\r\n if (!is_override && !this.userApprovedGt250) {\r\n location250Names.forEach(item => {\r\n errMsg.push(String.Format(ErrorMessages['moreThan250ImmunizationsForDetails'], item.estimatedQuantity, item.immunizationName, item.location.replace(/CLINIC/g, ' LOCATION')));\r\n });\r\n this.showConfirm250ImmDialog(ErrorMessages['warning'], errMsg.join('

'));\r\n return false;\r\n }\r\n if (!is_override && !this.userApprovedLt25) {\r\n // var userProfile = SessionDetails.GetUserProfile();\r\n // if (userProfile.userRole.toLowerCase() == \"admin\") {\r\n if (this.coClinicDetails.opportunityInfo.covidOpportunityType == 1) {\r\n this.showConfirm25ImmDialog(ErrorMessages['resolve'],\r\n String.Format(ErrorMessages['MinNumberOfShotsForLTCFDetails'], location25Names.join(',').replace(/CLINIC/g, ' LOCATION')));\r\n }\r\n else {\r\n this.showConfirm25ImmDialog(ErrorMessages['resolve'],\r\n String.Format(ErrorMessages['MinNumberOfShotsForDetails'], location25Names.join(',').replace(/CLINIC/g, ' LOCATION')));\r\n }\r\n // }\r\n // else {\r\n // this.showDialogV2(ErrorMessages['resolve'], String.Format(ErrorMessages['MinNumberOfShotsForDetails'], location25Names.join(',').replace(/CLINIC/g, ' LOCATION')));\r\n // }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n showConfirm250ImmDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locConfirm250ModalDlg = true;\r\n }\r\n showConfirm25ImmDialog(msgSummary: string, msgDetail: string) {\r\n\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locConfirm25ModalDlg = true;\r\n }\r\n acceptLt25Imm() {\r\n\r\n this.userApprovedLt25 = true;\r\n\r\n this.locConfirm25ModalDlg = false;\r\n if (this.userApprovedGt250 && this.userApprovedLt25) {\r\n if (this.isAssignedStoreValid()) {\r\n this.saveToDB();\r\n }\r\n else {\r\n this.showReAssignStoreDialog(this.action_status);\r\n }\r\n }\r\n }\r\n acceptGt250Imm() {\r\n this.userApprovedGt250 = true;\r\n\r\n this.locConfirm250ModalDlg = false;\r\n if (this.userApprovedGt250) {\r\n if (this.isAssignedStoreValid()) {\r\n this.saveToDB();\r\n }\r\n else {\r\n this.showReAssignStoreDialog(this.action_status);\r\n }\r\n }\r\n }\r\n rejectLt25Imm() {\r\n this.locConfirm25ModalDlg = false;\r\n return;\r\n }\r\n rejectGt250Imm() {\r\n this.locConfirm250ModalDlg = false;\r\n return;\r\n }\r\n cancelBlockedSlotAlert() {\r\n this.showBlockedSlotAlert = false;\r\n\r\n }\r\n continueBlockedSlotAlert() {\r\n this.showBlockedSlotAlert = false;\r\n this.overrideBlockedSlotAlert = true;\r\n if (this.clinic_details_update.clinicContactStatus == \"Submit\") {\r\n this.saveChanges();\r\n }\r\n if (this.clinic_details_update.clinicContactStatus == \"Cancelled\") {\r\n this.cancelClinic();\r\n }\r\n if (this.clinic_details_update.clinicContactStatus == \"Completed\") {\r\n this.completeClinic();\r\n }\r\n if (this.clinic_details_update.clinicContactStatus == \"Confirmed\") {\r\n this.confirmClinic();\r\n }\r\n }\r\n dateTimeConflict(): boolean {\r\n var locConflictList = [];\r\n var errMsgV1: string[] = [];\r\n if ([3, 5, 7].indexOf(this.clinicType) > -1) {\r\n return true;\r\n }\r\n try {\r\n for (let count = 0; count < this.clinicDetailsForm.value.clinicList.length; count++) {\r\n try {\r\n let locClinicDate: Date = new Date(this.clinicDetailsForm.value.clinicList[count].clinicDate);\r\n let stTime = null;\r\n let locStartTime = null;\r\n try {\r\n if (this.clinicDetailsForm.value.clinicList[count].naClinicStartTime.search(\"am\") !== -1 ||\r\n this.clinicDetailsForm.value.clinicList[count].naClinicStartTime.search(\"AM\") !== -1 ||\r\n this.clinicDetailsForm.value.clinicList[count].naClinicStartTime.search(\"PM\") !== -1 ||\r\n this.clinicDetailsForm.value.clinicList[count].naClinicStartTime.search(\"pm\") !== -1) {\r\n locStartTime = this._timeToDatePipe.transform(locClinicDate, this.clinicDetailsForm.value.clinicList[count].naClinicStartTime);\r\n } else {\r\n stTime = new Date(this.clinicDetailsForm.value.clinicList[count].naClinicStartTime);\r\n locStartTime = this._timeToDatePipe.transform(locClinicDate, this._datePipe.transform(stTime, \"shortTime\"));\r\n }\r\n } catch (e) {\r\n stTime = new Date(this.clinicDetailsForm.value.clinicList[count].naClinicStartTime);\r\n locStartTime = this._timeToDatePipe.transform(locClinicDate, this._datePipe.transform(stTime, \"shortTime\"));\r\n }\r\n\r\n\r\n let enTime = null;\r\n let locEndTime = null;\r\n try {\r\n if (this.clinicDetailsForm.value.clinicList[count].naClinicEndTime.search(\"am\") !== -1 ||\r\n this.clinicDetailsForm.value.clinicList[count].naClinicEndTime.search(\"AM\") !== -1 ||\r\n this.clinicDetailsForm.value.clinicList[count].naClinicEndTime.search(\"PM\") !== -1 ||\r\n this.clinicDetailsForm.value.clinicList[count].naClinicEndTime.search(\"pm\") !== -1) {\r\n locEndTime = this._timeToDatePipe.transform(locClinicDate,\r\n this.clinicDetailsForm.value.clinicList[count].naClinicEndTime);\r\n } else {\r\n enTime = new Date(this.clinicDetailsForm.value.clinicList[count].naClinicEndTime);\r\n locEndTime = this._timeToDatePipe.transform(locClinicDate, this._datePipe.transform(enTime, \"shortTime\"));\r\n }\r\n } catch (e) {\r\n enTime = new Date(this.clinicDetailsForm.value.clinicList[count].naClinicEndTime);\r\n locEndTime = this._timeToDatePipe.transform(locClinicDate, this._datePipe.transform(enTime, \"shortTime\"));\r\n }\r\n if (this.clinicDetailsForm.value.clinicList[count].isNoClinic >= 1 ||\r\n this.clinicDetailsForm.value.clinicList[count].isNoClinic === '1' ||\r\n this.clinicDetailsForm.value.clinicList[count].isReassign >= 1 ||\r\n this.clinicDetailsForm.value.clinicList[count].isReassign === '1' ||\r\n this.clinicDetailsForm.value.clinicList[count].clinicStoreId != this.clinicDetailsForm.value.clinicList[0].clinicStoreId\r\n || (count == 0 && (this.reassignForm.value.assignType == \"Store\" || this.reassignForm.value.assignType == \"Geogrpahy\") && this.clinicDetailsForm.value.clinicList[0].clinicStoreId != this.reassignForm.value.assignStoreID.storeId)\r\n || (count == 0 && (this.reassignForm.value.assignType == \"Area\" || this.reassignForm.value.assignType == \"District\"))) {\r\n continue;\r\n }\r\n let locationsCpy = JSON.parse(JSON.stringify(this.clinicDetailsForm.value.clinicList));\r\n var index = locationsCpy.findIndex(it => it.naClinicLocation === this.clinicDetailsForm.value.clinicList[count].naClinicLocation);\r\n if (index > -1) {\r\n locationsCpy.splice(index, 1);\r\n }\r\n locationsCpy.forEach(element => {\r\n element.clinicDate = new Date(element.clinicDate);\r\n });\r\n let conflictLocs = locationsCpy.filter(locItem => locClinicDate.getFullYear() === locItem.clinicDate.getFullYear() && locClinicDate.getMonth() === locItem.clinicDate.getMonth() && locClinicDate.getDate() === locItem.clinicDate.getDate() && (locItem.isNoClinic <= 0 || locItem.isNoClinic === '0' || locItem.isNoClinic === undefined || locItem.isNoClinic === null) && (locItem.isReassign <= 0 || locItem.isReassign === '0' || locItem.isReassign === undefined || locItem.isReassign === null) && (locItem.clinicStoreId == this.clinicDetailsForm.value.storeID));\r\n let endDateAdd39Mts: Date;\r\n if (locEndTime.toString().toLowerCase().search('am') !== -1 || locEndTime.toString().toLowerCase().search('pm') !== -1) {\r\n endDateAdd39Mts = this._timeToDatePipe.transform(locClinicDate, locEndTime);\r\n }\r\n else {\r\n endDateAdd39Mts = locEndTime;\r\n }\r\n let startDatetmToDt: Date;\r\n if (locStartTime.toString().toLowerCase().search('am') !== -1 || locStartTime.toString().toLowerCase().search('pm') !== -1) {\r\n startDatetmToDt = this._timeToDatePipe.transform(locClinicDate, locStartTime);\r\n }\r\n else {\r\n startDatetmToDt = locStartTime;\r\n }\r\n let add30MinTS: Date = new Date(locClinicDate.getFullYear(), locClinicDate.getMonth(), locClinicDate.getDate(), endDateAdd39Mts.getHours(), endDateAdd39Mts.getMinutes() + 30, endDateAdd39Mts.getSeconds());\r\n let locStart: Date = new Date(startDatetmToDt);\r\n\r\n if (conflictLocs.length > 0) {\r\n var conflictLocsCpy = JSON.parse(JSON.stringify(conflictLocs));\r\n try {\r\n conflictLocsCpy.forEach(element => {\r\n element.clinicDate = new Date(element.clinicDate);\r\n if (element.naClinicStartTime.search(\"am\") != -1 || element.naClinicStartTime.search(\"AM\") != -1 ||\r\n element.naClinicStartTime.search(\"pm\") != -1 || element.naClinicStartTime.search(\"PM\") != -1) {\r\n element.naClinicStartTime = this._timeToDatePipe.transform(element.clinicDate, element.naClinicStartTime);\r\n }\r\n else {\r\n let shrtTime = this._datePipe.transform(new Date(element.naClinicStartTime), \"shortTime\");\r\n element.naClinicStartTime = this._timeToDatePipe.transform(element.clinicDate, shrtTime);\r\n }\r\n if (element.naClinicEndTime.search(\"am\") != -1 || element.naClinicEndTime.search(\"AM\") != -1 ||\r\n element.naClinicEndTime.search(\"pm\") != -1 || element.naClinicEndTime.search(\"PM\") != -1) {\r\n element.naClinicEndTime = this._timeToDatePipe.transform(element.clinicDate, element.naClinicEndTime);\r\n }\r\n else {\r\n let shrtTime = this._datePipe.transform(new Date(element.naClinicEndTime), \"shortTime\");\r\n element.naClinicEndTime = this._timeToDatePipe.transform(element.clinicDate, shrtTime);\r\n }\r\n });\r\n } catch (e) { console.log(e); }\r\n conflictLocs = conflictLocsCpy.filter(locItem => locClinicDate.getFullYear() === locItem.clinicDate.getFullYear() && locClinicDate.getMonth() === locItem.clinicDate.getMonth() && locClinicDate.getDate() === locItem.clinicDate.getDate() && ((locItem.naClinicStartTime.valueOf() >= locStart.valueOf() && locItem.naClinicStartTime.valueOf() < add30MinTS.valueOf()) || (locItem.naClinicEndTime.valueOf() > locStart.valueOf() && locItem.naClinicEndTime.valueOf() < add30MinTS.valueOf())));\r\n if (conflictLocs.length > 0) {\r\n locConflictList.push({\r\n srcLocName: this.clinicDetailsForm.value.clinicList[count],\r\n dstLocName: conflictLocs\r\n });\r\n\r\n }\r\n }\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n let conflictClinicList: any[] = [];\r\n locConflictList.forEach(item => {\r\n item.dstLocName.forEach(element => {\r\n let duplicateEntry = conflictClinicList.filter(l => l.naClinicLocation == element.naClinicLocation);\r\n if (duplicateEntry.length <= 0) {\r\n conflictClinicList.push(element);\r\n }\r\n });\r\n\r\n });\r\n\r\n if (conflictClinicList.length > 0) {\r\n conflictClinicList.sort((leftItem, rightItem): number => {\r\n if (leftItem.naClinicLocation < rightItem.naClinicLocation) return -1;\r\n if (leftItem.naClinicLocation > rightItem.naClinicLocation) return 1;\r\n return 0;\r\n });\r\n if (conflictClinicList.length <= 2 && this.clinicDetailsForm.value.clinicList.length <= 2) {\r\n if (conflictClinicList.length == 2) {\r\n errMsgV1.push(String.Format(ErrorMessages['clincLocDateTimeSingleConflict'], conflictClinicList[1].naClinicLocation.replace(/CLINIC/g, 'LOCATION'), this._datePipe.transform(conflictClinicList[1].clinicDate, \"shortDate\"), this._datePipe.transform(conflictClinicList[1].naClinicStartTime, 'shortTime'), this._datePipe.transform(conflictClinicList[1].naClinicEndTime, 'shortTime'), this.coClinicDetails.opportunityInfo.businessName));\r\n } else {\r\n errMsgV1.push(String.Format(ErrorMessages['clincLocDateTimeSingleConflict'], conflictClinicList[0].naClinicLocation.replace(/CLINIC/g, 'LOCATION'), this._datePipe.transform(conflictClinicList[0].clinicDate, \"shortDate\"), this._datePipe.transform(conflictClinicList[0].naClinicStartTime, 'shortTime'), this._datePipe.transform(conflictClinicList[0].naClinicEndTime, 'shortTime'), this.coClinicDetails.opportunityInfo.businessName));\r\n }\r\n this.showDialogV2(ErrorMessages['resolve'], errMsgV1.join('

'));\r\n return false;\r\n }\r\n if (conflictClinicList.length >= 1) {\r\n conflictClinicList.forEach(loc => {\r\n errMsgV1.push(String.Format(ErrorMessages['clincLocDateTimeMultipleConflict'], loc.naClinicLocation.replace(/CLINIC/g, 'LOCATION'), this._datePipe.transform(loc.clinicDate, \"shortDate\"), this._datePipe.transform(loc.naClinicStartTime, 'shortTime'), this._datePipe.transform(loc.naClinicEndTime, 'shortTime'), this.coClinicDetails.opportunityInfo.businessName));\r\n });\r\n this.showDialogV2(ErrorMessages['resolve'], String.Format(\"{0}{1}\", ErrorMessages['multipleClinicDatesConflictLineItem'], errMsgV1.join('

')));\r\n return false;\r\n }\r\n }\r\n return true;\r\n } catch (e) {\r\n\r\n console.log(e);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n showDialogV2(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locListModalDlg = true;\r\n }\r\n\r\n okClickedV2() {\r\n this.locListModalDlg = false;\r\n }\r\n showErrDialogThenGoToHome(msgSummary: string, msgDetail: string) {\r\n this.dialogSummary = ErrorMessages['clinicDetailsErrHeader'];\r\n this.dialogMsg = msgDetail;\r\n this.getDetailsErr = true;\r\n }\r\n goToHome(action: string = '') {\r\n if (action == \"scheduledappointments\") {\r\n this.Action = '';\r\n this.showAfterClinicDelete = false;\r\n }\r\n else\r\n this.router.navigateByUrl(\"/communityoutreach/storehome\");\r\n }\r\n goToStoreHome() {\r\n window.location.href = '/communityoutreach/storehome';\r\n }\r\n download(value: any) {\r\n\r\n var voucher_form_data = new VoucherFormData();\r\n voucher_form_data.outreachBusinessPk = this.coClinicDetails.opportunityInfo.outreachBusinessPk;\r\n voucher_form_data.clinicPk = this.coClinicDetails.clinicList[0].clinicPk;\r\n voucher_form_data.downloadType = value;\r\n voucher_form_data.pdfPath = \"\";\r\n\r\n voucher_form_data.covidOpportunityType = this.coClinicDetails.opportunityInfo.covidOpportunityType;\r\n if (this.coClinicDetails.opportunityInfo.naClinicGroupId.includes(\"pending copay group id\")) {\r\n this.showDialogV2(\"Message\", \"This document cannot be downloaded until a Group ID is assigned\");\r\n return;\r\n }\r\n this.coClinicdetailsService.getContractVoucherFormData(voucher_form_data).subscribe((data: any) => {\r\n var res = data;\r\n if (res.pdfPath != \"\") {\r\n let url = /*environment.WalgreenDomain*/ res.pdfPath;\r\n localStorage.setItem(\"isApp\", \"yes\");\r\n window.open(url);\r\n }\r\n\r\n });\r\n }\r\n\r\n getModelDiff() {\r\n\r\n let temp: any = JSON.stringify(this.coClinicDetails);\r\n temp = JSON.parse(temp);\r\n\r\n this.updateDataFromFormFields(temp);\r\n temp.clinicList[0].privateCPSchedulerLink = this.coClinicDetails.clinicList[0].privateCPSchedulerLink;\r\n temp.clinicList.forEach(item => {\r\n try {\r\n item.naClinicLocation = [1, 2, 6].indexOf(this.clinicType) > -1 ? item.naClinicLocation.toUpperCase().replace('CLINIC ', '').replace('LOCATION ', '') : item.naClinicLocation;\r\n delete item['noSlotsOfBlocked'];\r\n item.clinicImzQtyList.forEach(imzQtyItem => {\r\n delete imzQtyItem[\"imzNameAndPmtMethod\"];\r\n });\r\n } catch (e) {\r\n console.log('save changes' + e);\r\n }\r\n });\r\n delete temp['clinicalRequirements'];\r\n delete temp['opportunityInfo'].naClinicGroupId\r\n let obj1 = this.deepCopy(this.coClinicDetails);\r\n obj1.clinicList.forEach(item => {\r\n try {\r\n delete item['noSlotsOfBlocked'];\r\n item.naClinicLocation = [1, 2, 6].indexOf(this.clinicType) > -1 ? item.naClinicLocation.toUpperCase().replace('CLINIC ', '').replace('LOCATION ', '') : item.naClinicLocation;\r\n item.clinicImzQtyList.forEach(imzQtyItem => {\r\n delete imzQtyItem[\"imzNameAndPmtMethod\"];\r\n });\r\n temp.clinicList[0].isApptSchedulerEnabled = obj1.clinicList[0].isApptSchedulerEnabled;\r\n } catch (e) {\r\n console.log('save changes' + e);\r\n }\r\n });\r\n delete obj1['clinicalRequirements'];\r\n delete obj1['opportunityInfo'].naClinicGroupId\r\n //let diff = this.utility.getDifference(obj1, temp);\r\n let diff = this.utility.getObjDiff(obj1, temp);\r\n if (this.savedViaReassignBtn) {\r\n diff = {};\r\n }\r\n if ((obj1.clinicList[0].naClinicStartTime && obj1.clinicList[0].naClinicStartTime.toString().toLowerCase().search('12:00 am') !== -1 && temp.clinicList[0].naClinicStartTime.toString().toLowerCase().search('00:00 am') !== -1) ||\r\n (obj1.clinicList[0].naClinicStartTime && obj1.clinicList[0].naClinicStartTime.toString().toLowerCase().search('12:30 am') !== -1 && temp.clinicList[0].naClinicStartTime.toString().toLowerCase().search('00:30 am') !== -1)) {\r\n diff = {};\r\n }\r\n return diff;\r\n }\r\n\r\n deepCopy(oldObj: any) {\r\n var newObj = oldObj;\r\n if (oldObj && typeof oldObj === \"object\") {\r\n newObj = Object.prototype.toString.call(oldObj) === \"[object Array]\" ? [] : {};\r\n for (var i in oldObj) {\r\n newObj[i] = this.deepCopy(oldObj[i]);\r\n }\r\n }\r\n return newObj;\r\n }\r\n\r\n leaveRoute() {\r\n this.showCanRouteChange = false;\r\n this.messageService.setCanShowRouteChangeConfirmation(false);\r\n this.messageService.setCanRouteChange(true);\r\n }\r\n cancelRoute() {\r\n this.showCanRouteChange = false;\r\n this.messageService.setCanShowRouteChangeConfirmation(false);\r\n this.messageService.setCanRouteChange(false);\r\n }\r\n\r\n updateLabel(obj: any) {\r\n obj.value[\"imzNameAndPmtMethod\"] = obj.value.immunizationName + \"
\" + obj.value.paymentTypeName;\r\n\r\n let estimatedQty = obj.controls.estimatedQuantity.value;\r\n let totalImmAdmintered = obj.controls.totalImmAdministered.value;\r\n let paperVars = obj.controls.paperVars.value;\r\n\r\n // let estimatedQty = obj.controls.estimatedQuantity.value;\r\n let frmGrps = this.clinicDetailsForm.controls.clinicImmunizationList['controls'].filter(p => p.controls.immunizationPk.value == obj.controls.immunizationPk.value);\r\n frmGrps.forEach((element, index) => {\r\n if (index > 0) {\r\n // element.patchValue({\r\n // estimatedQuantity: 0 \r\n // });\r\n element.patchValue({\r\n totalImmAdministered: 0\r\n });\r\n }\r\n });\r\n }\r\n\r\n updateEstQty(obj: any, clinicIndex) {\r\n // let estimatedQty = obj.controls.estimatedQuantity.value;\r\n let frmar = this.clinicDetailsForm.controls.clinicList['controls'] as FormArray;\r\n let frmGrp = frmar[clinicIndex] as FormGroup;\r\n let clinicImzQtyListArr: any = frmGrp.controls['clinicImzQtyList'] as FormArray;\r\n let matchedImms = clinicImzQtyListArr.controls.filter(p => p.controls['immunizationPk'].value == obj.controls.immunizationPk.value);\r\n matchedImms.forEach((element, index) => {\r\n if (this.clinicType == 13) {\r\n if (element.controls.immunizationPk.value == 31 && element.controls.estimatedQuantity.value > 0) {\r\n frmar[clinicIndex].controls['vouchersDistributed'].setValue(element.controls.estimatedQuantity.value);\r\n // frmar[clinicIndex].controls['vouchersDistributed'].disa();\r\n return;\r\n }\r\n }\r\n\r\n if (index > 0) {\r\n element.patchValue({\r\n estimatedQuantity: 0\r\n });\r\n }\r\n });\r\n }\r\n doesClinicsHaveNoClinicAndMiscOptions(): boolean {\r\n let hasCorpInvNdVchNd: boolean = this.checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded();\r\n let hasNoClinicAndMiscOptions: boolean = false;\r\n\r\n this.clinicDetailsForm.value.clinicList.forEach(element => {\r\n let isNoClinic: boolean = false;\r\n element.isNoClinic >= 1 && hasCorpInvNdVchNd ? isNoClinic = true : isNoClinic = false;\r\n hasNoClinicAndMiscOptions = hasNoClinicAndMiscOptions || isNoClinic;\r\n });\r\n return hasNoClinicAndMiscOptions;\r\n }\r\n checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded() {\r\n try {\r\n let hasCorpInvoiceNdVchrNd: Boolean = false;\r\n this.coClinicDetails.clinicImmunizationList.forEach(rec => {\r\n\r\n if (Number(rec.paymentTypeId) == 13 &&\r\n (rec.isVoucherNeeded === '1' || Number(rec.isVoucherNeeded) === 1)) {\r\n hasCorpInvoiceNdVchrNd = true;\r\n }\r\n });\r\n if (hasCorpInvoiceNdVchrNd == true)\r\n return true;\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getPrevSiblingInHist(obj: any, index: number, inner_index: number, value: any) {\r\n try {\r\n if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length < 40)\r\n return 'minHeight65';\r\n else if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 500) {\r\n return 'enableScroller';\r\n }\r\n else if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 400) {\r\n return 'minHeight150';\r\n }\r\n else if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 300) {\r\n return 'minHeight100';\r\n }\r\n else if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 80) {\r\n return 'minHeight110';\r\n }\r\n else if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 60) {\r\n return 'minHeight90';\r\n }\r\n else if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 41) {\r\n return 'minHeight65';\r\n }\r\n else\r\n return '';\r\n }\r\n catch (e) {\r\n return '';\r\n }\r\n }\r\n\r\n getNextSiblingInHist(obj: any, index: number, inner_index: number) {\r\n try {\r\n if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length < 40)\r\n return 'minHeight65';\r\n else if ((obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 500)) {\r\n return 'enableScrollerHeight';\r\n }\r\n else if ((obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 400)) {\r\n return 'minHeight150';\r\n }\r\n else if ((obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 300)) {\r\n return 'minHeight100';\r\n }\r\n else if ((obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 80)) {\r\n return 'minHeight110';\r\n }\r\n else if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 60) {\r\n return 'minHeight90';\r\n }\r\n else if ((obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].length > 41)) {\r\n return 'minHeight65';\r\n }\r\n else\r\n return '';\r\n }\r\n catch (e) {\r\n return '';\r\n }\r\n }\r\n\r\n enableDisableClinicDates() {\r\n var userProfile = SessionDetails.GetUserProfile();\r\n let today = new Date();\r\n if (this.utility.isStoreIsfromRestrictedState()) {\r\n if (userProfile.userRole.toLowerCase() == \"store manager\" || userProfile.userRole.toLowerCase() == \"pharmacy manager\") {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);// + 14\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);// + 14\r\n }\r\n else {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n }\r\n if (ClinicDetailsUtilities.checkIfAnyFluImmIsSelected(this.coClinicDetails)) {\r\n this.maxDateValue = new Date(today.getFullYear() + 1, 3, 1, 12, 55, 55);\r\n }\r\n else {\r\n this.maxDateValue = new Date(today.getFullYear() + 1, today.getMonth(), today.getDate() - 1, 12, 55, 55);\r\n }\r\n }\r\n }\r\n\r\n onBlurMethod(i: number) {\r\n let controlclinicList = this.clinicDetailsForm.controls['clinicList'];\r\n let address1: string = controlclinicList.controls[i].get('naClinicAddress1').value;\r\n let address2: string = controlclinicList.controls[i].get('naClinicAddress2').value;\r\n let city: string = controlclinicList.controls[i].get('naClinicCity').value;\r\n let state: string = controlclinicList.controls[i].get('naClinicState').value;\r\n let zipCode: string = controlclinicList.controls[i].get('naClinicZip').value;\r\n let address = address1 + \", \" + address2 + \", \" + city + \", \" + state + \" \" + zipCode;\r\n this.getLatitudeLongitude(address, i);\r\n\r\n let isReassignGeographySelected: boolean = controlclinicList.controls[i].get('isReassign').value;\r\n let reAssigAllowed = this.utility.IsReassignmentAllowedForRestrictedState(state);\r\n if (isReassignGeographySelected && !reAssigAllowed) {\r\n let dialogMsg = state == \"DC\" ? String.Format(ErrorMessages['restrictedStates'], \"Columbia \", \"15\") : String.Format(ErrorMessages['restrictedStates'], \"Missouri \", \"20\");\r\n if (i > 0) {\r\n controlclinicList.controls[i].get('naClinicState').setValue('');\r\n }\r\n else {\r\n controlclinicList.controls[i].get('naClinicState').setValue(this.coClinicDetails.clinicList[0].naClinicState);\r\n }\r\n this.showDialogV2(\"Alert\", dialogMsg);\r\n }\r\n }\r\n\r\n //geocoder to get the latitude and longitude \r\n getLatitudeLongitude(fulladdress, index) {\r\n\r\n let controlclinicList = this.clinicDetailsForm.controls['clinicList'];\r\n var geocoder = new google.maps.Geocoder();\r\n geocoder.geocode({ 'address': fulladdress }, function (results, status) {\r\n if (status == google.maps.GeocoderStatus.OK) {\r\n controlclinicList.controls[index].get('clinicLatitude').setValue(results[0].geometry.location.lat());\r\n controlclinicList.controls[index].get('clinicLongitude').setValue(results[0].geometry.location.lng());\r\n }\r\n });\r\n\r\n }\r\n //end geocoder \r\n AllowAdminsToEditDataForRestrictedState() {\r\n return this.utility.AllowAdminsToEditDataForRestrictedState();\r\n }\r\n isStoreIsfromRestrictedState() {\r\n return this.utility.isStoreIsfromRestrictedState();\r\n }\r\n scrolling() {\r\n window.scrollTo(0, 0);\r\n }\r\n //geocoder to get the latitude and longitude\r\n getAddr(idx, addr, sourceobject, result) {\r\n sourceobject.clinicList[idx].latitude = result.lat();\r\n sourceobject.clinicList[idx].longitude = result.lng();\r\n };\r\n\r\n OnAmendAgreementClick() {\r\n\r\n let control = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let index;\r\n for (index = 0; index < control.length; index++) {\r\n if (this.reassignForm.value.assignType !== null && this.reassignForm.value.assignType !== \"\") {\r\n control.controls[index].get('isClinicalReqd').setValidators(null);\r\n control.controls[index].get('isClinicalReqd').updateValueAndValidity();\r\n }\r\n }\r\n\r\n sessionStorage[\"AmendAgreement\"] = \"true\";\r\n if (this.coClinicDetails.opportunityInfo.childClinicAgreementId != null && this.coClinicDetails.opportunityInfo.childClinicAgreementId > 0) {\r\n sessionStorage[\"NewAmendAgreement\"] = \"false\"\r\n SessionDetails.SetAgreementPK(this.coClinicDetails.opportunityInfo.childClinicAgreementId);\r\n SessionDetails.setOpportunitiesData(JSON.stringify(this.coClinicDetails.opportunityInfo));\r\n this.router.navigateByUrl(\"/communityoutreach/contract\");\r\n }\r\n else {\r\n sessionStorage[\"NewAmendAgreement\"] = \"true\"\r\n SessionDetails.SetAgreementPK(this.coClinicDetails.opportunityInfo.clinicAgreementPk);\r\n this.isAmendAgreementPopUp = true;\r\n }\r\n }\r\n\r\n OnAmendAgreementForCommOutreachClick() {\r\n\r\n let control = this.clinicDetailsForm.controls['clinicImmunizationList'];\r\n let index;\r\n for (index = 0; index < control.length; index++) {\r\n if (this.reassignForm.value.assignType !== null && this.reassignForm.value.assignType !== \"\") {\r\n control.controls[index].get('isClinicalReqd').setValidators(null);\r\n control.controls[index].get('isClinicalReqd').updateValueAndValidity();\r\n }\r\n }\r\n\r\n sessionStorage[\"AmendAgreementForCommOutreach\"] = \"true\";\r\n if (this.coClinicDetails.opportunityInfo.childClinicAgreementId != null && this.coClinicDetails.opportunityInfo.childClinicAgreementId > 0) {\r\n sessionStorage[\"NewAmendAgreement\"] = \"false\"\r\n SessionDetails.SetAgreementPK(this.coClinicDetails.opportunityInfo.childClinicAgreementId);\r\n SessionDetails.setOpportunitiesData(JSON.stringify(this.coClinicDetails.opportunityInfo));\r\n\r\n if (this.coClinicDetails.opportunityInfo.clinicType == 13) {\r\n this.router.navigateByUrl(\"/communityoutreach/equityevents\");\r\n }\r\n else {\r\n this.router.navigateByUrl(\"/communityoutreach/communityoutreach\");\r\n }\r\n\r\n }\r\n else {\r\n sessionStorage[\"NewAmendAgreement\"] = \"true\"\r\n SessionDetails.SetAgreementPK(this.coClinicDetails.opportunityInfo.clinicAgreementPk);\r\n this.isAmendAgreementCommOutreachPopUp = true;\r\n }\r\n\r\n sessionStorage[\"IsCommunityOutreachAmendAgreement\"] = \"true\";\r\n }\r\n\r\n CancelAmendAgreement() {\r\n this.isAmendAgreementPopUp = false;\r\n }\r\n CancelAmendAgreementCommOutreach() {\r\n this.isAmendAgreementCommOutreachPopUp = false;\r\n }\r\n\r\n ContinueAmendAgreement() {\r\n this.isAmendAgreementPopUp = false;\r\n SessionDetails.setOpportunitiesData(JSON.stringify(this.coClinicDetails.opportunityInfo));\r\n if (this.coClinicDetails.opportunityInfo.clinicType == 13) {\r\n this.router.navigateByUrl(\"/communityoutreach/equityevents\");\r\n }\r\n else if (this.coClinicDetails.opportunityInfo.clinicType == 6) {\r\n this.router.navigateByUrl(\"/communityoutreach/communityoutreach\");\r\n }\r\n else {\r\n this.router.navigateByUrl(\"/communityoutreach/contract\");\r\n\r\n }\r\n }\r\n\r\n ContinueAmendAgreementCommOutreach() {\r\n this.isAmendAgreementPopUp = false;\r\n SessionDetails.setOpportunitiesData(JSON.stringify(this.coClinicDetails.opportunityInfo));\r\n if (this.coClinicDetails.opportunityInfo.clinicType == 13) {\r\n this.router.navigateByUrl(\"/communityoutreach/equityevents\");\r\n }\r\n else if (this.coClinicDetails.opportunityInfo.clinicType == 6) {\r\n this.router.navigateByUrl(\"/communityoutreach/communityoutreach\");\r\n }\r\n else {\r\n this.router.navigateByUrl(\"/communityoutreach/contract\");\r\n\r\n }\r\n }\r\n\r\n checkRestrictedStatesCompliance(index: number) {\r\n let reAssignedStoreId = this.clinicDetailsForm.controls.clinicList['controls'][index].get('clinicStoreId').value;\r\n if (reAssignedStoreId.trim().length > 0) {\r\n //get restricted store state using userPk 41, this is necessary as store date is not fetched for non authorized users, but as per business req, an rxm can assign.\r\n this._headerservice.storeSearch(41, reAssignedStoreId.trim(), 0).subscribe(data => {\r\n if (reAssignedStoreId.trim() != SessionDetails.GetStoreId()) {\r\n let returnValue = true;\r\n var filterSearchRes = data.filter(store => store.storeId == reAssignedStoreId);\r\n if (this.utility.IsReassignmentAllowedForRestrictedState(filterSearchRes[0].state)) {\r\n returnValue = true;;\r\n }\r\n else if (SessionDetails.GetState() == \"MO\") {\r\n\r\n if (filterSearchRes.length > 0 && filterSearchRes[0].state == \"DC\") {\r\n returnValue = false;\r\n }\r\n }\r\n else if (SessionDetails.GetState() == \"DC\") {\r\n if (filterSearchRes.length > 0 && filterSearchRes[0].state == \"MO\") {\r\n returnValue = false;\r\n }\r\n }\r\n else if (SessionDetails.GetState() != \"MO\" || SessionDetails.GetState() != \"DC\") {\r\n if (filterSearchRes.length > 0 && (filterSearchRes[0].state == \"MO\" || filterSearchRes[0].state == \"DC\")) {\r\n returnValue = false;\r\n }\r\n }\r\n if (!returnValue) {\r\n let dialogMsg = filterSearchRes[0].state == \"DC\" ? String.Format(ErrorMessages['restrictedStates'], \"Columbia \", \"15\") : String.Format(ErrorMessages['restrictedStates'], \"Missouri \", \"20\")\r\n this.clinicDetailsForm.controls.clinicList['controls'][index].get('clinicStoreId').setValue(this.coClinicDetails.clinicList[0].clinicStoreId);\r\n this.showDialogV2(\"Alert\", dialogMsg);\r\n this.clinicDetailsForm.controls.clinicList['controls'][index].updateValueAndValidity();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n onvisitTypeClicked(locationForm: any) {\r\n }\r\n onOtherRadioClicked(locationForm: any) {\r\n if (locationForm.controls['coOutreachTypeId'].value === 4) {\r\n locationForm.controls['coOutreachTypeDesc'].enable();\r\n locationForm.controls['coOutreachTypeDesc'].setValidators([Validators.required]);\r\n locationForm.controls['coOutreachTypeDesc'].updateValueAndValidity();\r\n }\r\n else {\r\n locationForm.controls['coOutreachTypeDesc'].setValidators(null);\r\n locationForm.controls['coOutreachTypeDesc'].setErrors(null);\r\n locationForm.controls['coOutreachTypeDesc'].updateValueAndValidity();\r\n locationForm.controls['coOutreachTypeDesc'].disable();\r\n }\r\n }\r\n\r\n onOtherTextChanged(obj: any) {\r\n obj.value.coOutreachTypeId = obj.value.coOutreachTypeId + \"_U\";\r\n }\r\n\r\n displayFieldCssOutReachType(field: string, i: number) {\r\n try {\r\n const control = this.clinicDetailsForm.controls['clinicList'];\r\n const outReach = control.controls[i].get(field);\r\n let return_val = !outReach.valid && outReach.touched;\r\n return {\r\n 'has-error': return_val,\r\n 'has-feedback': return_val\r\n };\r\n\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n\r\n isAdmin() {\r\n if ([1, 2, 3, 4, 5, 7].indexOf(this.clinicType) > -1) {\r\n let userProfile = SessionDetails.GetUserProfile();\r\n if (userProfile != null && userProfile.userRole.toLowerCase() == 'admin') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n showUpdateClinicDetailsRspError(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.errorMsgOverride = true;\r\n }\r\n\r\n showClinicLocationDetailsSaveChangesError(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.errorMsgSaveChanges = true;\r\n }\r\n\r\n ErrorMsgContinueClicked() {\r\n this.errorMsgOverride = false;\r\n this.errorMsgSaveChanges = false;\r\n this.HandleUserResponse();\r\n }\r\n\r\n ErrorMsgSaveChangesClicked() {\r\n this.errorMsgSaveChanges = false;\r\n this.HandleUserResponse();\r\n }\r\n\r\n HandleUserResponse() {\r\n switch (this.rescheduledErrorCode) {\r\n case -5:\r\n this.clinic_details_update.isSendLocationChangeEmailToAppts = false;\r\n this.clinic_details_update.isSendRescheduleEmailToAppts = true;\r\n break;\r\n case -6:\r\n this.clinic_details_update.isSendLocationChangeEmailToAppts = true;\r\n this.clinic_details_update.isSendRescheduleEmailToAppts = false;\r\n break;\r\n default:\r\n this.clinic_details_update.isSendLocationChangeEmailToAppts = false;\r\n this.clinic_details_update.isSendRescheduleEmailToAppts = false;\r\n break;\r\n }\r\n this.scrolling();\r\n this.spinner.show();\r\n this.coClinicdetailsService.upDateClinicDetails(this.coClinicDetails.clinicList[0].clinicPk,\r\n this.clinic_details_update, this.isOverride).subscribe((res: any) => {\r\n this.spinner.hide();\r\n this.rescheduledErrorCode = 0;\r\n //if (res.status == \"200\") {\r\n let msg = ErrorMessages['clinicSave'];\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n msg = ErrorMessages['clinicSavedWithSchdlr']\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n msg = ErrorMessages['clinicSavedWithCPSchdlr'];\r\n }\r\n if (this.action_status != null) {\r\n if (this.action_status.toLowerCase() == 'cancelled') {\r\n msg = ErrorMessages['clinicCancel'];\r\n } else if (this.action_status.toLowerCase() == 'confirmed') {\r\n msg = ErrorMessages['clinicConfirm'];\r\n if (this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1) {\r\n msg = ErrorMessages['clinicConfirmWithSchdlr'];\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1) {\r\n msg = ErrorMessages['clinicConfirmWithCPSchdlr'];\r\n }\r\n }\r\n } else if (this.action_status.toLowerCase() == 'completed') {\r\n msg = ErrorMessages['clinicComplete'];\r\n this.IsAmendSubmit = false;\r\n if ([1].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1 && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && this.clinic_details_update.clinicList[0].isApptSchedulerEnabled && !this.coClinicDetails.clinicList[0].isScheduled) {\r\n msg = ErrorMessages['clinicCompleteWithSchdlr'];\r\n }\r\n else if ([2, 3].indexOf(this.clinic_details_update.clinicList[0].apptSchedulerType) > -1) {\r\n msg = ErrorMessages['clinicCompleteWithCPSchdlr'];\r\n }\r\n }\r\n }\r\n if (res.errorS != null) {\r\n if (res.errorS.errorCode != 0) {\r\n let errorCode = res.json().errorS.errorCode;\r\n let errorMessage = res.json().errorS.errorMessage;\r\n switch (res.errorS.errorCode) {\r\n case -4:\r\n let sumMsg = ErrorMessages['eventDateTimeConflict'];\r\n let finalErrMsg = String.Format(\"{0}

{1}\", res.json().errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']);\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n this.confirm(sumMsg, finalErrMsg, this.clinic_details_update.clinicContactStatus, true);\r\n break;\r\n case -6:\r\n this.rescheduledErrorCode = errorCode;\r\n this.showClinicLocationDetailsSaveChangesError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsLocationChangedWarning']);\r\n break;\r\n case -5:\r\n // if (this.isAdmin()) { \r\n this.rescheduledErrorCode = errorCode;\r\n this.showUpdateClinicDetailsRspError(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsChangedWarning'].replace('{1}', errorMessage.replace(',', ', ')));\r\n // }\r\n // else {\r\n // this.showDialogV2(ErrorMessages['CorpClinicDetailsRspErrorSummary'], ErrorMessages['CorpClinicDetailsChangedErrMsg'].replace('{1}', errorMessage.replace(',', ', ')));\r\n // }\r\n case -7:\r\n this.showDialog(ErrorMessages['clinicDetails'], errorMessage);\r\n break;\r\n\r\n default:\r\n this.showDialogV2(ErrorMessages['CorpClinicDetailsRspErrorSummary'], errorMessage);\r\n break;\r\n }\r\n return;\r\n }\r\n else {\r\n this.isOverride = false;\r\n this.showDialog(ErrorMessages['clinicDetails'], msg);\r\n window.scrollTo(0, 0);\r\n }\r\n }\r\n else {\r\n this.clinic_details_update.isSendLocationChangeEmailToAppts = false;\r\n this.clinic_details_update.isSendRescheduleEmailToAppts = false;\r\n this.showDialog(ErrorMessages['clinicDetails'], msg);\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n },\r\n err => {\r\n this.isOverride = false;\r\n this.rescheduledErrorCode = 0;\r\n this.spinner.hide();\r\n this.showDialogV2(ErrorMessages['serverError'], err.Message != null && err.Message != undefined ? err.Message : err.statusText);\r\n });\r\n }\r\n\r\n ErrorMsgCancelClicked() {\r\n this.errorMsgOverride = false;\r\n this.rescheduledErrorCode = 0;\r\n this.isOverride = false;\r\n this.bindLocalClinicData();\r\n }\r\n\r\n ErrorMsgSaveChangesCancelClicked() {\r\n this.errorMsgSaveChanges = false;\r\n this.rescheduledErrorCode = 0;\r\n this.bindLocalClinicData();\r\n }\r\n getSchedulerDisabledStatus(index: number, locationForm: any) {\r\n if ((index === 0 && this.isApptSchedulerDisabled && !this.isSuperAdmin) || this.isNoClinic) {\r\n return true;\r\n }\r\n else if (index > 0) {\r\n return null;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n\r\n uncheckCOPRadio(locationForm: any, event) {\r\n let schedulerType: any = locationForm.controls['apptSchedulerType'].value\r\n if (!this.isSuperAdmin) {\r\n if (schedulerType == 1) {\r\n this.clinicDetailsForm.controls.clinicList['controls'][0].get('isApptSchedulerEnabled').setValue(false);\r\n locationForm.controls['apptSchedulerType'].patchValue(0);\r\n schedulerType = 0\r\n this.cOPForceUncheck = true;\r\n }\r\n else if (typeof schedulerType == 'object' && schedulerType == 1) {\r\n this.clinicDetailsForm.controls.clinicList['controls'][0].get('isApptSchedulerEnabled').setValue(false);\r\n locationForm.controls['apptSchedulerType'].patchValue(0);\r\n schedulerType = 0\r\n this.cOPForceUncheck = true;\r\n }\r\n else if (typeof schedulerType == 'object' && (schedulerType == null || schedulerType == 0) && !this.isNoClinic) {\r\n schedulerType = 1\r\n locationForm.controls['apptSchedulerType'].patchValue(1);\r\n this.cOPForceUncheck = false;\r\n }\r\n else if (typeof schedulerType != 'object' && (schedulerType == null || schedulerType == 0) && !this.isNoClinic) {\r\n schedulerType = 1\r\n locationForm.controls['apptSchedulerType'].patchValue(1);\r\n this.cOPForceUncheck = false;\r\n }\r\n } else if (this.isSuperAdmin && !this.isNoClinic) {\r\n locationForm.controls['apptSchedulerType'].patchValue(1);\r\n }\r\n this.showAppointmentScheduler = schedulerType == 1 && this.isEncryptLinkNull;\r\n if (schedulerType <= 0 && this.coClinicDetails.clinicList[0].isScheduled && !this.isNoClinic) {\r\n this.showDialogV2(\"Appointment Scheduler\", ErrorMessages['turnOffApptSchdWarning']);\r\n }\r\n if (schedulerType == 2 && !this.is_admin)\r\n this.disableTotalAdministered = true;\r\n else\r\n this.disableTotalAdministered = null;\r\n event.preventDefault();\r\n }\r\n\r\n onScheduleChange(locationForm: any) {\r\n // \r\n if (this.cOPForceUncheck) {\r\n locationForm.controls['apptSchedulerType'].patchValue({ apptSchedulerType: null });\r\n this.cOPForceUncheck = false;\r\n }\r\n let schedulerType: number = locationForm.controls['apptSchedulerType'].value;\r\n this.showAppointmentScheduler = schedulerType == 1 && this.isEncryptLinkNull;\r\n if (schedulerType <= 0 && this.coClinicDetails.clinicList[0].isScheduled) {\r\n this.showDialogV2(\"Appointment Scheduler\", ErrorMessages['turnOffApptSchdWarning']);\r\n }\r\n if (schedulerType == 2 && !this.is_admin)\r\n this.disableTotalAdministered = true;\r\n else\r\n this.disableTotalAdministered = null;\r\n // if(schedulerType==1 || schedulerType==2){\r\n // this.clinicDetailsForm.controls['isApptSchedulerEnabled'].setValue(true);\r\n // }\r\n // else {\r\n // this.clinicDetailsForm.controls['isApptSchedulerEnabled'].setValue(null);\r\n // }\r\n }\r\n copyEncryptedLink(linkText) {\r\n this.copyText = document.getElementById(linkText);\r\n this.copyText.select();\r\n document.execCommand(\"copy\");\r\n }\r\n accessCPScheduler() {\r\n window.open(\"https://vaccine.walgreens.com/login\");\r\n }\r\n accessScheduler() {\r\n let today = new Date();\r\n if (!this.accessSchedulerEncryptedLink) {\r\n return;\r\n }\r\n\r\n // if( (new Date (this.coClinicDetails.clinicList[0].clinicDate)) < new Date(today.getFullYear(),today.getMonth(),today.getDate()) && this.coClinicDetails.clinicList[0].isScheduled){\r\n // this.showDialogV2(\"Scheduler\", \"Scheduler is not available for past clinics.\");\r\n // return;\r\n // }\r\n //sessionStorage.removeItem(\"registrationDetails\");\r\n this.navigateToSchedulerSites(\"schedulerLanding\");\r\n }\r\n accessTracker() {\r\n if (!this.accessSchedulerTrackerEncryptedLink) {\r\n return;\r\n }\r\n this.navigateToSchedulerSites(\"clientSchedulerApptTracker\");\r\n }\r\n navigateToSchedulerSites(page_name: string) {\r\n var encrypt_data = new EncryptDecrypt();\r\n encrypt_data.encryptedS = this.accessSchedulerTrackerEncryptedLink;\r\n encrypt_data.decryptedS = \"\";\r\n this.authenticationService.postEncryptionDecryption(encrypt_data).subscribe((data: any) => {\r\n let decrypted_data = data.decryptedS;\r\n if (decrypted_data !== null || decrypted_data !== undefined) {\r\n let splited_Data = SessionDetails.getD(SessionDetails.absJ, decrypted_data).split(\"|\");\r\n var scheduleuserInfo = new SchedulerUserInfo();\r\n scheduleuserInfo.userName = splited_Data[0];\r\n scheduleuserInfo.userPk = Number(splited_Data[1]);\r\n scheduleuserInfo.password = splited_Data[2];\r\n scheduleuserInfo.designPk = Number(splited_Data[3]);\r\n scheduleuserInfo.appointmentPK = (splited_Data.length <= 5 && (!splited_Data[4] || typeof (splited_Data[4]) === 'string') ? -1 : Number(splited_Data[4]));\r\n scheduleuserInfo.redirectPage = ''// splited_Data[5];\r\n scheduleuserInfo.clinicPK = splited_Data[6] ? Number(splited_Data[6]) : -1;\r\n SessionDetails.setSchedulerUserInfo(scheduleuserInfo);\r\n let path = this.protocol + \"//\" + this.domain + ((this.port) ? \":\" + this.port : \"\");\r\n window.open(path + '/' + page_name);\r\n }\r\n });\r\n }\r\n showEncryptedLinkDlg(ptype: any) {\r\n if (ptype == 'Tracking') {\r\n this.dispEncryptedLink = true;\r\n this.isApptTrackingEncLink = true;\r\n this.accessLinkHeaderTitle = \"Shared Encrypted Access Link\";\r\n this.isApptSchedulerEncLink = false;\r\n }\r\n if (ptype == 'Scheduler') {\r\n this.dispEncryptedLink = true;\r\n this.isApptSchedulerEncLink = true;\r\n this.accessLinkHeaderTitle = \"Shared Encrypted Access Link & QR Code\";\r\n this.isApptTrackingEncLink = false;\r\n }\r\n if (ptype == 'CPScheduler') {\r\n this.dispEncryptedLink = true;\r\n this.isApptSchedulerEncLink = true;\r\n this.accessLinkHeaderTitle = \"Share CURA Patient Scheduler Link & QR Code\";\r\n this.isApptTrackingEncLink = false;\r\n }\r\n }\r\n // downloadImage(){\r\n // this.href= document.getElementsByTagName('img')[4].src;\r\n // }\r\n private convertBase64ToBlob(Base64Image: any) {\r\n // SPLIT INTO TWO PARTS\r\n const parts = Base64Image.split(';base64,');\r\n // HOLD THE CONTENT TYPE\r\n const imageType = parts[0].split(':')[1];\r\n // DECODE BASE64 STRING\r\n const decodedData = window.atob(parts[1]);\r\n // CREATE UNIT8ARRAY OF SIZE SAME AS ROW DATA LENGTH\r\n const uInt8Array = new Uint8Array(decodedData.length);\r\n // INSERT ALL CHARACTER CODE INTO UINT8ARRAY\r\n for (let i = 0; i < decodedData.length; ++i) {\r\n uInt8Array[i] = decodedData.charCodeAt(i);\r\n }\r\n // RETURN BLOB IMAGE AFTER CONVERSION\r\n return new Blob([uInt8Array], { type: imageType });\r\n }\r\n saveAsImage(parent) {\r\n // fetches base 64 date from image\r\n const parentElement = parent.qrcElement.nativeElement.querySelector(\"img\").src;\r\n\r\n // converts base 64 encoded image to blobData\r\n let blobData = this.convertBase64ToBlob(parentElement);\r\n let winnavigator: any;\r\n winnavigator = window.navigator;\r\n // saves as image \r\n if (window.navigator && winnavigator.msSaveOrOpenBlob) { //IE\r\n winnavigator.msSaveOrOpenBlob(blobData, this.myAngularxQrCode.substr(this.myAngularxQrCode.lastIndexOf('/') + 1));\r\n } else { // chrome\r\n const blob = new Blob([blobData], { type: \"image/png\" });\r\n const url = window.URL.createObjectURL(blob);\r\n // window.open(url);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = this.myAngularxQrCode.substr(this.myAngularxQrCode.lastIndexOf('/') + 1);\r\n link.click();\r\n }\r\n\r\n }\r\n validateReduceEstQnt() {\r\n let ret: boolean = true;\r\n let clinicList = this.clinicDetailsForm.get(\"clinicList\").value[0];\r\n if (clinicList.isApptSchedulerEnabled == true && this.coClinicDetails.clinicList[0].isCovidClinic) {\r\n let newQuant = 0;\r\n this.clinicDetailsForm.controls.clinicImmunizationList['controls'].forEach(\r\n x => newQuant += Number(x.value.estimatedQuantity));\r\n let oldQuant = 0;\r\n this.coClinicDetails.clinicList[0].clinicImzQtyList.forEach(x => oldQuant += x.estimatedQuantity);\r\n if (newQuant < oldQuant) {\r\n this.dialogSummary = ErrorMessages['warning'];\r\n this.dialogMsg = \"Reducing the Estimated Quantity with the Scheduler enabled will not remove appointment slots or cancel appointments that have already been created for this clinic.\";\r\n this.showEstQnt = true;\r\n ret = false;\r\n }\r\n else\r\n ret = true;\r\n }\r\n return ret;\r\n }\r\n continueEstQntAlert() {\r\n this.showEstQnt = false;\r\n this.continueWithSaving(this.action_status);\r\n }\r\n alertUserAboutScheduler() {\r\n let ret: boolean = true;\r\n let showAlert: boolean = false;\r\n let messageString: string = \"\";\r\n let clinicList = this.clinicDetailsForm.get(\"clinicList\").value;\r\n let alertClinicsList = [];\r\n //clinicItem.controls[0].get('apptSchedulerType').value\r\n if (clinicList.length > 1) {\r\n let index: number = 0;\r\n clinicList.forEach(clinic => {\r\n if (clinic.apptSchedulerType > 0 && index > 0) {\r\n showAlert = true;\r\n let name: string = clinic.apptSchedulerType == 1 ? \"(Community Outreach Portal Scheduler)\" : clinic.apptSchedulerType == 2 ? \"(CURA Patient Scheduler)\" : \"(CURA Patient Regional Scheduler)\";\r\n alertClinicsList.push(\"CLINIC - \" + clinic.naClinicLocation + \" \" + name);\r\n }\r\n index++;\r\n });\r\n }\r\n if (clinicList[0].apptSchedulerType > 0 && this.coClinicDetails.clinicList[0].isApptSchedulerEnabled !== true && this.coClinicDetails.clinicList[0].isDataPostedToCP !== true) {\r\n let res: boolean = Number(this.coClinicDetails.clinicList[0].isApptSchedulerEnabled) != 1 && Number(this.coClinicDetails.clinicList[0].isDataPostedToCP) != 1;\r\n showAlert = clinicList[0].apptSchedulerType > 0 && res;\r\n let name: string = clinicList[0].apptSchedulerType == 1 ? \"(Community Outreach Portal Scheduler)\" : clinicList[0].apptSchedulerType == 2 ? \"(CURA Patient Scheduler)\" : \"(CURA Patient Regional Scheduler)\";\r\n alertClinicsList.push(\"CLINIC - \" + clinicList[0].naClinicLocation + \" \" + name);\r\n }\r\n // \r\n // this.coClinicDetails.clinicList[0].isCuraAppointmentScheduled = true;\r\n // if(clinicList[0].apptSchedulerType == 2 &&this.coClinicDetails.clinicList[0].isCuraAppointmentScheduled ==true){ \r\n // showAlert = true;\r\n // let name:string = clinicList[0].apptSchedulerType==1?\"Community Outreach Portal\":clinicList[0].apptSchedulerType==2?\"CURA Patient Scheduler\":\"\";\r\n // alertClinicsList.push(\"CLINIC - \" + clinicList[0].naClinicLocation + \" \" + name);\r\n // }\r\n\r\n if (showAlert && !this.showSchedulerAlert) {\r\n\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = String.Format(\"Are you sure you want to update the following clinics with the selected appointment schedulers? Once selected, you will not be able to change your selection.

{0}\", alertClinicsList.join('
'));\r\n this.showSchedulerAlert = true;\r\n ret = false;\r\n }\r\n else {\r\n ret = true;\r\n }\r\n return ret;\r\n }\r\n continueSchedulerAlertClicked() {\r\n this.showSchedulerAlert = false;\r\n this.continueWithSaving(this.action_status);\r\n }\r\n\r\n updateClinicFee(state) {\r\n if (state.target.checked) {\r\n this.clinicDetailsForm.controls['isNoClinicFee'].patchValue(true);\r\n }\r\n else {\r\n this.clinicDetailsForm.controls['isNoClinicFee'].patchValue(false);\r\n }\r\n }\r\n\r\n onSelectedCancelDisposition(event) {\r\n if (event && this.selectedCancelDisposition.length) {\r\n this.displayCancelError = false;\r\n }\r\n else {\r\n this.displayCancelError = true;\r\n }\r\n }\r\n\r\n onClinicDateSelected(selectedDate: Date) {\r\n for (let immunization of this.clinicDetailsForm.controls.clinicImmunizationList['controls']) {\r\n if (immunization.get('immunizationName').value.toLocaleLowerCase()?.includes('covid')) {\r\n let startDate = moment(environment.covidVaccineNotAviableDates.startDate, \"DD/MM/YYYY\");\r\n let endDate = moment(environment.covidVaccineNotAviableDates.endDate, \"DD/MM/YYYY\");\r\n let comparisonDate = moment(new Date(selectedDate.getFullYear(), selectedDate.getMonth(), selectedDate.getDate(), 18, 0, 0), \"DD/MM/YYYY\");\r\n\r\n if ((comparisonDate.isBetween(startDate, endDate) || comparisonDate.isSame(startDate) || comparisonDate.isSame(endDate)) && !environment.disabledFeatures.covidWarning) {\r\n this.showDialogV2(\"Warning\", ErrorMessages[\"sesionalCovid19Info\"]);\r\n // immunization.estimatedQuantity.setErrors({ 'incorrect': true });\r\n }\r\n }\r\n }\r\n }\r\n\r\n handleCovidVaccineAdminConfirmation() {\r\n const locations = this.clinicDetailsForm.controls[\"clinicList\"] as FormArray;\r\n this.covidVaccineSelected = false;\r\n this.covidVaccineWarningOkClicked = true;\r\n for (const location of locations.controls) {\r\n const clinicImzQtyList = location.get('clinicImzQtyList') as FormArray;\r\n for (const clinicImzQty of clinicImzQtyList.controls) {\r\n if (clinicImzQty.get('immunizationName').value.toLocaleLowerCase()?.includes('covid')) {\r\n clinicImzQty.get('estimatedQuantity').setErrors(null);\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n locations.updateValueAndValidity();\r\n this.saveChanges();\r\n }\r\n\r\n handleCovidVaccineAlertOk() {\r\n this.covidVaccineSelected = false;\r\n }\r\n\r\n handleEstimatedQuantity(immunization) {\r\n const estimatedParticipants = this.clinicDetailsForm.get('estimatedParticipants')?.value;\r\n let location = this.clinicDetailsForm.controls?.clinicList as FormArray;\r\n const estimatedQty = immunization.get('estimatedQuantity')?.value;\r\n if (this.coClinicDetails.opportunityInfo.clinicType != 6 && this.coClinicDetails.opportunityInfo.clinicType != 3 && this.coClinicDetails.opportunityInfo.clinicType != 5) {\r\n if (estimatedQty > estimatedParticipants) {\r\n this.showParticipantsShotsMismatchWarning = true;\r\n this.estimatedParticipantsAdminConfirmation = false;\r\n this.dialogMsg = ErrorMessages[\"estimatedShotsWarning\"];\r\n this.dialogSummary = \"Please resolve the below issues to continue further\";\r\n immunization.get('estimatedQuantity').setErrors({ incorrect: true })\r\n immunization.get('vouchersRedeemed').markAsTouched();\r\n immunization.get('vouchersRedeemed').markAsDirty();\r\n immunization.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n\r\n handleParticipantsShotsMismatchAdminConfirmation() {\r\n this.showParticipantsShotsMismatchWarningSaveError = false;\r\n const estimatedParticipants = this.clinicDetailsForm.get('estimatedParticipants')?.value;\r\n const locations = this.clinicDetailsForm.controls[\"clinicList\"] as FormArray;\r\n for (const location of locations.controls) {\r\n const clinicImzQtyList = location.get('clinicImzQtyList') as FormArray;\r\n for (const clinicImzQty of clinicImzQtyList.controls) {\r\n const estimatedQty = clinicImzQty.get('estimatedQuantity')?.value;\r\n if (estimatedQty > estimatedParticipants) {\r\n this.estimatedParticipantsAdminConfirmation = true;\r\n clinicImzQty.get('estimatedQuantity').setErrors(null);\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n locations.updateValueAndValidity();\r\n this.saveChanges();\r\n }\r\n\r\n handleTotalVaccinesAdministered() {\r\n const control = this.clinicDetailsForm.controls['clinicList'];\r\n const immArray = control.controls[0].get('clinicImzQtyList');\r\n for (const clinicImzQty of immArray.controls) {\r\n clinicImzQty.patchValue({\r\n totalImmAdministered: 0\r\n });\r\n };\r\n }\r\n\r\n handleCompleteClinic() {\r\n this.hasCompleteClinicClicked = true;\r\n }\r\n\r\n handleCompleteClinicNo() {\r\n this.hasCompleteClinicClicked = false;\r\n }\r\n\r\n getUniqueImmunization(clinicImmunizationList: ImmunizationDetail[]) {\r\n let immunizationsArr = [];\r\n return (clinicImmunizationList.reduce((prev, next) => {\r\n if (immunizationsArr.indexOf(next.immunizationPk) === -1) {\r\n immunizationsArr.push(next.immunizationPk);\r\n console.log(\"occcc\", next.immunizationPk);\r\n prev.push(next);\r\n }\r\n return prev\r\n }, []));\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport * as _ from 'lodash'; \r\n\r\n@Pipe({\r\n name: 'UniquePipeClinicDetails',\r\n pure: false\r\n})\r\n\r\nexport class UniquePipeClinicDetails implements PipeTransform {\r\n transform(value: any): any{ \r\n if(value!== undefined && value!== null){\r\n let index = 0;\r\n value.forEach(element => {\r\n element.addControl('indexVal', new FormControl('', null)); \r\n element.patchValue({\r\n indexVal: index \r\n });\r\n index = index + 1;\r\n }); \r\n return _.uniqBy(value, 'value.immunizationPk');\r\n }\r\n return value;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Router } from \"@angular/router\";\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { VoucherFormData } from '../../../models/voucherFormData';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class ClinicdetailsService {\r\n constructor(private http: HttpClient, private router: Router) {\r\n }\r\n \r\n geLocalClinicDetails(business_clinic_pk, user_role): Observable {\r\n let url = environment.API_URL + environment.RESOURCES.GET_LOCAL_CLINIC_DETAILS + \"/\" + business_clinic_pk + \"/\" + user_role;\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n confirmClinicDetails(clinicDetails: any): Observable {\r\n var url = environment.API_URL + environment.RESOURCES.CONFIRM_CLINIC_DETAILS;\r\n return this.http.post(url, clinicDetails, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n upDateClinicDetails(business_clinic_pk,clinic_details,is_override?:boolean) {\r\n var url = environment.API_URL + environment.RESOURCES.UPDATE_CLINIC_DETAILS+\"/\"+business_clinic_pk;\r\n if(is_override){\r\n url = url + \"/\" + is_override;\r\n }\r\n return this.http.post(url, clinic_details, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));;\r\n }\r\n deleteClinicDetails(clinic_details) {\r\n var url = environment.API_URL + environment.RESOURCES.DELETE_CLINIC_DETAILS;\r\n return this.http.post(url, clinic_details, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));;\r\n }\r\n deleteAmendAgreement(clinic_agreement_pk,user_pk) {\r\n \r\n var url = environment.API_URL + environment.RESOURCES.DELETE_AMEND_AGREEMENT+\"/\"+clinic_agreement_pk+\"/\"+user_pk;\r\n \r\n return this.http.post(url,'', Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));;\r\n }\r\n getAreaDist(location_type,type):Observable\r\n {\r\n var url = environment.API_URL + environment.RESOURCES.AREA_REGION_LIST+\"/\"+location_type+\"/\"+type;\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n \r\n getContractVoucherFormData(voucher_form_data:VoucherFormData) {\r\n var url = environment.API_URL + environment.RESOURCES.GET_CONTRACT_VOUCHER_FORM_DATA;\r\n return this.http.post(url, voucher_form_data, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));;\r\n }\r\n removeClinicCancelledStatus(clinic_pk,status) {\r\n var url = environment.API_URL + environment.RESOURCES.REMOVE_CLINIC_CANCELLED_STATUS+\"/\"+clinic_pk+\"/\"+status;\r\n return this.http.get(url,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n deleteClinic(clinic_pk) {\r\n var url = environment.API_URL + \"/api/ClinicDetails_deleteClinic/\"+ clinic_pk;\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n cacheCPTokenData() { \r\n let url = environment.API_URL + environment.RESOURCES.CACHE_CP_TOKEN_DATA;\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n \r\n getclinicappointmentdetails(clinicPk : any): Observable {\r\n let url = environment.API_URL + environment.RESOURCES.GET_CLINIC_SCHEDULAR_APPOINTMENTS + \"/\" + clinicPk;\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n}\r\n","import { FormGroup, FormControl } from \"@angular/forms\";\r\nimport { ErrorHandler, Injectable, Injector } from \"@angular/core\";\r\n\r\nimport { LogData } from \"../../models/logData\";\r\n//import { LoggerService } from \"./services/LoggerService\";\r\n\r\n@Injectable()\r\nexport class GlobalErrorHandler implements ErrorHandler {\r\n constructor(private injector: Injector) { }\r\n handleError(error) {\r\n \r\n //const loggingService = this.injector.get(LoggerService);\r\n \r\n const message = error.message ? error.message : error.toString();\r\n const stackTrace = error.stack? error.stack:error.toString();\r\n let msg = message + stackTrace;\r\n var logData=new LogData()\r\n logData.message=msg;\r\n logData.type=\"ERROR\";\r\n // loggingService.logMessage(logData).subscribe(res => {\r\n \r\n // });\r\n // log on the server\r\n //loggingService.log( {msg});\r\n }\r\n \r\n \r\n }\r\n \r\n\r\n\r\n","import { Injectable, OnInit } from '@angular/core';\r\nimport { OpportunitiesService } from '../store/services/opportunities.service';\r\n\r\n@Injectable()\r\nexport class AppCommonSession implements OnInit {\r\n public login_info:any;\r\n ngOnInit()\r\n {\r\n \r\n }\r\nconstructor(private _service:OpportunitiesService)\r\n{\r\n // this._service.setLoginUserInfo('Admin').subscribe((opportunities) => {\r\n // this.login_info = opportunities;\r\n // },\r\n // error => {\r\n // console.error(\"Error in fetching opportunities\", error);\r\n // })\r\n \r\n}\r\n // setLoginUserInfo(user_role:any)\r\n // {\r\n // return this.http.get(\"http://localhost:49940/GetUserInformation?user_role=\"+user_role+\"\").map((response: Response) => this.login_info = response.json());\r\n // }\r\n\r\n}\r\n","import { environment } from \"../../../environments/environment\";\r\nimport { covidDates, fluOppContactStatusDates, ipDates, srDates } from \"../../JSON/startEndDatesForReports\";\r\nimport { pcaDates } from \"./../../JSON/pcaStartEndDates\";\r\nimport { SessionDetails } from \"../../utility/session\";\r\n\r\nexport class ApplicationSettings {\r\n\r\n static groupIdLaunchDate=\"05/01/2019\";\r\n static outreachStartDateIP=\"05/01/2024\";\r\n static outreachStartDateCovid=\"09/01/2023\";\r\n static reportStartYear=\"2014\";\r\n static report_start_year: string;\r\n static pcaSeason = 2025; \r\n static outreachEffortIP = 3;\r\n static outreachEffortSO =1;\r\n static outreach: any;\r\n constructor() {\r\n\r\n }\r\n public static getOutreachReportStartYear(): number {\r\n return parseInt(environment.reportStartYear);\r\n }\r\n\r\n public static getCurrentQuarter(): string {\r\n let quarter: string = \"0\";\r\n switch ((new Date()).getMonth() + 1) {\r\n case 6:\r\n case 7:\r\n case 8:\r\n quarter = \"1\";\r\n break;\r\n case 9:\r\n case 10:\r\n case 11:\r\n quarter = \"2\";\r\n break;\r\n case 12:\r\n case 1:\r\n case 2:\r\n quarter = \"3\";\r\n break;\r\n case 3:\r\n case 4:\r\n case 5:\r\n quarter = \"4\";\r\n break;\r\n }\r\n return quarter;\r\n }\r\n\r\n public static getSRCurrentQuarter(): string {\r\n let quarter: string = \"0\";\r\n switch ((new Date()).getMonth() + 1) {\r\n case 9:\r\n case 10:\r\n case 11:\r\n quarter = \"1\";\r\n break;\r\n case 12:\r\n case 1:\r\n case 2:\r\n quarter = \"2\";\r\n break;\r\n case 3:\r\n case 4:\r\n case 5:\r\n quarter = \"3\";\r\n break;\r\n case 6:\r\n case 7:\r\n case 8:\r\n quarter = \"4\";\r\n break;\r\n }\r\n return quarter;\r\n }\r\n\r\n // public static getOutreachStartDate(): Date {\r\n // let configDates = SessionDetails.getConfigDates();\r\n // this.outreach = configDates.filter(x => x.key == 'outreach')[0];\r\n // let outreach_start_date: Date = new Date();\r\n // if(this.outreach){\r\n // outreach_start_date = new Date((this.outreach.startDate == \"\") ? outreach_start_date : new Date(this.outreach.startDate));\r\n // }\r\n // return outreach_start_date;\r\n // }\r\n public static getOutreachStartDate(): Date {\r\n let outreach_start_date: Date = new Date();\r\n outreach_start_date = new Date((environment.outreachStartDate == \"\") ? outreach_start_date : new Date(environment.outreachStartDate));\r\n\r\n return outreach_start_date;\r\n }\r\n public static getOutreachEndDate(): Date {\r\n var dt = this.getOutreachStartDate();\r\n var t_dt = new Date((new Date(dt.setMonth(dt.getMonth() + 12)))/*.setDate(-1)*/);\r\n return new Date(t_dt.setDate(t_dt.getDate() -1));\r\n }\r\n\r\n public static getOutreachReportYears(): any {\r\n let report_years: any = [];\r\n for (let int_year: number = this.getOutreachReportStartYear(); int_year <= this.getOutreachStartDate().getFullYear(); int_year++) {\r\n report_years.push({\"yearCode\":int_year +1,\"yearName\":int_year + 1});\r\n }\r\n return report_years;\r\n }\r\n\r\n public static getReportYearQuarters(): any {\r\n let report_year_quarters: any = [];\r\n report_year_quarters.push({ 'id': 1, \"name\": \"Q1\" });\r\n report_year_quarters.push({ 'id': 2, \"name\": \"Q2\" });\r\n report_year_quarters.push({ 'id': 3, \"name\": \"Q3\" });\r\n report_year_quarters.push({ 'id': 4, \"name\": \"Q4\" });\r\n report_year_quarters.push({ 'id': 5, \"name\": \"Fiscal Year to Date\" });\r\n return report_year_quarters;\r\n }\r\n\r\n //immunization reports\r\n public static getCovidStartDate(year: any) {\r\n return (covidDates[year] ? covidDates[year].startDate : covidDates[year - 1].startDate);\r\n }\r\n public static getCovidEndDate(year: any) {\r\n return (covidDates[year] ? covidDates[year].endDate : covidDates[year - 1].endDate);\r\n }\r\n public static getFluOppContactStatusStartDate(year: any) {\r\n return (fluOppContactStatusDates[year] ? fluOppContactStatusDates[year].startDate : fluOppContactStatusDates[year - 1].startDate);\r\n }\r\n public static getFluOppContactStatusEndDate(year: any) {\r\n return (fluOppContactStatusDates[year] ? fluOppContactStatusDates[year].endDate : fluOppContactStatusDates[year - 1].endDate);\r\n }\r\n\r\n public static getIMmunizationStartDate(year: any) {\r\n return (ipDates[year] ? ipDates[year].startDate : ipDates[year - 1].startDate);\r\n }\r\n public static getImmunizationEndDate(year: any) {\r\n return (ipDates[year] ? ipDates[year].endDate : ipDates[year - 1].endDate);\r\n }\r\n public static getSRStartDate(year: any) {\r\n return (srDates[year] ? srDates[year].startDate : srDates[year - 1].startDate);\r\n }\r\n public static getSREndDate(year: any) {\r\n return (srDates[year] ? srDates[year].endDate : srDates[year - 1].endDate);\r\n }\r\n public static getPCAStartDate(year: any) {\r\n return (pcaDates[year] ? pcaDates[year].startDate : pcaDates[year - 1].startDate);\r\n }\r\n public static getPCAEndDate(year: any) {\r\n return (pcaDates[year] ? pcaDates[year].endDate : pcaDates[year - 1].endDate);\r\n }\r\n}\r\n\r\n\r\n","import { NgModule, ErrorHandler } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { GlobalErrorHandler } from './GlobalErrorHandler';\r\n//import { LoggerService } from './services/LoggerService';\r\nimport { StoreOpportunityComponent } from './components/store-opportunity/store-opportunity.component';\r\n//import { AgmCoreModule } from '@agm/core';\r\n//import { GMapsService } from './services/gmaps-service.service';\r\n\r\nimport {ReplaceTextPipe} from '../../../app/utility/replace-text.pipe'\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n // AgmCoreModule.forRoot({\r\n // // please get your own API key here:\r\n // // https://developers.google.com/maps/documentation/javascript/get-api-key?hl=en\r\n // apiKey: ''\r\n // }) \r\n ],\r\n declarations: [],\r\n providers: [{provide: ErrorHandler, useClass: GlobalErrorHandler},ReplaceTextPipe],\r\n})\r\nexport class CommonComponentsModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormArray, FormControl } from '@angular/forms';\r\nimport * as _ from \"lodash\";\r\nimport { Util } from '../../../../utility/util';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { LeadOpportunitiesService } from '../../../contractaggreement/services/lead-opportunities.service';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { recaptchaRequest } from '../../../../models/localLeadsSave';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { stateCodenName } from '../../../contractaggreement/components/contact-us/stateCodenName';\r\n\r\n@Component({\r\n selector: 'app-covid-contact-us',\r\n templateUrl: './covid-contact-us.component.html',\r\n styleUrls: ['./covid-contact-us.component.css']\r\n})\r\n\r\nexport class CovidContactUsComponent implements OnInit {\r\n routerSubscription: Subscription;\r\n leadGenerationForm: FormGroup;\r\n statecodenname: any;\r\n dialogMsg: string = '';\r\n dialogSummary: string = '';\r\n locListModalDlg: boolean = false;\r\n successDlg: boolean = false;\r\n vacn: any = [];\r\n paymentType: any = [];\r\n\r\n selectedvcInfo: [string];\r\n\r\n // vaccinationsCheckBoxes: any[] = [\r\n // { \"vaccineVal\": 1, \"vaccineName\": \"Flu Quadrivalent\" },\r\n // { \"vaccineVal\": 2, \"vaccineName\": \"Flu HD (65+)\" },\r\n // { \"vaccineVal\": 3, \"vaccineName\": \"Pneumonia\" },\r\n // { \"vaccineVal\": 4, \"vaccineName\": \"Tdap (Whooping Cough)\" },\r\n // { \"vaccineVal\": 5, \"vaccineName\": \"Shingles\" }\r\n // { \"vaccineVal\": 6, \"vaccineName\": \"Other\" },\r\n // ]\r\n\r\n paymentTypeCheckBoxes: any[] = [\r\n { \"paymentTypeValue\": 2, \"paymentTypeName\": \"Insurance\", \"paymentMessage\": \"Walgreens can bill patient’s insurance directly.\" },\r\n // { \"paymentTypeValue\": 1, \"paymentTypeName\": \"Cash\", \"paymentMessage\": \"Payment for the vaccine can be collected from the patient receiving the immunization at the time of vaccination by cash or via check from the employer/location.\" },\r\n { \"paymentTypeValue\": 3, \"paymentTypeName\": \"Direct Bill\", \"paymentMessage\": \"Employer/Location will pay for employee immunizations. They will receive an invoice directly from Walgreens for the number of immunizations provided. No payment will be collected at the time of the immunization.\" },\r\n ]\r\n schoolPaymentTypeCheckBoxes: any[] = [\r\n { \"paymentTypeValue\": 2, \"paymentTypeName\": \"Insurance\", \"paymentMessage\": \"Walgreens can bill patient’s insurance directly.\" },\r\n // { \"paymentTypeValue\": 1, \"paymentTypeName\": \"Cash\", \"paymentMessage\": \"Payment for the vaccine can be collected from the patient receiving the immunization at the time of vaccination by cash or via check from the employer/location.\" },\r\n { \"paymentTypeValue\": 3, \"paymentTypeName\": \"Direct Bill\", \"paymentMessage\": \"School will pay for immunizations. They will receive an invoice directly from Walgreens for the number of immunizations provided. No payment will be collected at the time of the immunization.\" },\r\n ]\r\n redirect: boolean = false;\r\n minDateValue: Date;\r\n fNlNameRegEx: RegExp = /^(?!\\d+$)(?:[a-zA-Z \\.\\,\\'\\-]*)?$/;\r\n cityRegEx: RegExp = /^(?!\\d+$)(?:[a-zA-Z \\-]*)?$/;\r\n address1N2: RegExp = /^[ A-Za-z0-9#'.,-/]*$/\r\n urlPath='COVID-Contact-Us';\r\n maxDateValue: Date;\r\n isRecaptchaVerified: boolean = false;\r\n schoolContactusForm:boolean = false;\r\n businessNameTitle:string = \"Company\";\r\n headerTitle = \"Payers & Health Systems\";\r\n constructor(private formBuilder: FormBuilder, private utility: Util, private leadService: LeadOpportunitiesService, private spinner: NgxSpinnerService, public router: Router) {\r\n }\r\n\r\n ngOnInit() {\r\n if(this.router.url.search(\"Schools-Contact-Us\")!==-1){\r\n this.schoolContactusForm = true;\r\n this.businessNameTitle = \"School Name\";\r\n this.headerTitle = \"Healthcare Solutions\";\r\n }\r\n else {\r\n this.schoolContactusForm = false;\r\n this.businessNameTitle = \"Company\";\r\n this.headerTitle = \"Payers & Health Systems\";\r\n }\r\n \r\n this.leadGenerationForm = this.formBuilder.group({\r\n lgCntrlemaNf255: ['', [Validators.required, Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\.\\,\\'\\-$]*)?$/)]],\r\n lgCntrlemaNl400: ['', [Validators.required, Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\.\\,\\'\\-$]*)?$/)]],\r\n lgCntrlynapmoc784: ['', Validators.required],\r\n lgCntrlliame450: ['', [Validators.required, Validators.email, Validators.pattern(/^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$/)]],\r\n lgCntrl1sserddA594: ['', [Validators.required, Validators.maxLength(35), Validators.pattern(/^[ A-Za-z0-9#'.,-/]*$/)]],\r\n lgCntrl2sserddA029: ['', [ Validators.maxLength(20), Validators.pattern(/^[ A-Za-z0-9#'.,-/]*$/)]],\r\n lgCntrlytic105: ['', [Validators.required, Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\-$]*)?$/)]],\r\n lgCntrletats936: ['', Validators.required],\r\n lgCntrlpiz466: ['', Validators.required],\r\n lgCntrlrebmuNhp802: ['', Validators.required],\r\n lgCntrlnoisnetxe491: [''],\r\n lgCntrlspmEfOoNlatot935: [0, [Validators.required, Validators.maxLength(5)]],\r\n // lgCntrlofnIsnoitaniccav193: this.createvaccinationsInfo(this.vaccinationsCheckBoxes),\r\n lgCntrletaDcinilc137: [''],\r\n lgCntrlstnapicitraPfOrebmuNdetamitse432: ['', [Validators.required, Validators.maxLength(5)]],\r\n lgCntrlsetatSluMcoLpme035: ['', this.schoolContactusForm?null:Validators.required],\r\n lgCntrlepyTtnemyap294: this.schoolContactusForm?[null]: this.createPaymentType(this.paymentTypeCheckBoxes),\r\n lgCntrlmgrPhcruoVsi530: ['', Validators.required],\r\n recaptchaReactive: ['default', Validators.required],\r\n vaccinationArray: [null],\r\n paymentTypeArray: [null],\r\n lgCntrlsetatSluMcoFluInt186: ['', this.schoolContactusForm?Validators.required:null],\r\n isCovid: [true],\r\n covidOpportunityType:['0'],\r\n fromSchoolsContactUsPage:[this.schoolContactusForm?true:false]\r\n });\r\n\r\n setTimeout(() => {\r\n this.resetONBackBtn();\r\n }, 100);\r\n\r\n\r\n\r\n\r\n this.statecodenname = stateCodenName;\r\n {\r\n this.minDateValue = new Date();\r\n this.maxDateValue = new Date(this.minDateValue.getFullYear() + 1, this.minDateValue.getMonth(), this.minDateValue.getDate() - 1);\r\n }\r\n }\r\n\r\n createvaccinationsInfo(vaccinationsInfoInputs) {\r\n const arr = vaccinationsInfoInputs.map(vcVals => {\r\n return new FormControl(null);\r\n });\r\n return new FormArray(arr);\r\n }\r\n\r\n createPaymentType(paymentInp) {\r\n const arr = paymentInp.map(vcVals => {\r\n return new FormControl(null);\r\n });\r\n return new FormArray(arr);\r\n }\r\n\r\n getSelectedPaymentTypeInfo(ev, val) {\r\n this.paymentField('');\r\n if (ev.target.checked) {\r\n this.paymentType.push(val);\r\n } else {\r\n let i = this.vacn.indexOf(val);\r\n this.paymentType.splice(i, 1);\r\n }\r\n }\r\n\r\n getSelectedvaccinationsInfo(ev, val) {\r\n this.seperateFiedls('');\r\n if (ev.target.checked) {\r\n this.vacn.push(val);\r\n } else {\r\n let i = this.vacn.indexOf(val);\r\n this.vacn.splice(i, 1);\r\n }\r\n }\r\n\r\n getSelectedvaccinationsInfoName() {\r\n this.selectedvcInfo = _.filter(\r\n this.selectedvcInfo,\r\n function (vcVals) {\r\n if (vcVals !== false) {\r\n return vcVals;\r\n }\r\n }\r\n );\r\n }\r\n\r\n resolved(captchaResponse: string) {\r\n this.isRecaptchaVerified = false;\r\n if (captchaResponse) {\r\n let verify = new recaptchaRequest();\r\n verify.response = captchaResponse;\r\n this.leadService.siteVerify(verify).subscribe((data:any) => {\r\n let rsp = data;\r\n if (rsp.success == true) {\r\n this.isRecaptchaVerified = true;\r\n this.leadGenerationForm.controls.recaptchaReactive.setValue(rsp.success);\r\n this.leadGenerationForm.controls.recaptchaReactive.updateValueAndValidity();\r\n }\r\n else {\r\n this.showDialogV3(\"Error\", \"Recaptcha Verification Failed. Please retry.\");\r\n }\r\n },\r\n err => {\r\n this.showDialogV3(\"Error\", \"Expectaion Failed\");\r\n })\r\n }\r\n }\r\n\r\n onSubmit(formValues) {\r\n this.trimFormValues(formValues);\r\n if (this.leadGenerationForm.valid) {\r\n this.leadGenerationForm.controls['vaccinationArray'].patchValue(this.vacn);\r\n this.leadGenerationForm.controls['paymentTypeArray'].patchValue(this.paymentType);\r\n this.redirect = false;\r\n if(this.leadGenerationForm.controls['recaptchaReactive'].value=='' || !this.isRecaptchaVerified || this.leadGenerationForm.controls['recaptchaReactive'].value==null){\r\n this.showDialogV3(\"Error\", \"Please verify that you are not a robot.\");\r\n return false;\r\n }\r\n if(this.leadGenerationForm.controls['lgCntrlstnapicitraPfOrebmuNdetamitse432'].value<25 ){\r\n this.showDialogV3(\"Minimum Requirement\", 'There is a minimum of 25 participates required to use this form. Please contact your local Walgreens for alternative options.');\r\n window.scroll(40,40);\r\n return false;\r\n }\r\n this.spinner.show();\r\n this.leadService.saveLeadOpportunitesEnquiries(this.leadGenerationForm.value).subscribe((data:any) => {\r\n if (data == 1) {\r\n this.redirect = true;\r\n this.spinner.hide();\r\n this.showDialogV3(\"Thank you!\", \"Your contact information has been submitted and a local representative will be in touch shortly.\");\r\n }\r\n else if (data == -1) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", \"Bad Geocode -- Invalid Request.\");\r\n }\r\n else if (data == -2) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", \"Bad Geocode -- Over Query Limit.\");\r\n }\r\n else if (data == -3) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", \"Bad Geocode -- Request Denied.\");\r\n }\r\n else if (data == -4) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", ErrorMessages['geo_zero_results']);\r\n }\r\n else if (data == -5) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", ErrorMessages['geo_unknown_error']);\r\n }\r\n else if (data == -6) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", ErrorMessages['geo_timed_out']);\r\n }\r\n else {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", ErrorMessages[\"error\"]);\r\n }\r\n }, err => {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", \"Expectation failed.\");\r\n });\r\n }\r\n else {\r\n this.spinner.hide();\r\n this.validateFormNSendAlert();\r\n this.validateNResetCaptcha();\r\n }\r\n }\r\n\r\n isFieldValid(field: string) {\r\n return !this.leadGenerationForm.get(field).valid && this.leadGenerationForm.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n\r\n seperateFiedls(e) {\r\n if (e == '') {\r\n if (this.leadGenerationForm.value.lgCntrlofnIsnoitaniccav193) {\r\n if (this.leadGenerationForm.value.lgCntrlofnIsnoitaniccav193.includes(true)) {\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-error');\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-feedback');\r\n }\r\n else {\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.add('has-error');\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.add('has-feedback');\r\n }\r\n }\r\n } else {\r\n if (e.toElement.checked && e.toElement.checked == true && this.leadGenerationForm.value.lgCntrlofnIsnoitaniccav193) {\r\n if (this.leadGenerationForm.value.lgCntrlofnIsnoitaniccav193.includes(true) || e.toElement.checked == true) {\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-error');\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-feedback');\r\n }\r\n else {\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.add('has-error');\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.add('has-feedback');\r\n }\r\n }\r\n }\r\n }\r\n\r\n paymentField(e) {\r\n if (e == '') {\r\n if (this.leadGenerationForm.value.lgCntrlepyTtnemyap294) {\r\n if (this.leadGenerationForm.value.lgCntrlepyTtnemyap294.includes(true)) {\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.remove('has-error');\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.remove('has-feedback');\r\n }\r\n else {\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.add('has-error');\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.add('has-feedback');\r\n }\r\n }\r\n } else {\r\n if (e.toElement.checked && e.toElement.checked == true && this.leadGenerationForm.value.lgCntrlepyTtnemyap294) {\r\n if (this.leadGenerationForm.value.lgCntrlepyTtnemyap294.includes(true) || e.toElement.checked == true) {\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.remove('has-error');\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.remove('has-feedback');\r\n }\r\n else {\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.add('has-error');\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.add('has-feedback');\r\n }\r\n }\r\n }\r\n }\r\n\r\n showDialogV2(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locListModalDlg = true;\r\n }\r\n showDialogV3(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.successDlg = true;\r\n }\r\n okClickedV2() {\r\n this.locListModalDlg = false;\r\n }\r\n goToWagsOnClose() {\r\n this.successDlg = false;\r\n if (this.redirect) {\r\n window.location.href = 'http://walgreens.com';\r\n }\r\n }\r\n public trimFormValues(formGroup: FormGroup) {\r\n Object.keys(formGroup.controls).forEach((key) => {\r\n if (key != \"lgCntrlofnIsnoitaniccav193\" && key != \"lgCntrlepyTtnemyap294\" \r\n && key != \"lgCntrletaDcinilc137\" && key != \"recaptchaReactive\" \r\n && key != \"vaccinationArray\" && key != \"paymentTypeArray\"\r\n && key != \"lgCntrlspmEfOoNlatot935\" && key != \"isCovid\" && key != \"fromSchoolsContactUsPage\") {\r\n formGroup.get(key).setValue(formGroup.get(key).value.trim())\r\n }\r\n });\r\n }\r\n validateFormNSendAlert() {\r\n this.utility.validateAllFormFields(this.leadGenerationForm);\r\n this.seperateFiedls('');\r\n this.paymentField('');\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['requiredFields']);\r\n return false;\r\n }\r\n onlyAlphabets(e, ctrl) {\r\n if (ctrl == \"fNlName\") {\r\n return this.fNlNameRegEx.test(e.key);\r\n } else if (ctrl == \"city\") {\r\n return this.cityRegEx.test(e.key);\r\n }\r\n else if (ctrl == \"add1N2\") {\r\n return this.address1N2.test(e.key);\r\n }\r\n }\r\n validateNResetCaptcha() {\r\n this.leadGenerationForm.controls.recaptchaReactive.setValue('default');\r\n this.leadGenerationForm.controls.recaptchaReactive.updateValueAndValidity();\r\n }\r\n resetONBackBtn() {\r\n this.leadGenerationForm.controls.lgCntrlrebmuNhp802.setValue('');\r\n this.leadGenerationForm.controls.lgCntrlrebmuNhp802.updateValueAndValidity();\r\n this.leadGenerationForm.controls.lgCntrletats936.setValue('');\r\n this.leadGenerationForm.controls.lgCntrletats936.updateValueAndValidity();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Input } from '@angular/core';\r\nimport { FormGroup, FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-field-error-display',\r\n templateUrl: './field-error-display.component.html',\r\n styleUrls: ['./field-error-display.component.css']\r\n})\r\nexport class FieldErrorDisplayComponent implements OnInit {\r\n @Input() errorMsg: string;\r\n @Input() displayError: boolean;\r\n form:FormGroup;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n validateAllFormFields(formGroup: FormGroup) { \r\n Object.keys(formGroup.controls).forEach(field => { \r\n const control = formGroup.get(field); \r\n if (control instanceof FormControl) { \r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof FormGroup) { \r\n this.validateAllFormFields(control); \r\n }\r\n });\r\n }\r\n \r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { HeaderserviceService } from '../../services/headerservice.service';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { Session } from 'protractor';\r\nimport { SessionDetails } from '../../../../utility/session';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.css']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n menu: string[] \r\n subscription: Subscription; \r\n turnOffHints: boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\"))=='yes')?false:true; \r\n constructor(private service: HeaderserviceService, private message_service: MessageServiceService) {\r\n this.message_service.getTurnOnOffLocalHintsFromComponent().subscribe(message => { \r\n this.turnOffHints = message.text;\r\n });\r\n \r\n }\r\n\r\n ngOnInit() { \r\n this.GetFooterMenu();\r\n }\r\n\r\n checking(event: any) { \r\n if(location.href.indexOf('home')>-1 && this.turnOffHints){\r\n this.message_service.setShowHintsOnToggleChange(true);\r\n }else{\r\n this.message_service.setTurnOnOffLocalHintsFromFooter(this.turnOffHints); \r\n }\r\n }\r\n \r\n\r\n GetFooterMenu() { \r\n var userProfile = SessionDetails.GetUserProfile();\r\n if (userProfile.userRole.toLowerCase() == \"admin\") {\r\n this.menu = this.service.getAdminFooterMenu();\r\n }\r\n else if (userProfile.userRole.toLowerCase().replace(new RegExp(\" \", 'g'), \"\") == \"storemanager\" \r\n || userProfile.userRole.toLowerCase().replace(new RegExp(\" \", 'g'), \"\") == \"pharmacymanager\") {\r\n this.menu = this.service.getStoreManagerFooterMenu();\r\n }\r\n else if (userProfile.userRole.toLowerCase().replace(new RegExp(\" \", 'g'), \"\") == \"districtmanager\") {\r\n this.menu = this.service.getDistrictManagerFooterMenu();\r\n }\r\n else if (userProfile.userRole.toLowerCase().replace(new RegExp(\" \", 'g'), \"\") == \"healthcaresupervisor\" || userProfile.userRole.toLowerCase().replace(new RegExp(\" \", 'g'), \"\") == \"podhealthcaresupervisor\") {\r\n this.menu = this.service.getHealthcareSupervisorFooterMenu();\r\n }\r\n else if (userProfile.userRole.toLowerCase().replace(new RegExp(\" \", 'g'), \"\") == \"director-rxandretailops\") {\r\n this.menu = this.service.getDirectorRxRetailFooterMenu();\r\n }\r\n else if (userProfile.userRole.toLowerCase().replace(new RegExp(\" \", 'g'), \"\") == \"regionalvicepresident\" \r\n || userProfile.userRole.toLowerCase().replace(new RegExp(\" \", 'g'), \"\") == \"regionalhealthcaredirector\") {\r\n this.menu = this.service.getRegionalVicePresidentFooterMenu();\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NavigationEnd } from '@angular/router';\r\nimport { Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n header_title : string;\r\n constructor(router:Router,titleService:Title) { \r\n router.events.subscribe(event => {\r\n if(event instanceof NavigationEnd) {\r\n let title = this.getTitle(router.routerState, router.routerState.root).join('-');\r\n titleService.setTitle(title);\r\n if(title==\"contract\")\r\n this.header_title = \"Community Off-Site Agreement\";\r\n else if(title==\"addBusiness\")\r\n this.header_title = \"Add an Opportunity\";\r\n else if(title==\"editBusiness\")\r\n this.header_title = \"Business Profiles\";\r\n else\r\n this.header_title= \"COMMUNITY OUTREACH\"\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n getTitle(state, parent) {\r\n var data = [];\r\n if(parent && parent.snapshot.data && parent.snapshot.data.title) {\r\n data.push(parent.snapshot.data.title);\r\n }\r\n\r\n if(state && parent) {\r\n data.push(... this.getTitle(state, state.firstChild(parent)));\r\n }\r\n return data;\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, FormControl, FormArray } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Subscription } from 'rxjs';\r\nimport { ErrorMessages } from '../../../..//config-files/error-messages';\r\nimport { recaptchaRequest } from '../../../..//models/localLeadsSave';\r\nimport { stateCodenName } from '../../../..//modules/contractaggreement/components/contact-us/stateCodenName';\r\nimport { LeadOpportunitiesService } from '../../../..//modules/contractaggreement/services/lead-opportunities.service';\r\nimport { Util } from '../../../..//utility/util';\r\n\r\n@Component({\r\n selector: 'app-immz-contact-us',\r\n templateUrl: './immz-contact-us.component.html',\r\n styleUrls: ['./immz-contact-us.component.css']\r\n})\r\nexport class ImmzContactUsComponent implements OnInit {\r\n routerSubscription: Subscription;\r\n leadGenerationForm: FormGroup;\r\n statecodenname: any;\r\n dialogMsg: string = '';\r\n dialogSummary: string = '';\r\n locListModalDlg: boolean = false;\r\n successDlg: boolean = false;\r\n vacn: any = [];\r\n paymentType: any = [];\r\n\r\n constructor(private formBuilder: FormBuilder, private utility: Util, private leadService: LeadOpportunitiesService, private spinner: NgxSpinnerService, public router: Router) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n\r\n }\r\n NavigateToContactUsPage() {\r\n this.router.navigateByUrl(\"/contact-us\");\r\n }\r\n NavigateToLTCFContactUsPage() {\r\n this.router.navigateByUrl(\"/LTCF-Contact-Us\");\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-invalid-contract',\r\n templateUrl: './invalid-contract.component.html',\r\n styleUrls: ['./invalid-contract.component.css']\r\n})\r\nexport class InvalidContractComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, Input} from '@angular/core';\r\nimport { FormArray, FormGroup } from '@angular/forms';\r\nimport { stateCodenName } from '../../../contractaggreement/components/contact-us/stateCodenName';\r\n\r\n@Component({\r\n selector: 'app-ltcf-contact-us-locations',\r\n templateUrl: './ltcf-contact-us-locations.component.html',\r\n styleUrls: ['./ltcf-contact-us-locations.component.css']\r\n})\r\nexport class LtcfContactUsLocationsComponent {\r\n statecodenname: any;\r\n @Input('group')\r\n public locationForm: FormGroup;\r\n @Input('locFormArray')\r\n public locationFormArray: FormArray;\r\n fNlNameRegEx: RegExp = /^(?!\\d+$)(?:[a-zA-Z \\.\\,\\'\\-]*)?$/;\r\n cityRegEx: RegExp = /^(?!\\d+$)(?:[a-zA-Z \\-]*)?$/;\r\n address1N2: RegExp = /^[ A-Za-z0-9#'.,-/]*$/;\r\n \r\n constructor(\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.statecodenname = stateCodenName;\r\n }\r\n\r\n isFieldValid(field: string) {\r\n return !this.locationForm.get(field).valid && this.locationForm.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n\r\n onlyAlphabets(e, ctrl) {\r\n if (ctrl == \"fNlName\") {\r\n return this.fNlNameRegEx.test(e.key);\r\n } else if (ctrl == \"city\") {\r\n return this.cityRegEx.test(e.key);\r\n }\r\n else if (ctrl == \"add1N2\") {\r\n return this.address1N2.test(e.key);\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormArray, FormControl } from '@angular/forms';\r\nimport * as _ from \"lodash\";\r\nimport { Util } from '../../../../utility/util';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { LeadOpportunitiesService } from '../../../contractaggreement/services/lead-opportunities.service';\r\nimport { recaptchaRequest } from '../../../../models/localLeadsSave';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { stateCodenName } from '../../../contractaggreement/components/contact-us/stateCodenName';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { SelectType } from '../../../../models/OutreachOpportunity';\r\nimport { LookupService } from '../../../../lookup.service';\r\nimport { LtcfContactUs } from '../../../../models/LtcfLocations';\r\n\r\n@Component({\r\n selector: 'app-ltcf-contact-us',\r\n templateUrl: './ltcf-contact-us.component.html',\r\n styleUrls: ['./ltcf-contact-us.component.css']\r\n})\r\nexport class LtcfContactUsComponent implements OnInit {\r\n\r\n routerSubscription: Subscription;\r\n leadGenerationForm: FormGroup;\r\n statecodenname: any;\r\n dialogMsg: string = '';\r\n dialogSummary: string = '';\r\n locListModalDlg: boolean = false;\r\n successDlg1: boolean = false;\r\n vacn: any = [];\r\n vacn2: any=[];\r\n paymentType: any = [];\r\n showOtherVaccinationInputField: boolean = false;\r\n showOtherVaccinationListInputField: boolean =false;\r\n parentCompanyOptions = [{ 'id': 'None', 'name': 'None' }, { 'id': 'Enlivant', 'name': 'Enlivant' }, { 'id': 'Ascension', 'name': 'Ascension' }, { 'id': 'Other', 'name': 'Other' }]\r\n\r\n selectedvcInfo: [string];\r\n\r\n facilityTypesCheckBoxes: any[] = [\r\n { \"facilityTypeVal\": 1, \"facilityTypeName\": \"Skilled Nursing Facility (SNF)\" },\r\n { \"facilityTypeVal\": 2, \"facilityTypeName\": \"Assisted Living Facility (ALF)\" },\r\n { \"facilityTypeVal\": 3, \"facilityTypeName\": \"Residential Facility (RES)\" },\r\n { \"facilityTypeVal\": 4, \"facilityTypeName\": \"Intellectual and Developmental Disability (IDD)\" },\r\n { \"facilityTypeVal\": 5, \"facilityTypeName\": \"Housing and Urban Development (HUD)\" },\r\n //{ \"facilityTypeVal\": 6, \"facilityTypeName\": \"Continuing Care Retirement Community (CCRC)\" },\r\n //{ \"facilityTypeVal\": 7, \"facilityTypeName\": \"Independent Living (IND)\" }\r\n { \"facilityTypeVal\": 8, \"facilityTypeName\": \"State Veterans Home (VET)\" }\r\n ]\r\n\r\n VaccineTypeCheckBox: any[] =[\r\n { \"vaccineTypeVal\": 2, \"vaccineTypeName\": \"Flu\" },\r\n { \"vaccineTypeVal\": 1, \"vaccineTypeName\": \"COVID19\" },\r\n { \"vaccineTypeVal\": 3, \"vaccineTypeName\": \"Pneumonia\" },\r\n { \"vaccineTypeVal\": 4, \"vaccineTypeName\": \"Shingles\" },\r\n { \"vaccineTypeVal\": 8, \"vaccineTypeName\": \"RSV\" },\r\n { \"vaccineTypeVal\": 6, \"vaccineTypeName\": \"Other\" }\r\n ];\r\n\r\n paymentTypeCheckBoxes: any[] = [\r\n // { \"paymentTypeValue\": 2, \"paymentTypeName\": \"Insurance\", \"paymentMessage\": \"Walgreens can bill patient’s insurance directly.\" },\r\n // { \"paymentTypeValue\": 1, \"paymentTypeName\": \"Cash\", \"paymentMessage\": \"Payment for the vaccine can be collected from the patient receiving the immunization at the time of vaccination by cash or via check from the employer/location.\" },\r\n //{ \"paymentTypeValue\": 3, \"paymentTypeName\": \"Direct Bill\", \"paymentMessage\": \"Employer/Location will pay for employee immunizations. They will receive an invoice directly from Walgreens for the number of immunizations provided. No payment will be collected at the time of the immunization.\" },\r\n ]\r\n showOtherPaymentOptionTxtField: boolean = false;\r\n redirect: boolean = false;\r\n minDateValue: Date;\r\n fNlNameRegEx: RegExp = /^(?!\\d+$)(?:[a-zA-Z \\.\\,\\'\\-]*)?$/;\r\n cityRegEx: RegExp = /^(?!\\d+$)(?:[a-zA-Z \\-]*)?$/;\r\n address1N2: RegExp = /^[ A-Za-z0-9#'.,-/]*$/\r\n\r\n maxDateValue: Date;\r\n isRecaptchaVerified: boolean = true;\r\n selectedIndustryText: any;\r\n industries: SelectType[] = [];\r\n otherIndustryIndex: number;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder, \r\n private utility: Util, \r\n private leadService: LeadOpportunitiesService, \r\n private spinner: NgxSpinnerService, \r\n public router: Router,\r\n private _lookupService: LookupService\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.leadGenerationForm = this.formBuilder.group({\r\n // lgCntrlsetatSluMcoPBstrCl086: ['', Validators.required],\r\n lgCntrlynapmoc784: ['', Validators.required],\r\n // lgCntrlspmEfOoNlatot935: [0, [Validators.required, Validators.maxLength(5)]],\r\n lgCntrlofnIsnoitaniccav193: this.createvaccinationsInfo(this.facilityTypesCheckBoxes),\r\n lgCntrlynapmoc884: [''],\r\n lgCntrletaDcinilc137: [''],\r\n lgCntrlstnapicitraPfOrebmuNdetamitse432: ['', [Validators.required, Validators.maxLength(5)]],\r\n lgCntrlstnapicitraPfOrebmuNdetamitse433: ['', [Validators.required, Validators.maxLength(5)]],\r\n // lgCntrlsetatSluMcoLpme035: ['', Validators.required],\r\n // lgCntrlsetatSluMcoLpme036: ['', Validators.required],\r\n lgCntrlepyTtnemyap294: [null, null],//this.createPaymentType(this.paymentTypeCheckBoxes),\r\n lgCntrlepyTtnemyap111: this.createVaccineType(this.VaccineTypeCheckBox),\r\n lgCntrlmgrPhcruoVsi530: ['', null],\r\n recaptchaReactive: ['default', Validators.required],\r\n vaccinationArray: [null],\r\n paymentTypeArray: [null, null],\r\n VaccineTypeCheckBoxArray: [null, null],\r\n isCovid: [true],\r\n covidOpportunityType: [1],\r\n lgCntrlynapmoc3284:[''],\r\n lgCntrlAlternateFN: ['', [Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\.\\,\\'\\-$]*)?$/)]],\r\n lgCntrlAlternateLN: ['', [ Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\.\\,\\'\\-$]*)?$/)]], \r\n lgCntrlAlternateJobTitle: [''],\r\n lgCntrlAlternateEmail: ['', [Validators.email, Validators.pattern(/^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$/)]], \r\n lgCntrlDesiredClinicCompDate:[''],\r\n lgCntrlNeedClinic:['',Validators.required],\r\n hadClinicInPast: ['', Validators.required],\r\n lgCntrlOtherIndustry: [''],\r\n lgCntrlIndustry: ['', Validators.required],\r\n lgCntrlAltPhoneNumber:[''],\r\n lgCntrlAltPhoneNumberExt:[''],\r\n lgCntrlpharmacyPrvider:['',Validators.required],\r\n locations: this.formBuilder.array([]),\r\n });\r\n\r\n \r\n setTimeout(() => {\r\n this.resetONBackBtn();\r\n }, 100);\r\n\r\n this.addAnotherLocation(undefined);\r\n\r\n this.statecodenname = stateCodenName;\r\n {\r\n this.minDateValue = new Date();\r\n this.maxDateValue = new Date(this.minDateValue.getFullYear() + 1, this.minDateValue.getMonth(), this.minDateValue.getDate() - 1);\r\n }\r\n\r\n this._lookupService.getLookUpValues('Industry', 'LTCFOpportunity')\r\n .subscribe((response: SelectType[]) => {\r\n this.industries = response;\r\n this.otherIndustryIndex = this.industries?.find(industry => industry?.value?.toLocaleLowerCase() === 'other')?.id;\r\n });\r\n }\r\n\r\n createvaccinationsInfo(vaccinationsInfoInputs) {\r\n const arr = vaccinationsInfoInputs.map(vcVals => {\r\n return new FormControl(null);\r\n });\r\n return new FormArray(arr);\r\n }\r\n createPaymentType(paymentInp) {\r\n const arr = paymentInp.map(vcVals => {\r\n return new FormControl(null);\r\n });\r\n return new FormArray(arr);\r\n }\r\n createVaccineType(paymentInp) {\r\n const arr = paymentInp.map(vcVals => {\r\n return new FormControl(null);\r\n });\r\n return new FormArray(arr);\r\n }\r\n\r\n getSelectedPaymentTypeInfo(ev, val) {\r\n this.paymentField('');\r\n if (ev.target.checked) {\r\n this.paymentType.push(val);\r\n } else {\r\n let i = this.vacn.indexOf(val);\r\n this.paymentType.splice(i, 1);\r\n }\r\n }\r\n\r\n getSelectedIndustry(ev) {\r\n this.selectedIndustryText = ev.target.options[ev.target.options.selectedIndex].text;\r\n const otherIndustryIndex = this.industries?.find(industry => industry?.value?.toLocaleLowerCase() === 'other')?.id;\r\n const industry = this.leadGenerationForm.controls['lgCntrlIndustry']?.value;\r\n \r\n if (industry == otherIndustryIndex) {\r\n this.leadGenerationForm.controls.lgCntrlOtherIndustry.setValidators(Validators.required);\r\n this.leadGenerationForm.controls.lgCntrlOtherIndustry.updateValueAndValidity();\r\n this.showOtherVaccinationInputField = true;\r\n document.getElementById('lgCntrlOtherIndustry').classList.remove('has-error');\r\n document.getElementById('lgCntrlOtherIndustry').classList.remove('has-feedback');\r\n }\r\n else {\r\n this.leadGenerationForm.controls.lgCntrlOtherIndustry.clearValidators();\r\n this.leadGenerationForm.controls.lgCntrlOtherIndustry.updateValueAndValidity();\r\n document.getElementById('lgCntrlOtherIndustry').classList.remove('has-error');\r\n document.getElementById('lgCntrlOtherIndustry').classList.remove('has-feedback');\r\n }\r\n\r\n }\r\n \r\n onParentOptionChanged(ev) {\r\n if (ev === 'Other') {\r\n this.showOtherPaymentOptionTxtField = true;\r\n this.leadGenerationForm.controls.lgCntrlynapmoc884.setValidators(Validators.required);\r\n this.leadGenerationForm.controls.lgCntrlynapmoc884.updateValueAndValidity();\r\n }\r\n else {\r\n this.showOtherPaymentOptionTxtField = false;\r\n this.leadGenerationForm.controls.lgCntrlynapmoc884.clearValidators();\r\n this.leadGenerationForm.controls.lgCntrlynapmoc884.updateValueAndValidity();\r\n\r\n }\r\n }\r\n \r\n getSelectedvaccinationsInfo(ev, val) {\r\n \r\n this.seperateFiedls('');\r\n if (ev.target.checked) {\r\n this.vacn.push(val);\r\n if (val == 6) {\r\n //this.showOtherVaccinenameTxtField = true;\r\n this.leadGenerationForm.controls.lgCntrlynapmoc884.setValidators(Validators.required);\r\n this.leadGenerationForm.controls.lgCntrlynapmoc884.updateValueAndValidity();\r\n\r\n }\r\n } else {\r\n let i = this.vacn.indexOf(val);\r\n this.vacn.splice(i, 1);\r\n this.leadGenerationForm.controls.lgCntrlynapmoc884.setValidators(null);\r\n this.leadGenerationForm.controls.lgCntrlynapmoc884.updateValueAndValidity();\r\n // this.showOtherVaccinenameTxtField = false;\r\n }\r\n }\r\n\r\n getSelectedvaccinationsList(ev, val) {\r\n \r\n this.seperateFiedls2('');\r\n if (ev.target.checked) {\r\n this.vacn2.push(val);\r\n if (val == 'Other') {\r\n this.showOtherVaccinationListInputField = true;\r\n this.leadGenerationForm.controls.lgCntrlynapmoc3284.setValidators(Validators.required);\r\n this.leadGenerationForm.controls.lgCntrlynapmoc3284.updateValueAndValidity();\r\n }\r\n else if(val == 'Other' && !ev.target.checked)\r\n {\r\n this.leadGenerationForm.controls.lgCntrlynapmoc3284.setValidators(null);\r\n this.leadGenerationForm.controls.lgCntrlynapmoc3284.updateValueAndValidity();\r\n this.showOtherVaccinationListInputField = false;\r\n }\r\n } else {\r\n let i = this.vacn2.indexOf(val);\r\n this.vacn2.splice(i, 1);\r\n this.leadGenerationForm.controls.lgCntrlynapmoc3284.setValidators(null);\r\n this.leadGenerationForm.controls.lgCntrlynapmoc3284.updateValueAndValidity();\r\n if (val == 'Other')\r\n {\r\n this.showOtherVaccinationListInputField = false;\r\n }\r\n }\r\n }\r\n\r\n getSelectedvaccinationsInfoName() {\r\n this.selectedvcInfo = _.filter(\r\n this.selectedvcInfo,\r\n function (vcVals) {\r\n if (vcVals !== false) {\r\n return vcVals;\r\n }\r\n }\r\n );\r\n }\r\n\r\n resolved(captchaResponse: string) {\r\n this.isRecaptchaVerified = true;\r\n if (captchaResponse) {\r\n let verify = new recaptchaRequest();\r\n verify.response = captchaResponse;\r\n this.leadService.siteVerify(verify).subscribe((data:any) => {\r\n let rsp = data;\r\n if (rsp.success == true) {\r\n this.isRecaptchaVerified = true;\r\n this.leadGenerationForm.controls.recaptchaReactive.setValue(rsp.success);\r\n this.leadGenerationForm.controls.recaptchaReactive.updateValueAndValidity();\r\n }\r\n else {\r\n this.showDialogV3(\"Error\", \"Recaptcha Verification Failed. Please retry.\");\r\n }\r\n },\r\n err => {\r\n this.showDialogV3(\"Error\", \"Expectaion Failed\");\r\n })\r\n }\r\n }\r\n\r\n onSubmit(formValues) {\r\n \r\n this.trimFormValues(formValues);\r\n if (this.leadGenerationForm.valid && !(this.leadGenerationForm.controls['lgCntrlIndustry'].value == '4' && this.leadGenerationForm.controls['lgCntrlOtherIndustry'].value == '' )) {\r\n this.leadGenerationForm.controls['vaccinationArray'].patchValue(this.vacn);\r\n this.leadGenerationForm.controls['paymentTypeArray'].patchValue(this.paymentType);\r\n\r\n this.leadGenerationForm.controls['VaccineTypeCheckBoxArray'].patchValue(this.vacn2);\r\n this.redirect = false;\r\n if (this.leadGenerationForm.controls['recaptchaReactive'].value == '' || !this.isRecaptchaVerified || this.leadGenerationForm.controls['recaptchaReactive'].value == null) {\r\n this.showDialogV3(\"Error\", \"Please verify that you are not a robot.\");\r\n return false;\r\n }\r\n\r\n \r\n // const SumofEstimates = Number(this.leadGenerationForm.get('lgCntrlstnapicitraPfOrebmuNdetamitse432').value) + Number(this.leadGenerationForm.get('lgCntrlstnapicitraPfOrebmuNdetamitse433').value);\r\n // if (SumofEstimates < 15) {\r\n // window.scroll(40,40);\r\n // this.showDialogV3(\"Minimum Requirement\", 'Thank you for your interest in Walgreens to support your LTCF COVID-19 Vaccine Booster Clinic. Unfortunately, due to overwhelming demand we are currently unable to service facilities requesting support for fewer than 15 participants. In-store COVID-19 Vaccine appointments for long-term care residents or eligible staff can be scheduled through the Walgreens online scheduler. For online scheduler support, contact our Walgreens support team at 1-866-614-7029. For additional information on long-term care booster access, please visit the CDC website.')\r\n // return false;\r\n // }\r\n\r\n // if(this.leadGenerationForm.controls['lgCntrlstnapicitraPfOrebmuNdetamitse432'].value<25 ){\r\n // this.showDialogV3(\"Minimum Requirement\", 'There is a minimum of 25 participates required to use this form. Please contact your local Walgreens for alternative options.');\r\n // window.scroll(40,40);\r\n // return false;\r\n // }\r\n \r\n this.leadGenerationForm.value.lgCntrlIndustry = this.selectedIndustryText; \r\n\r\n let sumOfLtcfEligibleResidentsandStaff = (+this.leadGenerationForm.controls['lgCntrlstnapicitraPfOrebmuNdetamitse432'].value) + (+this.leadGenerationForm.controls['lgCntrlstnapicitraPfOrebmuNdetamitse433'].value);\r\n \r\n if(sumOfLtcfEligibleResidentsandStaff <50 && \r\n this.leadGenerationForm.controls['lgCntrlNeedClinic'].value != 'true'){\r\n this.showDialogV3(\"Minimum Requirement\", 'There is a minimum of 50 participants required to request an on-site clinic. Please contact your local Walgreens for alternative options or select \"Walgreens Store\" when filling out the form.');\r\n window.scroll(40,40);\r\n return false;\r\n }\r\n this.spinner.show();\r\n this.leadService.saveLeadOpportunitesEnquiries(this.leadGenerationForm.value).subscribe((data:any) => {\r\n if (data == 1) {\r\n this.redirect = true;\r\n this.spinner.hide();\r\n this.showDialogV3(\"Thank you!\", \"Your information has been submitted. Our team will be in touch in the future, once we have additional information to provide.\");\r\n }\r\n else if (data == -1) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", \"Bad Geocode -- Invalid Request.\");\r\n }\r\n else if (data == -2) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", \"Bad Geocode -- Over Query Limit.\");\r\n }\r\n else if (data == -3) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", \"Bad Geocode -- Request Denied.\");\r\n }\r\n else if (data == -4) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", ErrorMessages['geo_zero_results']);\r\n }\r\n else if (data == -5) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", ErrorMessages['geo_unknown_error']);\r\n }\r\n else if (data == -6) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", ErrorMessages['geo_timed_out']);\r\n }\r\n else {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", ErrorMessages[\"error\"]);\r\n }\r\n }, err => {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", \"Expectation failed.\");\r\n });\r\n }\r\n else {\r\n this.spinner.hide();\r\n this.validateFormNSendAlert();\r\n this.validateNResetCaptcha();\r\n // if (this.leadGenerationForm.value.lgCntrlsetatSluMcoPBstrCl086 === \"false\") {\r\n // document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-error');\r\n // document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-feedback');\r\n // }\r\n }\r\n }\r\n\r\n isFieldValid(field: string) { \r\n return !this.leadGenerationForm.get(field).valid && this.leadGenerationForm.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n\r\n seperateFiedls(e) {\r\n if (e == '') {\r\n if (this.leadGenerationForm.value.lgCntrlofnIsnoitaniccav193) {\r\n if (this.leadGenerationForm.value.lgCntrlofnIsnoitaniccav193.includes(true)) {\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-error');\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-feedback');\r\n }\r\n else {\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.add('has-error');\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.add('has-feedback');\r\n }\r\n }\r\n } else {\r\n if (e.toElement.checked && e.toElement.checked == true && this.leadGenerationForm.value.lgCntrlofnIsnoitaniccav193) {\r\n if (this.leadGenerationForm.value.lgCntrlofnIsnoitaniccav193.includes(true) || e.toElement.checked == true) {\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-error');\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-feedback');\r\n }\r\n else {\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.add('has-error');\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.add('has-feedback');\r\n }\r\n }\r\n }\r\n }\r\n\r\n seperateFiedls2(e) {\r\n if (e == '') {\r\n if (this.leadGenerationForm.value.lgCntrlofnIsnoitaniccav193) {\r\n if (this.leadGenerationForm.value.lgCntrlofnIsnoitaniccav193.includes(true)) {\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-error');\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-feedback');\r\n }\r\n else {\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.add('has-error');\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.add('has-feedback');\r\n }\r\n }\r\n } else {\r\n if (e.toElement.checked && e.toElement.checked == true && this.leadGenerationForm.value.lgCntrlofnIsnoitaniccav193) {\r\n if (this.leadGenerationForm.value.lgCntrlofnIsnoitaniccav193.includes(true) || e.toElement.checked == true) {\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-error');\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-feedback');\r\n }\r\n else {\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.add('has-error');\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.add('has-feedback');\r\n }\r\n }\r\n }\r\n }\r\n\r\n paymentField(e) {\r\n if (e == '') {\r\n if (this.leadGenerationForm.value.lgCntrlepyTtnemyap294) {\r\n if (this.leadGenerationForm.value.lgCntrlepyTtnemyap294.includes(true)) {\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.remove('has-error');\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.remove('has-feedback');\r\n }\r\n else {\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.add('has-error');\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.add('has-feedback');\r\n }\r\n }\r\n } else {\r\n if (e.toElement.checked && e.toElement.checked == true && this.leadGenerationForm.value.lgCntrlepyTtnemyap294) {\r\n if (this.leadGenerationForm.value.lgCntrlepyTtnemyap294.includes(true) || e.toElement.checked == true) {\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.remove('has-error');\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.remove('has-feedback');\r\n }\r\n else {\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.add('has-error');\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.add('has-feedback');\r\n }\r\n }\r\n }\r\n }\r\n\r\n showDialogV2(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locListModalDlg = true;\r\n }\r\n showDialogV3(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.successDlg1 = true;\r\n }\r\n okClickedV2() {\r\n this.locListModalDlg = false;\r\n }\r\n goToWagsOnClose() {\r\n this.successDlg1 = false;\r\n if (this.redirect) {\r\n window.location.href = 'http://walgreens.com';\r\n }\r\n }\r\n public trimFormValues(formGroup: FormGroup) {\r\n Object.keys(formGroup.controls).forEach((key) => {\r\n if (key != \"lgCntrlofnIsnoitaniccav193\" && key != \"lgCntrlepyTtnemyap294\" \r\n && key != \"lgCntrlDesiredClinicCompDate\" && key != \"recaptchaReactive\" \r\n && key != \"vaccinationArray\" && key != \"paymentTypeArray\" && key != \"lgCntrlspmEfOoNlatot936\"\r\n && key!= \"locations\" && key != \"isCovid\" && key !=\"covidOpportunityType\"\r\n && key != \"lgCntrlepyTtnemyap111\" && key !=\"VaccineTypeCheckBoxArray\") {\r\n formGroup.get(key)?.setValue(formGroup?.get(key).value?.toString()?.trim())\r\n }\r\n });\r\n }\r\n \r\n validateFormNSendAlert() {\r\n this.utility.validateAllFormFields(this.leadGenerationForm);\r\n this.seperateFiedls('');\r\n this.paymentField('');\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['requiredFields']);\r\n return false;\r\n }\r\n onlyAlphabets(e, ctrl) {\r\n if (ctrl == \"fNlName\") {\r\n return this.fNlNameRegEx.test(e.key);\r\n } else if (ctrl == \"city\") {\r\n return this.cityRegEx.test(e.key);\r\n }\r\n else if (ctrl == \"add1N2\") {\r\n return this.address1N2.test(e.key);\r\n }\r\n }\r\n validateNResetCaptcha() {\r\n this.leadGenerationForm.controls.recaptchaReactive.setValue('default');\r\n this.leadGenerationForm.controls.recaptchaReactive.updateValueAndValidity();\r\n }\r\n resetONBackBtn() {\r\n this.leadGenerationForm.controls.lgCntrlrebmuNhp802.setValue('');\r\n this.leadGenerationForm.controls.lgCntrlrebmuNhp802.updateValueAndValidity();\r\n this.leadGenerationForm.controls.lgCntrletats936.setValue('');\r\n this.leadGenerationForm.controls.lgCntrletats936.updateValueAndValidity();\r\n }\r\n NavigateToImmContactUs()\r\n {\r\n this.router.navigateByUrl(\"/Immunization-Contact-Us\");\r\n }\r\n\r\n displayVaccineClass(vaccineName, index) {\r\n if(vaccineName == 'Other' && (index%2) > 0) {\r\n return \"col-md-2 chkBox off offset-sm-1\"\r\n } else if ((index%2) > 0) {\r\n return \"col-md-4 chkBox off offset-sm-1\"\r\n } else {\r\n return \"col-md-4 chkBox\"\r\n }\r\n }\r\n \r\n initLocation(location : LtcfContactUs) : FormGroup{\r\n if(location){\r\n return this.formBuilder.group({\r\n lgCntrl1sserddA594: new FormControl(location.lgCntrl1sserddA594, [Validators.required, Validators.maxLength(40), Validators.pattern(/^[ A-Za-z0-9#'.,-/]*$/)]),\r\n lgCntrlFacilityAddrTwo: new FormControl(location.lgCntrlFacilityAddrTwo ,[Validators.maxLength(60), Validators.pattern(/^[ A-Za-z0-9#'.,-/]*$/)]),\r\n lgCntrlytic105: new FormControl(location.lgCntrlytic105, [Validators.required, Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\-$]*)?$/)]),\r\n lgCntrletats936: new FormControl(location.lgCntrletats936,[ Validators.required]),\r\n lgCntrlpiz466: new FormControl(location.lgCntrlpiz466,[ Validators.required]),\r\n lgCntrlemaNf255: new FormControl(location.lgCntrlemaNf255,[Validators.required, Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\.\\,\\'\\-$]*)?$/)]),\r\n lgCntrlemaNl400: new FormControl(location.lgCntrlemaNl400,[Validators.required, Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\.\\,\\'\\-$]*)?$/)]),\r\n lgCntrlJobTitle: new FormControl(location.lgCntrlJobTitle),\r\n lgCntrlliame450: new FormControl(location.lgCntrlliame450,[Validators.required, Validators.email, Validators.pattern(/^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$/)]),\r\n lgCntrlrebmuNhp802: new FormControl(location.lgCntrlrebmuNhp802,[Validators.required]),\r\n lgCntrlnoisnetxe491: new FormControl(location.lgCntrlnoisnetxe491),\r\n })\r\n }\r\n else{\r\n return this.formBuilder.group({\r\n lgCntrlemaNf255: new FormControl('', [Validators.required, Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\.\\,\\'\\-$]*)?$/)]),\r\n lgCntrlliame450: new FormControl('', [Validators.required, Validators.email, Validators.pattern(/^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$/)]),\r\n lgCntrlemaNl400: new FormControl('', [Validators.required, Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\.\\,\\'\\-$]*)?$/)]), \r\n lgCntrlJobTitle: new FormControl(''),\r\n lgCntrl1sserddA594: new FormControl('', [Validators.required, Validators.maxLength(40), Validators.pattern(/^[ A-Za-z0-9#'.,-/]*$/)]), \r\n lgCntrlFacilityAddrTwo: new FormControl('', [ Validators.maxLength(60), Validators.pattern(/^[ A-Za-z0-9#'.,-/]*$/)]), \r\n lgCntrlytic105: new FormControl('', [Validators.required, Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\-$]*)?$/)]),\r\n lgCntrletats936: new FormControl('', Validators.required), \r\n lgCntrlpiz466: new FormControl('', Validators.required), \r\n lgCntrlrebmuNhp802: new FormControl('', Validators.required), \r\n lgCntrlnoisnetxe491: new FormControl(''), \r\n });\r\n }\r\n \r\n\r\n }\r\n addAnotherLocation(location: LtcfContactUs){\r\n if(location){\r\n const control = this.leadGenerationForm.controls['locations'];\r\n const addrCtrl = this.initLocation(location);\r\n control.push(addrCtrl);\r\n }\r\n else{\r\n const control = this.leadGenerationForm.controls['locations'];\r\n const addrCtrl = this.initLocation(undefined);\r\n control.push(addrCtrl);\r\n }\r\n }\r\n\r\n canDeleteTheClinic(clinicIndex: number) {\r\n if (this.leadGenerationForm.controls.locations.value.length > 1 && clinicIndex != 0) {\r\n return true;\r\n }\r\n }\r\n\r\n removeLocation(i: number) {\r\n let control = this.leadGenerationForm.controls['locations'];\r\n control.removeAt(i);\r\n}\r\n}\r\n","import { Component, OnInit, ElementRef, HostListener, Input, ViewChild, EventEmitter, Output } from '@angular/core';\r\nimport { Observable, Subject, Observer, Subscription , of } from 'rxjs';\r\nimport { ActivatedRoute, NavigationEnd } from '@angular/router';\r\nimport { Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\nimport { StoreModel } from '../../../../models/Store';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { ActionType } from '../../../../utility/enum';\r\nimport { SessionDetails } from '../../../../utility/session';\r\n\r\nimport { StoresListService } from '../../../store/services/stores-list.service';\r\nimport { StoreProfile } from '../../../../models/storeProfile';\r\nimport { OpportunitiesService } from '../../../store/services/opportunities.service';\r\nimport { HeaderserviceService } from '../../services/headerservice.service';\r\nimport { AlertService } from '../../../../alert.service';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport {catchError, debounceTime, distinctUntilChanged, map, tap, switchMap} from 'rxjs/operators';\r\nimport { UserRole } from '../../../../config-files/UserRole';\r\n\r\ntype searchResult ={address:string,address2:String,areaNumber:Number,city:String,districtNumber:Number,lastStatusProvided:String,regionNumber:Number,state:String,storeId:Number,storePk:Number,zip:String}\r\n@Component({\r\n selector: 'app-masterlayout',\r\n templateUrl: './masterlayout.component.html',\r\n styleUrls: ['./masterlayout.component.css']\r\n})\r\nexport class MasterlayoutComponent implements OnInit {\r\n showVar: boolean = false;\r\n isAdmin: boolean = false;\r\n isPowerUser: boolean = false;\r\n headerTitle: string;\r\n menu: any[]\r\n openElements: boolean[] = [];\r\n storeInfo: any;\r\n displayName: any;\r\n displayNumber: any;\r\n lastAccess: any = new Date();\r\n storeAddress: string = '';\r\n stores: StoreModel[] = [];\r\n stores1: any[] = [];\r\n searching = false;\r\n searchFailed = false;\r\n visible: boolean = true;\r\n model: any;\r\n results: Object;\r\n searchTerm$ = new Subject();\r\n search$: Observable;\r\n selectedNumber: string = '';\r\n titleName: any;\r\n storeID: any = \"\";\r\n onSelection: boolean = false;\r\n dashboard: boolean = false;\r\n isStoreTitle: boolean = true;\r\n isShowHeaderFooter: boolean = true;\r\n subscription: Subscription;\r\n message: any;\r\n userProfile: any;\r\n isFirstLogin: boolean = false;\r\n devWarning:boolean=false;\r\n isIP:boolean=false;\r\n isPCA:boolean=false;\r\n isSR:boolean=false;\r\n siteMaintenanceDlg:boolean=false;\r\n isClientRequired:boolean= false;\r\n @ViewChild('storeSearch') storeSearchEleRef : ElementRef;\r\n loadAPI: Promise;\r\n ChangecorpStoreApptTrackerBannerColor: any = false;\r\n state:any;\r\n constructor(public router: Router, \r\n private message_service: MessageServiceService, \r\n private _opportunityService: OpportunitiesService, \r\n titleService: Title, \r\n private _headerservice: HeaderserviceService, \r\n private _storeslistservice: StoresListService, \r\n private store_profile: StoreProfile,private alertService: AlertService) {\r\n \r\n \r\n this.subscription = this.alertService.getWarningAlert().subscribe((wAlert:any) => {\r\n this.state = JSON.parse(sessionStorage.store_profile)[0].state\r\n if (wAlert.pca==true) {\r\n this.isPCA = true;\r\n this.isSR=false;\r\n this.isIP=false;\r\n this.isPCA = true;\r\n this.isSR = false;\r\n this.isIP = false;\r\n\r\n }\r\n else if(wAlert.sr==true){\r\n //this.isSR = true;\r\n this.isPCA = false;\r\n this.isIP=false; \r\n }\r\n else if(wAlert.ip==true){\r\n this.isSR = false;\r\n this.isPCA = false;\r\n this.isIP=true;\r\n \r\n }\r\n else{\r\n this.isSR = false;\r\n this.isPCA = false;\r\n this.isIP=false; \r\n }\r\n });\r\n if (sessionStorage.is_pca == \"false\" && sessionStorage.is_sr == \"false\") {\r\n this.isIP = false;\r\n this.isSR = false;\r\n this.isPCA = false;\r\n SessionDetails.setIsPCA(false);\r\n SessionDetails.setIsSR(false);\r\n } else if (sessionStorage.is_pca == \"true\" && sessionStorage.is_sr == \"false\") {\r\n this.isPCA = true;\r\n this.isSR = false;\r\n this.isIP = false;\r\n SessionDetails.setIsPCA(true);\r\n SessionDetails.setIsSR(false);\r\n }else if (sessionStorage.is_pca == \"false\" && sessionStorage.is_sr == \"true\") {\r\n this.isPCA = false;\r\n //this.isSR = true;\r\n this.isIP = false;\r\n SessionDetails.setIsPCA(false);\r\n SessionDetails.setIsSR(true);\r\n } \r\n \r\n \r\n \r\n \r\n this.loadAPI = new Promise((resolve) => {\r\n if(window.location.href.indexOf(\"landing\")===-1){\r\n this.loadScript(); \r\n }\r\n resolve(true);\r\n });\r\n router.events.subscribe((event:any) => {\r\n // if(window.location.pathname === '/communityoutreach/contract'){\r\n // this.devWarning=true;\r\n // }\r\n // else{\r\n // this.devWarning=false;\r\n // }\r\n if (event instanceof NavigationEnd) {\r\n let title = this.getTitle(router.routerState, router.routerState.root).join('-');\r\n titleService.setTitle(\"Walgreens Community Outreach\");\r\n if (document.getElementById('menu-overlay')) {\r\n let a = document.getElementsByClassName('video supports csstransitions csstransforms3d noscroll');\r\n a[0].classList.remove('noscroll');\r\n let b = document.getElementsByClassName('navbar-collapse float-right nav-main-collapse collapse show');\r\n let val=b[0] as HTMLElement;\r\n val.style.display = 'none';\r\n b[0].classList.remove('show');\r\n let c = document.getElementsByClassName('btn btn-mobile btn-mobile-active');\r\n c[0].classList.remove('btn-mobile-active');\r\n let d = document.getElementsByClassName('btn btn-mobile');\r\n d[0].classList.add('collapsed');\r\n let e = document.getElementById('menu-overlay');\r\n e.remove();\r\n }\r\n\r\n if(environment.isSiteDeploying){\r\n this.siteMaintenanceDlg=true;\r\n }\r\n switch (title) { \r\n case \"contract\":\r\n this.headerTitle = \"COMMUNITY OFF-SITE AGREEMENT\";\r\n this.isStoreTitle = false;\r\n break;\r\n case \"Corporate Clinic Details\":\r\n this.headerTitle = \"CLINIC DETAILS\";\r\n this.isStoreTitle = false;\r\n break;\r\n case \"storeprofileuploader\":\r\n this.headerTitle = \"UPLOAD STORE PROFILE\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"immunizationCheck\":\r\n this.headerTitle = \"IMMUNIZATION & RATES\";\r\n this.isStoreTitle = true; \r\n break; \r\n case \"Patient Reassignment\":\r\n this.headerTitle = \"PATIENT REASSIGNMENT\";\r\n this.isStoreTitle = true; \r\n break; \r\n case \"Dropped Store Reassignments\":\r\n this.headerTitle = \"DROPPED STORE REASSIGNMENTS\";\r\n this.isStoreTitle = true; \r\n break;\r\n case \"Group Ids Uploader\":\r\n this.headerTitle = \"GROUP ID UPLOADER\";\r\n this.isStoreTitle = true; \r\n break; \r\n case \"addimmunizationCheck\":\r\n this.headerTitle = \"ADD IMMUNIZATION & RATE\";\r\n this.isStoreTitle = false;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"editimmunizationCheck\":\r\n this.headerTitle = \"EDIT IMMUNIZATION & RATE\";\r\n this.isStoreTitle = false;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"addBusiness\":\r\n if (SessionDetails.GetActionType() == ActionType.addOportunity) {\r\n this.headerTitle = \"ADD AN OPPORTUNITY\";\r\n this.isStoreTitle = false;\r\n this.isShowHeaderFooter = true;\r\n }\r\n else {\r\n this.headerTitle = \"OPPORTUNITY PROFILE\";\r\n this.isStoreTitle = false;\r\n this.isShowHeaderFooter = true;\r\n }\r\n break;\r\n case \"contactlog\":\r\n this.headerTitle = \"CONTACT LOG HISTORY\";\r\n this.isStoreTitle = false;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"charityProgram\":\r\n this.headerTitle = \"CHARITY (WAG FREE FLU VOUCHER)\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"addpca\":\r\n this.headerTitle = \"PCA ORGANIZATION\";\r\n this.isStoreTitle = false;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"asolula\":\r\n this.headerTitle = \"ASO LIMITED USE LICENSE AGREEMENT\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"opolula\":\r\n this.headerTitle = \"OPO LIMITED USE LICENSE AGREEMENT\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"csslula\":\r\n this.headerTitle = \"CSS LIMITED USE LICENSE AGREEMENT\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"governmentlula\":\r\n this.headerTitle = \"GOVERNMENT LIMITED USE LICENSE AGREEMENT\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"scheduleevent\":\r\n this.headerTitle = \"SR SCHEDULED EVENT INFORMATION\";\r\n this.isStoreTitle = false;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"userprofile\":\r\n this.headerTitle = \"USER MANAGEMENT\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"edit_user\":\r\n case \"add-user\":\r\n this.headerTitle = \"USER PROFILE\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"corporateScheduler\":\r\n this.headerTitle = \"APPOINTMENT SCHEDULER\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"Local Clinic Details\":\r\n this.headerTitle = \"CLINIC DETAILS\";\r\n this.isStoreTitle = false;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"pcaresources\":\r\n this.headerTitle = \"PATIENT CARE & ADVOCACY MATERIALS\";\r\n this.isStoreTitle = false;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"Community Outreach Clinic Details\":\r\n this.headerTitle = \"CLINIC DETAILS\";\r\n this.isStoreTitle = false;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"Immunization Program Email Template\":\r\n this.headerTitle = \"IMMUNIZATION PROGRAM GUIDELINES\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"Senior Outreach Email Template\":\r\n this.headerTitle = \"SENIOR OUTREACH\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"Patient Care Advocacy Email Template\":\r\n this.headerTitle = \"PATIENT CARE & ADVOCACY EVENTS\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"followUp\":\r\n this.headerTitle = \"SCHEDULED FOLLOW-UP REMINDERS\";\r\n this.isStoreTitle = false;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"Charity Program Clinic Details\":\r\n this.headerTitle = \"CLINIC DETAILS\";\r\n this.isStoreTitle = false;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"contractAgreementForUser\":\r\n this.headerTitle = \"COMMUNITY OFF-SITE CLINIC AGREEMENT\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = false;\r\n break;\r\n case \"resources\":\r\n this.headerTitle = \"OUTREACH MATERIALS\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"scheduledappointmentsreport\":\r\n this.headerTitle = \"SCHEDULED APPOINTMENTS REPORT\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"soresources\":\r\n this.headerTitle = \"SENIOR OUTREACH MATERIALS\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"vissresouces\":\r\n this.headerTitle = \"VACCINE INFORMATION STATEMENTS (VISs)\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"imzresources\":\r\n this.headerTitle = \"IMMUNIZATION OUTREACH MATERIALS\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"Community Outreach Program\":\r\n this.headerTitle = \"COMMUNITY OUTREACH\";\r\n this.isStoreTitle = false;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"equityevents\": \r\n this.headerTitle = \"EQUITY EVENT\";\r\n this.isStoreTitle = false;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"equityeventdetails\": \r\n this.headerTitle = \"EQUITY EVENT DETAILS\";\r\n this.isStoreTitle = false;\r\n this.isShowHeaderFooter = true;\r\n break; \r\n case \"clientSchedulerApptTracker\":\r\n this.headerTitle = \"IMMUNIZATION CLINIC\";\r\n this.isStoreTitle = false;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n case \"viewcontract\":\r\n this.headerTitle = \"COMMUNITY OFF-SITE AGREEMENT\";\r\n this.isStoreTitle = false;\r\n this.isShowHeaderFooter = false;\r\n break;\r\n case \"activityreport\":\r\n this.headerTitle = \"ACTIVITY REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"scheduledclinicsreport\":\r\n this.headerTitle = \"SCHEDULED CLINICS REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"servicefeesreport\":\r\n this.headerTitle = \"SERVICE FEE REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"scheduledcovidclinicsreport\":\r\n this.headerTitle = \"SCHEDULED COVID CLINICS REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"covidclinicsreport\":\r\n this.headerTitle = \"COVID CLINICS REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"covidoppOutreachstatusreport\":\r\n this.headerTitle = \"COVID OPPORTUNITIES CONTACT STATUS REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"scheduledeventsreport\":\r\n this.headerTitle = \"SCHEDULED EVENTS REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"vaccinepurchasingreport\":\r\n this.headerTitle = \"VACCINE PURCHASING REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"covidvaccinepurchasingreport\":\r\n this.headerTitle = \"COVID VACCINE PURCHASING REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"immunizationfinancereport\":\r\n this.headerTitle = \"IMMUNIZATION FINANCE REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"covidimmunizationfinancereport\":\r\n this.headerTitle = \"COVID IMMUNIZATION FINANCE REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"groupidassignmentreport\":\r\n this.headerTitle = \"GROUP ID ASSIGNMENT REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"covidgroupidassignmentreport\":\r\n this.headerTitle = \"COVID GROUP ID ASSIGNMENT REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"schedulerappttrackingcomponent\":\r\n case \"scheduledapptsrepforreminderemailcomponent\":\r\n //case \"scheduledappointmentsreport\":\r\n this.headerTitle = \"SCHEDULED APPOINTMENTS REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"revisedclinicdatesreport\":\r\n this.headerTitle = \"REVISED CLINIC DATES & VOLUMES REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"covidrevisedclinicdatesreport\":\r\n this.headerTitle = \"COVID REVISED CLINIC DATES & VOLUMES REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"weeklygroupidassignmentsreport\":\r\n this.headerTitle = \"WEEKLY GROUP ID ASSIGNMENTS REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"weeklyvaccinepurchasereport\":\r\n this.headerTitle = \"WEEKLY VACCINE PURCHASING REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"covidweeklyvaccinepurchasereport\":\r\n this.headerTitle = \"COVID WEEKLY VACCINE PURCHASING REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"workflowmonitorreport\":\r\n this.headerTitle = \"WORKFLOW MONITOR REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"restrictedstateopportunitiesreport\":\r\n this.headerTitle = \"RESTRICTED STATE OPPORTUNITIES REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"restrictedstateclinicsreport\":\r\n this.headerTitle = \"RESTRICTED STATE CLINICS REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"highlevelstatusreport\":\r\n this.headerTitle = this.getRoleTitleForReports(this.userProfile.userRole).toUpperCase() + \"HIGH LEVEL STATUS REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"covidhighlevelstatusreport\":\r\n this.headerTitle = this.getRoleTitleForReports(this.userProfile.userRole).toUpperCase() + \"COVID HIGH LEVEL STATUS REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"storecompliancereport\":\r\n this.headerTitle = \"STORE COMPLIANCE REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"districtcompliancereport\":\r\n this.headerTitle = \"DISTRICT COMPLIANCE REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"localopportunitieslist\":\r\n this.headerTitle = \"LOCAL OPPORTUNITIES LIST REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"localopportunitiescontactstatusreport\":\r\n this.headerTitle = \"LOCAL OPPORTUNITIES CONTACT STATUS REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"useraccesslogreport\":\r\n this.headerTitle = \"USER ACCESS LOG REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"Data Stats Reporting\":\r\n this.headerTitle = \"DATA STATS REPORTING\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"Opportunities Contact Status\":\r\n this.headerTitle = \"OPPORTUNITIES CONTACT STATUS\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"COVID Schools Lead Generation Report\":\r\n this.headerTitle = \"COVID SCHOOLS LEAD GENERATION REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"LTCF Lead Generation Report\":\r\n this.headerTitle = \"LTCF LEAD GENERATION REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"Lead Generation Report\":\r\n this.headerTitle = \"LEAD GENERATION REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"minimumshotexceptionsreport\":\r\n this.headerTitle = \"MINIMUM SHOT EXCEPTIONS REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"covidminimumshotexceptionsreport\":\r\n this.headerTitle = \"COVID MINIMUM SHOT EXCEPTIONS REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"initiatedcontractsreport\":\r\n this.headerTitle = \"INITIATED CONTRACT REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"scheduledclinicstatusreport\":\r\n this.headerTitle = \"SCHEDULED CLINICS STATUS REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"Favorites\":\r\n this.headerTitle = \"COMMUNITY OUTREACH PORTAL\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"testingeventsreport\":\r\n this.headerTitle = \"EVENTS REPORT\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"hcsactionitems\":\r\n case \"pcaactionitems\":\r\n \r\n this.headerTitle = this.getTitleForDashboardReports();\r\n this.message_service.getReportTitle().subscribe((title:any) => {\r\n this.headerTitle = title;\r\n });\r\n this.isStoreTitle = true;\r\n break; \r\n case \"fluhcsactionitems\": \r\n\r\n this.headerTitle = this.getTitleForDashboardReports(false);\r\n this.message_service.getReportTitle().subscribe(title => {\r\n this.headerTitle = title;\r\n });\r\n this.isStoreTitle = true;\r\n break; \r\n case \"trainingvideos\":\r\n this.headerTitle = \"TRAINING VIDEOS\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"organizationProfile\":\r\n this.headerTitle = \"PCA ORGANIZATION\";\r\n this.isStoreTitle = true;\r\n break;\r\n case \"pcadetails\":\r\n this.headerTitle = \"EVENT DETAILS\";\r\n this.isStoreTitle = false; \r\n break;\r\n case \"immunizationdashboard\":\r\n this.headerTitle = \"IMMUNIZATION DASHBOARD\";\r\n this.isStoreTitle = true; \r\n SessionDetails.setIsPCA(false); SessionDetails.setIsSR(false);\r\n this.alertService.sendWarningAlert(true,false,false);\r\n break;\r\n case \"home\":\r\n this.headerTitle = \"COMMUNITY OUTREACH\";\r\n this.isStoreTitle = true; \r\n SessionDetails.setIsPCA(false); SessionDetails.setIsSR(false);\r\n this.alertService.sendWarningAlert(true,false,false);\r\n break;\r\n case \"pcadashboard\":\r\n this.headerTitle = \"PATIENT CARE & ADVOCACY DASHBOARD\";\r\n this.isStoreTitle = true; \r\n SessionDetails.setIsPCA(true);SessionDetails.setIsSR(false);\r\n this.isClientRequired = true;\r\n this.alertService.sendWarningAlert(false,false,true);\r\n break;\r\n case \"rhdContractAgreement\":\r\n case \"ASO Lula\":\r\n case \"Government LULA\":\r\n case \"OPO Lula\":\r\n case \"CSS Lula\":\r\n this.headerTitle = \"LIMITED USE LICENSE AGREEMENT\";\r\n this.isStoreTitle = false; \r\n this.isClientRequired = false;\r\n this.alertService.sendWarningAlert(false,false,true);\r\n break;\r\n default:\r\n this.headerTitle = \"COMMUNITY OUTREACH\";\r\n this.isStoreTitle = true;\r\n this.isShowHeaderFooter = true;\r\n break;\r\n }\r\n }\r\n });\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n this.onSelection = false; \r\n this.subscription = this.message_service.getProfileChange().subscribe((message:any) => {\r\n this.message = message;\r\n if (this.message.text != \"\") {\r\n this.getStoreAddress(this.userProfile.userPk, null, SessionDetails.GetStoreId());\r\n }\r\n });\r\n\r\n if (this.router.url === '/communityoutreach/viewcontactlog') {\r\n this.isPowerUser = false;\r\n this.isStoreTitle = false;\r\n } \r\n // need to revisit this \r\n if(sessionStorage.store_profile)\r\n {\r\n this.state = JSON.parse(sessionStorage.store_profile)[0].state\r\n }\r\n }\r\n\r\n ngOnInit() { \r\n this.alertService.ChangecorpStoreApptTrackerBannerColor$.subscribe((res)=>\r\n { \r\n this.ChangecorpStoreApptTrackerBannerColor = res;\r\n }) \r\n this.onSelection = false;\r\n this.GetMenu();\r\n this.storeID = SessionDetails.GetStoreId(); \r\n this.getStoreAddress(this.userProfile.userPk, null, this.storeID == null ? null : this.storeID);\r\n this.menu[3].navigationItems[0].navigationItems = this.menu[3].navigationItems[0].navigationItems.sort(function (a, b) {\r\n var textA = a.title.toLowerCase();\r\n var textB = b.title.toLowerCase();\r\n return (textA < textB) ? -1 : (textA > textB) ? 1 : 0;\r\n });\r\n }\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n\r\n formatter = (result: searchResult) => \r\n result.storeId + \" - \" +\r\n result.address + \", \" + result.city + \", \"\r\n + result.state + \" \" + result.zip || ''\r\n \r\n search = (text$: Observable) =>\r\n text$.pipe(\r\n debounceTime(400),\r\n distinctUntilChanged(),\r\n //filter(term => term.length >= 2),\r\n tap(() => this.searching = true),\r\n switchMap(term =>\r\n this._headerservice.storeSearch(this.userProfile.userPk, String(term).trim(), 0).pipe(\r\n tap(() => {}),\r\n catchError((err) => {\r\n //this.searchFailed = true;]\r\n console.log('search crashed.' + err);\r\n //this.siteMaintenanceDlg = true;\r\n return of([]);\r\n }))\r\n ),\r\n tap(() => this.searching = false)\r\n );\r\n\r\n\r\n\r\n getStoreAddress(user_pk, store_search, store_id) { \r\n let url = this.router.url;\r\n if (url != null && url != \"\") {\r\n let data = url.split(\"/\");\r\n if (data != null) {\r\n if (data[2] == \"home\") {\r\n this.dashboard = true;\r\n }\r\n }\r\n }\r\n this._headerservice.getStoresProfile(user_pk, store_search, store_id).subscribe((res:any) => { \r\n this.store_profile = res.data;\r\n SessionDetails.setStoreProfileData(res.data);\r\n SessionDetails.StoreId(this.store_profile[0].storeId);\r\n SessionDetails.StorePk(res.data[0].storePk);\r\n SessionDetails.setState(this.store_profile[0].state);\r\n this.storeAddress =\r\n this.store_profile[0].storeId + \" - \" +\r\n this.store_profile[0].address + \", \" + this.store_profile[0].city + \", \"\r\n + this.store_profile[0].state + \" \" + this.store_profile[0].zip;\r\n this.lastAccess = this.store_profile[0].lastStatusProvided;\r\n if (this.onSelection) {\r\n this.message_service.sendStoreId(this.store_profile[0].storeId);\r\n }\r\n if (this.onSelection && this.dashboard) {\r\n this.message_service.sendDashboard(this.store_profile[0].storeId);\r\n }\r\n this.onSelection = false;\r\n });\r\n }\r\n onSelect(item) { \r\n this.onSelection = true;\r\n this.model = item.item.name;\r\n //SessionDetails.StoreId(item.item.storeId);\r\n this.getStoreAddress(this.userProfile.userPk, null, item.item.storeId);\r\n this.visible = false;\r\n this.showVar = false;\r\n }\r\n getTitle(state, parent) {\r\n var data = [];\r\n if (parent && parent.snapshot.data && parent.snapshot.data.title) {\r\n data.push(parent.snapshot.data.title);\r\n }\r\n\r\n if (state && parent) {\r\n data.push(... this.getTitle(state, state.firstChild(parent)));\r\n }\r\n return data;\r\n }\r\n storeSearch() {\r\n this.model = '';\r\n this.showVar = !this.showVar;\r\n setTimeout(() => {\r\n this.storeSearchEleRef.nativeElement.focus();\r\n }, 100);\r\n }\r\n onClickedOutside(e: Event) {\r\n this.isStoreTitle = true;\r\n if (this.titleName == 'contract') {\r\n this.isAdmin = false;\r\n }\r\n this.showVar = false;\r\n }\r\n GetMenu() {\r\n \r\n let role_based_menu: any = [];\r\n let temp_menu = this._headerservice.getCommonMenuItems();\r\n let tmp_parent_menu: any = {};\r\n for (let i = 0; i < temp_menu.length; i++) {\r\n if (temp_menu[i].forRoles.indexOf(this.userProfile.userRole) > -1 || temp_menu[i].forRoles.indexOf(\"all\") > -1) {\r\n tmp_parent_menu = {};\r\n tmp_parent_menu[\"title\"] = temp_menu[i].title;\r\n //tmp_parent_menu[\"active\"]=temp_menu[i].active;\r\n tmp_parent_menu[\"url\"] = temp_menu[i].url;\r\n tmp_parent_menu[\"navigationItems\"] = [];\r\n if (temp_menu[i].navigationItems) {\r\n for (let j = 0; j < temp_menu[i].navigationItems.length; j++) {\r\n if (temp_menu[i].navigationItems[j].forRoles.indexOf(this.userProfile.userRole) > -1 || temp_menu[i].navigationItems[j].forRoles.indexOf(\"all\") > -1) {\r\n let temp_item: any = {};\r\n temp_item[\"title\"] = temp_menu[i].navigationItems[j].title;\r\n temp_item[\"url\"] = temp_menu[i].navigationItems[j].url;\r\n let sub_nav_items: any = {};\r\n if (temp_menu[i].navigationItems[j].navigationItems) {\r\n for (let k = 0; k < temp_menu[i].navigationItems[j].navigationItems.length; k++) {\r\n if (temp_menu[i].navigationItems[j].navigationItems[k].forRoles.indexOf(this.userProfile.userRole) > -1 \r\n || temp_menu[i].navigationItems[j].navigationItems[k].forRoles.indexOf(\"all\") > -1 \r\n || ['Data Stats Reporting'].indexOf(temp_menu[i].navigationItems[j].navigationItems[k].title) > -1 \r\n || ['Opportunities Contact Status'].indexOf(temp_menu[i].navigationItems[j].navigationItems[k].title) > -1 \r\n && [41].indexOf(this.userProfile.userPk) > -1) {\r\n if (!sub_nav_items.navigationItems) {\r\n sub_nav_items[\"navigationItems\"] = [];\r\n }\r\n sub_nav_items[\"navigationItems\"].push({\r\n \"title\": temp_menu[i].navigationItems[j].navigationItems[k].title.replace('{role_title}', this.getRoleTitleForReports(this.userProfile.userRole)),\r\n \"url\": temp_menu[i].navigationItems[j].navigationItems[k].url\r\n });\r\n }\r\n }\r\n }\r\n if (sub_nav_items.navigationItems && sub_nav_items.navigationItems.length > 0) {\r\n temp_item[\"navigationItems\"] = sub_nav_items.navigationItems;\r\n }\r\n \r\n if (['Dropped Store Reassignments', 'Immunizations & Rates', 'Store Profile Uploader', 'Group Id Uploader'].indexOf(temp_item[\"title\"]) > -1 && \r\n [41, 20896].indexOf(this.userProfile.userPk) > -1) {\r\n tmp_parent_menu[\"navigationItems\"].push(temp_item);\r\n } else if(['Dropped Store Reassignments', 'Immunizations & Rates', 'Store Profile Uploader','Group Id Uploader'].indexOf(temp_item[\"title\"]) === -1){\r\n tmp_parent_menu[\"navigationItems\"].push(temp_item);\r\n }\r\n }\r\n }\r\n }\r\n role_based_menu.push(tmp_parent_menu);\r\n }\r\n }\r\n this.menu = role_based_menu;\r\n // this.menu[3].navigationItems[0].navigationItems = this.menu[3].navigationItems[0].navigationItems.sort(function (a, b) {\r\n // var textA = a.title.toLowerCase();\r\n // var textB = b.title.toLowerCase();\r\n // return (textA < textB) ? -1 : (textA > textB) ? 1 : 0;\r\n // });\r\n //this.menu = this._headerservice.getCommonMenuItems();\r\n\r\n switch (this.userProfile.userRole.toLowerCase()) {\r\n case \"admin\":\r\n this.isAdmin = true;\r\n break;\r\n case \"store manager\":\r\n this.displayName = \"Store\";\r\n break;\r\n case \"pharmacy manager\":\r\n this.isAdmin = false;\r\n break;\r\n case \"district manager\":\r\n this.isPowerUser = true;\r\n this.isAdmin = false;\r\n this._headerservice.getStoresProfile(this.userProfile.userPk, null, null).subscribe((res:any) => {\r\n this.storeInfo = res.data;\r\n });\r\n this.displayName = this.userProfile.locationType;\r\n this.displayNumber = this.userProfile.assignedLocations;\r\n break;\r\n case \"director - rx and retail ops\":\r\n this.isPowerUser = true;\r\n this.isAdmin = false;\r\n this._headerservice.getStoresProfile(this.userProfile.userPk, null, null).subscribe((res:any) => {\r\n this.storeInfo = res.data;\r\n });\r\n this.displayName = this.userProfile.locationType;\r\n this.displayNumber = this.userProfile.assignedLocations;\r\n break;\r\n case \"healthcare supervisor\":\r\n this.isPowerUser = true;\r\n this.isAdmin = false;\r\n this._headerservice.getStoresProfile(this.userProfile.userPk, null, null).subscribe((res:any) => {\r\n this.storeInfo = res.data;\r\n });\r\n this.displayName = this.userProfile.locationType;\r\n this.displayNumber = this.userProfile.assignedLocations;\r\n break;\r\n case \"regional vice president\":\r\n case \"regional healthcare director\":\r\n this.isPowerUser = true;\r\n this.isAdmin = false;\r\n this._headerservice.getStoresProfile(this.userProfile.userPk, null, null).subscribe((res:any) => {\r\n this.storeInfo = res.data;\r\n });\r\n this.displayName = this.userProfile.locationType;\r\n this.displayNumber = this.userProfile.assignedLocations;\r\n break;\r\n\r\n case (UserRole.PODUSER):\r\n this.isPowerUser = true;\r\n this.isAdmin = false;\r\n this._headerservice.getStoresProfile(this.userProfile.userPk, null, null).subscribe((res:any) => {\r\n this.storeInfo = res.data;\r\n });\r\n this.displayName = this.userProfile.locationType;\r\n this.displayNumber = this.userProfile.assignedLocations;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n getRoleTitleForReports(user_role: string) {\r\n var title = \"\";\r\n switch (user_role) {\r\n case \"Regional Healthcare Director\":\r\n case \"Regional Vice President\":\r\n title = \"Region \";\r\n break;\r\n case \"Healthcare Supervisor\":\r\n case \"Director - Rx and Retail Ops\":\r\n title = \"Area \";\r\n break;\r\n case \"Pod Healthcare Supervisor\":\r\n title = \"Pod \";\r\n break;\r\n case \"District Manager\":\r\n title = \"District \";\r\n break;\r\n default:\r\n title = \"\";\r\n break;\r\n }\r\n return title;\r\n }\r\n\r\n getTitleForDashboardReports(forCovid:boolean=true) {\r\n var title = \"\";\r\n let rpt_id: string = \"\";\r\n let report_type: string = \"\"\r\n if (sessionStorage[\"actionItemOrMetricId\"]) {\r\n let item_details = sessionStorage[\"actionItemOrMetricId\"].split(':');\r\n if (item_details.length > 0) {\r\n report_type = item_details[0];\r\n rpt_id = item_details[1];\r\n }\r\n }\r\n switch (rpt_id) {\r\n case \"1\":\r\n title = ((report_type == \"actionitem\") ? \"Corporate Clinics to be Reviewed/Assigned\" : \"Review Clinics Completed to Date\");\r\n break;\r\n case \"2\":\r\n title = \"Review Clinics Pending Signed Contract\";\r\n break;\r\n case \"3\":\r\n title = ((report_type == \"actionitem\") ? \"Local Leads to be Reviewed/Assigned\" : \"Review Contracts Drafted but Not Sent\");\r\n break;\r\n case \"4\":\r\n title = ((report_type == \"actionitem\") ? \"Corporate Clinics to be Confirmed\" : \"Review Clinics with Signed Contract to be Completed\");\r\n break;\r\n case \"5\":\r\n title=((report_type==\"actionitem\")?\"Corporate Clinics to be Completed\":\"Review Contracts with Requested Changes\");\r\n break;\r\n case \"6\":\r\n if(!forCovid){\r\n title = ((report_type == \"actionitem\") ? \"Clinics to be Reviewed/Assigned\" : \"Review LTCFs Not Contacted\");\r\n }\r\n else {\r\n title = ((report_type == \"actionitem\") ? \"COVID Clinics to be Reviewed/Assigned\" : \"Review LTCFs Not Contacted\");\r\n }\r\n \r\n break;\r\n case \"7\":\r\n if(!forCovid){\r\n title = ((report_type == \"actionitem\") ? \"Clinics to be Confirmed\" : \"Review Clinics Completed to Date\");\r\n }\r\n else {\r\n title = ((report_type == \"actionitem\") ? \"COVID Clinics to be Confirmed\" : \"Review COVID Clinics Completed to Date\");\r\n }\r\n break;\r\n case \"8\":\r\n if(!forCovid){\r\n title = ((report_type == \"actionitem\") ? \"Clinics to be Completed\" : \"Review Clinics Pending Signed Contract\");\r\n }\r\n else {\r\n title = ((report_type == \"actionitem\") ? \"COVID Clinics to be Completed\" : \"Review COVID Clinics Pending Signed Contract\");\r\n }\r\n break;\r\n case \"9\":\r\n if(report_type == \"actionitem\"){\r\n title = \"Previous Clients to be Contacted\";\r\n }\r\n else if(!forCovid){\r\n title = ((report_type == \"actionitem\") ? \"\" : \"Review Contracts Drafted but Not Sent\");\r\n }\r\n \r\n else {\r\n title = ((report_type == \"actionitem\") ? \"\" : \"Review COVID Contracts Drafted but Not Sent\");\r\n }\r\n break;\r\n case \"10\":\r\n if(!forCovid){\r\n title = ((report_type == \"actionitem\") ? \"\" : \"Review Clinics with Signed Contracts to be Completed\");\r\n }\r\n else {\r\n title = ((report_type == \"actionitem\") ? \"\" : \"Review COVID Clinics with Signed Contracts to be Completed\");\r\n }\r\n break;\r\n case \"11\":\r\n title = ((report_type == \"actionitem\") ? \"\" : \"Review COVID Contracts with Requested Changes\");\r\n break;\r\n case \"12\":\r\n title = ((report_type == \"actionitem\") ? \"\" : \"Review COVID LTCFs Not Contacted\");\r\n break;\r\n default:\r\n break;\r\n }\r\n return title.toUpperCase();\r\n }\r\n\r\n selectDropdownStore(selectedData: any) { \r\n this.onSelection = true;\r\n this.getStoreAddress(this.userProfile.userPk, null, selectedData);\r\n }\r\n navigateToLink(link_info: any,title:any) {\r\n \r\n if (link_info.title == \"Immunization Program\" || title == \"Immunization Program\") {\r\n this.alertService.sendWarningAlert(true, false, false);\r\n }\r\n else if (link_info.title == \"Senior Outreach\" || title == \"Senior Outreach\") {\r\n this.alertService.sendWarningAlert(false, true, false);\r\n }\r\n else if (link_info.title == \"Patient Care & Advocacy\" || title == \"Patient Care & Advocacy\") {\r\n this.alertService.sendWarningAlert(false, false, true);\r\n } \r\n else if (link_info.title == \"Store\") {\r\n if (sessionStorage.is_pca == \"false\" && sessionStorage.is_sr == \"false\") {\r\n this.isIP = true; \r\n this.isSR = false; \r\n this.isPCA = false;\r\n SessionDetails.setIsPCA(false); \r\n SessionDetails.setIsSR(false);\r\n } else if (sessionStorage.is_pca == \"true\" && sessionStorage.is_sr == \"false\") {\r\n this.isPCA = true; \r\n this.isSR = false; \r\n this.isIP = false;\r\n SessionDetails.setIsPCA(true);\r\n SessionDetails.setIsSR(false);\r\n } else if (sessionStorage.is_pca == \"false\" && sessionStorage.is_sr == \"true\") {\r\n this.isPCA = false; \r\n //this.isSR = true; \r\n this.isIP = false;\r\n SessionDetails.setIsPCA(false); SessionDetails.setIsSR(true);\r\n }\r\n }\r\n \r\n \r\n\r\n this.message_service.setNavigationClicked(false);\r\n if (link_info.url) {\r\n this.router.navigate([link_info.url]);\r\n }\r\n else {\r\n this.router.navigate([null]);\r\n }\r\n }\r\n public loadScript() {\r\n var isFound = false;\r\n var scripts = document.getElementsByTagName(\"script\")\r\n for (var i = 0; i < scripts.length; ++i) {\r\n if (scripts[i].getAttribute('src') != null && scripts[i].getAttribute('src').includes(\"loader\")) {\r\n isFound = true;\r\n }\r\n }\r\n\r\n if (!isFound) {\r\n var dynamicScripts = [\"../../../../../assets/js/scripts.js\"];\r\n\r\n for (var i = 0; i < dynamicScripts.length; i++) {\r\n let node = document.createElement('script');\r\n node.src = dynamicScripts[i];\r\n node.type = 'text/javascript';\r\n node.async = false;\r\n node.charset = 'utf-8';\r\n document.getElementsByTagName('head')[0].appendChild(node);\r\n }\r\n }\r\n }\r\n}\r\n\r\n","import { Component, Input, Output, EventEmitter, OnChanges, SimpleChange } from '@angular/core';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { HintMessage } from '../../../../JSON/hintMessages';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { SafehtmlPipe } from '../../services/safehtml.pipe';\r\n\r\n@Component({\r\n selector: 'hintscomponent',\r\n templateUrl: './popuphints.component.html',\r\n styleUrls: ['../footer/footer.component.css']\r\n})\r\nexport class HintsPopupComponent implements OnChanges {\r\n //title = 'I\\'m a nested component'; \r\n private userProfile = SessionDetails.GetUserProfile();\r\n dispChild: boolean = false;\r\n hintMessages: string[];\r\n @Input() isDashboard: boolean = false;\r\n @Input() dispHintDialog: boolean = true;\r\n @Input() stepNumber: number;\r\n @Output() turnOffHintsChange = new EventEmitter();\r\n @Input() title: string = \"\";\r\n currentHintNumber: number = 0;\r\n backButton: boolean = true;\r\n nextButton: boolean = true;\r\n closeButton: boolean = false;\r\n hintHdng: string = \"\";\r\n hintMsg: string = \"\";\r\n turnOnOffHints: boolean = false;\r\n private hintsType:string=\"\";\r\n\r\n constructor(\r\n private message_service: MessageServiceService, \r\n safehtmlPipe: SafehtmlPipe\r\n ) {\r\n //this.hintMessages = HintMessage[this.title][\"admin\"];\r\n this.message_service.getShowTabbedHints().subscribe(message => {\r\n this.currentHintNumber = 0;\r\n if ((this.hintMessages && this.hintMessages.length > 1) && !this.stepNumber && this.currentHintNumber === 0) {\r\n this.backButton = false;\r\n this.nextButton = true;\r\n this.closeButton = false;\r\n } \r\n this.loadCurrentHints(); \r\n this.dispHintDialog = message; \r\n });\r\n this.message_service.getHintsType().subscribe(message =>{\r\n if(this.hintsType!=message){ \r\n this.hintsType = message;\r\n this.hintMessages = [];\r\n this.loadHintsOnTypeChange();\r\n }else{\r\n this.hintsType = message;\r\n }\r\n });\r\n this.message_service.getTurnOnOffLocalHintsFromFooter().subscribe(message => {\r\n if (message.text) {\r\n localStorage.removeItem(\"hintsOff\");\r\n sessionStorage.removeItem(\"hintsOff\");\r\n this.turnOnOffHints = false;\r\n this.currentHintNumber = 0;\r\n if ((this.hintMessages && this.hintMessages.length > 1) && !this.stepNumber && this.currentHintNumber == 0) {\r\n this.backButton = false;\r\n this.nextButton = true;\r\n this.closeButton = false;\r\n }\r\n this.loadCurrentHints();\r\n } else {\r\n sessionStorage.setItem(\"hintsOff\", \"yes\");\r\n this.currentHintNumber = 0;\r\n } \r\n this.dispHintDialog = message.text;\r\n });\r\n\r\n this.message_service.getShowHintsOnButtonClick().subscribe(message =>{\r\n if(message){\r\n localStorage.removeItem(\"hintsOff\");\r\n sessionStorage.removeItem(\"hintsOff\");\r\n this.message_service.setTurnOnOffLocalHintsFromFooter(true);\r\n if(!this.userProfile){\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n }\r\n var role = this.userProfile.userRole;\r\n if(window.location.href.indexOf('storehome')>-1){\r\n this.title = 'storehome';\r\n }\r\n let hints_key = this.hintsType + this.title;\r\n for (let hints in HintMessage[hints_key]) {\r\n if (hints.toLowerCase().indexOf(role.toLowerCase()) > -1) {\r\n this.hintMessages = HintMessage[hints_key][hints];\r\n break;\r\n }\r\n }\r\n this.turnOnOffHints = false;\r\n this.currentHintNumber = 0;\r\n if (this.currentHintNumber == 0) {\r\n this.backButton = false;\r\n this.nextButton = true;\r\n this.closeButton = false;\r\n }\r\n this.loadCurrentHints();\r\n this.dispHintDialog = message;\r\n }\r\n });\r\n }\r\n\r\n turnOffHints(event: any) {\r\n let ele = event.target || event.targetElement || event.currentTarget;\r\n this.dispHintDialog = false;\r\n this.turnOffHintsChange.emit(!ele.checked);\r\n //this.message_service.setTurnOnOffLocalHintsFromComponent(!event.path[0].checked);\r\n this.message_service.setTurnOnOffLocalHintsFromComponent(!ele.checked);\r\n localStorage.setItem(\"hintsOff\", \"yes\");\r\n }\r\n\r\n public showMsg() {\r\n this.dispHintDialog = true;\r\n //alert('This is child component');\r\n }\r\n \r\n ngOnChanges(changes: { [propKey: string]: SimpleChange }) {\r\n if (changes[\"title\"]) {\r\n this.title = changes[\"title\"].currentValue;\r\n this.loadHintsOnTypeChange();\r\n if (this.hintMessages && this.hintMessages.length > 0) {\r\n if (this.currentHintNumber == 0) {\r\n this.backButton = false;\r\n }\r\n }\r\n if (this.hintMessages && this.hintMessages.length === 1) {\r\n this.backButton = false;\r\n this.nextButton = false;\r\n }\r\n if (!changes[\"title\"]) {\r\n this.loadCurrentHints();\r\n }\r\n if(changes[\"dispHintDialog\"]){\r\n this.loadCurrentHints();\r\n this.dispHintDialog = changes[\"dispHintDialog\"].currentValue;\r\n }\r\n }\r\n if (changes[\"stepNumber\"]) {\r\n this.backButton = false;\r\n this.nextButton = false;\r\n this.closeButton = false;\r\n this.stepNumber = changes[\"stepNumber\"].currentValue;\r\n if (!changes[\"title\"]) {\r\n this.loadCurrentHints();\r\n this.dispHintDialog = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) === 'yes') ? false : true;\r\n }\r\n }\r\n }\r\n loadHintsOnTypeChange(){\r\n if(!this.userProfile){\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n }\r\n\r\n if(!this.userProfile){\r\n this.userProfile = JSON.parse(SessionDetails.getD(SessionDetails.absJ,sessionStorage[\"cI\"]));\r\n this.userProfile.userRole = this.userProfile.role;\r\n }\r\n var role = this.userProfile.userRole.toLowerCase(); \r\n if(window.location.href.indexOf('storehome')>-1 || window.location.href.indexOf('pcahome')>-1){\r\n this.title = 'storehome';\r\n } \r\n let hints_key = this.hintsType + this.title;\r\n for (let hints in HintMessage[hints_key]) {\r\n if (hints.toLowerCase().indexOf(role.toLowerCase()) > -1) {\r\n this.hintMessages = HintMessage[hints_key][hints];\r\n break;\r\n }\r\n }\r\n if (!this.hintMessages || this.hintMessages.length == 0) {\r\n for (let hints in HintMessage[hints_key]) {\r\n if (hints.toLowerCase().indexOf(\"admin\") > -1) {\r\n this.hintMessages = HintMessage[hints_key][hints];\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n loadCurrentHints() {\r\n if (this.stepNumber) {\r\n this.hintHdng = this.hintMessages[this.stepNumber - 1][\"hintHdng\"];\r\n this.hintMsg = this.hintMessages[this.stepNumber - 1][\"hintMsg\"];\r\n }\r\n else {\r\n this.hintHdng = this.hintMessages[this.currentHintNumber][\"hintHdng\"];\r\n this.hintMsg = this.hintMessages[this.currentHintNumber][\"hintMsg\"];\r\n }\r\n }\r\n loadStepWiseHints() {\r\n this.hintHdng = this.hintMessages[this.stepNumber][\"hintHdng\"];\r\n this.hintMsg = this.hintMessages[this.stepNumber][\"hintMsg\"];\r\n }\r\n next(step: number) {\r\n this.backButton = true;\r\n this.closeButton = false;\r\n this.currentHintNumber = this.currentHintNumber + step;\r\n if (this.hintMessages.length - 1 == this.currentHintNumber) {\r\n this.nextButton = false;\r\n this.closeButton = true;\r\n }\r\n this.loadCurrentHints()\r\n //this.hintHdng = this.hintMessages[this.currentHintNumber][\"hintHdng\"];\r\n //this.hintMsg = this.hintMessages[this.currentHintNumber][\"hintMsg\"];\r\n }\r\n\r\n back(step: number) {\r\n this.currentHintNumber = this.currentHintNumber - step;\r\n this.nextButton = true;\r\n this.closeButton = false;\r\n if (this.currentHintNumber == 0) {\r\n this.backButton = false;\r\n //this.closeButton=true;\r\n }\r\n this.loadCurrentHints();\r\n //this.hintHdng = this.hintMessages[this.currentHintNumber][\"hintHdng\"];\r\n //this.hintMsg = this.hintMessages[this.currentHintNumber][\"hintMsg\"];\r\n }\r\n close() {\r\n this.dispHintDialog = false;\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { PotentialClientInterestService } from '../../services/potential-client-interest.service';\r\n\r\n@Component({\r\n selector: 'app-previous-client-interest',\r\n templateUrl: './previous-client-interest.component.html',\r\n styleUrls: ['./previous-client-interest.component.css']\r\n})\r\nexport class PreviousClientInterestComponent implements OnInit {\r\n potentialInterestBusinessPk: any;\r\n potentialInterestEmail: any;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n success_message: boolean;\r\n potentialInterestAlreadyExists: boolean = false;\r\n showErrorMessageHtml: boolean = false;\r\n\r\n constructor(private spinner: NgxSpinnerService, private _apiservice: PotentialClientInterestService) { }\r\n\r\n ngOnInit(): void {\r\n this.spinner.hide();\r\n this.sendEmail();\r\n }\r\n\r\n\r\n sendEmail() {\r\n this.potentialInterestBusinessPk = sessionStorage[\"potentialInterestBusinessPk\"];\r\n this.potentialInterestEmail = sessionStorage[\"potentialInterestEmail\"];\r\n this.spinner.show();\r\n if (this.potentialInterestBusinessPk && this.potentialInterestEmail) {\r\n this._apiservice.SendPotentialClientInterestEmail(this.potentialInterestBusinessPk, this.potentialInterestEmail).subscribe((data: any) => {\r\n \r\n this.spinner.hide();\r\n if(data == 'exists')\r\n {\r\n this.potentialInterestAlreadyExists = true;\r\n }\r\n sessionStorage.clear(); \r\n switch (data.errorS.errorCode) {\r\n case '0':\r\n case 0:\r\n this.showDialogForMail(ErrorMessages['contract'], ErrorMessages['contractEmailSent'], true);\r\n break;\r\n case -4:\r\n case '-4':\r\n this.showDialogForMail(ErrorMessages['contractAlert'], data.errorS.errorMessage, false);\r\n break;\r\n default:\r\n this.showDialogForMail(ErrorMessages['contract'], data.errorS.errorMessage, false);\r\n break;\r\n }\r\n\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.showErrorMessageHtml = true;\r\n sessionStorage.clear(); \r\n switch (err) {\r\n case 500:\r\n this.showDialogForMail(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n case 400:\r\n this.showDialogForMail(ErrorMessages['clientError'], err.json().Message, false);\r\n break;\r\n default:\r\n this.showDialogForMail(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n\r\n\r\n showDialogForMail(msgSummary: string, msgDetail: string, success_message: boolean) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n this.success_message = success_message;\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { FieldErrorDisplayComponent } from './field-error-display/field-error-display.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { FilterPipe } from '../../store/pipes/filter-pipe';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AlertComponent } from '../../../alert/alert.component';\r\nimport { MessageServiceService } from '../../store/services/message-service.service';\r\nimport { AlertService } from '../../../alert.service';\r\nimport { StoreProfile } from '../../../models/storeProfile';\r\nimport { HeaderserviceService } from '../services/headerservice.service';\r\nimport { MasterlayoutComponent } from './masterlayout/masterlayout.component';\r\nimport { StoreOpportunityComponent } from './store-opportunity/store-opportunity.component';\r\nimport { LocationNumberPipe } from '../../contractaggreement/pipes/location-number.pipe';\r\nimport { TimeToDatePipe } from '../../contractaggreement/pipes/time-to-date.pipe';\r\nimport { HintsPopupComponent } from './popupHints/popuphints.component';\r\nimport { OnlyNumberirectiveDirective } from '../../../utility/only-numberirective.directive';\r\nimport { NumberhyphonparenthesisDirective } from '../../../utility/numberhyphonparenthesis.directive';\r\nimport { SafehtmlPipe } from '../services/safehtml.pipe';\r\nimport { CSTDateConvertPipe } from '../../store/pipes/cstDateConvert';\r\nimport { PhoneFormatPipe } from '../../../utility/phone-format.pipe';\r\nimport { ReplaceTextPipe } from '../../../utility/replace-text.pipe';\r\nimport { InvalidContractComponent } from './invalid-contract/invalid-contract.component';\r\nimport { CovidContactUsComponent } from './covid-contact-us/covid-contact-us.component';\r\nimport { RecaptchaModule } from 'ng-recaptcha';\r\nimport { NgxSpinnerModule } from \"ngx-spinner\";\r\nimport { TableModule } from 'primeng/table';\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { InputMaskModule } from 'primeng/inputmask';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { LtcfContactUsComponent } from './ltcf-contact-us/ltcf-contact-us.component';\r\nimport { LtcfContactUsLocationsComponent } from './ltcf-contact-us-locations/ltcf-contact-us-locations.component';\r\nimport { ImmzContactUsComponent } from './immz-contact-us/immz-contact-us.component';\r\nimport { PreviousClientInterestComponent } from './previous-client-interest/previous-client-interest.component';\r\nimport { StoreRespondsYesOrNoComponent } from './store-responds-yes-or-no/store-responds-yes-or-no.component';\r\nimport { ClickOutsideDirective } from '../../../utility/click-outside.directive';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n AccordionModule,\r\n CalendarModule,\r\n DialogModule,\r\n RouterModule,\r\n InputSwitchModule,\r\n NgbModule,\r\n ConfirmDialogModule,\r\n InputMaskModule,\r\n NgxSpinnerModule,\r\n RecaptchaModule,\r\n TableModule,\r\n CheckboxModule\r\n ],\r\n declarations: [\r\n FieldErrorDisplayComponent,\r\n FooterComponent,\r\n OnlyNumberirectiveDirective,\r\n MasterlayoutComponent,\r\n AlertComponent,\r\n FilterPipe,\r\n SafehtmlPipe,\r\n LocationNumberPipe,\r\n TimeToDatePipe,\r\n MasterlayoutComponent,\r\n StoreOpportunityComponent,\r\n HintsPopupComponent,\r\n NumberhyphonparenthesisDirective,\r\n CSTDateConvertPipe,\r\n PhoneFormatPipe,\r\n ReplaceTextPipe,\r\n InvalidContractComponent,\r\n CovidContactUsComponent,\r\n LtcfContactUsComponent,\r\n ImmzContactUsComponent,\r\n PreviousClientInterestComponent,\r\n StoreRespondsYesOrNoComponent,\r\n ClickOutsideDirective,\r\n LtcfContactUsLocationsComponent\r\n ],\r\n providers: [\r\n HeaderserviceService,\r\n MessageServiceService,\r\n AlertService,\r\n StoreProfile,\r\n SafehtmlPipe,\r\n CSTDateConvertPipe,\r\n PhoneFormatPipe\r\n ],\r\n exports: [\r\n FieldErrorDisplayComponent,\r\n FooterComponent,\r\n LocationNumberPipe,\r\n TimeToDatePipe,\r\n HintsPopupComponent,\r\n OnlyNumberirectiveDirective,\r\n NumberhyphonparenthesisDirective,\r\n SafehtmlPipe,\r\n CSTDateConvertPipe,\r\n PhoneFormatPipe,\r\n NgxSpinnerModule,\r\n ReplaceTextPipe,\r\n ClickOutsideDirective\r\n ]\r\n})\r\nexport class ReusableModule { }\r\n","\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { Component, OnInit, Inject, PLATFORM_ID, APP_ID, ChangeDetectorRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Subscription, Subject, forkJoin } from 'rxjs';\r\nimport { OpportunitiesService } from '../../../store/services/opportunities.service';\r\nimport { FilterPipe } from '../../../store/pipes/filter-pipe';\r\nimport { AppCommonSession } from '../../app-common-session';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { HeaderDetails } from '../../../../JSON/HeaderDetails';\r\nimport { ActionType, ProgramType } from '../../../../utility/enum';\r\nimport { Opportunities } from '../../../../models/opportunities';\r\nimport { Util } from '../../../../utility/util';\r\nimport { ScheduleeventService } from '../../../store/services/scheduleevent.service';\r\nimport { FollowUp } from '../../../../models/FollowUp';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { HeaderserviceService } from '../../services/headerservice.service';\r\nimport { TimeToDatePipe } from '../../../contractaggreement/pipes/time-to-date.pipe';\r\nimport { DatePipe, isPlatformBrowser } from '@angular/common';\r\nimport { AlertService } from '../../../../alert.service';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { RestrictedStatesAllowedUsers } from '../../../../config-files/config-settings';\r\nimport { SelectType } from '../../../../models/OutreachOpportunity';\r\nimport { LookupService } from '../../../../lookup.service';\r\nimport { noClientInterestOptions } from '../../../../JSON/NoClientInterestOptions';\r\n\r\n@Component({\r\n selector: 'app-store-opportunity',\r\n templateUrl: './store-opportunity.component.html',\r\n styleUrls: ['./store-opportunity.component.css'],\r\n providers: [OpportunitiesService, FilterPipe, TimeToDatePipe, DatePipe]\r\n})\r\nexport class StoreOpportunityComponent implements OnInit {\r\n private subject: Subject = new Subject();\r\n showHints: boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) === 'yes') ? false : true;\r\n turnOffHintss: boolean = false;\r\n pageName: string = \"storehome\";\r\n opportunitiesDataList: any[] = [];\r\n opportunitiesFullDataList: any[] = [];\r\n opportunities: any[] = [];\r\n scheduleClinics: any[] = [];\r\n upcomingEvents: any[] = [];\r\n pastEvents: any[] = [];\r\n storeStatus: any[] = [];\r\n dispBlockVrbl: boolean = false;\r\n cssColor: string;\r\n clickType: string;\r\n bsClasses: string;\r\n display: boolean = false;\r\n dispSchedulerMenu: boolean = false;\r\n displayInfoDlg: boolean = false;\r\n displayInfoDlgUpcomingEvents: boolean = false;\r\n displaySE: boolean = false;\r\n dncClients: any[] = [];\r\n dncTempClients: any[] = [];\r\n moment: any;\r\n dispDNCsearch: boolean = false;\r\n col6Cls: boolean = false;\r\n dialogMsg: string;\r\n getData: any;\r\n sortBy: string;\r\n opportunitiesData: any;\r\n searchText: any;\r\n dialogOptConLog: boolean = false;\r\n outreachStatus: any[] = [];\r\n outreachStatusData: any;\r\n businessContacted: any;\r\n defaultDate: Date = new Date();\r\n maxDateValue: Date = new Date();\r\n minDateValue: Date = new Date('Mon May 01 2017 00:00:00');\r\n outreachstatus: any;\r\n errorMessage: any;\r\n firstName: string;\r\n lastName: string;\r\n feedback: any = '';\r\n logcontact: FormGroup;\r\n message: any;\r\n selectedCountry: string;\r\n outreachType: any;\r\n outreachTypeData: any;\r\n outreachStatusInfo: any;\r\n outreachStatusValue: any = \"\";\r\n opportunities1: any[] = [];\r\n firstDate: Date\r\n secondDate: Date;\r\n outreachStartDateIP: string = \"05/01/2016\";\r\n message1: any;\r\n storePharUser: boolean = false;\r\n subscription: Subscription;\r\n businessName: string;\r\n jobTitle: boolean = false;\r\n storeProfile: any;\r\n displayMessage: boolean = false;\r\n dispContractInitiated: boolean = false;\r\n eventDetails: any;\r\n contractInitiated: boolean = false;\r\n editBuisnessData: any;\r\n contractFollowup: boolean = false;\r\n selectedDNCData: any[] = [];\r\n selectedDataList: any[] = [];\r\n displayDNC: boolean = false;\r\n defaultValue: string;\r\n opportunityForm: FormGroup;\r\n storeID: any;\r\n status: boolean = true;\r\n goTo: string = '';\r\n stateSpecific: string;\r\n stateSpecificDisplay: boolean = false;\r\n userProfile: any;\r\n DNCError: boolean = false;\r\n CIError: boolean = false;\r\n disable_button: boolean = false;\r\n showCorporateMenu: boolean = false;\r\n targetObj: any;\r\n storehome: boolean = false;\r\n pcahome: boolean = false;\r\n srhome: boolean = false;\r\n COVIDHome: boolean = false;\r\n title: string = '';\r\n display1: boolean = false;\r\n pcaDisplay: boolean = false;\r\n appOpp: boolean = false;\r\n assignedBusinessTitle: any = 'Outreach Opportunities';\r\n sortByKey = SessionDetails.GetStoreOppSortByDefaultVal();\r\n dialogPCAContactLog: boolean = false;\r\n eventListData: any[] = [];\r\n dialogOptConLogforPCA: boolean = false;\r\n displayMessageForPCA: boolean = false;\r\n firstdispHintDialog: boolean = false;\r\n ASOIntiaited: boolean = false;\r\n GovIntiaited: boolean = false;\r\n opoIntiaited: boolean = false;\r\n cssIntiaited: boolean = false;\r\n pendingRHDApproved: boolean = false;\r\n errorPopUp: boolean = false;\r\n edit_profile_text: any = 'Opportunity Profile';\r\n dncFilter: string = null;\r\n restrictedStatesOverride: boolean = false;\r\n attentionAlert: boolean = true;\r\n NCIOptions:string[] = [];\r\n showNCIOptions: boolean = false;\r\n showFeedbackNotes: boolean = true;\r\n isAdmin: boolean = false;\r\n businessType: number;\r\n industries: SelectType[];\r\n canDisplayOutreachStatus: boolean = false;\r\n\r\n\r\n constructor(\r\n private _sortByPipe: FilterPipe, \r\n private formBuilder: FormBuilder, \r\n private _opportunityService: OpportunitiesService, \r\n private router: Router,\r\n private commonsession: AppCommonSession, \r\n private message_service: MessageServiceService, \r\n private schedule_event_service: ScheduleeventService, \r\n private spinner: NgxSpinnerService, \r\n private opportunitie: Opportunities,\r\n private _fb: FormBuilder, \r\n private _datePipe: DatePipe, \r\n private utility: Util,\r\n private _headerservice: HeaderserviceService, \r\n private _timeToDatePipe: TimeToDatePipe,\r\n private _alertService: AlertService, \r\n private titleService: Title, \r\n @Inject(PLATFORM_ID) private platformId: Object, \r\n @Inject(APP_ID) private appId: string,\r\n private _lookupService: LookupService,\r\n private _ref: ChangeDetectorRef\r\n ) {\r\n if (this.showHints) {\r\n this.showHints = false;\r\n this.firstdispHintDialog = true;\r\n }\r\n\r\n this.message_service.getShowHintsOnToggleChange().subscribe(message => {\r\n this.showHints = false;\r\n this.turnOffHintss = false;\r\n this.firstdispHintDialog = true;\r\n });\r\n \r\n this.scrollToTop();\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n SessionDetails.EventDetails(\"\");\r\n SessionDetails.opportunitiesData(\"\");\r\n SessionDetails.SetLogContact(\"\");\r\n SessionDetails.SetBusinessType(\"\");\r\n SessionDetails.SetPageName(\"\");\r\n SessionDetails.SetAgreementPK(0);\r\n SessionDetails.SetFollowUp(false);\r\n SessionDetails.fromLocalclinics(false);\r\n SessionDetails.fromUserPage(false);\r\n\r\n if (this.sortBy == '4' || this.sortBy == '6' || SessionDetails.GetStoreOppSortByDefaultVal() == 5 || SessionDetails.GetStoreOppSortByDefaultVal() == 6) {\r\n this.attentionAlert = false;\r\n }\r\n //this.showCorporateMenu = false;//[41, 18823].indexOf(this.userProfile.userPk) > -1;\r\n\r\n //this.user_info = this.commonsession.login_info;\r\n this.status = true;\r\n this.subscription = this.message_service.getStoreID().subscribe(message => {\r\n this.message = message;\r\n this.storeID = this.message.text;\r\n if (this.storeID != \"\") {\r\n this.searchText = \"\";\r\n this.spinner.show();\r\n this.getAssignedBusiness(this.storeID);\r\n this.message.status = false;\r\n\r\n setTimeout(() => {\r\n this.selectName(this.opportunityForm.value.defaultSortBY);\r\n this.spinner.hide();\r\n //console.log(\"timeout complete #382\");\r\n }, 5000);\r\n }\r\n });\r\n\r\n this.title = this.getTitle(this.router.routerState, this.router.routerState.root).join();\r\n this.titleService.setTitle(this.title);\r\n\r\n if (this.title == \"storehome\") {\r\n this.storehome = true;\r\n this.attentionAlert = true;\r\n this.COVIDHome = true;\r\n }\r\n\r\n if (this.title == \"pcahome\") {\r\n SessionDetails.setIsPCA(true);\r\n this.pcahome = true;\r\n this.attentionAlert = false;\r\n }\r\n\r\n if (this.title == \"srhome\") {\r\n SessionDetails.setIsSR(true);\r\n this.srhome = true;\r\n this.storehome = true;\r\n this.attentionAlert = false;\r\n }\r\n\r\n if (this.title == \"covidhome\") {\r\n SessionDetails.setIsCOVID(true);\r\n this.COVIDHome = true;\r\n this.storehome = true;\r\n this.attentionAlert = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.spinner.show();\r\n let isProcessValue = sessionStorage[\"NewLogEntry\"];\r\n let outreachBbusinesssPKforUpdate =sessionStorage[\"outreachBusinessPkForLog\"];\r\n\r\n if(isProcessValue == 1)\r\n {\r\n this.schedule_event_service.updateStatusEvents(outreachBbusinesssPKforUpdate)\r\n .subscribe((data: any) => {\r\n if (data.errorS == null) {\r\n sessionStorage[\"NewLogEntry\"] = 0;\r\n }\r\n },\r\n err => {\r\n this.disable_button = false;\r\n }\r\n );\r\n }\r\n\r\n this.NCIOptions = noClientInterestOptions;\r\n this.subject.pipe(debounceTime(1000))\r\n .subscribe(searchTextValue => {\r\n this.handleSearch(searchTextValue);\r\n });\r\n\r\n if (sessionStorage[\"AmendAgreement\"] != null){\r\n sessionStorage.removeItem(\"AmendAgreement\");\r\n }\r\n \r\n if (sessionStorage[\"AmendAgreementForCommOutreach\"] != null){\r\n sessionStorage.removeItem(\"AmendAgreementForCommOutreach\");\r\n } \r\n\r\n if (sessionStorage[\"IsEquityAmendAgreement\"] != null){\r\n sessionStorage.removeItem(\"IsEquityAmendAgreement\");\r\n }\r\n\r\n if (sessionStorage[\"IsCommunityOutreachAmendAgreement\"] != null){\r\n sessionStorage.removeItem(\"IsCommunityOutreachAmendAgreement\");\r\n }\r\n\r\n if (sessionStorage[\"NewAmendAgreement\"] != null){\r\n sessionStorage.removeItem(\"NewAmendAgreement\");\r\n }\r\n\r\n if (sessionStorage[\"OldImmunizations\"] != null){\r\n sessionStorage.removeItem(\"OldImmunizations\");\r\n }\r\n\r\n if (sessionStorage[\"clinicList\"] != null){\r\n sessionStorage.removeItem(\"clinicList\");\r\n }\r\n\r\n if (sessionStorage[\"isStoreBusinessClinicAdded\"] != null){\r\n sessionStorage.removeItem(\"isStoreBusinessClinicAdded\");\r\n }\r\n\r\n if (SessionDetails.getIsPCA()) {\r\n this.pcahome = true;\r\n this.storehome = false;\r\n this.srhome = false;\r\n this.assignedBusinessTitle = 'PCA Organizations';\r\n }\r\n else if (SessionDetails.getIsSR()) {\r\n this.pcahome = false;\r\n this.storehome = true;\r\n this.srhome = true;\r\n }\r\n let sortBy = SessionDetails.GetStoreOppSortByDefaultVal();\r\n this.opportunityForm = this.formBuilder.group({\r\n //defaultSortBY: [\"8\", Validators.required]//this.pcahome == true ? \"6\" : (this.srhome==true?\"5\" : \"8\")\r\n defaultSortBY: this.pcahome == true ? \"6\" : (this.srhome == true ? \"5\" : sortBy == \"0\" ? 7 : sortBy)\r\n });\r\n var date = new Date();\r\n var test = date.getTime();\r\n this.searchText = \"\"\r\n this.logcontact = this._fb.group({\r\n select_outreach: this._fb.control('', Validators.required),\r\n businessName: this._fb.control('', Validators.required),\r\n firstName: this._fb.control('', Validators.required),\r\n lastName: this._fb.control('', Validators.required),\r\n jobTitle: this._fb.control('', Validators.required),\r\n defaultDate: this._fb.control('', Validators.required),\r\n outreachstatus: this._fb.control('', Validators.required),\r\n feedback: this._fb.control('', Validators.required),\r\n Disposition: this._fb.control('', null),\r\n industry: this._fb.control('', null),\r\n other: this._fb.control('', null)\r\n });\r\n this.outreachstatus = 0;\r\n //this.user_info = this.commonsession.login_info;\r\n this.getData = environment;\r\n this.storeProfile = SessionDetails.GetStoreId();\r\n this.stateSpecific = SessionDetails.GetState();\r\n // if (this.storeProfile != null)\r\n var userProfile = SessionDetails.GetUserProfile();\r\n if (userProfile.userRole.toLowerCase() == \"pharmacy manager\" || userProfile.userRole.toLowerCase() == \"store manager\" || userProfile.userRole.toLowerCase() == \"admin\") {\r\n this.storePharUser = true;\r\n }\r\n\r\n for (let i = 0; i < this.storeStatus.length; i++) {\r\n if (this.storeStatus.length >= 5 && this.storeStatus[i].statusCountByStore > 0 && this.storeStatus.length >= 5 && this.storeStatus[i].statusCountByUser > 0) {\r\n this.col6Cls = true;\r\n }\r\n }\r\n //Pending from getcontractagreement service\r\n if (this.storeProfile == null) {\r\n this._headerservice.getStoresProfile(userProfile.userPk, null, null).subscribe((res: any) => {\r\n if (res.errorS && res.errorS.errorCode === -1) {\r\n this.errorPopUp = true;\r\n this.dialogMsg = ErrorMessages['noStoreAssigned'];\r\n this.spinner.hide();\r\n }\r\n else {\r\n SessionDetails.setStoreProfileData(res.data);\r\n SessionDetails.StoreId(res.data[0].storeId);\r\n SessionDetails.StorePk(res.data[0].storePk);\r\n SessionDetails.setState(res.data[0].state);\r\n this.getAssignedBusiness(SessionDetails.GetStoreId());\r\n }\r\n });\r\n }\r\n else {\r\n this.getAssignedBusiness(this.storeProfile);\r\n }\r\n //this.getAssignedBusiness(this.storeProfile);\r\n this._alertService.clear();\r\n if (this.sortBy == '4' || this.sortBy == '6' || SessionDetails.GetStoreOppSortByDefaultVal() == 5 || SessionDetails.GetStoreOppSortByDefaultVal() == 6) {\r\n this.attentionAlert = false;\r\n }\r\n \r\n setTimeout(() => {\r\n this.selectName(this.opportunityForm.value.defaultSortBY);\r\n this.spinner.hide();\r\n }, 5000);\r\n this.isAdmin = [\"admin_communityupdate\", \"admin_samuel.nass\", \"admin_jerry.v.thomas\", \"admin_bryan.shrode\",\"admin_enterpriseimmunizationservice\",\"admin_eli.zaguri\",\"admin_tyrone.clark\",\"admin_roxanne.crowley\"].filter(item=>item==userProfile.userName.toLowerCase()).length>0;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n getNationalContractClients() {\r\n //console.log(String.Format(\"Started calling this._opportunityService.getNationalContractClients at {0}:{1}:{2}:{3}\", startTime.getHours(), startTime.getMinutes(), startTime.getSeconds(), startTime.getMilliseconds()));\r\n\r\n //Gets Do Not Call Clients\r\n this._opportunityService.getNationalContractClients().subscribe((res: any) => {\r\n //console.log(String.Format(\"Ending this._opportunityService.getNationalContractClients() at {0}:{1}:{2}:{3}\", endTime.getHours(), endTime.getMinutes(), endTime.getSeconds(), endTime.getMilliseconds()));\r\n this.dncClients = res\r\n this.dncTempClients = this.dncClients;\r\n });\r\n }\r\n getAssignedBusiness(store_id) {\r\n this.searchText = \"\";\r\n this.opportunitiesFullDataList = [];\r\n this.storeProfile = SessionDetails.GetStoreId();\r\n let sortBy = SessionDetails.GetStoreOppSortByDefaultVal();\r\n this.opportunityForm = this.formBuilder.group({\r\n //defaultSortBY: [ \"8\", Validators.required]//this.pcahome == true ? \"6\" : (this.srhome==true?\"5\" :\r\n defaultSortBY: this.pcahome == true ? \"6\" : (this.srhome == true ? \"5\" : sortBy == \"0\" ? 7 : sortBy)\r\n });\r\n \r\n this.opportunitiesDataList = [];\r\n this.scheduleClinics = [];\r\n this.upcomingEvents = [];\r\n this.pastEvents = [];\r\n this.eventListData = [];\r\n\r\n let startTime: Date = new Date();\r\n //console.log(`Started calling this._opportunityService.getOpportunities at ${startTime.getHours()}:${startTime.getMinutes()}:${startTime.getSeconds()}:${startTime.getMilliseconds()}`);\r\n this._opportunityService.getOpportunities(store_id, this.userProfile.userPk, this.userProfile.userRole)\r\n .subscribe(\r\n (opportunities: any) => {\r\n let endTime: Date = new Date();\r\n //console.log(`Ending this._opportunityService.getOpportunities at ${endTime.getHours()}:${endTime.getMinutes()}:${endTime.getSeconds()}:${endTime.getMilliseconds()}`);\r\n this.storeStatus = opportunities.workflowMonitorStatusList;\r\n if (this.storeStatus.length < 4) {\r\n let goal_count = HeaderDetails.to_goal;\r\n let completed_count = HeaderDetails.to_complete;\r\n this.storeStatus.push({ \"outreachStatusId\": 5, \"outreachStatus\": \"Schedule SR Events\", \"statusCountByStore\": (goal_count - completed_count), \"statusCountByDist\": null })\r\n }\r\n let upcoming_events;\r\n let past_events;\r\n let today = this._datePipe.transform(new Date(), 'MM/dd/yyyy');\r\n\r\n //Opportunities\r\n this.eventListData = opportunities.eventsList;\r\n // if (this.pcahome) {\r\n // this.scheduleClinics = opportunities.eventsList.filter(pk => pk.outreachPk == 4);\r\n // }\r\n // else {\r\n // this.scheduleClinics = opportunities.eventsList.filter(pk => pk.outreachPk != 4);\r\n // }\r\n this.scheduleClinics = opportunities.eventsList;\r\n\r\n //upcoming_events = this.scheduleClinics.filter(item => new Date(this._datePipe.transform(item.eventDate, 'MM/dd/yyyy')) >= new Date(today));\r\n upcoming_events = this.scheduleClinics.filter(function (item) {\r\n if (item.eventDate && item.eventDate != '0001-01-01T00:00:00' && item.isNoClinic != true) {\r\n var date_string = item.eventDate.substring(0, item.eventDate.indexOf('T'));\r\n date_string = date_string.split('-');\r\n date_string = date_string[1] + \"/\" + date_string[2] + \"/\" + date_string[0];\r\n var temp = new Date();\r\n if ((new Date(date_string)) >= (new Date((temp.getMonth() + 1) + \"/\" + temp.getDate() + \"/\" + temp.getFullYear()))) {\r\n return true;\r\n }\r\n }\r\n else if (item.isNoClinic == true && item.outreachStatusTitle == \"Contact Client\") {\r\n item.eventDate = null;\r\n return true;\r\n }\r\n });\r\n // if(this.userProfile.userRole !== \"Admin\"){\r\n // upcoming_events = upcoming_events.filter(item => item.covidOpportunityType !=1);\r\n // }\r\n //past_events = this.scheduleClinics.filter(item => new Date(this._datePipe.transform(item.eventDate, 'MM/dd/yyyy')) < new Date(today));\r\n past_events = this.scheduleClinics.filter(function (item) {\r\n if (item.eventDate && item.eventDate != '0001-01-01T00:00:00' && item.isNoClinic != true) {\r\n var date_string = item.eventDate.substring(0, item.eventDate.indexOf('T'));\r\n date_string = date_string.split('-');\r\n date_string = date_string[1] + \"/\" + date_string[2] + \"/\" + date_string[0];\r\n var temp = new Date();\r\n if ((new Date(date_string)) < (new Date((temp.getMonth() + 1) + \"/\" + temp.getDate() + \"/\" + temp.getFullYear()))) {\r\n return true;\r\n }\r\n }\r\n else if (item.isNoClinic == true && (item.outreachStatusTitle == \"Confirmed\" || item.outreachStatusTitle == \"Completed\" || item.outreachStatusTitle == \"Cancelled\")) {\r\n item.eventDate = null;\r\n return true;\r\n }\r\n else if (item.eventDate == null && upcoming_events.findIndex(f => f.clinicPk == item.clinicPk && f.contactLogPk == item.contactLogPk) < 0) {\r\n return true;\r\n }\r\n });\r\n // if(this.userProfile.userRole !== \"Admin\"){\r\n // past_events = past_events.filter(item => item.covidOpportunityType !=1);\r\n // }\r\n\r\n this.upcomingEvents = this._sortByPipe.sortByUpcoming(upcoming_events, \"eventDate\", \"eventDate\");\r\n this.pastEvents = this._sortByPipe.sortBy(past_events, \"eventDate\", \"eventDate\");\r\n\r\n this.pastEvents.forEach(item => {\r\n if (item.clinicType == \"HD\") {\r\n item[\"clinicTypeCode\"] = 10;\r\n }\r\n else if (item.clinicType == \"ASO\") {\r\n item[\"clinicTypeCode\"] = 8;\r\n }\r\n else if (item.clinicType == \"CBO\") {\r\n item[\"clinicTypeCode\"] = 9;\r\n }\r\n else if (item.clinicType == \"OPO\") {\r\n item[\"clinicTypeCode\"] = 11;\r\n }\r\n else if (item.clinicType == \"CSS\") {\r\n item[\"clinicTypeCode\"] = 12;\r\n }\r\n if (item.clinicType == 'Uploaded Local' || item.clinicType == 'Uploaded Charity' || item.clinicType == 'Corporate') {\r\n item.businessName = item.businessName.replace(/ - (\\d+)$/, ' - CLINIC $1');\r\n }\r\n item.clinicType = (item.clinicType == 'ASO' || item.clinicType == 'CBO'\r\n || item.clinicType == 'HD' || item.clinicType == 'OPO' || item.clinicType == 'CSS') ? \"Testing Event\" : item.clinicType;\r\n item.eventDate == '0001-01-01T00:00:00' || null ? null : item.eventDate;\r\n if (item.eventDate) {\r\n var date_string = item.eventDate.substring(0, item.eventDate.indexOf('T'));\r\n date_string = date_string.split('-');\r\n date_string = date_string[1] + \"/\" + date_string[2] + \"/\" + date_string[0];\r\n item.eventDate = date_string;\r\n }\r\n // if (item.visitType && item.visitType.length > 0) {\r\n // item.businessName = item.businessName + ', ' + item.visitType;\r\n // }\r\n });\r\n this.upcomingEvents.forEach(item => {\r\n if (item.clinicType == \"HD\") {\r\n item[\"clinicTypeCode\"] = 10;\r\n }\r\n else if (item.clinicType == \"ASO\") {\r\n item[\"clinicTypeCode\"] = 8;\r\n }\r\n else if (item.clinicType == \"CBO\") {\r\n item[\"clinicTypeCode\"] = 9;\r\n }\r\n else if (item.clinicType == \"OPO\") {\r\n item[\"clinicTypeCode\"] = 11;\r\n }\r\n else if (item.clinicType == \"CSS\") {\r\n item[\"clinicTypeCode\"] = 12;\r\n }\r\n if (item.clinicType == 'Uploaded Local' || item.clinicType == 'Uploaded Charity' || item.clinicType == 'Corporate') {\r\n item.businessName = item.businessName.replace(/ - (\\d+)$/, ' - CLINIC $1');\r\n }\r\n item.clinicType = (item.clinicType == 'ASO' || item.clinicType == 'CBO' || item.clinicType == 'HD') ? \"Testing Event\" : item.clinicType;\r\n item.clinicType = (item.clinicType == 'OPO') ? \"Registration Event\" : item.clinicType;\r\n item.clinicType = (item.clinicType == 'CSS') ? \"Screening Event\" : item.clinicType;\r\n item.eventDate == '0001-01-01T00:00:00' ? null : item.eventDate;\r\n if (item.eventDate) {\r\n var date_string = item.eventDate.substring(0, item.eventDate.indexOf('T'));\r\n date_string = date_string.split('-');\r\n date_string = date_string[1] + \"/\" + date_string[2] + \"/\" + date_string[0];\r\n item.eventDate = date_string;\r\n }\r\n // if (item.visitType && item.visitType.length > 0) {\r\n // item.businessName = item.businessName + ', ' + item.visitType;\r\n // }\r\n });\r\n this.defaultValue = \"1\";\r\n this.opportunities = this._sortByPipe.sortBy(opportunities.opportunityList, \"isPreviousClient\");\r\n\r\n let loopstartTime: Date = new Date();\r\n //console.log(`Started looping for UI binding at ${loopstartTime.getHours()}:${loopstartTime.getMinutes()}:${loopstartTime.getSeconds()}:${loopstartTime.getMilliseconds()}`);\r\n\r\n\r\n for (var i = 0; i < this.opportunities.length; i++) {\r\n var opportunitiesData = new Opportunities();\r\n opportunitiesData.businessPk = this.opportunities[i].businessPk;\r\n opportunitiesData.businessName = this.opportunities[i].businessName;\r\n opportunitiesData.phone = this.opportunities[i].phone;\r\n opportunitiesData.industry = this.opportunities[i].industry;\r\n opportunitiesData.others = this.opportunities[i].others;\r\n opportunitiesData.employmentSize = this.opportunities[i].employmentSize;\r\n opportunitiesData.isMilitaryOpportunity = this.opportunities[i].isMilitaryOpportunity;\r\n opportunitiesData.jobTitle = this.opportunities[i].jobTitle;\r\n opportunitiesData.firstName = this.opportunities[i].firstName;\r\n opportunitiesData.lastName = this.opportunities[i].lastName;\r\n opportunitiesData.isPreviousClient = this.opportunities[i].isPreviousClient;\r\n opportunitiesData.isInterestClickedInRetentionEmail = this.opportunities[i].isInterestClickedInRetentionEmail;\r\n opportunitiesData.isTopPriorityFromLead = this.opportunities[i].isTopPriorityFromLead;\r\n opportunitiesData.isHighPriority = this.opportunities[i].isHighPriority;\r\n opportunitiesData.isStandardized = this.opportunities[i].isStandardized;\r\n opportunitiesData.organizationType = this.opportunities[i].organizationType;\r\n opportunitiesData.isCovidOpportunity = this.opportunities[i].isCovidOpportunity;\r\n opportunitiesData.isFluOpportunity = this.opportunities[i].isFluOpportunity;\r\n opportunitiesData.isNoContractOpportunity = this.opportunities[i].isNoContractOpportunity;\r\n opportunitiesData.covidOpportunityType = this.opportunities[i].covidOpportunityType;\r\n opportunitiesData.fluOpportunityType = this.opportunities[i].fluOpportunityType;\r\n opportunitiesData.businessType = this.opportunities[i].businessType;\r\n if (this.opportunities[i].outreachEffortList.length >= 1) {\r\n if (this.opportunities[i].outreachEffortList[0].outreachProgram == \"SR\") {\r\n opportunitiesData.isPCA = false;\r\n opportunitiesData.outreachEffort.SR.outreachStatusTitle = this.opportunities[i].outreachEffortList[0].outreachStatusTitle;\r\n opportunitiesData.outreachEffort.SR.lastContact = this.opportunities[i].outreachEffortList[0].lastContact == '0001-01-01T00:00:00' ? null : this.opportunities[i].outreachEffortList[0].lastContact;\r\n opportunitiesData.outreachEffort.SR.outreachProgram = this.opportunities[i].outreachEffortList[0].outreachProgram;\r\n opportunitiesData.lastContact = this.opportunities[i].outreachEffortList[0].lastContact == '0001-01-01T00:00:00' ? null : this.opportunities[i].outreachEffortList[0].lastContact;//this.opportunities[i].outreachEffortList[0].lastContact;\r\n opportunitiesData.outreachEffort.SR.outreachStatus = this.opportunities[i].outreachEffortList[0].outreachStatus;\r\n opportunitiesData.outreachEffort.SR.isScheduledClinics = this.opportunities[i].outreachEffortList[0].isScheduledClinics;\r\n opportunitiesData.outreachEffort.SR.outreachBusinessPk = this.opportunities[i].outreachEffortList[0].outreachBusinessPk;\r\n opportunitiesData.outreachEffort.SR.contactLogPk = this.opportunities[i].outreachEffortList[0].contactLogPk;\r\n opportunitiesData.outreachEffort.SR.clinicAgreementPk = this.opportunities[i].outreachEffortList[0].clinicAgreementPk;\r\n // opportunitiesData.outreachEffort.SR.organizationType = null;\r\n }\r\n\r\n if (this.opportunities[i].outreachEffortList[0].outreachProgram == \"IP\") {\r\n opportunitiesData.isPCA = false;\r\n opportunitiesData.outreachEffort.IP.outreachStatusTitle = this.opportunities[i].outreachEffortList[0].outreachStatusTitle;\r\n opportunitiesData.outreachEffort.IP.lastContact = this.opportunities[i].outreachEffortList[0].lastContact == '0001-01-01T00:00:00' ? null : this.opportunities[i].outreachEffortList[0].lastContact;\r\n opportunitiesData.outreachEffort.IP.outreachProgram = this.opportunities[i].outreachEffortList[0].outreachProgram;\r\n opportunitiesData.lastContact = this.opportunities[i].outreachEffortList[0].lastContact == '0001-01-01T00:00:00' ? null : this.opportunities[i].outreachEffortList[0].lastContact;//this.opportunities[i].outreachEffortList[0].lastContact;\r\n opportunitiesData.outreachEffort.IP.outreachStatus = this.opportunities[i].outreachEffortList[0].outreachStatus;\r\n opportunitiesData.outreachEffort.IP.isScheduledClinics = this.opportunities[i].outreachEffortList[0].isScheduledClinics;\r\n opportunitiesData.outreachEffort.IP.outreachBusinessPk = this.opportunities[i].outreachEffortList[0].outreachBusinessPk;\r\n opportunitiesData.outreachEffort.IP.contactLogPk = this.opportunities[i].outreachEffortList[0].contactLogPk;\r\n opportunitiesData.outreachEffort.IP.clinicAgreementPk = this.opportunities[i].outreachEffortList[0].clinicAgreementPk;\r\n // opportunitiesData.outreachEffort.IP.organizationType = null;\r\n }\r\n\r\n\r\n if (this.opportunities[i].outreachEffortList[0].outreachProgram == \"PCA\") {\r\n opportunitiesData.isPCA = true;\r\n opportunitiesData.outreachEffort.PCA.outreachStatusTitle = this.opportunities[i].outreachEffortList[0].outreachStatusTitle;\r\n opportunitiesData.outreachEffort.PCA.lastContact = this.opportunities[i].outreachEffortList[0].lastContact == '0001-01-01T00:00:00' ? null : this.opportunities[i].outreachEffortList[0].lastContact;\r\n opportunitiesData.outreachEffort.PCA.outreachProgram = this.opportunities[i].outreachEffortList[0].outreachProgram;\r\n opportunitiesData.lastContact = this.opportunities[i].outreachEffortList[0].lastContact == '0001-01-01T00:00:00' ? null : this.opportunities[i].outreachEffortList[0].lastContact;//this.opportunities[i].outreachEffortList[0].lastContact;\r\n opportunitiesData.outreachEffort.PCA.outreachStatus = this.opportunities[i].outreachEffortList[0].outreachStatus;\r\n opportunitiesData.outreachEffort.PCA.isScheduledClinics = this.opportunities[i].outreachEffortList[0].isScheduledClinics;\r\n opportunitiesData.outreachEffort.PCA.outreachBusinessPk = this.opportunities[i].outreachEffortList[0].outreachBusinessPk;\r\n opportunitiesData.outreachEffort.PCA.contactLogPk = this.opportunities[i].outreachEffortList[0].contactLogPk;\r\n opportunitiesData.outreachEffort.PCA.clinicAgreementPk = this.opportunities[i].outreachEffortList[0].clinicAgreementPk;\r\n // opportunitiesData.outreachEffort.PCA.organizationType = 3;\r\n }\r\n }\r\n\r\n if (this.opportunities[i].outreachEffortList.length > 1) {\r\n if (this.opportunities[i].outreachEffortList[1].outreachProgram == \"IP\") {\r\n opportunitiesData.isPCA = false;\r\n opportunitiesData.outreachEffort.IP.outreachStatusTitle = this.opportunities[i].outreachEffortList[1].outreachStatusTitle;\r\n opportunitiesData.outreachEffort.IP.lastContact =\r\n this.opportunities[i].outreachEffortList[1].lastContact == '0001-01-01T00:00:00' ? null : this.opportunities[i].outreachEffortList[1].lastContact;//this.opportunities[i].outreachEffortList[1].lastContact;\r\n opportunitiesData.outreachEffort.IP.outreachProgram = this.opportunities[i].outreachEffortList[1].outreachProgram;\r\n opportunitiesData.outreachEffort.IP.outreachStatus = this.opportunities[i].outreachEffortList[1].outreachStatus;\r\n opportunitiesData.outreachEffort.IP.isScheduledClinics = this.opportunities[i].outreachEffortList[1].isScheduledClinics;\r\n opportunitiesData.outreachEffort.IP.outreachBusinessPk = this.opportunities[i].outreachEffortList[1].outreachBusinessPk;\r\n opportunitiesData.outreachEffort.IP.contactLogPk = this.opportunities[i].outreachEffortList[1].contactLogPk;\r\n opportunitiesData.outreachEffort.IP.clinicAgreementPk = this.opportunities[i].outreachEffortList[1].clinicAgreementPk;\r\n //opportunitiesData.outreachEffort.IP.organizationType = null;\r\n if (this.opportunities[i].outreachEffortList[0].lastContact == this.opportunities[i].outreachEffortList[1].lastContact) {\r\n opportunitiesData.lastContact = this.opportunities[i].outreachEffortList[0].lastContact == '0001-01-01T00:00:00' ? null : this.opportunities[i].outreachEffortList[0].lastContact;\r\n }\r\n if (new Date(this.opportunities[i].outreachEffortList[0].lastContact) > new Date(this.opportunities[i].outreachEffortList[1].lastContact)) {\r\n opportunitiesData.lastContact = this.opportunities[i].outreachEffortList[0].lastContact == '0001-01-01T00:00:00' ? null : this.opportunities[i].outreachEffortList[0].lastContact;\r\n }\r\n if (new Date(this.opportunities[i].outreachEffortList[1].lastContact) > new Date(this.opportunities[i].outreachEffortList[0].lastContact)) {\r\n opportunitiesData.lastContact = this.opportunities[i].outreachEffortList[1].lastContact == '0001-01-01T00:00:00' ? null : this.opportunities[i].outreachEffortList[1].lastContact;\r\n }\r\n }\r\n if (this.opportunities[i].outreachEffortList[1].outreachProgram == \"SR\") {\r\n opportunitiesData.isPCA = false;\r\n opportunitiesData.outreachEffort.SR.outreachStatusTitle = this.opportunities[i].outreachEffortList[1].outreachStatusTitle;\r\n opportunitiesData.outreachEffort.SR.lastContact = this.opportunities[i].outreachEffortList[1].lastContact == '0001-01-01T00:00:00' ? null : this.opportunities[i].outreachEffortList[1].lastContact;\r\n opportunitiesData.outreachEffort.SR.outreachProgram = this.opportunities[i].outreachEffortList[1].outreachProgram;\r\n opportunitiesData.outreachEffort.SR.outreachStatus = this.opportunities[i].outreachEffortList[1].outreachStatus;\r\n opportunitiesData.outreachEffort.SR.isScheduledClinics = this.opportunities[i].outreachEffortList[1].isScheduledClinics;\r\n opportunitiesData.outreachEffort.SR.outreachBusinessPk = this.opportunities[i].outreachEffortList[1].outreachBusinessPk;\r\n opportunitiesData.outreachEffort.SR.contactLogPk = this.opportunities[i].outreachEffortList[1].contactLogPk;\r\n opportunitiesData.outreachEffort.SR.clinicAgreementPk = this.opportunities[i].outreachEffortList[1].clinicAgreementPk;\r\n //opportunitiesData.outreachEffort.SR.organizationType = null;\r\n if (this.opportunities[i].outreachEffortList[0].lastContact == this.opportunities[i].outreachEffortList[1].lastContact) {\r\n opportunitiesData.lastContact = this.opportunities[i].outreachEffortList[0].lastContact = '0001-01-01T00:00:00' ? null : this.opportunities[i].outreachEffortList[0].lastContact;\r\n }\r\n if (new Date(this.opportunities[i].outreachEffortList[0].lastContact) > new Date(this.opportunities[i].outreachEffortList[1].lastContact)) {\r\n opportunitiesData.lastContact = this.opportunities[i].outreachEffortList[0].lastContact == '0001-01-01T00:00:00' ? null : this.opportunities[i].outreachEffortList[0].lastContact;\r\n }\r\n if (new Date(this.opportunities[i].outreachEffortList[1].lastContact) > new Date(this.opportunities[i].outreachEffortList[0].lastContact)) {\r\n opportunitiesData.lastContact = this.opportunities[i].outreachEffortList[1].lastContact == '0001-01-01T00:00:00' ? null : this.opportunities[i].outreachEffortList[1].lastContact;\r\n }\r\n }\r\n if (this.opportunities[i].outreachEffortList[1].outreachProgram == \"PCA\") {\r\n opportunitiesData.isPCA = true;\r\n opportunitiesData.outreachEffort.PCA.outreachStatusTitle = this.opportunities[i].outreachEffortList[1].outreachStatusTitle;\r\n opportunitiesData.outreachEffort.PCA.lastContact = this.opportunities[i].outreachEffortList[1].lastContact == '0001-01-01T00:00:00' ? null : this.opportunities[i].outreachEffortList[1].lastContact;\r\n opportunitiesData.outreachEffort.PCA.outreachProgram = this.opportunities[i].outreachEffortList[1].outreachProgram;\r\n opportunitiesData.outreachEffort.PCA.outreachStatus = this.opportunities[i].outreachEffortList[1].outreachStatus;\r\n opportunitiesData.outreachEffort.PCA.isScheduledClinics = this.opportunities[i].outreachEffortList[1].isScheduledClinics;\r\n opportunitiesData.outreachEffort.PCA.outreachBusinessPk = this.opportunities[i].outreachEffortList[1].outreachBusinessPk;\r\n opportunitiesData.outreachEffort.PCA.contactLogPk = this.opportunities[i].outreachEffortList[1].contactLogPk;\r\n opportunitiesData.outreachEffort.PCA.clinicAgreementPk = this.opportunities[i].outreachEffortList[1].clinicAgreementPk;\r\n opportunitiesData.lastContact = this.opportunities[i].outreachEffortList[0].lastContact == '0001-01-01T00:00:00' ? null : this.opportunities[i].outreachEffortList[0].lastContact;\r\n }\r\n }\r\n // if(this.userProfile.userRole != \"Admin\" && opportunitiesData.covidOpportunityType !=1){\r\n // this.opportunitiesDataList.push(opportunitiesData); \r\n // }\r\n //else if(this.userProfile.userRole === \"Admin\"){\r\n this.opportunitiesDataList.push(opportunitiesData);\r\n\r\n //}\r\n }\r\n this.opportunitiesFullDataList = this.opportunitiesDataList;\r\n this.opportunitiesDataList = this.pcahome == true ? this.opportunitiesDataList.filter(item => item.isPCA == true) : this.opportunitiesDataList.filter(item => item.isPCA == false);\r\n //this.opportunitiesDataList = this.opportunitiesDataList.filter(item => item.isCovidOpportunity == true);\r\n\r\n this.selectName(this.opportunityForm.value.defaultSortBY);\r\n if (this.srhome == true) {\r\n this.opportunities1 = this._sortByPipe.sortBy(this.opportunitiesDataList, \"outreachEffort\");\r\n this.opportunitiesDataList = this.opportunities1;\r\n }\r\n else if (this.srhome == false && this.pcahome == false && this.COVIDHome == false) {\r\n this.opportunitiesDataList = this._sortByPipe.sortBy(this.opportunitiesDataList.filter(item => item.isCovidOpportunity != true), \"isPreviousClient\");\r\n this.opportunitiesDataList = this._sortByPipe.sortBy(this.opportunitiesDataList.filter(item => item.isCovidOpportunity != true), \"ip\");\r\n }\r\n\r\n let loopendTime: Date = new Date();\r\n\r\n this.opportunitiesData = opportunities;\r\n \r\n this.opportunitiesDataList = this.opportunitiesDataList.filter(item => item.businessType != 3 && item.businessType != 2 && item.businessType != 4);\r\n //console.log(`Loop ending for UI binding at ${loopendTime.getHours()}:${loopendTime.getMinutes()}:${loopendTime.getSeconds()}:${loopendTime.getMilliseconds()}`);\r\n },\r\n error => {\r\n console.error(\"Error in fetching opportunities\", error);\r\n }\r\n );\r\n\r\n //setTimeout(function () {\r\n\r\n //}.bind(this), 5000);\r\n }\r\n createRange(number) {\r\n var items: number[] = [];\r\n for (var i = 1; i <= number; i++) {\r\n items.push(i);\r\n }\r\n return items;\r\n }\r\n\r\n displayFieldCss1(index: any) {\r\n switch (index) {\r\n case 'Contact Client':\r\n this.cssColor = \"widget-info clearfix mb30 bg-cyan\";\r\n this.goTo = \"/communityoutreach/workflowmonitorreport\";\r\n break;\r\n case 'Complete/Report Event':\r\n this.cssColor = \"widget-info clearfix mb30 bg-green\";\r\n this.goTo = \"/communityoutreach/workflowmonitorreport\";\r\n break;\r\n case 'Follow-up':\r\n this.cssColor = \"widget-info clearfix mb30 bg-magenta\";\r\n this.goTo = \"/communityoutreach/workflowmonitorreport\";\r\n break;\r\n case 'Host Event':\r\n this.cssColor = \"widget-info clearfix mb30 bg-yellow\";\r\n this.goTo = \"/communityoutreach/workflowmonitorreport\";\r\n break;\r\n case 'Complete SR Events':\r\n case 'Schedule SR Events':\r\n case 'Scheduled Events':\r\n this.cssColor = \"widget-info clearfix mb30 bg-lipurple\";\r\n this.goTo = \"/communityoutreach/scheduledeventsreport\";\r\n break;\r\n\r\n }\r\n }\r\n colMdClass(index: any) {\r\n var count: any = 0;\r\n for (let i = 0; i < this.storeStatus.length; i++) {\r\n if (this.storeStatus[i].statusCountByStore != 0 || this.storeStatus[i].statusCountByUser != 0) {\r\n count++;\r\n }\r\n }\r\n if (count >= 5) {\r\n switch (index) {\r\n case 'Contact Client':\r\n this.bsClasses = \"col-md-3 col-12 p-5\";\r\n break;\r\n case 'Host Event':\r\n this.bsClasses = \"col-md-2 col-12 p-5\";\r\n break;\r\n case 'Complete/Report Event':\r\n this.bsClasses = \"col-md-2 col-12 p-5\";\r\n break;\r\n case 'Follow-up':\r\n this.bsClasses = \"col-md-2 col-12 p-5\";\r\n break;\r\n case 'Perform Event':\r\n this.bsClasses = \"col-md-2 col-12 p-5\";\r\n break;\r\n case 'Complete SR Events':\r\n case 'Schedule SR Events':\r\n case 'Scheduled Events':\r\n this.bsClasses = \"col-md-3 col-12 p-5\";\r\n break;\r\n }\r\n this.dispBlockVrbl = true;\r\n }\r\n else {\r\n this.bsClasses = \"col-md-3 col-12 p-5\";\r\n }\r\n return this.bsClasses;\r\n }\r\n\r\n minH50() {\r\n if (this.storeStatus.length >= 5 && this.storeStatus[0].statusCountByStore || this.storeStatus.length >= 5 && this.storeStatus[0].statusCountByUser) {\r\n return 'mnH50';\r\n }\r\n }\r\n fltLeft() {\r\n if (this.storeStatus.length >= 5 && this.storeStatus[0].statusCountByStore || this.storeStatus.length >= 5 && this.storeStatus[0].statusCountByUser) {\r\n return 'float-left';\r\n }\r\n }\r\n col12() {\r\n if (this.storeStatus.length >= 5 && this.storeStatus[0].statusCountByStore || this.storeStatus.length >= 5 && this.storeStatus[0].statusCountByUser) {\r\n return 'col-12';\r\n }\r\n }\r\n\r\n pb0mb0() {\r\n if (this.storeStatus.length >= 5 && this.storeStatus[0].statusCountByStore || this.storeStatus.length >= 5 && this.storeStatus[0].statusCountByUser) {\r\n return 'pb-0 mb-0';\r\n }\r\n }\r\n\r\n\r\n isOppDisabled(Opportunity: any) {\r\n return Opportunity.imz.indexOf('No Client Interest') > -1 || Opportunity.imz.indexOf('Business Closed') > -1;\r\n }\r\n getColor(status: string, outreach_type: string) {\r\n if (outreach_type == \"imz\") {\r\n return (status.indexOf(\"Contract Initiated (Contracted Clinic)\") > -1 || status.indexOf(\"Contract Sent\") > -1) ? 'green' : '';\r\n }\r\n else if (outreach_type == \"so\")\r\n return (status.indexOf(\"Event Scheduled\") > -1) ? 'green' : ((status.indexOf(\"No Outreach\") > -1) ? 'red' : '');\r\n }\r\n\r\n getColor1(status: string, contact_date: string) {\r\n \r\n this.firstDate = new Date();\r\n this.secondDate = new Date(contact_date);\r\n if (contact_date != null && contact_date != \"\") {\r\n if (status == null) {\r\n status = \"No Outreach\";\r\n }\r\n if (status.indexOf(\"Initiated\") > -1 || status.indexOf(\"Contract Sent\") > -1)\r\n return '#3ba401';\r\n else if (status.indexOf(\"Contract Rejected\") > -1)\r\n return '#cf003c'\r\n else if (this.calculateDays(this.firstDate, this.secondDate) >= 14)\r\n return '#cf003c';\r\n else if (this.calculateDays(this.firstDate, this.secondDate) >= 7 && this.calculateDays(this.firstDate, this.secondDate) <= 13)\r\n return '#fea102';\r\n }\r\n else {\r\n this.secondDate = new Date(this.outreachStartDateIP);\r\n if (this.calculateDays(this.firstDate, this.secondDate) >= 14)\r\n return '#cf003c';\r\n else if (this.calculateDays(this.firstDate, this.secondDate) >= 7 && this.calculateDays(this.firstDate, this.secondDate) <= 13)\r\n return '#fea102';\r\n }\r\n }\r\n\r\n getColor2(status: string, contact_date: string, isNoClinic: boolean) {\r\n\r\n this.firstDate = new Date();\r\n this.secondDate = new Date(contact_date);\r\n\r\n if (isNoClinic == true) {\r\n if (status.indexOf(\"Contact Client\") > -1)\r\n return 'bg-danger';\r\n else if (status.indexOf(\"Confirmed\") > -1)\r\n return 'bg-danger';\r\n else if (status.indexOf(\"Completed\") != -1)\r\n return 'bg-success';\r\n }\r\n else if (contact_date != null && contact_date != \"\") {\r\n if (status == null)\r\n status = \"No Outreach\";\r\n else if (status.indexOf(\"Contact Client\") > -1 && this.calculateDays1(this.firstDate, this.secondDate) >= 17)\r\n return 'bg-success';\r\n else if (status.indexOf(\"Contact Client\") > -1 && this.calculateDays1(this.firstDate, this.secondDate) <= 17)\r\n return 'bg-danger';\r\n else if (status.indexOf(\"Confirmed\") > -1 && this.calculateDays(this.firstDate, this.secondDate) <= 14 && this.calculateDays1(this.firstDate, this.secondDate) <= 17)\r\n return 'bg-success';\r\n else if (status.indexOf(\"Confirmed\") > -1)\r\n return 'bg-success';\r\n else if (status.indexOf(\"Completed\") != -1 && this.calculateDays(this.firstDate, this.secondDate) >= 14)\r\n return 'bg-success';\r\n }\r\n }\r\n\r\n calculateDays(date1, date2) {\r\n //Get 1 day in milliseconds\r\n var one_day = 1000 * 60 * 60 * 24;\r\n\r\n // Convert both dates to milliseconds\r\n var date1_ms = date1.getTime();\r\n var date2_ms = date2.getTime();\r\n\r\n // Calculate the difference in milliseconds\r\n var difference_ms = date1_ms - date2_ms;\r\n\r\n // Convert back to days and return\r\n return Math.round(difference_ms / one_day);\r\n }\r\n calculateDays1(date1, date2) {\r\n //Get 1 day in milliseconds\r\n var one_day = 1000 * 60 * 60 * 24;\r\n\r\n // Convert both dates to milliseconds\r\n var date1_ms = date1.getTime();\r\n var date2_ms = date2.getTime();\r\n\r\n // Calculate the difference in milliseconds\r\n var difference_ms = date2_ms - date1_ms;\r\n\r\n // Convert back to days and return\r\n return Math.round(difference_ms / one_day);\r\n }\r\n opportunityClick() {\r\n }\r\n showDialog(opp: any) {\r\n SessionDetails.SetAgreementPK(0);\r\n SessionDetails.SetFollowUp(false);\r\n this.contractInitiated = false;\r\n this.ASOIntiaited = false;\r\n this.GovIntiaited = false;\r\n this.opoIntiaited = false;\r\n this.cssIntiaited = false;\r\n this.pendingRHDApproved = false;\r\n //this.community_outreach = false;\r\n this.contractFollowup = false;\r\n this.opportunitie = opp;\r\n this.businessType = opp.businessType;\r\n SessionDetails.opportunitiesData(opp);\r\n\r\n var userProfile = SessionDetails.GetUserProfile();\r\n if (this.opportunitie.outreachEffort.IP.outreachStatus == '3' && !this.opportunitie.outreachEffort.IP.isScheduledClinics) {\r\n this.contractInitiated = true;\r\n }\r\n if (this.opportunitie.outreachEffort.PCA.outreachStatus == '1' &&\r\n !this.opportunitie.outreachEffort.PCA.isScheduledClinics) {\r\n\r\n if (this.opportunitie.outreachEffort.PCA.outreachStatusTitle.search(\"Approved by Partner\") != -1 &&\r\n (userProfile.userRole.toLowerCase().search(\"regional vice president\") != -1)) {\r\n\r\n this.pendingRHDApproved = true;\r\n }\r\n this.ASOIntiaited = true;\r\n }\r\n if (this.opportunitie.outreachEffort.PCA.outreachStatus == '3' &&\r\n !this.opportunitie.outreachEffort.PCA.isScheduledClinics) {\r\n\r\n if (this.opportunitie.outreachEffort.PCA.outreachStatusTitle.search(\"Approved by Partner\") != -1 &&\r\n (userProfile.userRole.toLowerCase().search(\"regional vice president\") != -1)) {\r\n this.pendingRHDApproved = true;\r\n }\r\n this.GovIntiaited = true;\r\n }\r\n\r\n if (this.opportunitie.outreachEffort.PCA.outreachStatus == '6' &&\r\n !this.opportunitie.outreachEffort.PCA.isScheduledClinics) {\r\n\r\n if (this.opportunitie.outreachEffort.PCA.outreachStatusTitle.search(\"Approved by Partner\") != -1 &&\r\n (userProfile.userRole.toLowerCase().search(\"regional vice president\") != -1)) {\r\n this.pendingRHDApproved = true;\r\n }\r\n this.opoIntiaited = true;\r\n }\r\n if (this.opportunitie.outreachEffort.PCA.outreachStatus == '7' &&\r\n !this.opportunitie.outreachEffort.PCA.isScheduledClinics) {\r\n\r\n if (this.opportunitie.outreachEffort.PCA.outreachStatusTitle.search(\"Approved by Partner\") != -1 &&\r\n (userProfile.userRole.toLowerCase().search(\"regional vice president\") != -1)) {\r\n this.pendingRHDApproved = true;\r\n }\r\n this.cssIntiaited = true;\r\n }\r\n // else if (this.opportunitie.outreachEffort.IP.outreachStatus == '12' && !this.opportunitie.outreachEffort.IP.isScheduledClinics) {\r\n // this.community_outreach = true;\r\n // }\r\n if (this.opportunitie.outreachEffort.PCA.outreachStatus == '2' || this.opportunitie.outreachEffort.IP.outreachStatus == '2' || this.opportunitie.outreachEffort.SR.outreachStatus == '2') {\r\n this.contractFollowup = true;\r\n }\r\n this.opportunitie.outreachEffort.PCA.outreachProgram == 'PCA' ? this.edit_profile_text = 'PCA Organization Profile' : this.edit_profile_text = 'Opportunity Profile';\r\n this.display = true;\r\n }\r\n\r\n showEvents(opp: any) {\r\n if (opp.outreachPk == 3) {\r\n this._alertService.sendWarningAlert(true, false, false);\r\n } \r\n else if (opp.outreachPk == 1) {\r\n this._alertService.sendWarningAlert(false, true, false);\r\n } \r\n else if (opp.outreachPk == 4) {\r\n this._alertService.sendWarningAlert(false, false, true);\r\n }\r\n\r\n this.eventDetails = (opp) ? opp : this.targetObj;\r\n this.targetObj = this.eventDetails;\r\n SessionDetails.EventDetails(this.eventDetails);\r\n //Corporate records details page\r\n\r\n if (\r\n (this.eventDetails.outreachPk === 3 \r\n && \r\n (\r\n this.eventDetails.clinicTypeId === 1 \r\n || this.eventDetails.clinicTypeId === 2 \r\n || this.eventDetails.clinicTypeId === 3 \r\n || this.eventDetails.clinicTypeId === 5\r\n || this.eventDetails.clinicTypeId === 6\r\n || this.eventDetails.clinicTypeId === 13\r\n )\r\n )\r\n && this.eventDetails.isScheduled\r\n ) {\r\n this.dispSchedulerMenu = true;\r\n } \r\n else if (this.eventDetails.outreachPk === 3 && this.eventDetails.clinicTypeId === 3) {\r\n this.router.navigateByUrl(\"/communityoutreach/CorporateClinicProgramDetails\");\r\n }\r\n //SR Scheduled events details page\r\n else if (this.eventDetails.outreachPk === 1 && this.eventDetails.clinicTypeId === 3) {\r\n this.router.navigateByUrl(\"/communityoutreach/scheduleevent\");\r\n }\r\n //Local records details page\r\n else if (this.eventDetails.outreachPk === 3 && this.eventDetails.clinicTypeId === 1) {\r\n this.router.navigateByUrl(\"/communityoutreach/LocalClinicProgramDetails\");\r\n }\r\n //community outreach details page\r\n else if (this.eventDetails.outreachPk === 3 && this.eventDetails.clinicTypeId === 6) {\r\n this.router.navigateByUrl(\"/communityoutreach/CommunityOutreachProgramDetails\");\r\n }\r\n // Equity Events\r\n else if (this.eventDetails.outreachPk === 3 && this.eventDetails.clinicTypeId === 13) {\r\n this.router.navigateByUrl(\"/communityoutreach/EquityEventDetails\");\r\n }\r\n //Charity (WAG Free Flu Voucher) details page redirection\r\n else if (this.eventDetails.outreachPk === 3 && this.eventDetails.clinicTypeId === 2) {\r\n this.router.navigateByUrl(\"/communityoutreach/CharityProgramDetails\");\r\n }\r\n //uploaded local or uploaded charity\r\n else if (this.eventDetails.outreachPk === 3 && (this.eventDetails.clinicTypeId === 5 || this.eventDetails.clinicTypeId === 7)) {\r\n this.router.navigateByUrl(\"/communityoutreach/CorporateClinicProgramDetails\");\r\n }\r\n //pca details\r\n else if (this.eventDetails.outreachPk === 4) {\r\n this.router.navigateByUrl(\"/communityoutreach/pcadetails\");\r\n }\r\n }\r\n ContactLogInfo(id) {\r\n SessionDetails.SetBusinessType(id);\r\n this.router.navigateByUrl(\"/communityoutreach/viewcontactlog\");\r\n }\r\n showDialogOptConLog() {\r\n // LTCF Opportunity \r\n if(this.opportunitie.covidOpportunityType === 1){\r\n forkJoin({\r\n ltcfOpportunity: this._lookupService.getLookUpValues('Industry', 'LTCFOpportunity'),\r\n outreachStatus: this._opportunityService.getOutreachStatus()\r\n })\r\n .subscribe((data) => {\r\n this.setOpportunityContactLogInfo(data.outreachStatus, data.ltcfOpportunity);\r\n if(this.outreachStatusValue == ''){\r\n this.canDisplayOutreachStatus = false;\r\n }\r\n else{\r\n this.canDisplayOutreachStatus = true;\r\n }\r\n })\r\n }\r\n // Standard Opportunity\r\n else if(this.opportunitie.covidOpportunityType === 2){\r\n forkJoin({\r\n standardOpportunity: this._lookupService.getLookUpValues('Industry', 'StandardOpportunity'),\r\n outreachstatus: this._opportunityService.getOutreachStatus()\r\n })\r\n .subscribe((data) => {\r\n this.setOpportunityContactLogInfo(data.outreachstatus, data.standardOpportunity);\r\n if(this.outreachStatusValue == ''){\r\n this.canDisplayOutreachStatus = false;\r\n }\r\n else{\r\n this.canDisplayOutreachStatus = true;\r\n }\r\n })\r\n }\r\n else{\r\n forkJoin({\r\n standardOpportunity: this._lookupService.getLookUpValues('Industry', 'StandardOpportunity'),\r\n outreachstatus: this._opportunityService.getOutreachStatus()\r\n })\r\n .subscribe((data) => {\r\n this.setOpportunityContactLogInfo(data.outreachstatus, data.standardOpportunity);\r\n })\r\n }\r\n }\r\n\r\n private setOpportunityContactLogInfo(outreach_status: any, industries: SelectType[]) {\r\n this.industries = industries;\r\n this.outreachStatusData = outreach_status.filter(item => (item.outreachStatusId != 0 && item.outreachStatus != 'Active' && item.isActive == true));\r\n // LTCF Opportunity \r\n if(this.opportunitie.covidOpportunityType === 1){\r\n // For Equity Events, status id is 13\r\n const equityEventsIndex = this.outreachStatusData.findIndex(d => d.outreachStatusId === 13);\r\n if(equityEventsIndex > -1){\r\n this.outreachStatusData.splice(equityEventsIndex, 1);\r\n }\r\n }\r\n else{\r\n const equityEventsIndex = this.outreachStatusData.findIndex(d => d.outreachStatusId === 13);\r\n // if it is not found\r\n if(equityEventsIndex == -1){ \r\n this.outreachStatusData.push({\r\n outreachStatusId: 13,\r\n outreachStatus: \"Equity Events (No Contract)\",\r\n outreachProgram: \"IP\",\r\n isActive: true,\r\n sortOrder: 5\r\n })\r\n }\r\n }\r\n this.businessName = this.opportunitie.businessName;\r\n if (!this.pcahome) {\r\n var immunization_status = ['3', '8', '12'];\r\n this.jobTitle = false;\r\n this.displayMessage = false;\r\n this.outreachStatusValue = \"\";\r\n this.dispContractInitiated = false;\r\n this.displayMessageForPCA = false;\r\n\r\n this.dialogOptConLog = true;\r\n this.dialogOptConLogforPCA = false;\r\n\r\n if ((this.opportunitie.outreachEffort.IP.isScheduledClinics &&\r\n this.opportunitie.outreachEffort.SR.outreachProgram == null) ||\r\n (immunization_status.indexOf(this.opportunitie.outreachEffort.IP.outreachStatus) > -1 &&\r\n this.opportunitie.outreachEffort.SR.outreachProgram == null)) {\r\n this.dialogOptConLog = false;\r\n this.display = false;\r\n this.dispContractInitiated = true;\r\n }\r\n else {\r\n this.outreachType = this._opportunityService.getOutreachType();\r\n // if (this.opportunitie.outreachEffort.split(',').length - 1 >= 2) {\r\n\r\n if (this.opportunitie.outreachEffort.IP.outreachProgram != null\r\n && this.opportunitie.outreachEffort.SR.outreachProgram != null) {\r\n this.outreachTypeData = this._opportunityService.getOutreachType();\r\n }\r\n else {\r\n //this.outreach_type_data = this.outreach_type.filter(item => item.category == this.opportunitie.outreachEffort.split(',')[1]);\r\n let outreachValue;\r\n if (this.opportunitie.outreachEffort.SR.outreachProgram != null) {\r\n outreachValue = this.opportunitie.outreachEffort.SR.outreachProgram;\r\n }\r\n if (this.opportunitie.outreachEffort.IP.outreachProgram != null) {\r\n outreachValue = this.opportunitie.outreachEffort.IP.outreachProgram;\r\n }\r\n this.outreachTypeData = this.outreachType.filter(item => item.category == outreachValue);\r\n this.outreachStatusValue = this.outreachTypeData[0].outreachStatus;\r\n\r\n }\r\n }\r\n \r\n this.logcontact = this._fb.group({\r\n select_outreach: this._fb.control('', Validators.required),\r\n businessName: this._fb.control(this.opportunitie.businessName, null),\r\n firstName: this._fb.control(this.opportunitie.firstName, null),\r\n lastName: this._fb.control(this.opportunitie.lastName, null),\r\n jobTitle: this._fb.control(this.opportunitie.jobTitle, null),\r\n defaultDate: this._fb.control(this.defaultDate, null),\r\n outreachstatus: this._fb.control('', Validators.required),\r\n feedback: this._fb.control('', null),\r\n Disposition: this._fb.control('', null),\r\n industry: this._fb.control(this.opportunitie.industry ?? '', null),\r\n other: this._fb.control(this.opportunitie.others ?? '', null)\r\n });\r\n\r\n this.outreachstatus = 0;\r\n this.businessContacted = this.opportunitie.businessName;\r\n this.display = false;\r\n if (this.outreachStatusValue != '') {\r\n this.onChange(this.outreachTypeData[0].category);\r\n }\r\n }\r\n if (this.pcahome) {\r\n this.displayMessageForPCA = false;\r\n if (this.opportunitie.outreachEffort.PCA.outreachProgram != null\r\n ) {\r\n this.outreachTypeData = this._opportunityService.getOutreachTypePCA();\r\n }\r\n this.dialogOptConLogforPCA = true;\r\n this.dialogOptConLog = false;\r\n this.outreachStatus = this._sortByPipe.sortBy(this.outreachStatusData.filter(\r\n item => {\r\n return (item.outreachProgram == 'PCA'\r\n && item.isActive == true\r\n )\r\n }), \"sortOrder\");\r\n this.logcontact = this._fb.group({\r\n select_outreach: this._fb.control('', Validators.required),\r\n businessName: this._fb.control(this.opportunitie.businessName, null),\r\n firstName: this._fb.control(this.opportunitie.firstName, null),\r\n lastName: this._fb.control(this.opportunitie.lastName, null),\r\n defaultDate: this._fb.control(this.defaultDate, null),\r\n outreachstatus: this._fb.control('', Validators.required),\r\n feedback: this._fb.control('', null),\r\n Disposition: this._fb.control('', null),\r\n industry: this._fb.control(this.opportunitie.industry ?? '', null),\r\n other: this._fb.control(this.opportunitie.others ?? '', null)\r\n });\r\n this.display = false;\r\n\r\n this.onPCAStatusChange(this.outreachTypeData[0].category);\r\n }\r\n\r\n if (!this.logcontact.value?.industry) {\r\n this.logcontact.controls['industry']?.setValidators(Validators.required);\r\n this.logcontact.controls['industry']?.updateValueAndValidity();\r\n }\r\n else if(this.logcontact.value?.industry) {\r\n this.logcontact.controls['industry']?.setValidators(null);\r\n this.logcontact.controls['industry']?.setErrors(null);\r\n this.logcontact.controls['industry']?.updateValueAndValidity();\r\n }\r\n\r\n if (this.logcontact.value.industry?.toLocaleLowerCase() === 'other' && !this.logcontact.value?.other) {\r\n this.logcontact.controls['other']?.setValidators(Validators.required);\r\n this.logcontact.controls['other']?.updateValueAndValidity();\r\n }\r\n else if(this.logcontact.value.industry?.toLocaleLowerCase() === 'other' && this.logcontact.value?.other){\r\n this.logcontact.controls['other']?.setValidators(null);\r\n this.logcontact.controls['other']?.setErrors(null);\r\n this.logcontact.controls['other']?.updateValueAndValidity();\r\n }\r\n this._ref.detectChanges();\r\n }\r\n\r\n onChange(select_outreach: any) {\r\n this.displayMessage = false;\r\n var immunization_status = [3, 8, 12, 13];\r\n this.jobTitle = false;\r\n if (this.outreachStatusValue != '') {\r\n this.logcontact = this._fb.group({\r\n select_outreach: this._fb.control(select_outreach, Validators.required),\r\n businessName: this._fb.control(this.opportunitie.businessName, null),\r\n firstName: this._fb.control(this.opportunitie.firstName, null),\r\n lastName: this._fb.control(this.opportunitie.lastName, null),\r\n jobTitle: this._fb.control(this.opportunitie.jobTitle, null),\r\n defaultDate: this._fb.control(this.defaultDate, null),\r\n outreachstatus: this._fb.control('', Validators.required),\r\n feedback: this._fb.control('', null),\r\n Disposition: this._fb.control('', null),\r\n industry: this._fb.control(this.opportunitie.industry ?? '', null),\r\n other: this._fb.control(this.opportunitie.others ?? '', null)\r\n });\r\n }\r\n let opportunityDate = SessionDetails.GetopportunitiesData();\r\n let isNoContractOpportunity = opportunityDate.isNoContractOpportunity;\r\n this.outreachStatus = this._sortByPipe.sortBy(this.outreachStatusData.filter(\r\n item => {\r\n if (opportunityDate.isNoContractOpportunity) {\r\n return (item.outreachProgram == select_outreach\r\n && item.outreachStatusId != 9 && item.outreachStatusId != 10 && item.isActive == true\r\n && item.outreachStatusId != 3 && item.outreachStatusId != 8\r\n )\r\n }\r\n \r\n if (opportunityDate.isFluOpportunity && opportunityDate.fluOpportunityType == 0) {\r\n return (item.outreachProgram == select_outreach && item.outreachStatusId != 9 \r\n && item.outreachStatusId != 10 && item.isActive == true\r\n )\r\n } \r\n else {\r\n return (item.outreachProgram == select_outreach && \r\n item.outreachStatusId != 8 && item.outreachStatusId != 9 \r\n && item.outreachStatusId != 10 && item.isActive == true\r\n )\r\n }\r\n }), \"sortOrder\");\r\n\r\n // 840 fix\r\n // if (this.opportunitie.isCovidOpportunity) {\r\n // this.outreachStatus = this.outreachStatus.filter(item => item.outreachStatus != \"Business Closed\");\r\n // }\r\n // if (this.opportunitie.outreachStatus.split(',').length - 1 >= 2) {\r\n if (this.opportunitie.outreachEffort.IP.outreachProgram != null && this.opportunitie.outreachEffort.SR.outreachProgram != null) {\r\n if (select_outreach == 'SR')\r\n this.outreachStatusInfo = this.opportunitie.outreachEffort.SR.outreachStatus;\r\n else\r\n this.outreachStatusInfo = this.opportunitie.outreachEffort.IP.outreachStatus;\r\n }\r\n else {\r\n if (this.opportunitie.outreachEffort.IP.outreachProgram != null) {\r\n this.outreachStatusInfo = this.opportunitie.outreachEffort.IP.outreachStatus;\r\n }\r\n if (this.opportunitie.outreachEffort.SR.outreachProgram != null) {\r\n this.outreachStatusInfo = this.opportunitie.outreachEffort.SR.outreachStatus;\r\n }\r\n }\r\n\r\n this.logcontact.controls['outreachstatus'].setValue(\"\");\r\n // if (this.outreach_status_info == '4') {\r\n // this.job_title = true;\r\n // }\r\n //this.logcontact.value.outreachstatus = this.outreach_status.filter(item => item.outreachStatusId == this.outreach_status_info);\r\n if (immunization_status.indexOf(this.outreachStatusInfo) > -1 && select_outreach != 'SR') {\r\n this.displayMessage = true;\r\n }\r\n\r\n if(this.outreachStatusValue == '' && this.logcontact.controls['select_outreach'].value){\r\n this.canDisplayOutreachStatus = true;\r\n }\r\n else{\r\n this.canDisplayOutreachStatus = false;\r\n }\r\n }\r\n disableButton() {\r\n if (this.displayMessage || this.disable_button || this.displayMessageForPCA) {\r\n return 'false';\r\n }\r\n else {\r\n return '';\r\n }\r\n\r\n }\r\n onNCIFeedbackChange(nciOption: any) {\r\n if(nciOption.search(/Other/gi)>-1 && nciOption.search(/another/gi)< 0){\r\n this.showFeedbackNotes = true;\r\n this.logcontact.controls['feedback'].setValidators([Validators.required]);\r\n this.logcontact.controls['feedback'].updateValueAndValidity();\r\n }\r\n else {\r\n this.showFeedbackNotes = false;\r\n this.logcontact.controls['feedback'].setValidators(null);\r\n this.logcontact.controls['feedback'].updateValueAndValidity();\r\n }\r\n }\r\n onOutreachStatusChange(outreach_pk: any) {\r\n this.jobTitle = false;\r\n this.logcontact.value.outreachstatus = this.outreachStatus.filter(item => item.outreachStatusId == outreach_pk);\r\n this.outreachStatusInfo = outreach_pk;\r\n if (this.outreachStatusInfo == '4') {\r\n this.jobTitle = true;\r\n if(this.logcontact.get('select_outreach').value !== 'SR')\r\n this.showNCIOptions = true;\r\n else \r\n this.showNCIOptions = false;\r\n this.showFeedbackNotes = false;\r\n this.logcontact.controls['feedback'].setValidators(null);\r\n this.logcontact.controls['feedback'].updateValueAndValidity();\r\n this.logcontact.controls['Disposition'].setValidators([Validators.required]);\r\n this.logcontact.controls['Disposition'].updateValueAndValidity();\r\n }\r\n else if (this.outreachStatusInfo == '5' || this.outreachStatusInfo == '3' || this.outreachStatusInfo == '2') {\r\n this.showNCIOptions = false;\r\n this.showFeedbackNotes = true;\r\n this.logcontact.controls['feedback'].setValidators(null);\r\n this.logcontact.controls['feedback'].updateValueAndValidity();\r\n this.logcontact.controls['Disposition'].setValidators(null);\r\n this.logcontact.controls['Disposition'].updateValueAndValidity();\r\n }\r\n else {\r\n this.showNCIOptions = false;\r\n this.showFeedbackNotes = true;\r\n this.logcontact.controls['feedback'].setValidators([Validators.required]);\r\n this.logcontact.controls['feedback'].updateValueAndValidity();\r\n this.logcontact.controls['Disposition'].setValidators(null);\r\n this.logcontact.controls['Disposition'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n redirectToPage(outreach_status) {\r\n SessionDetails.SetAgreementPK(this.opportunitie.outreachEffort.IP.clinicAgreementPk);\r\n if (outreach_status == '3')\r\n this.router.navigateByUrl(\"/communityoutreach/contract\");\r\n else if (outreach_status == '12')\r\n this.router.navigateByUrl(\"/communityoutreach/communityoutreach\");\r\n // else if (outreach_status == '12')\r\n // this.router.navigateByUrl(\"/communityoutreach/communityoutreach\");\r\n // else if (outreach_status == '12')\r\n // this.router.navigateByUrl(\"/communityoutreach/communityoutreach\");\r\n }\r\n redirectToPCAPage(outreach_status, rhdApproved) {\r\n SessionDetails.SetAgreementPK(this.opportunitie.outreachEffort.PCA.clinicAgreementPk);\r\n\r\n if (outreach_status == '1' && !rhdApproved)\r\n this.router.navigateByUrl(\"/communityoutreach/asolula\");\r\n else if (outreach_status == '3' && !rhdApproved)\r\n this.router.navigateByUrl(\"/communityoutreach/govlula\");\r\n else if (outreach_status == '4' && !rhdApproved)\r\n this.router.navigateByUrl(\"/communityoutreach/opolula\");\r\n else if (outreach_status == '5' && !rhdApproved)\r\n this.router.navigateByUrl(\"/communityoutreach/csslula\");\r\n else if (outreach_status == '3' && rhdApproved) {\r\n sessionStorage[\"clinic_type\"] = 10;\r\n this.router.navigateByUrl(\"/communityoutreach/rhdContractAgreement\");\r\n }\r\n else if (outreach_status == '1' && rhdApproved) {\r\n sessionStorage[\"approveRejectEmail\"] = SessionDetails.GetUserProfile().email;\r\n sessionStorage[\"clinic_type\"] = 8;\r\n this.router.navigateByUrl(\"/communityoutreach/rhdContractAgreement\");\r\n }\r\n else if (outreach_status == '4' && rhdApproved) {\r\n sessionStorage[\"clinic_type\"] = 11;\r\n sessionStorage[\"approveRejectEmail\"] = SessionDetails.GetUserProfile().email;\r\n this.router.navigateByUrl(\"/communityoutreach/rhdContractAgreement\");\r\n }\r\n else if (outreach_status == '5' && rhdApproved) {\r\n sessionStorage[\"clinic_type\"] = 12;\r\n sessionStorage[\"approveRejectEmail\"] = SessionDetails.GetUserProfile().email;\r\n this.router.navigateByUrl(\"/communityoutreach/rhdContractAgreement\");\r\n }\r\n }\r\n onSubmit() {\r\n var contact_date = new Date();\r\n this.storeProfile = SessionDetails.GetStoreId();\r\n let otherSelected: boolean = false;\r\n if (this.outreachStatusInfo === '4' && this.logcontact.get('select_outreach')?.value !== 'SR') {\r\n this.logcontact.controls['Disposition'].setValidators([Validators.required]);\r\n this.logcontact.controls['Disposition'].updateValueAndValidity();\r\n this.logcontact.controls['outreachstatus'].setValue('4');\r\n if (this.logcontact.value.Disposition.search(/Other/gi) > -1 && this.logcontact.value.Disposition.search(/another/gi) < 0) {\r\n this.logcontact.controls['feedback'].setValidators([Validators.required]);\r\n this.logcontact.controls['feedback'].updateValueAndValidity();\r\n otherSelected = true;\r\n } else {\r\n this.logcontact.controls['feedback'].setValidators(null);\r\n this.logcontact.controls['feedback'].updateValueAndValidity();\r\n }\r\n }\r\n else {\r\n this.logcontact.controls['Disposition'].setValidators(null);\r\n this.logcontact.controls['Disposition'].updateValueAndValidity();\r\n this.logcontact.controls['feedback'].setValidators([Validators.required]);\r\n this.logcontact.controls['feedback'].updateValueAndValidity();\r\n }\r\n this.logcontact = this._fb.group({\r\n select_outreach: this._fb.control(this.logcontact.value.select_outreach, Validators.required),\r\n businessName: this._fb.control(this.opportunitie.businessName, null),\r\n firstName: this._fb.control(this.logcontact.value.firstName, null),\r\n lastName: this._fb.control(this.logcontact.value.lastName, null),\r\n jobTitle: this._fb.control(this.logcontact.value.jobTitle, null),\r\n defaultDate: this._fb.control(this.logcontact.value.defaultDate, null),\r\n outreachstatus: this._fb.control(this.logcontact.value.outreachstatus, Validators.required),\r\n feedback: this._fb.control(this.logcontact.value.feedback, otherSelected ? [Validators.required] : null),\r\n Disposition: this._fb.control(this.logcontact.value.Disposition, this.outreachStatusInfo === '4' && this.logcontact.get('select_outreach')?.value !== 'SR' ? [Validators.required] : null),\r\n industry: this._fb.control(this.logcontact.value.industry, null),\r\n other: this._fb.control(this.logcontact.value.other, null)\r\n });\r\n\r\n if(!this.logcontact.value.industry?.length){\r\n this.logcontact.controls['industry'].setErrors({incorrect: true});\r\n this.logcontact.updateValueAndValidity();\r\n }\r\n else if(this.logcontact.value.industry?.length){\r\n this.logcontact.controls['industry'].setErrors(null);\r\n this.logcontact.updateValueAndValidity();\r\n }\r\n\r\n if(this.logcontact.value.industry?.toLocaleLowerCase() === 'other' && !this.logcontact.value.other?.length){\r\n this.logcontact.controls['other'].setErrors({incorrect: true});\r\n this.logcontact.updateValueAndValidity();\r\n }\r\n else if(this.logcontact.value.industry?.toLocaleLowerCase() === 'other' && this.logcontact.value.other?.length){\r\n this.logcontact.controls['other'].setErrors(null);\r\n this.logcontact.updateValueAndValidity();\r\n }\r\n\r\n if (this.logcontact.valid) {\r\n this.logcontact.controls[\"feedback\"].setValidators(null);\r\n this.logcontact.value.outreachstatus = this.outreachStatus.filter(item => item.outreachStatusId == this.outreachStatusInfo);\r\n\r\n if (this.logcontact.value.outreachstatus[0] && this.logcontact.value.outreachstatus.length > 0 && this.logcontact.value.outreachstatus[0].outreachStatusId > 0) {\r\n if (this.logcontact.value.outreachstatus[0].outreachStatusId == 4) {\r\n this.logcontact = this._fb.group({\r\n select_outreach: this._fb.control(this.logcontact.value.select_outreach, Validators.required),\r\n businessName: this._fb.control(this.opportunitie.businessName, null),\r\n firstName: this._fb.control(this.logcontact.value.firstName, Validators.required),\r\n lastName: this._fb.control(this.logcontact.value.lastName, Validators.required),\r\n jobTitle: this._fb.control(this.logcontact.value.jobTitle, Validators.required),\r\n defaultDate: this._fb.control(this.logcontact.value.defaultDate, null),\r\n outreachstatus: this._fb.control(this.logcontact.value.outreachstatus, Validators.required),\r\n feedback: this._fb.control(this.logcontact.value.feedback, this.outreachStatusInfo !== '4' ? [Validators.required] : null),\r\n Disposition: this._fb.control(this.logcontact.value.Disposition, this.outreachStatusInfo === '4' && this.logcontact.get('select_outreach')?.value !== 'SR' ? [Validators.required] : null),\r\n industry: this._fb.control(this.logcontact.value.industry ?? null, null),\r\n other: this._fb.control(this.logcontact.value.other ?? null, null)\r\n });\r\n if (this.logcontact.valid) {\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.logcontact);\r\n if (this.outreachStatusInfo == \"0\") {\r\n this.logcontact.controls['outreachstatus'].setValue(\"\");\r\n }\r\n else {\r\n this.logcontact.controls['outreachstatus'].setValue(this.outreachStatusInfo);\r\n }\r\n }\r\n\r\n }\r\n var log_outreach_status = new FollowUp();\r\n log_outreach_status.logOutreachStatus.businessPk = this.opportunitie.businessPk;\r\n log_outreach_status.logOutreachStatus.firstName = this.logcontact.value.firstName;\r\n log_outreach_status.logOutreachStatus.lastName = this.logcontact.value.lastName;\r\n log_outreach_status.logOutreachStatus.jobTitle = this.logcontact.value.jobTitle;\r\n log_outreach_status.logOutreachStatus.feedback = this.logcontact.value.feedback;\r\n if (this.outreachStatusInfo === '4')\r\n {\r\n log_outreach_status.logOutreachStatus.Disposition = this.logcontact.value.Disposition && this.logcontact.value.Disposition !== \"Other\" ? this.logcontact.value.Disposition && this.logcontact.value.Disposition.length > 0 ? this.logcontact.value.Disposition : null : \"Other\";\r\n }\r\n else\r\n {\r\n log_outreach_status.logOutreachStatus.Disposition ='';\r\n }\r\n \r\n\r\n log_outreach_status.logOutreachStatus.contactDate = new Date(this.logcontact.value.defaultDate.getFullYear(), this.logcontact.value.defaultDate.getMonth()\r\n , this.logcontact.value.defaultDate.getDate(), contact_date.getHours(), contact_date.getMinutes(), contact_date.getSeconds(), contact_date.getMilliseconds());\r\n //log_outreach_status.logOutreachStatus.contactDate = contact_date;\r\n if (this.logcontact.value.select_outreach == \"IP\") {\r\n log_outreach_status.logOutreachStatus.outreachBusinessPk = this.opportunitie.outreachEffort.IP.outreachBusinessPk;\r\n log_outreach_status.logOutreachStatus.outreachProgram = this.logcontact.value.outreachstatus[0].outreachProgram;\r\n log_outreach_status.logOutreachStatus.outreachStatusTitle = this.logcontact.value.outreachstatus[0].outreachStatus;\r\n log_outreach_status.logOutreachStatus.outreachStatusId = this.logcontact.value.outreachstatus[0].outreachStatusId;\r\n }\r\n else if (this.logcontact.value.select_outreach == \"SR\") {\r\n log_outreach_status.logOutreachStatus.outreachBusinessPk = this.opportunitie.outreachEffort.SR.outreachBusinessPk;\r\n log_outreach_status.logOutreachStatus.outreachProgram = this.logcontact.value.outreachstatus[0].outreachProgram;\r\n log_outreach_status.logOutreachStatus.outreachStatusTitle = this.logcontact.value.outreachstatus[0].outreachStatus;\r\n log_outreach_status.logOutreachStatus.outreachStatusId = this.logcontact.value.outreachstatus[0].outreachStatusId;\r\n }\r\n\r\n log_outreach_status.logOutreachStatus.createdBy = this.userProfile.userPk;\r\n log_outreach_status.logOutreachStatus.industry = this.logcontact?.value?.industry;\r\n log_outreach_status.logOutreachStatus.other = this.logcontact?.value?.other;\r\n\r\n if (\r\n this.logcontact.value.outreachstatus[0].outreachStatusId == 3 \r\n && this.logcontact.value.outreachstatus[0].outreachProgram == 'IP' // status = 'Contract Initiated (Contracted Clinic)'\r\n ){ \r\n if (this.opportunitie.outreachEffort.IP.isScheduledClinics) {\r\n alert('An Immunization Event has already been initiated or scheduled for this outreach opportunity. Click the outreach opportunity to view initiated contracts or view the opportunity’s events in the Upcoming or Past Events.');\r\n }\r\n else {\r\n this.logContactPrograms(log_outreach_status, 3);\r\n }\r\n }\r\n else if (\r\n this.logcontact.value.outreachstatus[0].outreachProgram == 'IP' \r\n && this.logcontact.value.outreachstatus[0].outreachStatusId == 8\r\n ){\r\n SessionDetails.EventDetails(log_outreach_status);\r\n this.router.navigateByUrl(\"/communityoutreach/charityprogram\");\r\n //this.logContactPrograms(log_outreach_status, 8);\r\n }\r\n else if (\r\n this.logcontact.value.outreachstatus[0].outreachProgram == 'IP' \r\n && this.logcontact.value.outreachstatus[0].outreachStatusId == 13 // status = 'Equity Events (No Contract)'\r\n ) { \r\n SessionDetails.EventDetails(log_outreach_status);\r\n sessionStorage[\"NewLogEntry\"] = 1;\r\n this.router.navigateByUrl(\"/communityoutreach/equityevents\");\r\n this.logContactPrograms(log_outreach_status, 13);\r\n }\r\n else if (\r\n this.logcontact.value.outreachstatus[0].outreachProgram == 'IP' \r\n && this.logcontact.value.outreachstatus[0].outreachStatusId == 12 // status = 'Community Outreach (No Contract)'\r\n ) { \r\n SessionDetails.EventDetails(log_outreach_status);\r\n sessionStorage[\"NewLogEntry\"] = 1;\r\n this.router.navigateByUrl(\"/communityoutreach/communityoutreach\");\r\n this.logContactPrograms(log_outreach_status, 12);\r\n }\r\n else if (\r\n this.logcontact.value.outreachstatus[0].outreachProgram == 'SR' \r\n && this.logcontact.value.outreachstatus[0].outreachStatusId == 3 // status = 'Event Scheduled'\r\n ) {\r\n SessionDetails.EventDetails(log_outreach_status);\r\n this.router.navigateByUrl(\"/communityoutreach/scheduleevent\");\r\n }\r\n else if (\r\n (this.logcontact.value.outreachstatus[0].outreachProgram == 'SR' \r\n || this.logcontact.value.outreachstatus[0].outreachProgram == 'IP') \r\n && this.logcontact.value.outreachstatus[0].outreachStatusId == 5) // status = 'Business Closed'\r\n { \r\n this.logContact(log_outreach_status);\r\n }\r\n else if (\r\n (this.logcontact.value.outreachstatus[0].outreachProgram == 'SR' \r\n || this.logcontact.value.outreachstatus[0].outreachProgram == 'IP')\r\n && this.logcontact.value.outreachstatus[0].outreachStatusId == 4) // status = 'No Client Interest'\r\n { \r\n this.dialogOptConLog = false;\r\n this.logContact(log_outreach_status);\r\n }\r\n else if (\r\n this.logcontact.value.outreachstatus[0].outreachProgram == 'SR' \r\n && this.logcontact.value.outreachstatus[0].outreachStatusId == 1) // status = 'Active'\r\n {\r\n this.dialogOptConLog = false;\r\n this.logContact(log_outreach_status);\r\n }\r\n else if (\r\n (this.logcontact.value.outreachstatus[0].outreachProgram == 'SR' \r\n || this.logcontact.value.outreachstatus[0].outreachProgram == 'IP') \r\n && this.logcontact.value.outreachstatus[0].outreachStatusId == 2) // status = 'Follow-up'\r\n {\r\n if (this.logcontact.value.outreachstatus[0].outreachProgram == 'SR') {\r\n SessionDetails.SetProgramType(ProgramType.SR);\r\n }\r\n if (this.logcontact.value.outreachstatus[0].outreachProgram == 'IP') {\r\n SessionDetails.SetProgramType(ProgramType.IP);\r\n this.logContactPrograms(log_outreach_status, 2);\r\n }\r\n SessionDetails.SetLogContact(log_outreach_status);\r\n this.router.navigateByUrl(\"/communityoutreach/followUp\");\r\n }\r\n }\r\n else {\r\n this.errorMessage = \"Outreach status is required\";\r\n }\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.logcontact);\r\n }\r\n\r\n }\r\n logContactCancelClicked() {\r\n this.dialogOptConLog = false;\r\n this.showNCIOptions = false;\r\n this.showFeedbackNotes = true;\r\n\r\n }\r\n logContact(log_outreach_status) {\r\n this.disable_button = true;\r\n this.showNCIOptions = false;\r\n this.showFeedbackNotes = true;\r\n console.log(log_outreach_status);\r\n\r\n this.schedule_event_service.postSimpleUpEvent(log_outreach_status).subscribe((data: any) => {\r\n if (data.errorS === null) {\r\n this.spinner.show();\r\n if (data != null && data.errorS && data.errorS.errorCode == -1) {\r\n this.dialogOptConLog = false;\r\n this.dialogMsg = ErrorMessages[\"CIError\"]\r\n this.CIError = true;\r\n return false;\r\n }\r\n\r\n this.disable_button = false;\r\n this.dialogOptConLog = false;\r\n this.dialogOptConLogforPCA = false;\r\n this.message = \"The Business Contact was logged successfully!\";\r\n this.getAssignedBusiness(this.storeProfile);\r\n setTimeout(() => {\r\n this.selectName(this.opportunityForm.value.defaultSortBY);\r\n this.spinner.hide();\r\n }, 5000);\r\n this.message_service.sendProfileChange(\"profilechange\");\r\n }\r\n },\r\n err => {\r\n this.disable_button = false;\r\n }\r\n );\r\n }\r\n logContactPrograms(log_outreach_status, outreach_status) {\r\n this.disable_button = true;\r\n this.schedule_event_service.postSimpleUpEvent(log_outreach_status).subscribe((data: any) => {\r\n\r\n if (data.errorS == null) {\r\n\r\n \r\n sessionStorage[\"outreachBusinessPkForLog\"] = log_outreach_status.logOutreachStatus.outreachBusinessPk;\r\n\r\n if (data != null && data.errorS && data.errorS.errorCode == -1) {\r\n this.dialogOptConLog = false;\r\n this.dialogMsg = ErrorMessages[\"CIError\"]\r\n this.CIError = true;\r\n return false;\r\n }\r\n if (outreach_status == 3) {\r\n this.dialogOptConLog = false;\r\n this.message_service.sendProfileChange(\"profilechange\");\r\n SessionDetails.SetAgreementPK(data != null ? data.logOutreachStatus.clinicAgreementPk : 0);\r\n this.disable_button = false;\r\n this.router.navigateByUrl(\"/communityoutreach/contract\");\r\n }\r\n }\r\n },\r\n err => {\r\n this.disable_button = false;\r\n }\r\n );\r\n }\r\n isFieldValid(field: string) {\r\n return !this.logcontact.get(field).valid && this.logcontact.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n selectName(sortBy) {\r\n SessionDetails.setIsPCA(false);\r\n SessionDetails.setIsSR(false);\r\n SessionDetails.setIsCOVID(false);\r\n SessionDetails.SetStoreOppSortByDefaultVal(sortBy);\r\n this.opportunitiesDataList = this.opportunitiesFullDataList;\r\n this.assignedBusinessTitle = 'Outreach Opportunities';\r\n this.pcahome = false;\r\n this.storehome = true;\r\n if (sortBy == 1) {\r\n SessionDetails.setIsIP(true);\r\n SessionDetails.setIsSR(false);\r\n SessionDetails.setIsPCA(false);\r\n SessionDetails.setIsCOVID(false);\r\n this._alertService.sendWarningAlert(true, false, false);\r\n this.opportunitiesDataList = this._sortByPipe.sortBy(this.opportunitiesDataList.filter(item => item.isPCA == false), \"employmentSize\");\r\n //this.opportunitiesDataList = this._sortByPipe.sortBy(this.opportunitiesDataList.filter(item => item.isPCA == false), \"ip\");\r\n this.attentionAlert = true;\r\n }\r\n else if (sortBy == 2) {\r\n SessionDetails.setIsIP(true);\r\n SessionDetails.setIsSR(false);\r\n SessionDetails.setIsPCA(false);\r\n SessionDetails.setIsCOVID(false);\r\n this._alertService.sendWarningAlert(true, false, false);\r\n this.opportunitiesDataList = this._sortByPipe.sortBy(this.opportunitiesDataList.filter(item => item.isPCA == false), \"isPreviousClient\");\r\n this.opportunitiesDataList = this._sortByPipe.sortBy(this.opportunitiesDataList.filter(item => item.isPCA == false), \"ip\");\r\n this.attentionAlert = true;\r\n }\r\n else if (sortBy == 3) {\r\n SessionDetails.setIsIP(true);\r\n SessionDetails.setIsSR(false);\r\n SessionDetails.setIsPCA(false);\r\n SessionDetails.setIsCOVID(false);\r\n this._alertService.sendWarningAlert(true, false, false);\r\n this.opportunitiesDataList = this._sortByPipe.sortBy(this.opportunitiesDataList.filter(item => item.isPCA == false), \"lastContact\");\r\n this.attentionAlert = true;\r\n }\r\n else if (sortBy == 4) {\r\n SessionDetails.setIsIP(true);\r\n SessionDetails.setIsSR(false);\r\n SessionDetails.setIsPCA(false);\r\n SessionDetails.setIsCOVID(false);\r\n this._alertService.sendWarningAlert(true, false, false);\r\n this.opportunitiesDataList = this._sortByPipe.sortBy(this.opportunitiesDataList.filter(item => item.isPCA == false), \"lastContact\", \"latest\");\r\n this.attentionAlert = true;\r\n }\r\n else if (sortBy == 5) {\r\n SessionDetails.setIsIP(false);\r\n //for (let i = 0; i < this.opportunities.length; i++) {\r\n SessionDetails.setIsSR(true);\r\n this._alertService.sendWarningAlert(false, true, false);\r\n this.pcahome = false;\r\n this.srhome = true;\r\n this.storehome = true;\r\n SessionDetails.setIsCOVID(false);\r\n this.opportunities1 = this._sortByPipe.sortBy(this.opportunitiesDataList.filter(item => item.isPCA == false), \"outreachEffort\");\r\n this.opportunitiesDataList = this.opportunities1;\r\n //}\r\n this.attentionAlert = false;\r\n }\r\n else if (sortBy == 6) {\r\n SessionDetails.setIsPCA(true);\r\n this._alertService.sendWarningAlert(false, false, true);\r\n // this.storeStatus.forEach(item=>{\r\n // item.storeTasksStatus = item.storeTasksStatus==\"Perform Clinic\"?\"Host Event\":item.storeTasksStatus,\r\n // item.storeTasksStatus = item.storeTasksStatus==\"Complete/Report Clinic\"?\" Complete/Report Event\":item.storeTasksStatus;\r\n // });\r\n SessionDetails.setIsIP(false);\r\n this.pcahome = true;\r\n SessionDetails.setIsPCA(true);\r\n this.storehome = false;\r\n this.assignedBusinessTitle = 'PCA Organizations';\r\n this.opportunitiesDataList = this.opportunitiesDataList.filter(item => item.isPCA == true);// this.opportunities1;\r\n this.srhome = false;\r\n this.message_service.setHintsType('pca');\r\n this.attentionAlert = false;\r\n SessionDetails.setIsCOVID(false);\r\n }\r\n else if (sortBy == 7) {\r\n //for (let i = 0; i < this.opportunities.length; i++) {\r\n SessionDetails.setIsSR(false);\r\n this._alertService.sendWarningAlert(true, false, false);\r\n SessionDetails.setIsIP(true);\r\n this.pcahome = false;\r\n this.srhome = false;\r\n this.storehome = true;\r\n SessionDetails.setIsCOVID(false);\r\n this.opportunities1 = this._sortByPipe.sortBy(this.opportunitiesDataList.filter(item => item.isPCA == false), \"ip\");\r\n this.opportunities1 = this.opportunities1.sort((a, b) => a.isInterestClickedInRetentionEmail < b.isInterestClickedInRetentionEmail ? 1 : a.isInterestClickedInRetentionEmail > b.isInterestClickedInRetentionEmail ? -1 : 0)\r\n this.opportunities1 = this.opportunities1.sort((a, b) => a.isTopPriorityFromLead < b.isTopPriorityFromLead ? 1 : a.isTopPriorityFromLead > b.isTopPriorityFromLead ? -1 : 0)\r\n this.opportunities1 = this.opportunities1.sort((a, b) => a.isHighPriority < b.isHighPriority ? 1 : a.isHighPriority > b.isHighPriority ? -1 : 0)\r\n this.opportunitiesDataList = this.opportunities1;\r\n \r\n //}\r\n this.attentionAlert = false;\r\n }\r\n else if (sortBy == 8) {\r\n SessionDetails.setIsSR(false);\r\n this._alertService.sendWarningAlert(true, false, false);\r\n SessionDetails.setIsIP(true);\r\n this.pcahome = false;\r\n this.srhome = false;\r\n this.storehome = true;\r\n SessionDetails.setIsCOVID(false);\r\n this.opportunities1 = this._sortByPipe.sortBy(this.opportunitiesDataList.filter(item => item.isPCA == false), \"ip\");\r\n this.opportunities1 = this.opportunities1.sort((a, b) => a.isInterestClickedInRetentionEmail < b.isInterestClickedInRetentionEmail ? 1 : a.isInterestClickedInRetentionEmail > b.isInterestClickedInRetentionEmail ? -1 : 0)\r\n this.opportunities1 = this.opportunities1.sort((a, b) => a.isTopPriorityFromLead < b.isTopPriorityFromLead ? 1 : a.isTopPriorityFromLead > b.isTopPriorityFromLead ? -1 : 0)\r\n this.opportunities1 = this.opportunities1.sort((a, b) => a.isHighPriority < b.isHighPriority ? 1 : a.isHighPriority > b.isHighPriority ? -1 : 0)\r\n this.opportunitiesDataList = this.opportunities1;\r\n //}\r\n this.attentionAlert = false;\r\n }\r\n else {\r\n SessionDetails.setIsIP(false);\r\n this.opportunities = this.opportunitiesData;\r\n this.message_service.setHintsType('');\r\n this.attentionAlert = true;\r\n }\r\n }\r\n\r\n showDialogInfo() {\r\n this.displayInfoDlg = true;\r\n }\r\n showDialogInfoUpcomingEvents() {\r\n this.displayInfoDlgUpcomingEvents = true;\r\n }\r\n showErrorDialog(msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.stateSpecificDisplay = true;\r\n }\r\n addBusiness() {\r\n this.appOpp = true;\r\n \r\n }\r\n onContactDateSelected(selectedDate: Date) {\r\n this.logcontact.controls[\"defaultDate\"].setValue(new Date(selectedDate.getFullYear(), selectedDate.getMonth(), selectedDate.getDate(), 12, 30, 55));\r\n }\r\n okClicked() {\r\n this.stateSpecificDisplay = false;\r\n }\r\n EditBusiness() {\r\n\r\n SessionDetails.SetActionType(ActionType.editOportunity);\r\n this.editBuisnessData = this.opportunitie;\r\n SessionDetails.opportunitiesData(this.editBuisnessData);\r\n if (this.opportunityForm.value.defaultSortBY == 6) {\r\n\r\n this.router.navigateByUrl('/communityoutreach/addpca');\r\n } else {\r\n\r\n this.router.navigateByUrl('/communityoutreach/opportunity');\r\n }\r\n }\r\n EventDetails() {\r\n\r\n if (this.eventDetails.clinicType == \"Event Scheduled\") {\r\n this.router.navigateByUrl('/communityoutreach/scheduleevent');\r\n }\r\n }\r\n\r\n followUpReminders() {\r\n SessionDetails.SetFollowUp(true);\r\n if (this.opportunitie.outreachEffort.SR.outreachStatus == '2') {\r\n SessionDetails.SetProgramType(ProgramType.SR);\r\n }\r\n if (this.opportunitie.outreachEffort.IP.outreachStatus == '2') {\r\n SessionDetails.SetProgramType(ProgramType.IP);\r\n }\r\n if (this.opportunitie.outreachEffort.PCA.outreachStatus == '2') {\r\n SessionDetails.SetProgramType(ProgramType.PCA);\r\n }\r\n if (this.opportunitie.outreachEffort.SR.outreachStatus == '2' && this.opportunitie.outreachEffort.IP.outreachStatus == '2') {\r\n SessionDetails.SetProgramType(ProgramType.SRIP);\r\n }\r\n this.router.navigateByUrl('/communityoutreach/followUp');\r\n }\r\n deleteDNC() {\r\n if (this.selectedDataList.length > 0) {\r\n this.displayDNC = true;\r\n }\r\n }\r\n\r\n cancelConfirmation() {\r\n this.displayDNC = false;\r\n }\r\n deleteConfirmationDNC() {\r\n if (this.selectedDataList.length > 0) {\r\n for (var i = 0; i < this.selectedDataList.length; i++) {\r\n this.selectedDNCData.push(this.selectedDataList[i].pk);\r\n }\r\n this._opportunityService.deleteNationalContractClients(this.selectedDNCData, this.userProfile.userPk).subscribe((data: any) => {\r\n if (data == \"success\") {\r\n this._opportunityService.getNationalContractClients().subscribe((res: any) => {\r\n this.dncTempClients = res\r\n });\r\n this.displayDNC = false;\r\n this.selectedDataList = [];\r\n }\r\n else {\r\n // alert(\"Issue with deleting\");\r\n\r\n }\r\n },\r\n error => {\r\n if (error.indexOf(\"417\") > -1) {\r\n this.DNCError = true;\r\n this.dialogMsg = \"An error has occurred. Please contact Administrator.\";\r\n }\r\n }\r\n );\r\n }\r\n this.displayDNC = false;\r\n\r\n }\r\n clFld() {\r\n this.searchText = \"\";\r\n }\r\n\r\n okDNCError() {\r\n this.DNCError = false;\r\n }\r\n okCIError() {\r\n this.CIError = false;\r\n }\r\n\r\n showSchedulerMenu(opp: any) {\r\n this.targetObj = opp;\r\n this.dispSchedulerMenu = true;\r\n }\r\n\r\n goToclientSchedulerApptTracker(opp: any) {\r\n this.eventDetails = this.targetObj;\r\n SessionDetails.EventDetails(this.eventDetails);\r\n if (opp == 'Corporate') {\r\n switch (Number(this.eventDetails.clinicTypeId)) {\r\n case 1:\r\n this.router.navigateByUrl('/communityoutreach/LocalClinicProgramDetails');\r\n break;\r\n case 2:\r\n this.router.navigateByUrl('/communityoutreach/CharityProgramDetails');\r\n break;\r\n case 6:\r\n this.router.navigateByUrl('/communityoutreach/CommunityOutreachProgramDetails');\r\n break;\r\n case 13:\r\n this.router.navigateByUrl('/communityoutreach/EquityEventDetails');\r\n break;\r\n default:\r\n this.router.navigateByUrl('/communityoutreach/CorporateClinicProgramDetails');\r\n break;\r\n }\r\n\r\n } \r\n else if (this.eventDetails.apptSchedulerType&&[1].indexOf(this.eventDetails.apptSchedulerType)>-1&&opp == 'Tracker'){\r\n sessionStorage.removeItem(\"sI\");\r\n this.router.navigateByUrl('/communityoutreach/corpStoreApptTracker');\r\n }\r\n else if (this.eventDetails.apptSchedulerType&&[2,3].indexOf(this.eventDetails.apptSchedulerType)>-1){\r\n window.open('https://vaccine.walgreens.com');\r\n }\r\n }\r\n\r\n\r\n\r\n getTitle(state, parent) {\r\n var data = [];\r\n if (parent && parent.snapshot.data && parent.snapshot.data.title) {\r\n data.push(parent.snapshot.data.title);\r\n }\r\n\r\n if (state && parent) {\r\n data.push(... this.getTitle(state, state.firstChild(parent)));\r\n }\r\n return data;\r\n }\r\n\r\n showDialogPCA(e) {\r\n if (e == \"Choose an action\") {\r\n this.display1 = true;\r\n }\r\n if (e == \"Add Opportunity\") {\r\n this.appOpp = true;\r\n }\r\n }\r\n\r\n appOppourtunity(e) {\r\n if (e == 'Add IP Opportunity') {\r\n this.appOpp = false;\r\n var errMsg: string[] = [];\r\n // var resrict_states = [\"MO\", \"DC\"];\r\n var resrict_states = []; //\"DC\" -- Removing DC state as per task# 1363\r\n var current_date = new Date();\r\n this.stateSpecific = SessionDetails.GetState();\r\n this.stateSpecificDisplay = false;\r\n var loggedInUserEmail = SessionDetails.GetUserProfile().email;\r\n // if (this.stateSpecific==\"MO\" && current_date > new Date(environment.MO_State_From) && current_date < new Date(environment.MO_State_TO)) {\r\n // this.dialogMsg = String.Format(ErrorMessages['restrictedStates'], \"Missouri\", \"20\");\r\n // }\r\n // else \r\n \r\n // if (this.stateSpecific == \"DC\" && current_date > new Date(environment.DC_State_From) && current_date < new Date(environment.DC_State_TO)) {\r\n // this.dialogMsg = String.Format(ErrorMessages['restrictedStates'], \"Columbia \", \"15\");\r\n // }\r\n\r\n // if (resrict_states.indexOf(this.stateSpecific) > -1 && RestrictedStatesAllowedUsers.indexOf(loggedInUserEmail) == -1 && this.userProfile.userRole != \"Healthcare Supervisor\") {\r\n // // if (this.stateSpecific==\"MO\" && current_date > new Date(environment.MO_State_From) && current_date < new Date(environment.MO_State_TO)) {\r\n // // let sMsg = null;\r\n // // errMsg = [];\r\n // // errMsg.push(String.Format(ErrorMessages['restrictedStates'], \"Missouri\", \"20\"));\r\n // // sMsg = errMsg;\r\n // // this.showErrorDialog(sMsg);\r\n // // }\r\n // // else\r\n // if (this.stateSpecific == \"DC\" && current_date > new Date(environment.DC_State_From) && current_date < new Date(environment.DC_State_TO)) {\r\n // let sMsg = null;\r\n // errMsg = [];\r\n // errMsg.push(String.Format(ErrorMessages['restrictedStates'], \"Columbia \", \"15\"));\r\n // sMsg = errMsg;\r\n // this.showErrorDialog(sMsg);\r\n // }\r\n // else {\r\n // if (resrict_states.indexOf(this.stateSpecific) > -1 && (RestrictedStatesAllowedUsers.indexOf(loggedInUserEmail) > -1 || this.userProfile.userRole == \"Healthcare Supervisor\")) {\r\n // this.restrictedStatesOverride = true;\r\n // }\r\n // else {\r\n // SessionDetails.SetActionType(ActionType.addOportunity);\r\n // this.router.navigateByUrl('/communityoutreach/opportunity');\r\n // }\r\n // }\r\n // }\r\n //else {\r\n if (resrict_states.indexOf(this.stateSpecific) > -1 && (RestrictedStatesAllowedUsers.indexOf(loggedInUserEmail) > -1 || this.userProfile.userRole == \"Healthcare Supervisor\")) {\r\n this.restrictedStatesOverride = true;\r\n }\r\n else {\r\n SessionDetails.SetActionType(ActionType.addOportunity);\r\n this.router.navigateByUrl('/communityoutreach/opportunity');\r\n }\r\n //}\r\n }\r\n\r\n if (e == 'Add PCA Opportunity') {\r\n SessionDetails.SetActionType(ActionType.addOportunity);\r\n this.router.navigate(['/communityoutreach/addpca']);\r\n this.appOpp = false;\r\n }\r\n\r\n }\r\n\r\n overrideRestrictedStatesRule() {\r\n this.restrictedStatesOverride = false;\r\n SessionDetails.SetActionType(ActionType.addOportunity);\r\n this.router.navigateByUrl('/communityoutreach/opportunity');\r\n }\r\n cancelRestrictedStatesOption() {\r\n this.restrictedStatesOverride = false;\r\n }\r\n pcaAdd() {\r\n this.display1 = true;\r\n }\r\n\r\n showPCAContactLog() {\r\n this.dialogPCAContactLog = true;\r\n }\r\n\r\n scrollToTop() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n let scrollToTop = window.setInterval(() => {\r\n let pos = window.pageYOffset;\r\n if (document.readyState == \"complete\" && pos > 0) {\r\n window.scrollTo(0, 0);\r\n } else if (pos == 0) {\r\n window.clearInterval(scrollToTop);\r\n }\r\n });\r\n }\r\n }\r\n\r\n //PCA related changes\r\n onPCASubmit() {\r\n var contact_date = new Date();\r\n this.storeProfile = SessionDetails.GetStoreId();\r\n this.logcontact = this._fb.group({\r\n select_outreach: this._fb.control(this.logcontact.value.select_outreach, null),\r\n businessName: this._fb.control(this.opportunitie.businessName, null),\r\n firstName: this._fb.control(this.logcontact.value.firstName, null),\r\n lastName: this._fb.control(this.logcontact.value.lastName, null),\r\n defaultDate: this._fb.control(this.logcontact.value.defaultDate, null),\r\n outreachstatus: this._fb.control(this.logcontact.value.outreachstatus, Validators.required),\r\n feedback: this._fb.control(this.logcontact.value.feedback, null),\r\n industry: this._fb.control(this.opportunitie.industry ?? '', null),\r\n other: this._fb.control(this.opportunitie.others ?? '', null)\r\n });\r\n if (this.logcontact.valid) {\r\n this.logcontact.controls[\"feedback\"].setValidators(null);\r\n this.logcontact.value.outreachstatus = this.outreachStatus.filter(item => item.outreachStatusId == this.outreachStatusInfo);\r\n\r\n if (this.logcontact.value.outreachstatus[0].outreachStatusId > 0) {\r\n // if (this.logcontact.value.outreachstatus[0].outreachStatusId == 4) {\r\n this.logcontact = this._fb.group({\r\n select_outreach: this._fb.control(this.logcontact.value.select_outreach, Validators.required),\r\n businessName: this._fb.control(this.opportunitie.businessName, null),\r\n firstName: this._fb.control(this.logcontact.value.firstName, Validators.required),\r\n lastName: this._fb.control(this.logcontact.value.lastName, Validators.required),\r\n defaultDate: this._fb.control(this.logcontact.value.defaultDate, null),\r\n outreachstatus: this._fb.control(this.logcontact.value.outreachstatus, Validators.required),\r\n feedback: this._fb.control(this.logcontact.value.feedback, Validators.required)\r\n });\r\n var log_outreach_status = new FollowUp();\r\n log_outreach_status.logOutreachStatus.businessPk = this.opportunitie.businessPk;\r\n log_outreach_status.logOutreachStatus.firstName = this.logcontact.value.firstName;\r\n log_outreach_status.logOutreachStatus.lastName = this.logcontact.value.lastName;\r\n log_outreach_status.logOutreachStatus.feedback = this.logcontact.value.feedback;\r\n //log_outreach_status.logOutreachStatus.contactDate = this.logcontact.value.defaultDate;\r\n log_outreach_status.logOutreachStatus.contactDate = new Date(this.logcontact.value.defaultDate.getFullYear(), this.logcontact.value.defaultDate.getMonth()\r\n , this.logcontact.value.defaultDate.getDate(), contact_date.getHours(), contact_date.getMinutes(), contact_date.getSeconds(), contact_date.getMilliseconds());\r\n //log_outreach_status.logOutreachStatus.contactDate = contact_date;\r\n\r\n log_outreach_status.logOutreachStatus.outreachBusinessPk = this.opportunitie.outreachEffort.PCA.outreachBusinessPk;\r\n log_outreach_status.logOutreachStatus.outreachProgram = this.logcontact.value.outreachstatus[0].outreachProgram;\r\n log_outreach_status.logOutreachStatus.outreachStatusTitle = this.logcontact.value.outreachstatus[0].outreachStatus;\r\n log_outreach_status.logOutreachStatus.outreachStatusId = this.logcontact.value.outreachstatus[0].outreachStatusId;\r\n\r\n\r\n log_outreach_status.logOutreachStatus.createdBy = this.userProfile.userPk;\r\n\r\n if (log_outreach_status.logOutreachStatus.outreachStatusId == 2) {\r\n SessionDetails.SetProgramType(ProgramType.PCA);\r\n SessionDetails.SetLogContact(log_outreach_status);\r\n this.router.navigateByUrl(\"/communityoutreach/followUp\");\r\n }\r\n\r\n else if (log_outreach_status.logOutreachStatus.outreachStatusId == 1 || log_outreach_status.logOutreachStatus.outreachStatusId == 3 ||\r\n log_outreach_status.logOutreachStatus.outreachStatusId == 6 || log_outreach_status.logOutreachStatus.outreachStatusId == 7) {\r\n this.logContactPCAPrograms(log_outreach_status, log_outreach_status.logOutreachStatus.outreachStatusId);\r\n }\r\n else {\r\n this.logContact(log_outreach_status);\r\n }\r\n }\r\n\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.logcontact);\r\n // if (this.outreachStatusInfo == \"0\") {\r\n // this.logcontact.controls['outreachstatus'].setValue(\"\");\r\n // }\r\n // else {\r\n // this.logcontact.controls['outreachstatus'].setValue(this.outreachStatusInfo);\r\n // }\r\n }\r\n }\r\n onPCAStatusChange(select_outreach) {\r\n //var organization_types = [1,2,3,4,5];\r\n\r\n this.displayMessageForPCA = false;\r\n var immunization_status = [1, 3, 6, 7];\r\n this.jobTitle = false;\r\n if (this.outreachStatusValue != '') {\r\n this.logcontact = this._fb.group({\r\n select_outreach: this._fb.control(select_outreach, Validators.required),\r\n businessName: this._fb.control(this.opportunitie.businessName, null),\r\n firstName: this._fb.control(this.opportunitie.firstName, null),\r\n lastName: this._fb.control(this.opportunitie.lastName, null),\r\n jobTitle: this._fb.control(this.opportunitie.jobTitle, null),\r\n defaultDate: this._fb.control(this.defaultDate, null),\r\n outreachstatus: this._fb.control('', Validators.required),\r\n feedback: this._fb.control('', null),\r\n industry: this._fb.control(this.opportunitie.industry ?? '', null),\r\n other: this._fb.control(this.opportunitie.others ?? '', null)\r\n });\r\n }\r\n\r\n this.outreachStatus = this._sortByPipe.sortBy(this.outreachStatusData.filter(\r\n item => {\r\n return (item.outreachProgram == select_outreach\r\n && item.outreachStatusId != 9 && item.outreachStatusId != 10 && item.isActive == true\r\n )\r\n }), \"sortOrder\");\r\n\r\n if (this.opportunitie.organizationType == 1 || this.opportunitie.organizationType == 2) {\r\n var index = this.outreachStatus.findIndex(item => item.outreachStatusId == 3);\r\n if (index > -1) {\r\n this.outreachStatus.splice(index, 1);\r\n }\r\n index = -1;\r\n index = this.outreachStatus.findIndex(item => item.outreachStatusId == 6);\r\n if (index > -1) {\r\n this.outreachStatus.splice(index, 1);\r\n }\r\n index = -1;\r\n index = this.outreachStatus.findIndex(item => item.outreachStatusId == 7);\r\n if (index > -1) {\r\n this.outreachStatus.splice(index, 1);\r\n }\r\n if (this.opportunitie.outreachEffort.PCA.isScheduledClinics) {\r\n this.outreachStatus = this.outreachStatus.filter(item => item.outreachStatusId == 1);\r\n }\r\n }\r\n if (this.opportunitie.organizationType == 3) {\r\n var index = this.outreachStatus.findIndex(item => item.outreachStatusId == 1);\r\n if (index > -1) {\r\n this.outreachStatus.splice(index, 1);\r\n index = -1;\r\n index = this.outreachStatus.findIndex(item => item.outreachStatusId == 6);\r\n if (index > -1) {\r\n this.outreachStatus.splice(index, 1);\r\n }\r\n index = -1;\r\n index = this.outreachStatus.findIndex(item => item.outreachStatusId == 7);\r\n if (index > -1) {\r\n this.outreachStatus.splice(index, 1);\r\n }\r\n var index2 = this.outreachStatus.findIndex(item => item.outreachStatusId == 3);\r\n if (index2 > -1) {\r\n this.outreachStatus[index2].outreachStatus = SessionDetails.GetState() == 'FL' ? 'Florida Only Government LULA' :\r\n SessionDetails.GetState() == 'TX' ? 'Texas Only Government LULA' : this.outreachStatus[index2].outreachStatus;\r\n }\r\n if (this.opportunitie.outreachEffort.PCA.isScheduledClinics) {\r\n this.outreachStatus = this.outreachStatus.filter(item => item.outreachStatusId == 3);\r\n }\r\n }\r\n }\r\n if (this.opportunitie.organizationType == 4) {\r\n var index = this.outreachStatus.findIndex(item => item.outreachStatusId == 3);\r\n if (index > -1) {\r\n this.outreachStatus.splice(index, 1);\r\n }\r\n index = -1;\r\n index = this.outreachStatus.findIndex(item => item.outreachStatusId == 1);\r\n if (index > -1) {\r\n this.outreachStatus.splice(index, 1);\r\n }\r\n index = -1;\r\n index = this.outreachStatus.findIndex(item => item.outreachStatusId == 7);\r\n if (index > -1) {\r\n this.outreachStatus.splice(index, 1);\r\n }\r\n if (this.opportunitie.outreachEffort.PCA.isScheduledClinics) {\r\n this.outreachStatus = this.outreachStatus.filter(item => item.outreachStatusId == 6);\r\n }\r\n }\r\n if (this.opportunitie.organizationType == 5) {\r\n var index = this.outreachStatus.findIndex(item => item.outreachStatusId == 3);\r\n if (index > -1) {\r\n this.outreachStatus.splice(index, 1);\r\n }\r\n index = -1;\r\n index = this.outreachStatus.findIndex(item => item.outreachStatusId == 1);\r\n if (index > -1) {\r\n this.outreachStatus.splice(index, 1);\r\n }\r\n index = -1;\r\n index = this.outreachStatus.findIndex(item => item.outreachStatusId == 6);\r\n if (index > -1) {\r\n this.outreachStatus.splice(index, 1);\r\n }\r\n if (this.opportunitie.outreachEffort.PCA.isScheduledClinics) {\r\n this.outreachStatus = this.outreachStatus.filter(item => item.outreachStatusId == 7);\r\n }\r\n }\r\n\r\n // if (this.opportunitie.outreachStatus.split(',').length - 1 >= 2) {\r\n\r\n if (this.opportunitie.outreachEffort.PCA.outreachProgram != null) {\r\n this.outreachStatusInfo = this.opportunitie.outreachEffort.PCA.outreachStatus;\r\n }\r\n\r\n\r\n this.logcontact.controls['outreachstatus'].setValue(\"\");\r\n // if (this.outreach_status_info == '4') {\r\n // this.job_title = true;\r\n // }\r\n //this.logcontact.value.outreachstatus = this.outreach_status.filter(item => item.outreachStatusId == this.outreach_status_info);\r\n if (immunization_status.indexOf(this.outreachStatusInfo) > -1 && !this.opportunitie.outreachEffort.PCA.isScheduledClinics) {\r\n this.displayMessageForPCA = true;\r\n }\r\n }\r\n showHintsOnButtonClick(hints_type: string): void {\r\n this.firstdispHintDialog = false;\r\n this.message_service.setHintsType(hints_type);\r\n this.message_service.setShowHintsOnButtonClick(true);\r\n }\r\n\r\n logContactPCAPrograms(log_outreach_status, outreach_status) {\r\n this.disable_button = true;\r\n\r\n this.schedule_event_service.postSimpleUpEvent(log_outreach_status).subscribe((data: any) => {\r\n\r\n if (data.errorS == null) {\r\n if (outreach_status == 1) {\r\n this.dialogOptConLog = false;\r\n this.message_service.sendProfileChange(\"profilechange\");\r\n SessionDetails.SetAgreementPK(data != null ? data.logOutreachStatus.clinicAgreementPk : 0);\r\n this.disable_button = false;\r\n this.router.navigateByUrl(\"/communityoutreach/asolula\");\r\n }\r\n if (outreach_status == 3) {\r\n this.dialogOptConLog = false;\r\n this.message_service.sendProfileChange(\"profilechange\");\r\n SessionDetails.SetAgreementPK(data != null ? data.logOutreachStatus.clinicAgreementPk : 0);\r\n this.disable_button = false;\r\n this.router.navigateByUrl(\"/communityoutreach/govlula\");\r\n }\r\n if (outreach_status == 6) {\r\n\r\n this.dialogOptConLog = false;\r\n this.message_service.sendProfileChange(\"profilechange\");\r\n SessionDetails.SetAgreementPK(data != null ? data.logOutreachStatus.clinicAgreementPk : 0);\r\n this.disable_button = false;\r\n this.router.navigateByUrl(\"/communityoutreach/opolula\");\r\n }\r\n if (outreach_status == 7) {\r\n\r\n this.dialogOptConLog = false;\r\n this.message_service.sendProfileChange(\"profilechange\");\r\n SessionDetails.SetAgreementPK(data != null ? data.logOutreachStatus.clinicAgreementPk : 0);\r\n this.disable_button = false;\r\n this.router.navigateByUrl(\"/communityoutreach/csslula\");\r\n }\r\n }\r\n },\r\n err => {\r\n this.disable_button = false;\r\n }\r\n );\r\n }\r\n\r\n checking(event: any) {\r\n let ele = event.target || event.targetElement || event.currentTarget;\r\n this.message_service.setTurnOnOffLocalHintsFromComponent(!ele.checked);\r\n this.firstdispHintDialog = false;\r\n sessionStorage.setItem(\"hintsOff\", \"yes\");\r\n }\r\n errorPopUpOkClick() {\r\n this.errorPopUp = false;\r\n this.router.navigateByUrl(\"/landing\");\r\n }\r\n\r\n onKeyUp(searchTextValue: string) {\r\n this.subject.next(searchTextValue);\r\n }\r\n\r\n handleSearch(e: string) {\r\n this.dispDNCsearch = true;\r\n let newString = e.replace(/[^A-Z0-9]+/ig, \"\");\r\n this.dncTempClients = [];\r\n let fltrData = this.dncClients.filter(t => t.clientNameMatchKey.toLowerCase().includes(newString.toLowerCase()));\r\n this.dncTempClients = fltrData;\r\n }\r\n\r\n clrDNCsearch() {\r\n this.dncFilter = '';\r\n this.dispDNCsearch = false;\r\n this.dncTempClients = this.dncClients;\r\n }\r\n \r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { PotentialClientInterestService } from '../../services/potential-client-interest.service';\r\n\r\n@Component({\r\n selector: 'app-store-responds-yes-or-no',\r\n templateUrl: './store-responds-yes-or-no.component.html',\r\n styleUrls: ['./store-responds-yes-or-no.component.css']\r\n})\r\nexport class StoreRespondsYesOrNoComponent implements OnInit {\r\n dialogMsg: string;\r\n dialogSummary: string;\r\n display: boolean;\r\n success_message: boolean;\r\n leadPk: any;\r\n storeResForLead: any;\r\n storeResForLeadStoreId: any;\r\n alreadyExists: boolean = false;\r\n leadNotFound: boolean;\r\n\r\n constructor(private spinner: NgxSpinnerService, private _apiservice: PotentialClientInterestService) { }\r\n\r\n ngOnInit(): void {\r\n this.spinner.hide();\r\n this.sendEmail();\r\n }\r\n\r\n\r\n sendEmail() {\r\n this.leadPk = sessionStorage[\"leadPk\"];\r\n this.storeResForLead = sessionStorage[\"storeResForLead\"];\r\n this.storeResForLeadStoreId = sessionStorage[\"storeResForLeadStoreId\"];\r\n\r\n this.spinner.show();\r\n if (this.leadPk) {\r\n if (this.storeResForLead == 'Yes') {\r\n this._apiservice.sendEmailToClientWhenStoreRespondsYes(this.leadPk, this.storeResForLeadStoreId).subscribe((data: any) => {\r\n \r\n sessionStorage.clear();\r\n this.spinner.hide();\r\n if (data == 'exists') {\r\n this.alreadyExists = true;\r\n }\r\n if (data == 'lead not found') {\r\n this.leadNotFound = true;\r\n }\r\n \r\n },\r\n err => {\r\n \r\n sessionStorage.clear();\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialogForMail(ErrorMessages['serverError'], err.message, false);\r\n break;\r\n case 400:\r\n this.showDialogForMail(ErrorMessages['clientError'], err.message, false);\r\n break;\r\n default:\r\n this.showDialogForMail(ErrorMessages['serverError'], err.message, false);\r\n break;\r\n }\r\n\r\n });\r\n }\r\n else if (this.storeResForLead == 'No') {\r\n this._apiservice.sendEmailToClientWhenStoreRespondsNo(this.leadPk, this.storeResForLeadStoreId).subscribe((data: any) => {\r\n \r\n sessionStorage.clear();\r\n this.spinner.hide();\r\n if (data == 'exists') {\r\n this.alreadyExists = true;\r\n }\r\n if (data == 'lead not found') {\r\n this.leadNotFound = true;\r\n }\r\n },\r\n err => {\r\n \r\n sessionStorage.clear();\r\n this.spinner.hide(); \r\n switch (err) {\r\n case 500:\r\n this.showDialogForMail(ErrorMessages['serverError'], err.message, false);\r\n break;\r\n case 400:\r\n this.showDialogForMail(ErrorMessages['clientError'], err.message, false);\r\n break;\r\n default:\r\n this.showDialogForMail(ErrorMessages['serverError'], err.message, false);\r\n break;\r\n }\r\n\r\n });\r\n }\r\n }\r\n }\r\n\r\n showDialogForMail(msgSummary: string, msgDetail: string, success_message: boolean) {\r\n \r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n this.success_message = success_message;\r\n }\r\n\r\n okClicked() {\r\n this.display = false;\r\n window.location.href = 'https://wagsoutreach.com';\r\n\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Router } from \"@angular/router\";\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { EncryptDecrypt } from '../../../models/encryptDecrypt';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n\r\n@Injectable()\r\nexport class AuthenticationService {\r\n\r\n constructor(private _http: HttpClient, private router: Router) { }\r\n\r\n getLoginUser(encoded_data: string): Observable {\r\n var url = environment.API_URL + environment.RESOURCES.VERIFY_USER_GET + \"/\" + encoded_data;\r\n \r\n return this._http.get(url).pipe(catchError(Util.handleErrorV2));\r\n}\r\n\r\npostEncryptionDecryption(encrypt_decrypt: EncryptDecrypt): Observable {\r\n var url = environment.API_URL + environment.RESOURCES.POST_ENCRYPTION_DECRYPTION; \r\n return this._http.post(url, encrypt_decrypt,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n}\r\n\r\ngetUserProfile(): Observable { \r\n var url = environment.API_URL + environment.RESOURCES.GET_USER_PROFILE; \r\n return this._http.get(url,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n}\r\n\r\ngetSchedulerSiteLink(client_key:string): Observable {\r\n var url = environment.API_URL + environment.RESOURCES.GET_SCHEDULER_SITE_LINK +\"/\"+ client_key; \r\n return this._http.get(url).pipe(catchError(Util.handleErrorV2));\r\n}\r\n\r\n}\r\n","\r\nimport {of as observableOf, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { commonMenuItems } from '../../../JSON/Menu';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { StoreProfile } from '../../../models/storeProfile';\r\nimport { Util } from '../../../utility/util';\r\nimport { adminFooterMenuItems, storeManagerFooterMenuItems, districtManagerFooterMenuItems, healthcareSupervisorFooterMenuItems, directorRxRetailFooterMenuItems, regionalVicePresidentFooterMenuItems } from '../../../JSON/footerMenu';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError, map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class HeaderserviceService {\r\n constructor( private _http: HttpClient, private store_profile: StoreProfile) { }\r\n getCommonMenuItems() {\r\n return commonMenuItems;\r\n }\r\n\r\n getAdminFooterMenu() {\r\n return adminFooterMenuItems;\r\n }\r\n getStoreManagerFooterMenu() {\r\n return storeManagerFooterMenuItems;\r\n }\r\n\r\n getDistrictManagerFooterMenu() {\r\n return districtManagerFooterMenuItems;\r\n }\r\n\r\n getHealthcareSupervisorFooterMenu() {\r\n return healthcareSupervisorFooterMenuItems;\r\n }\r\n\r\n getDirectorRxRetailFooterMenu() {\r\n return directorRxRetailFooterMenuItems;\r\n }\r\n getRegionalVicePresidentFooterMenu() {\r\n return regionalVicePresidentFooterMenuItems;\r\n }\r\n storeSearch(user_pk: number, store_search: string, store_id: number): Observable {\r\n if (store_search.length >= 2) {\r\n let startTime: Date = new Date(); \r\n let url = environment.API_URL + environment.RESOURCES.GET_STORE_PROFILE + \"/\" + user_pk + \"/\" + store_search + \"/\" + 0;\r\n return this._http.get(url, Util.getRequestHeadersV1()) \r\n .pipe(map(response=>this.extractData(response)),\r\n catchError(Util.handleErrorV2));\r\n }\r\n return observableOf([]);\r\n }\r\n\r\n private extractData(res) {\r\n let startTime: Date = new Date();\r\n if(res.data){\r\n return res.data;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n // private handleError(error: Response | any) {\r\n // // In a real world app, we might use a remote logging infrastructure\r\n // let errMsg: string;\r\n // if (error instanceof Response) {\r\n // const body = error.json() || '';\r\n // const err = body.error || JSON.stringify(body);\r\n // errMsg = `${error.status} - ${error.statusText || ''} ${err}`;\r\n // } else {\r\n // errMsg = error.message ? error.message : error.toString();\r\n // }\r\n // console.error(errMsg);\r\n // return Observable.throw(errMsg);\r\n // }\r\n getStoresProfile(user_pk: number, store_search: string, store_id: number) {\r\n let url = environment.API_URL + environment.RESOURCES.GET_STORE_PROFILE + \"/\" + user_pk + \"/\" + store_search + \"/\" + store_id;\r\n return this._http.get(url, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n getWagsOutreachCounts(): Observable {\r\n let url = environment.API_URL + environment.RESOURCES.GET_WAGSOUTREACH_COUNTS;\r\n return this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n getDroppedStoresForReassignment(): Observable { \r\n let url = environment.API_URL + environment.RESOURCES.DROPPED_STORES_FOR_REASSIGNMENT;\r\n return this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n reassignDroppedStoresToClosestStore(SelectedDroppedStores: any) {\r\n let url = environment.API_URL + environment.RESOURCES.REASSIGN_DROPPEDSTORES_TO_CLOSESTSTORE;\r\n return this._http.post(url, SelectedDroppedStores,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Util } from '../../../utility/util';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PotentialClientInterestService {\r\n\r\n constructor(private _http: HttpClient, private router:Router) { }\r\n\r\n SendPotentialClientInterestEmail(potentialInterestBusinessPk:any, potentialInterestEmail:any) {\r\n \r\n let url = environment.API_URL + environment.RESOURCES.POTENTIAL_CLIENT_INTEREST_NEED_MORE_INFO + \"/\" + potentialInterestBusinessPk + \"/\" + potentialInterestEmail+ \"/\";\r\n return this._http.post(url, null, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n}\r\n\r\n\r\nsendEmailToClientWhenStoreRespondsYes(leadPk:any, storeResForLeadStoreId:any) {\r\n \r\n let url = environment.API_URL + environment.RESOURCES.STORE_CLICKED_YES_FOR_CONTACTUS + \"/\" + leadPk + \"/\" + storeResForLeadStoreId + \"/\";\r\n return this._http.post(url, null, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n}\r\n\r\nsendEmailToClientWhenStoreRespondsNo(leadPk:any, storeResForLeadStoreId:any) {\r\n \r\n let url = environment.API_URL + environment.RESOURCES.STORE_CLICKED_NO_CONTACTUS + \"/\" + leadPk + \"/\" + storeResForLeadStoreId + \"/\";\r\n return this._http.post(url, null, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n}\r\n\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safehtml'\r\n})\r\nexport class SafehtmlPipe implements PipeTransform {\r\n constructor(private sanitized: DomSanitizer) {}\r\n transform(value: any, args?: any): any {\r\n return this.sanitized.bypassSecurityTrustHtml(value);\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { environment } from '../../../../environments/environment';\r\nimport { ContractData } from '../../../models/contract';\r\n\r\n@Injectable()\r\nexport class ValidationHandler {\r\n validateLocalAgreement(agreement_json: ContractData) {\r\n let is_blocked_imz = false, has_minimum_shots = false;\r\n let shots_count = 0, total_shots_count = 0;\r\n let failed_clinic_locations = '';\r\n let validation_msg_list: any[] = [];\r\n let has_clinic_before_2weeks = false, has_clinic_after_2weeks = false;\r\n let agreement_messages = new AgreementMessages();\r\n\r\n agreement_json.clinicList.forEach(loc => {\r\n loc.clinicImzQtyList.forEach(imz => { \r\n if (environment.BlockedImmunizations[0].BlockedImmunizations.filter(item => item.toLowerCase() == imz.immunizationName.toLowerCase()).length > 0 && +imz.estimatedQuantity > 0)\r\n is_blocked_imz = true;\r\n shots_count = +imz.estimatedQuantity;\r\n total_shots_count = total_shots_count + shots_count;\r\n });\r\n failed_clinic_locations = failed_clinic_locations + \"
\" + loc.location;\r\n if (total_shots_count < 25)\r\n has_minimum_shots = true;\r\n let current_date = new Date().toString();\r\n let diffInMs: number = (Date.parse(loc.clinicDate) - Date.parse(current_date));\r\n let diffInDates : number = Math.ceil(diffInMs/1000/60/60/24);\r\n if (diffInDates < 14)\r\n has_clinic_before_2weeks = true;\r\n else\r\n has_clinic_after_2weeks = true;\r\n });\r\n\r\n if (failed_clinic_locations != '' && is_blocked_imz) {\r\n agreement_messages.errorMessages.push(environment.ErrorMessages.blockoutImmunizationValidationMessage + failed_clinic_locations);\r\n }\r\n // if (has_minimum_shots) {\r\n // agreement_messages.errorMessages.push(environment.ErrorMessages.minimumShotsRequiredAlert);\r\n // }\r\n // if(has_clinic_before_2weeks)\r\n // {\r\n // agreement_messages.errorMessages.push(environment.ErrorMessages.clinicDateReminderBefore2WeeksEN);\r\n // }\r\n if(has_clinic_after_2weeks)\r\n {\r\n agreement_messages.infoMessages.push(environment.ErrorMessages.clinicDateReminderAfter2WeeksEN);\r\n }\r\n return agreement_messages;\r\n }\r\n}\r\nexport class AgreementMessages {\r\n errorMessages: any[] = [];\r\n infoMessages: any[] = [];\r\n warningMessages: any[] = [];\r\n}","import { Component, OnInit, Input, Compiler } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ContractapproveService } from '../../services/contractapprove.service';\r\nimport { ClientInfo } from '../../../../models/client-info';\r\nimport { Globalvariables } from '../../../../models/globalvariables';\r\nimport { String, StringBuilder } from 'typescript-string-operations';\r\nimport { ContractData, Client, WalgreenCo, LegalNoticeAddress, Clinic, LanguageVariables } from '../../../../models/contract';\r\n//import { GMapsService } from '../../../common/services/gmaps-service.service';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Util } from '../../../../utility/util';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { ThankyouData } from '../../../../models/thankyouData';\r\nimport { universalContractReleaseDate } from '../../../../JSON/UniversalTandC';\r\n\r\ndeclare var google: any;\r\n\r\n@Component({\r\n selector: 'app-approveagreement-2022',\r\n templateUrl: './approveagreement.component-2022.html',\r\n styleUrls: ['./approveagreement.component-2022.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class ApproveagreementComponent2022 implements OnInit {\r\n InvoiceInformation: any[] = [];\r\n displayInvoiceAndVoucher = false;\r\n signature: string = '';\r\n usernotes: string = '';\r\n getData: any;\r\n jsonData: string;\r\n currentUser = [];\r\n userRecords = [];\r\n aggrementData: any;\r\n clinicAgreement: any = new ContractData();\r\n immunizationInformation = [];\r\n immunizationInformation1: string;\r\n clinicInformation = [];\r\n clientInformation: Client = new Client();\r\n walGreensInfo: WalgreenCo = new WalgreenCo();\r\n items: any;\r\n paymentCheck: boolean;\r\n clientName: string;\r\n\r\n @Input(\"currentLanguage\")\r\n currentLanguage: string;\r\n @Input() client: string;\r\n @Input() childMessage: string;\r\n spanishLanguage: string;\r\n headerText: string;\r\n attachment: string;\r\n message: string;\r\n imz: string;\r\n payment: string;\r\n rates: string;\r\n englishLanguage: string;\r\n enheader: string;\r\n enattachment: string;\r\n language: string;\r\n showBtnEn: boolean = false;\r\n showBtnSp: boolean = true;\r\n enlanguageSelection: boolean;\r\n splanguageSelection: boolean;\r\n json: string;\r\n legal_notice: string;\r\n today: any;\r\n attentionTo: string;\r\n attn: string;\r\n client_information: any[];\r\n legal_information: any[];\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n approveContract: FormGroup\r\n client_info: ClientInfo = new ClientInfo();\r\n fluExpiryDate: string = '';\r\n RoutineExpiryDate: string = '';\r\n isCovidVaccineAvailable: boolean = false;\r\n //legal_notice_address: LegalNoticeAddress = new LegalNoticeAddress();\r\n\r\n /////////////////////////////////////////// LANGUAGE Variables ///////////////////////\r\n languageVariables = new LanguageVariables();\r\n\r\n fluExpiryDateTxt = '';\r\n routineExpiryDateTxt = '';\r\n sendInvoiceTo = '';\r\n isTaxExempt = ''\r\n isCopay = '';\r\n voucherNeeded = ''\r\n voucherExpiry = ''\r\n copayValue = '';\r\n dsblApprove: boolean = false;\r\n dsblReject: boolean = false;\r\n covidOpportunityType: number;\r\n isCovidVoucher: boolean = false;\r\n privateClinicFees: string = \"8.5\";\r\n showPreUniversalContract: boolean = false;\r\n siteMinimum: number = 25;\r\n ImzVcnName: any;\r\n PaymtBillMethod: any;\r\n VoucherRates: any;\r\n OffSiteClinicRates: any;\r\n isShow3dot3: boolean = true;\r\n isShowsingleStarTAndC2: boolean;\r\n\r\n constructor(\r\n private _apiservice: ContractapproveService, \r\n private router: Router,\r\n private _fb: FormBuilder, \r\n private clientInfo: ClientInfo, \r\n private utility: Util, \r\n private _datePipe: DatePipe,\r\n private spinner: NgxSpinnerService,\r\n private compiler: Compiler\r\n ) {\r\n this.today = new Date();\r\n this.client_info = this.clientInfo;\r\n this.compiler.clearCache();\r\n }\r\n private selectedLink: string;\r\n\r\n setradio(e: string): void {\r\n if (e == 'Approve') {\r\n this.dsblReject = true;\r\n this.dsblApprove = false;\r\n this.approveContract.controls['email_signature'].setValidators([Validators.required]);\r\n this.approveContract.controls['email_signature'].updateValueAndValidity();\r\n this.approveContract.controls['user_notes'].clearValidators();\r\n this.approveContract.controls['user_notes'].updateValueAndValidity();\r\n }\r\n if (e == 'Reject') {\r\n this.dsblApprove = true;\r\n this.dsblReject = false;\r\n this.approveContract.controls['email_signature'].clearValidators();\r\n this.approveContract.controls['email_signature'].updateValueAndValidity();\r\n this.approveContract.controls['email_signature'].setValue('');\r\n this.approveContract.controls['user_notes'].setValidators([Validators.required]);\r\n this.approveContract.controls['user_notes'].updateValueAndValidity();\r\n }\r\n this.selectedLink = e;\r\n }\r\n isSelected(name: string): boolean {\r\n if (!this.selectedLink) {\r\n return false;\r\n }\r\n return (this.selectedLink === name);\r\n }\r\n ngOnInit() {\r\n this.approveContract = this._fb.group({\r\n email_signature: this._fb.control('', null),\r\n user_notes: this._fb.control('', null),\r\n radioBtn: this._fb.control('', Validators.required),\r\n });\r\n let agreementPk = sessionStorage[\"clinic_agreement_pk\"];\r\n if (agreementPk == null || agreementPk == \"null\" || agreementPk == undefined) {\r\n this.showDialog(ErrorMessages['clientError'], ErrorMessages['nullClinicAgreementPk']);\r\n return;\r\n }\r\n this._apiservice.getContractAgreementApproveData(agreementPk, \"Client\").subscribe((data: any) => {\r\n if(data && data.dateApproved && data.dateApproved < '2022-06-29')\r\n {\r\n this.isShow3dot3 = false;\r\n }\r\n if(data && data.dateApproved && data.dateApproved.toString() > '2022-08-19')\r\n {\r\n this.isShowsingleStarTAndC2 = false;\r\n }\r\n this.clinicAgreement = data;\r\n this.userRecords = this.clinicAgreement.clinicImmunizationList;\r\n this.displayInvoiceInfo();\r\n this.GetClinicInformation();\r\n this.GetImmunizationformation();\r\n this.GetClientInformation();\r\n this.GetWalgreensCOformation();\r\n this.GetClientLegalInfo();\r\n this.changeLanguage();\r\n this.covidOpportunityType = data.opportunityInfo.covidOpportunityType;\r\n this.privateClinicFees = data.opportunityInfo.privateClinicFees ? data.opportunityInfo.privateClinicFees : \"8.5\";\r\n let covidVaccine = this.userRecords.filter(p => p.immunizationName.includes('COVID19 Vaccine (')).length > 0;\r\n //let CovidVoucher = this.userRecords.filter(item=>item.immunizationName.includes('Vaccine Voucher')).length > 0;\r\n if (covidVaccine) {\r\n this.isCovidVoucher = true;\r\n }\r\n // else{\r\n // this.isCovidVoucher = true;\r\n // }\r\n this.siteMinimum = this.covidOpportunityType === 1 ? 15 : 25;\r\n });\r\n this.changeLanguage();\r\n }\r\n\r\n getPaymentTypes(imz) {\r\n let paymentTypes = '';\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk);\r\n immzs.forEach((element, index, array) => {\r\n paymentTypes += `

`\r\n paymentTypes += element.paymentTypeName;\r\n if (index !== (array.length - 1)) {\r\n paymentTypes += ',';\r\n }\r\n paymentTypes += `

`\r\n });\r\n return paymentTypes;\r\n }\r\n\r\n getImmzPrices(imz) { \r\n let price = '';\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk);\r\n immzs.forEach((element, index, array) => {\r\n if (element.paymentTypeId != '13' && element.paymentTypeId != '11') {\r\n price += '$';\r\n let priceEx = element.price;\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose'\r\n if (index + 1 != array.length) {\r\n price += ', ';\r\n }\r\n }\r\n });\r\n // let isCashPaidByEmpExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7).length > 0;\r\n // if (isCashPaidByEmpExists) {\r\n // price = '$';\r\n // let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7)[0].price;\r\n // price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n // price += ' per dose'\r\n // }\r\n return price;\r\n }\r\n\r\n getImmzPricesForVoucher(imz) {\r\n let price;\r\n let isRecordExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13).length > 0;\r\n if (isRecordExists) {\r\n price = '$';\r\n let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13)[0].price;\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose'\r\n }\r\n return price;\r\n }\r\n \r\n displayInvoiceInfo() {\r\n if (this.userRecords != null) {\r\n let corp = this.userRecords.filter(c => c.paymentTypeId == \"13\");\r\n let routineExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') == -1);\r\n let covidExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('covid') !== -1);\r\n let flueExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') != -1);\r\n if (corp != null && corp.length > 0) {\r\n this.displayInvoiceAndVoucher = true;\r\n this.InvoiceInformation.push({\r\n \"paymentTypeId\": corp[0].paymentTypeId,\r\n \"sendInvoiceTo\": corp[0].sendInvoiceTo,\r\n \"name\": corp[0].name,\r\n \"phone\": corp[0].phone,\r\n \"fax\": corp[0].fax,\r\n \"email\": corp[0].email,\r\n \"address1\": corp[0].address1,\r\n \"address2\": corp[0].address2,\r\n \"city\": corp[0].city,\r\n \"isTaxExempt\": corp[0].isTaxExempt,\r\n \"state\": corp[0].state,\r\n \"zip\": corp[0].zip,\r\n \"isCopay\": corp[0].isCopay,\r\n \"copayValue\": corp[0].copayValue,\r\n \"isVoucherNeeded\": corp[0].isVoucherNeeded,\r\n \"fluvoucherExpirationDate\": flueExpDateLst.length > 0 ? flueExpDateLst[0].voucherExpirationDate : null,\r\n \"routinevoucherExpirationDate\": routineExpDateLst.length > 0 ? routineExpDateLst[0].voucherExpirationDate : null,\r\n \"covidvoucherExpirationDate\": covidExpDateLst.length > 0 ? covidExpDateLst[0].voucherExpirationDate : null\r\n });\r\n }\r\n }\r\n\r\n }\r\n GetClientLegalInfo() {\r\n this.client_info = this._apiservice.getSelectedClientLegalInfo();\r\n\r\n this.clinicAgreement.clientInfo = this.clinicAgreement.clientInfo != null ? this.clinicAgreement.clientInfo : new Client();\r\n this.clinicAgreement.clientInfo.client = this.client_info.clientname;\r\n this.clinicAgreement.clientInfo.name = this.client_info.headername != '' ? this.client_info.headername.trim() : this.client_info.headername;\r\n\r\n this.clinicAgreement.clientInfo.title = this.client_info.titlename;\r\n this.clinicAgreement.clientInfo.reviewedDate = this._datePipe.transform(this.today, \"MM/dd/yyyy\");\r\n\r\n this.clinicAgreement.legalNoticeAddressInfo = this.clinicAgreement.legalNoticeAddressInfo != null ? this.clinicAgreement.legalNoticeAddressInfo : new LegalNoticeAddress;\r\n this.clinicAgreement.legalNoticeAddressInfo.address1 = this.client_info.address1;\r\n this.clinicAgreement.legalNoticeAddressInfo.address2 = this.client_info.address2;\r\n this.clinicAgreement.legalNoticeAddressInfo.attentionTo = this.client_info.attentionto;\r\n this.clinicAgreement.legalNoticeAddressInfo.city = this.client_info.cityname;\r\n this.clinicAgreement.legalNoticeAddressInfo.zipCode = this.client_info.zipcode;\r\n this.clinicAgreement.legalNoticeAddressInfo.state = this.client_info.statename;\r\n }\r\n languageChangeToSpanish() {\r\n this.enlanguageSelection = false;\r\n this.splanguageSelection = true;\r\n let contractdateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n let data: any = this._apiservice.languageChange(2022,this.isCovidVaccineAvailable, !this.showPreUniversalContract, this.showPreUniversalContract);\r\n if (data) {\r\n this.spanishLanguage = data.spanish;\r\n this.headerText = data.header;\r\n this.attachment = data.attachmentheader;\r\n this.imz = data.imzsp;\r\n this.payment = data.paymentsp;\r\n this.rates = data.ratessp;\r\n\r\n this.ImzVcnName = data.ImzVcnNameEn;\r\n this.PaymtBillMethod = data.PaymtBillMethodEn;\r\n this.VoucherRates = data.VoucherRatesEn;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesEn;\r\n\r\n\r\n this.languageVariables.businessName = data.clientsp;\r\n this.languageVariables.name = data.namesp;\r\n this.languageVariables.eSignature = data.eSignatureSP;\r\n this.languageVariables.date = data.dateSP;\r\n this.languageVariables.district = data.districtSP;\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsSP;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextSP;\r\n \r\n this.languageVariables.title = data.titlesp;\r\n this.attentionTo = data.attentionsp;\r\n this.languageVariables.address1 = data.address1sp;\r\n this.languageVariables.address2 = data.address2sp;\r\n this.languageVariables.city = data.citysp;\r\n this.languageVariables.state = data.statesp;\r\n this.languageVariables.zip = data.zipcodesp;\r\n\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntSP;\r\n this.languageVariables.approveText = data.approveTextSP;\r\n this.languageVariables.electrSign = data.electrSignSP;\r\n this.languageVariables.notes = data.notesSP;\r\n this.languageVariables.pageTitle = data.pageTitleSP;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffSP;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineSP;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientSP;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensSP;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1SP;\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2SP;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesSP;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingSP;\r\n this.languageVariables.profJudgementText = data.profJudgementTextSP;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngSP;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextSP;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesSP;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingSP;\r\n this.languageVariables.vouchersText = data.vouchersTextSP;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationSP;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsSP;\r\n this.languageVariables.important = data.importantSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.contractYearText1SP);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.influenzaSeasonText1SP);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextSP;\r\n this.languageVariables.siteMin = data.siteMinSP;\r\n this.languageVariables.siteAvg = data.siteAvgSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextSP, data.contractYearText2SP, data.contractYearText2SP);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluSP, data.influenzaSeasonText2SP, data.influenzaSeasonText2SP);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextSP;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingSP;\r\n this.languageVariables.paymentHd = data.paymentSP;\r\n this.languageVariables.paymentText = data.paymentTextSP;\r\n this.languageVariables.latePayment = data.latePaymentSP;\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesSP;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextSP;\r\n this.languageVariables.latePaymentText = data.latePaymentTextSP;\r\n this.languageVariables.costIncrease = data.costIncreaseSP; \r\n this.languageVariables.costIncreasetext = data.costIncreasetextSP\r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsSP;\r\n this.languageVariables.termAndTerm = data.termAndTermSP;\r\n this.languageVariables.termAndTermText = data.termAndTermTextSP;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationSP;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextSP;\r\n this.languageVariables.waiver = data.waiverSP;\r\n this.languageVariables.waiverText = data.waiverTextSP;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifySP;\r\n this.languageVariables.insurance = data.insuranceSP;\r\n this.languageVariables.insuranceText = data.insuranceTextSP;\r\n this.languageVariables.indemnification = data.indemnificationSP;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let universalContractReleasedate = data.universalContractReleaseDate ? new Date(data.universalContractReleaseDate) : null;\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsSP;\r\n this.languageVariables.confidentiality = data.confidentialitySP;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1SP;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialitySP;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextSP;\r\n this.languageVariables.phi = data.phiSP;\r\n this.languageVariables.phiAb = data.phiAbSP;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2SP;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextSP;\r\n\r\n this.languageVariables.Advertising = data.AdvertisingSP;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextSP;\r\n this.languageVariables.frcMaj = data.frcMajSP;\r\n this.languageVariables.frcMajText = data.frcMajTextSP;\r\n this.languageVariables.compliance = data.complianceSP;\r\n this.languageVariables.complianceText = data.complianceTextSP;\r\n this.languageVariables.assignment = data.assignmentSP;\r\n this.languageVariables.assignmentText = data.assignmentTextSP;\r\n this.languageVariables.notices = data.noticesSP;\r\n this.languageVariables.noticesText = data.noticesTextSP;\r\n this.languageVariables.entireAgr = data.entireAgrSP;\r\n this.languageVariables.entireAgrText = data.entireAgrTextSP;\r\n this.languageVariables.counterPart = data.counterPartsHeadingSP;\r\n this.languageVariables.counterPartsText = data.counterPartsTextSP;\r\n this.languageVariables.rights = data.rightsSP;\r\n this.languageVariables.approve = data.approveSP;\r\n this.languageVariables.reject = data.rejectSP;\r\n this.languageVariables.submit = data.submitSP;\r\n this.languageVariables.printAgreementTxt = data.printAgreementSP;\r\n this.languageVariables.dose = data.doseSP;\r\n this.languageVariables.clinicLocation = data.clinicLocationSP;\r\n this.languageVariables.clinicDate = data.clinicDateSP;\r\n this.languageVariables.clinicTime = data.clinicTimeSP;\r\n this.languageVariables.contact = data.contactSP;\r\n this.languageVariables.phone = data.phoneSP;\r\n this.languageVariables.location = data.locationSP;\r\n this.languageVariables.time = data.timeSP;\r\n this.languageVariables.email = data.emailSP;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToSP;\r\n this.languageVariables.multipleEmailAddrss = data.multipleEmailAddressSP;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementSP;\r\n this.languageVariables.editAgreeMnt = data.editAgreementSP;\r\n this.languageVariables.saveAgreeMnt = data.saveAgreementSP;\r\n this.languageVariables.cancelTxt = data.cancelSP;\r\n this.languageVariables.noteTxt = data.noteTextSP;\r\n this.languageVariables.table1 = data.table1SP;\r\n this.attn = this.attentionTo;\r\n this.fluExpiryDateTxt = data.fluExpiryDateSP;\r\n this.routineExpiryDateTxt = data.routineExpiryDateSP;\r\n this.languageVariables.estShots = data.estShotsSP;\r\n this.sendInvoiceTo = data.sendInvoiceToSP;\r\n this.isTaxExempt = data.isTaxExemptSP;\r\n this.isCopay = data.isCopaySP;\r\n this.voucherNeeded = data.voucherNeededSP;\r\n this.voucherExpiry = data.voucherExpirySP;\r\n this.copayValue = data.copayValueSP;\r\n this.languageVariables.contactName = data.contactNameSP;\r\n this.languageVariables.contactPhone = data.contactPhoneSP;\r\n this.languageVariables.contactEmail = data.contactEmailSP;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n }\r\n }\r\n languageChangeToEnglish() {\r\n this.splanguageSelection = false;\r\n this.enlanguageSelection = true;\r\n let contractdateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n let data: any = this._apiservice.languageChange(2022,this.isCovidVaccineAvailable, !this.showPreUniversalContract, this.showPreUniversalContract);\r\n if (data) {\r\n this.englishLanguage = data.english;\r\n this.enheader = data.englishheader;\r\n this.enattachment = data.englishattachment;\r\n this.imz = data.imzen;\r\n this.payment = data.payen;\r\n this.rates = data.ratesen;\r\n\r\n this.ImzVcnName = data.ImzVcnNameEn;\r\n this.PaymtBillMethod = data.PaymtBillMethodEn;\r\n this.VoucherRates = data.VoucherRatesEn;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesEn;\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsEN;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextEN;\r\n\r\n this.languageVariables.businessName = data.clienten;\r\n this.languageVariables.name = data.nameen;\r\n this.languageVariables.eSignature = data.eSignatureEN;\r\n this.languageVariables.date = data.dateEN;\r\n this.languageVariables.district = data.districtEN;\r\n\r\n this.languageVariables.title = data.titleen;\r\n this.attentionTo = data.attentionen;\r\n this.languageVariables.address1 = data.address1en;\r\n this.languageVariables.address2 = data.address2en;\r\n this.languageVariables.city = data.cityen;\r\n this.languageVariables.state = data.stateen;\r\n this.languageVariables.zip = data.zipcodeen;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntEN;\r\n this.languageVariables.approveText = data.approveTextEN;\r\n this.languageVariables.electrSign = data.electrSignEN;\r\n this.languageVariables.notes = data.notesEN;\r\n this.languageVariables.pageTitle = data.pageTitleEN;\r\n this.languageVariables.dose = data.doseEN;\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffEN;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineEN;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientEN;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensEN;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1EN\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2EN;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesEN;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingEN;\r\n this.languageVariables.profJudgementText = data.profJudgementTextEN;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngEN;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextEN;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesEN;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingEN;\r\n this.languageVariables.vouchersText = data.vouchersTextEN;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationEN;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsEN;\r\n this.languageVariables.important = data.importantEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.contractYearText1EN);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.influenzaSeasonText1EN);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextEN;\r\n this.languageVariables.siteMin = data.siteMinEN;\r\n this.languageVariables.siteAvg = data.siteAvgEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextEN, data.contractYearText2EN, data.contractYearText2EN);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluEN, data.influenzaSeasonText2EN, data.influenzaSeasonText2EN);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextEN;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingEN;\r\n this.languageVariables.paymentHd = data.paymentEN;\r\n this.languageVariables.singleStarTAndC = data.singleStarTAndC;\r\n this.languageVariables.singleStarTAndC2 = data.singleStarTAndC2;\r\n this.languageVariables.article2Text = data.article2Text;\r\n if (this.checkIfCovidImmForCorpInvoiceSelected()) {\r\n this.languageVariables.paymentText = !this.showPreUniversalContract ? data.paymentTextEN : data.paymentTextDirectBillEN;\r\n this.enheader = this.showPreUniversalContract ? data.directBillEnglishheader : data.englishheader;\r\n }\r\n else {\r\n this.languageVariables.paymentText = data.paymentTextEN;\r\n this.enheader = data.englishheader;\r\n }\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesEN;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextEN;\r\n this.languageVariables.latePayment = data.latePaymentEN;\r\n this.languageVariables.latePaymentText = data.latePaymentTextEN;\r\n this.languageVariables.costIncrease = data.costIncreaseEN; \r\n this.languageVariables.costIncreasetext = data.costIncreasetextEN\r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsEN;\r\n this.languageVariables.termAndTerm = data.termAndTermEN;\r\n this.languageVariables.termAndTermText = data.termAndTermTextEN;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationEN;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextEN;\r\n this.languageVariables.waiver = data.waiverEN;\r\n this.languageVariables.waiverText = data.waiverTextEN;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifyEN;\r\n this.languageVariables.insurance = data.insuranceEN;\r\n this.languageVariables.insuranceText = data.insuranceTextEN;\r\n this.languageVariables.indemnification = data.indemnificationEN;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (this.isCovidVaccineAvailable == true && (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate)) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsEN;\r\n this.languageVariables.confidentiality = data.confidentialityEN;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1EN;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialityEN;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextEN;\r\n this.languageVariables.phi = data.phiEN;\r\n this.languageVariables.phiAb = data.phiAbEN;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2EN;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextEN;\r\n this.languageVariables.Advertising = data.AdvertisingEN;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextEN;\r\n this.languageVariables.frcMaj = data.frcMajEN;\r\n this.languageVariables.frcMajText = data.frcMajTextEN;\r\n this.languageVariables.compliance = data.complianceEN;\r\n this.languageVariables.complianceText = data.complianceTextEN;\r\n this.languageVariables.assignment = data.assignmentEN;\r\n this.languageVariables.assignmentText = data.assignmentTextEN;\r\n this.languageVariables.notices = data.noticesEN;\r\n this.languageVariables.noticesText = data.noticesTextEN;\r\n this.languageVariables.entireAgr = data.entireAgrEN;\r\n this.languageVariables.entireAgrText = data.entireAgrTextEN;\r\n this.languageVariables.counterPart = data.counterPartsHeadingEN;\r\n this.languageVariables.counterPartsText = data.counterPartsTextEN;\r\n this.languageVariables.rights = data.rightsEN;\r\n\r\n this.languageVariables.approve = data.approveEN;\r\n this.languageVariables.reject = data.rejectEN;\r\n this.languageVariables.submit = data.submitEN;\r\n this.languageVariables.printAgreementTxt = data.printAgreementEN;\r\n this.languageVariables.clinicLocation = data.clinicLocationEN;\r\n this.languageVariables.clinicDate = data.clinicDateEN;\r\n this.languageVariables.clinicTime = data.clinicTimeEN;\r\n this.languageVariables.contact = data.contactEN;\r\n this.languageVariables.phone = data.phoneEN;\r\n this.languageVariables.location = data.locationEN;\r\n this.languageVariables.time = data.timeEN;\r\n this.languageVariables.email = data.emailEN;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToEN;\r\n this.languageVariables.multipleEmailAddrss = data.multipleEmailAddressEN;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementEN;\r\n this.languageVariables.editAgreeMnt = data.editAgreementEN;\r\n this.languageVariables.saveAgreeMnt = data.saveAgreementEN;\r\n this.languageVariables.cancelTxt = data.cancelEN;\r\n this.languageVariables.noteTxt = data.noteTextEN;\r\n this.languageVariables.table1 = data.table1EN;\r\n this.attn = data.attnEN;\r\n this.fluExpiryDateTxt = data.fluExpiryDateEN;\r\n this.routineExpiryDateTxt = data.routineExpiryDateEN;\r\n this.languageVariables.estShots = data.estShotsEN;\r\n this.sendInvoiceTo = data.sendInvoiceToEN;\r\n this.isTaxExempt = data.isTaxExemptEN;\r\n this.isCopay = data.isCopayEN;\r\n this.voucherNeeded = data.voucherNeededEN;\r\n this.voucherExpiry = data.voucherExpiryEN;\r\n this.copayValue = data.copayValueEN;\r\n this.languageVariables.contactName = data.contactName;\r\n this.languageVariables.contactPhone = data.contactPhone;\r\n this.languageVariables.contactEmail = data.contactEmail;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n }\r\n\r\n this.language = \"TRANSLATE TO ENGLISH\";\r\n }\r\n public GetClinicInformation() {\r\n\r\n this.clinicInformation = this.clinicAgreement.clinicList;\r\n this.clinicInformation.forEach(cl => {\r\n try {\r\n let dateString = cl.clinicDate.substring(0, cl.clinicDate.indexOf('T'));\r\n if (dateString.length > 0) {\r\n let dateSplitTokens = dateString.split('-');\r\n if (dateSplitTokens.length > 0) {\r\n var dt = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n var clDate = new Date(dt);\r\n cl.clinicDate = clDate.getMonth() + 1 + \"/\" + clDate.getDate() + \"/\" + clDate.getFullYear();\r\n }\r\n }\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n });\r\n this.getLatitudeLongitude();\r\n }\r\n\r\n //geocoder to get the latitude and longitude\r\n getAddr(idx, addr, sourceobject, result) {\r\n sourceobject.clinicList[idx].latitude = result.lat();\r\n sourceobject.clinicList[idx].longitude = result.lng();\r\n };\r\n getLatitudeLongitude() {\r\n for (let i = 0; i < this.clinicAgreement.clinicList.length; i++) {\r\n\r\n let address = this.clinicAgreement.clinicList[i].address1 + \",\" + this.clinicAgreement.clinicList[i].city + \",\" + this.clinicAgreement.clinicList[i].state + \" \" + this.clinicAgreement.clinicList[i].zipCode;\r\n (function (idx, clinic, sourceobject, callback) {\r\n var geocoder = new google.maps.Geocoder();\r\n geocoder.geocode({ 'address': clinic }, function (results, status) {\r\n if (status == google.maps.GeocoderStatus.OK) {\r\n callback(idx, clinic, sourceobject, results[0].geometry.location)\r\n }\r\n });\r\n })(i, address, this.clinicAgreement, this.getAddr);\r\n\r\n }\r\n\r\n }\r\n //end geocoder \r\n public GetImmunizationformation() {\r\n for (let i = 0; i < this.clinicAgreement.clinicList.length; i++) {\r\n this.immunizationInformation = this.clinicAgreement.clinicList[i].clinicImzQtyList;\r\n }\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicList[0].clinicImzQtyList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n }\r\n\r\n public GetClientInformation() {\r\n this.clientInformation = this.clinicAgreement.clientInfo != null ? this.clinicAgreement.clientInfo : new Client();\r\n this.clientInformation.client = this.clientInformation.client != '' ? this.clientInformation.client.trim() : this.clientInformation.client;\r\n\r\n }\r\n\r\n public GetWalgreensCOformation() {\r\n this.walGreensInfo = this.clinicAgreement.walgreenCoInfo != null ? this.clinicAgreement.walgreenCoInfo : new WalgreenCo();\r\n if (this.walGreensInfo.preparedDate != null && this.walGreensInfo.preparedDate != undefined && this.walGreensInfo.preparedDate != '') {\r\n this.walGreensInfo.preparedDate = this._datePipe.transform(this.walGreensInfo.preparedDate, \"MM/dd/yyyy\");\r\n }\r\n\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = \"Contract Alert\";\r\n this.display = true;\r\n }\r\n\r\n contractApproved() {\r\n let storeID = sessionStorage[\"storeId\"];\r\n if (this.approveContract.valid) {\r\n if (this.clinicAgreement.clientInfo == null || this.clinicAgreement.clientInfo == undefined) {\r\n this.showDialog(ErrorMessages['contract'], \"Please fill Client Information in Step 1 of the Workflow.\");\r\n return;\r\n }\r\n if (this.approveContract.controls['radioBtn'].value == 1 &&\r\n this.approveContract.value.email_signature.toLowerCase().trim() != this.clinicAgreement.clientInfo.name.toLowerCase().trim()) {\r\n if (this.approveContract.controls[\"email_signature\"].value.trim() != '') {\r\n this.showDialog(ErrorMessages['ElectronicSignatureErrorHdng'], ErrorMessages['ElectronicSignatureErrorMsg']);\r\n }\r\n else {\r\n this.approveContract.controls['email_signature'].setValue('');\r\n this.approveContract.controls['email_signature'].updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n return;\r\n }\r\n switch (this.selectedLink) {\r\n case 'Approve':\r\n this.approveContract.controls['email_signature'].setValidators([Validators.required]);\r\n this.approveContract.controls['email_signature'].updateValueAndValidity();\r\n if (this.approveContract.valid && this.clinicAgreement.clinicList.length > 0) {\r\n\r\n this.spinner.show();\r\n this.clinicAgreement.isApproved = 1;\r\n this.clinicAgreement.isEmailSent = Number(this.clinicAgreement.isEmailSent);\r\n this.clinicAgreement.signature = this.approveContract.value.email_signature ? this.approveContract.value.email_signature.trim() : this.approveContract.value.email_signature;\r\n this.clinicAgreement.contractPostedByUser = 'Business User';\r\n this.clinicAgreement.approvedOrRejectedBy = sessionStorage[\"approveRejectEmail\"];\r\n this.makeValidBooleans();\r\n this._apiservice.saveAgreementData(storeID, 1, this.clinicAgreement).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case 'success':\r\n case null:\r\n case \"null\":\r\n case 0:\r\n case '0':\r\n let responseClinicAgreement: any = data;\r\n let corporateInvoice: any = false;\r\n let submitInsurance: any = false;\r\n let voucherNeeded: any = false;\r\n\r\n for (var i = 0; i < responseClinicAgreement.clinicImmunizationList.length; i++) {\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 6) {\r\n corporateInvoice = true;\r\n }\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 8) {\r\n submitInsurance = true;\r\n }\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 9) {\r\n submitInsurance = true;\r\n }\r\n }\r\n\r\n var thankuData = new ThankyouData();\r\n thankuData.hasPrefilledForms = responseClinicAgreement.contractThankYou.hasPrefilledForms;\r\n thankuData.storeState = responseClinicAgreement.contractThankYou.storeState;\r\n thankuData.pdfVarFormEn = responseClinicAgreement.contractThankYou.pdfVarFormEn;\r\n thankuData.pdfVarFormEsp = responseClinicAgreement.contractThankYou.pdfVarFormEsp;\r\n thankuData.voucherNeeded = voucherNeeded;//Need to check\r\n thankuData.isRestrictedState = false;//need to check\r\n thankuData.corporateInvoice = corporateInvoice;\r\n thankuData.submitInsurance = submitInsurance;\r\n thankuData.isCovidClinic = this.isCovidVaccineAvailable;\r\n thankuData.covidOpportunityType = this.covidOpportunityType;\r\n thankuData.printContents = document.getElementById('approveContract').innerHTML;\r\n thankuData.isCovidOpportunity = this.isCovidVaccineAvailable;\r\n\r\n SessionDetails.setThankUDetails(thankuData);\r\n this.router.navigate(['/thankyou']);\r\n break;\r\n case -2:\r\n case '-2':\r\n case -6:\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled ErrorCode received from Service errorCode:{0}, errorMessage:{1}', data.errorS.errorCode, data.errorS.errorMessage));\r\n break;\r\n\r\n }\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['contract'], String.Format('ErrorCode 500 received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled exception ErrorCode received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n }\r\n });\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n break;\r\n case 'Reject':\r\n this.approveContract.controls['user_notes'].setValidators([Validators.required]);\r\n this.approveContract.controls['user_notes'].updateValueAndValidity();\r\n if (this.approveContract.valid && this.clinicAgreement.clinicList.length > 0) {\r\n this.spinner.show();\r\n this.clinicAgreement.isEmailSent = Number(this.clinicAgreement.isEmailSent);\r\n this.clinicAgreement.isApproved = 0;\r\n this.clinicAgreement.notes = this.approveContract.value.user_notes;\r\n this.clinicAgreement.signature = this.approveContract.value.email_signature ? this.approveContract.value.email_signature.trim() : this.approveContract.value.email_signature;\r\n this.clinicAgreement.contractPostedByUser = 'Business User';\r\n this.clinicAgreement.approvedOrRejectedBy = sessionStorage[\"approveRejectEmail\"];\r\n this.makeValidBooleans();\r\n this._apiservice.saveAgreementData(storeID, 1, this.clinicAgreement).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case 'success':\r\n case null:\r\n case \"null\":\r\n case 0:\r\n case '0':\r\n this.router.navigate(['/thankyou']);\r\n break;\r\n case -2:\r\n case '-2':\r\n case -6:\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n }\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n });\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n break;\r\n default:\r\n console.log('Error occurred none of them matched')\r\n break;\r\n }\r\n }\r\n else {\r\n\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n }\r\n makeValidBooleans() {\r\n this.clinicAgreement.clinicImmunizationList.forEach(im => {\r\n if (im.sendInvoiceTo <= 0) {\r\n im.isTaxExempt = null;\r\n im.isCopay = null;\r\n im.isVoucherNeeded = null;\r\n } else {\r\n im.isTaxExempt >= 1 ? im.isTaxExempt = 1 : im.isTaxExempt = 0;\r\n im.isCopay >= 1 ? im.isCopay = 1 : im.isCopay = 0;\r\n im.isVoucherNeeded >= 1 ? im.isVoucherNeeded = 1 : im.isVoucherNeeded = 0;\r\n im.copayValue = +im.copayValue;\r\n if (im.voucherExpirationDate != null && im.voucherExpirationDate != undefined && im.voucherExpirationDate != '') {\r\n im.voucherExpirationDate = this._datePipe.transform(im.voucherExpirationDate, \"MM/dd/yyyy\");\r\n }\r\n }\r\n });\r\n\r\n this.clinicAgreement.clinicList.forEach(cl => {\r\n cl.isNoClinic >= 1 ? cl.isNoClinic = 1 : cl.isNoClinic = 0;\r\n cl.isReassign >= 1 ? cl.isReassign = 1 : cl.isReassign = 0;\r\n cl.isCurrent >= 1 ? cl.isCurrent = 1 : cl.isCurrent = 0;\r\n\r\n if (cl.clinicDate === null || cl.clinicDate === undefined || cl.clinicDate === '') {\r\n cl.clinicDate = null;\r\n } else {\r\n var clDate = new Date(cl.clinicDate);\r\n cl.clinicDate = clDate.getMonth() + 1 + \"/\" + clDate.getDate() + \"/\" + clDate.getFullYear();//this._datePipe.transform(cl.clinicDate,\"MM/dd/yyyy\");\r\n }\r\n });\r\n }\r\n\r\n okClicked() {\r\n this.display = false;\r\n }\r\n isFieldValid(field: string) {\r\n return !this.approveContract.get(field).valid && this.approveContract.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n\r\n printAgreement() {\r\n this.utility.print(\"approveContract\", \"Walgreens Community Off-site Agreement\");\r\n }\r\n changeLanguage() {\r\n\r\n if (this.currentLanguage.toLowerCase() === 'spanish') {\r\n this.languageChangeToSpanish();\r\n } else {\r\n this.languageChangeToEnglish();\r\n }\r\n }\r\n\r\n checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location: Clinic): boolean {\r\n return this._apiservice.checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location) && Number(location.isNoClinic) >= 1;\r\n }\r\n checkIfFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfNonFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfNonFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfCovidImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfCovidImmForCorpInvoiceSelected();\r\n }\r\n getVoucherExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getRoutineExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getCovidExpiryDate(): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1 && imz.immunizationName.toLowerCase().search('covid') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n checkIfNonFluImmIsSelected(): boolean {\r\n return this._apiservice.checkIfNonFluImmIsSelected();\r\n }\r\n checkToPrintAsterisk(immAbvName: string, immName: string): boolean {\r\n let bRet: boolean = false;\r\n if (immAbvName && immAbvName.search(/Two Dose/gi) >= 0) {\r\n bRet = true;\r\n }\r\n return bRet;\r\n }\r\n checkForDoubleAsteriskRates(): boolean {\r\n return this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/Dose/gi) >= 0).length > 0;\r\n }\r\n}\r\n","import { Component, OnInit, Input, Compiler } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ContractapproveService } from '../../services/contractapprove.service';\r\nimport { ClientInfo } from '../../../../models/client-info';\r\nimport { Globalvariables } from '../../../../models/globalvariables';\r\nimport { String, StringBuilder } from 'typescript-string-operations';\r\nimport { ContractData, Client, WalgreenCo, LegalNoticeAddress, Clinic, LanguageVariables } from '../../../../models/contract';\r\n//import { GMapsService } from '../../../common/services/gmaps-service.service';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Util } from '../../../../utility/util';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { ThankyouData } from '../../../../models/thankyouData';\r\nimport { universalContractReleaseDate } from '../../../../JSON/UniversalTandC';\r\n\r\ndeclare var google: any;\r\n\r\n@Component({\r\n selector: 'app-approveagreement-2023',\r\n templateUrl: './approveagreement.component-2023.html',\r\n styleUrls: ['./approveagreement.component-2023.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class ApproveagreementComponent2023 implements OnInit {\r\n InvoiceInformation: any[] = [];\r\n displayInvoiceAndVoucher = false;\r\n signature: string = '';\r\n usernotes: string = '';\r\n getData: any;\r\n jsonData: string;\r\n currentUser = [];\r\n userRecords = [];\r\n aggrementData: any;\r\n clinicAgreement: any = new ContractData();\r\n immunizationInformation = [];\r\n immunizationInformation1: string;\r\n clinicInformation = [];\r\n clientInformation: Client = new Client();\r\n walGreensInfo: WalgreenCo = new WalgreenCo();\r\n items: any;\r\n paymentCheck: boolean;\r\n clientName: string;\r\n enattachmentArticleII:string;\r\n\r\n @Input(\"currentLanguage\")\r\n currentLanguage: string;\r\n @Input() client: string;\r\n @Input() childMessage: string;\r\n spanishLanguage: string;\r\n headerText: string;\r\n attachment: string;\r\n message: string;\r\n imz: string;\r\n payment: string;\r\n rates: string;\r\n englishLanguage: string;\r\n enheader: string;\r\n enattachment: string;\r\n language: string;\r\n showBtnEn: boolean = false;\r\n showBtnSp: boolean = true;\r\n enlanguageSelection: boolean;\r\n splanguageSelection: boolean;\r\n json: string;\r\n legal_notice: string;\r\n today: any;\r\n attentionTo: string;\r\n attn: string;\r\n client_information: any[];\r\n legal_information: any[];\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n approveContract: FormGroup\r\n client_info: ClientInfo = new ClientInfo();\r\n fluExpiryDate: string = '';\r\n RoutineExpiryDate: string = '';\r\n isCovidVaccineAvailable: boolean = false;\r\n //legal_notice_address: LegalNoticeAddress = new LegalNoticeAddress();\r\n\r\n /////////////////////////////////////////// LANGUAGE Variables ///////////////////////\r\n languageVariables = new LanguageVariables();\r\n\r\n fluExpiryDateTxt = '';\r\n routineExpiryDateTxt = '';\r\n sendInvoiceTo = '';\r\n isTaxExempt = ''\r\n isCopay = '';\r\n voucherNeeded = ''\r\n voucherExpiry = ''\r\n copayValue = '';\r\n dsblApprove: boolean = false;\r\n dsblReject: boolean = false;\r\n covidOpportunityType: number;\r\n isCovidVoucher: boolean = false;\r\n privateClinicFees: string = \"8.5\";\r\n showPreUniversalContract: boolean = false;\r\n siteMinimum: number = 25;\r\n ImzVcnName: any;\r\n PaymtBillMethod: any;\r\n VoucherRates: any;\r\n OffSiteClinicRates: any;\r\n isShow3dot3: boolean = true;\r\n isShowsingleStarTAndC2: boolean;\r\n isClinicNoFeesDisbaled: boolean=false;\r\n articleNoFeeIIEN: string;\r\n\r\n constructor(\r\n private _apiservice: ContractapproveService, \r\n private router: Router,\r\n private _fb: FormBuilder, \r\n private clientInfo: ClientInfo, \r\n private utility: Util, \r\n private _datePipe: DatePipe,\r\n private spinner: NgxSpinnerService,\r\n private compiler: Compiler\r\n ) {\r\n this.today = new Date();\r\n this.client_info = this.clientInfo;\r\n this.compiler.clearCache();\r\n }\r\n private selectedLink: string;\r\n\r\n setradio(e: string): void {\r\n if (e == 'Approve') {\r\n this.dsblReject = true;\r\n this.dsblApprove = false;\r\n this.approveContract.controls['email_signature'].setValidators([Validators.required]);\r\n this.approveContract.controls['email_signature'].updateValueAndValidity();\r\n this.approveContract.controls['user_notes'].clearValidators();\r\n this.approveContract.controls['user_notes'].updateValueAndValidity();\r\n }\r\n if (e == 'Reject') {\r\n this.dsblApprove = true;\r\n this.dsblReject = false;\r\n this.approveContract.controls['email_signature'].clearValidators();\r\n this.approveContract.controls['email_signature'].updateValueAndValidity();\r\n this.approveContract.controls['email_signature'].setValue('');\r\n this.approveContract.controls['user_notes'].setValidators([Validators.required]);\r\n this.approveContract.controls['user_notes'].updateValueAndValidity();\r\n }\r\n this.selectedLink = e;\r\n }\r\n isSelected(name: string): boolean {\r\n if (!this.selectedLink) {\r\n return false;\r\n }\r\n return (this.selectedLink === name);\r\n }\r\n ngOnInit() {\r\n this.approveContract = this._fb.group({\r\n email_signature: this._fb.control('', null),\r\n user_notes: this._fb.control('', null),\r\n radioBtn: this._fb.control('', Validators.required),\r\n });\r\n let agreementPk = sessionStorage[\"clinic_agreement_pk\"];\r\n if (agreementPk == null || agreementPk == \"null\" || agreementPk == undefined) {\r\n this.showDialog(ErrorMessages['clientError'], ErrorMessages['nullClinicAgreementPk']);\r\n return;\r\n }\r\n this._apiservice.getContractAgreementApproveData(agreementPk, \"Client\").subscribe((data: any) => {\r\n if(data && data.dateApproved && data.dateApproved < '2022-06-29')\r\n {\r\n this.isShow3dot3 = false;\r\n }\r\n if(data && data.dateApproved && data.dateApproved.toString() > '2022-08-19')\r\n {\r\n this.isShowsingleStarTAndC2 = false;\r\n }\r\n this.clinicAgreement = data;\r\n this.userRecords = this.clinicAgreement.clinicImmunizationList;\r\n this.displayInvoiceInfo();\r\n this.GetClinicInformation();\r\n this.GetImmunizationformation();\r\n this.GetClientInformation();\r\n this.GetWalgreensCOformation();\r\n this.GetClientLegalInfo();\r\n this.changeLanguage();\r\n this.covidOpportunityType = data.opportunityInfo.covidOpportunityType;\r\n this.privateClinicFees = data.opportunityInfo.privateClinicFees ? data.opportunityInfo.privateClinicFees : \"8.5\";\r\n let covidVaccine = this.userRecords.filter(p => p.immunizationName.includes('COVID19 Vaccine (')).length > 0;\r\n //let CovidVoucher = this.userRecords.filter(item=>item.immunizationName.includes('Vaccine Voucher')).length > 0;\r\n if (covidVaccine) {\r\n this.isCovidVoucher = true;\r\n }\r\n // else{\r\n // this.isCovidVoucher = true;\r\n // }\r\n this.siteMinimum = this.covidOpportunityType === 1 ? 15 : 25;\r\n });\r\n this.changeLanguage();\r\n }\r\n\r\n getPaymentTypes(imz) {\r\n let paymentTypes = '';\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk).sort(\r\n (a, b) => a.paymentTypeName.localeCompare(b.paymentTypeName)\r\n );\r\n immzs.forEach((element, index, array) => {\r\n // paymentTypes += `

`\r\n paymentTypes += element.paymentTypeName;\r\n if (index !== (array.length - 1)) {\r\n paymentTypes += ',
';\r\n }\r\n // paymentTypes += `

`\r\n });\r\n return paymentTypes;\r\n }\r\n\r\n getImmzPrices(imz) { \r\n let price = '';\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk).sort(\r\n (a, b) => a.paymentTypeName.localeCompare(b.paymentTypeName)\r\n );\r\n immzs.forEach((element, index, array) => {\r\n // if (element.paymentTypeId != '13' && element.paymentTypeId != '11') {\r\n if(element.paymentTypeName==='Submit Claims to Insurance')\r\n {\r\n\r\n price += 'n/a';\r\n price += ',
';\r\n }\r\n else{\r\n price += '$';\r\n let priceEx = element.price;\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose'\r\n if (index + 1 != array.length) {\r\n price += ',
';\r\n }\r\n\r\n }\r\n\r\n \r\n // }\r\n });\r\n // let isCashPaidByEmpExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7).length > 0;\r\n // if (isCashPaidByEmpExists) {\r\n // price = '$';\r\n // let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7)[0].price;\r\n // price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n // price += ' per dose'\r\n // }\r\n return price;\r\n }\r\n\r\n getImmzPricesForVoucher(imz) {\r\n let price;\r\n let isRecordExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13).length > 0;\r\n if (isRecordExists) {\r\n price = '$';\r\n let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13)[0].price;\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose'\r\n }\r\n return price;\r\n }\r\n \r\n displayInvoiceInfo() {\r\n if (this.userRecords != null) {\r\n let corp = this.userRecords.filter(c => c.paymentTypeId == \"13\");\r\n let routineExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') == -1);\r\n let covidExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('covid') !== -1);\r\n let flueExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') != -1);\r\n if (corp != null && corp.length > 0) {\r\n this.displayInvoiceAndVoucher = true;\r\n this.InvoiceInformation.push({\r\n \"paymentTypeId\": corp[0].paymentTypeId,\r\n \"sendInvoiceTo\": corp[0].sendInvoiceTo,\r\n \"name\": corp[0].name,\r\n \"phone\": corp[0].phone,\r\n \"fax\": corp[0].fax,\r\n \"email\": corp[0].email,\r\n \"address1\": corp[0].address1,\r\n \"address2\": corp[0].address2,\r\n \"city\": corp[0].city,\r\n \"isTaxExempt\": corp[0].isTaxExempt,\r\n \"state\": corp[0].state,\r\n \"zip\": corp[0].zip,\r\n \"isCopay\": corp[0].isCopay,\r\n \"copayValue\": corp[0].copayValue,\r\n \"isVoucherNeeded\": corp[0].isVoucherNeeded,\r\n \"fluvoucherExpirationDate\": flueExpDateLst.length > 0 ? flueExpDateLst[0].voucherExpirationDate : null,\r\n \"routinevoucherExpirationDate\": routineExpDateLst.length > 0 ? routineExpDateLst[0].voucherExpirationDate : null,\r\n \"covidvoucherExpirationDate\": covidExpDateLst.length > 0 ? covidExpDateLst[0].voucherExpirationDate : null\r\n });\r\n }\r\n }\r\n\r\n }\r\n GetClientLegalInfo() {\r\n this.client_info = this._apiservice.getSelectedClientLegalInfo();\r\n\r\n this.clinicAgreement.clientInfo = this.clinicAgreement.clientInfo != null ? this.clinicAgreement.clientInfo : new Client();\r\n this.clinicAgreement.clientInfo.client = this.client_info.clientname;\r\n this.clinicAgreement.clientInfo.name = this.client_info.headername != '' ? this.client_info.headername.trim() : this.client_info.headername;\r\n\r\n this.clinicAgreement.clientInfo.title = this.client_info.titlename;\r\n this.clinicAgreement.clientInfo.reviewedDate = this._datePipe.transform(this.today, \"MM/dd/yyyy\");\r\n\r\n this.clinicAgreement.legalNoticeAddressInfo = this.clinicAgreement.legalNoticeAddressInfo != null ? this.clinicAgreement.legalNoticeAddressInfo : new LegalNoticeAddress;\r\n this.clinicAgreement.legalNoticeAddressInfo.address1 = this.client_info.address1;\r\n this.clinicAgreement.legalNoticeAddressInfo.address2 = this.client_info.address2;\r\n this.clinicAgreement.legalNoticeAddressInfo.attentionTo = this.client_info.attentionto;\r\n this.clinicAgreement.legalNoticeAddressInfo.city = this.client_info.cityname;\r\n this.clinicAgreement.legalNoticeAddressInfo.zipCode = this.client_info.zipcode;\r\n this.clinicAgreement.legalNoticeAddressInfo.state = this.client_info.statename;\r\n }\r\n languageChangeToSpanish() {\r\n this.enlanguageSelection = false;\r\n this.splanguageSelection = true;\r\n let contractdateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n let data: any = this._apiservice.languageChange(2023,this.isCovidVaccineAvailable, !this.showPreUniversalContract, this.showPreUniversalContract);\r\n if (data) {\r\n this.spanishLanguage = data.spanish;\r\n this.headerText = data.header;\r\n this.attachment = data.attachmentheader;\r\n this.imz = data.imzsp;\r\n this.payment = data.paymentsp;\r\n this.rates = data.ratessp;\r\n\r\n this.ImzVcnName = data.ImzVcnNameEn;\r\n this.PaymtBillMethod = data.PaymtBillMethodEn;\r\n this.VoucherRates = data.VoucherRatesEn;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesEn;\r\n\r\n this.languageVariables.businessName = data.clientsp;\r\n this.languageVariables.name = data.namesp;\r\n this.languageVariables.eSignature = data.eSignatureSP;\r\n this.languageVariables.date = data.dateSP;\r\n this.languageVariables.district = data.districtSP;\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsSP;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextSP;\r\n \r\n this.languageVariables.title = data.titlesp;\r\n this.attentionTo = data.attentionsp;\r\n this.languageVariables.address1 = data.address1sp;\r\n this.languageVariables.address2 = data.address2sp;\r\n this.languageVariables.city = data.citysp;\r\n this.languageVariables.state = data.statesp;\r\n this.languageVariables.zip = data.zipcodesp;\r\n\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntSP;\r\n this.languageVariables.approveText = data.approveTextSP;\r\n this.languageVariables.electrSign = data.electrSignSP;\r\n this.languageVariables.notes = data.notesSP;\r\n this.languageVariables.pageTitle = data.pageTitleSP;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffSP;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineSP;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientSP;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensSP;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1SP;\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2SP;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesSP;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingSP;\r\n this.languageVariables.profJudgementText = data.profJudgementTextSP;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngSP;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextSP;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesSP;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingSP;\r\n this.languageVariables.vouchersText = data.vouchersTextSP;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationSP;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsSP;\r\n this.languageVariables.important = data.importantSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.contractYearText1SP);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.influenzaSeasonText1SP);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextSP;\r\n this.languageVariables.siteMin = data.siteMinSP;\r\n this.languageVariables.siteAvg = data.siteAvgSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextSP, data.contractYearText2SP, data.contractYearText2SP);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluSP, data.influenzaSeasonText2SP, data.influenzaSeasonText2SP);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextSP;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingSP;\r\n this.languageVariables.paymentHd = data.paymentSP;\r\n this.languageVariables.paymentText = data.paymentTextSP;\r\n this.languageVariables.latePayment = data.latePaymentSP;\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesSP;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextSP;\r\n this.languageVariables.latePaymentText = data.latePaymentTextSP;\r\n this.languageVariables.costIncrease = data.costIncreaseSP; \r\n this.languageVariables.costIncreasetext = data.costIncreasetextSP\r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsSP;\r\n this.languageVariables.termAndTerm = data.termAndTermSP;\r\n this.languageVariables.termAndTermText = data.termAndTermTextSP;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationSP;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextSP;\r\n this.languageVariables.waiver = data.waiverSP;\r\n this.languageVariables.waiverText = data.waiverTextSP;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifySP;\r\n this.languageVariables.insurance = data.insuranceSP;\r\n this.languageVariables.insuranceText = data.insuranceTextSP;\r\n this.languageVariables.indemnification = data.indemnificationSP;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let universalContractReleasedate = data.universalContractReleaseDate ? new Date(data.universalContractReleaseDate) : null;\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsSP;\r\n this.languageVariables.confidentiality = data.confidentialitySP;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1SP;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialitySP;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextSP;\r\n this.languageVariables.phi = data.phiSP;\r\n this.languageVariables.phiAb = data.phiAbSP;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2SP;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextSP;\r\n\r\n this.languageVariables.Advertising = data.AdvertisingSP;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextSP;\r\n this.languageVariables.frcMaj = data.frcMajSP;\r\n this.languageVariables.frcMajText = data.frcMajTextSP;\r\n this.languageVariables.compliance = data.complianceSP;\r\n this.languageVariables.complianceText = data.complianceTextSP;\r\n this.languageVariables.assignment = data.assignmentSP;\r\n this.languageVariables.assignmentText = data.assignmentTextSP;\r\n this.languageVariables.notices = data.noticesSP;\r\n this.languageVariables.noticesText = data.noticesTextSP;\r\n this.languageVariables.entireAgr = data.entireAgrSP;\r\n this.languageVariables.entireAgrText = data.entireAgrTextSP;\r\n this.languageVariables.counterPart = data.counterPartsHeadingSP;\r\n this.languageVariables.counterPartsText = data.counterPartsTextSP;\r\n this.languageVariables.rights = data.rightsSP;\r\n this.languageVariables.approve = data.approveSP;\r\n this.languageVariables.reject = data.rejectSP;\r\n this.languageVariables.submit = data.submitSP;\r\n this.languageVariables.printAgreementTxt = data.printAgreementSP;\r\n this.languageVariables.dose = data.doseSP;\r\n this.languageVariables.clinicLocation = data.clinicLocationSP;\r\n this.languageVariables.clinicDate = data.clinicDateSP;\r\n this.languageVariables.clinicTime = data.clinicTimeSP;\r\n this.languageVariables.contact = data.contactSP;\r\n this.languageVariables.phone = data.phoneSP;\r\n this.languageVariables.location = data.locationSP;\r\n this.languageVariables.time = data.timeSP;\r\n this.languageVariables.email = data.emailSP;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToSP;\r\n this.languageVariables.multipleEmailAddrss = data.multipleEmailAddressSP;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementSP;\r\n this.languageVariables.editAgreeMnt = data.editAgreementSP;\r\n this.languageVariables.saveAgreeMnt = data.saveAgreementSP;\r\n this.languageVariables.cancelTxt = data.cancelSP;\r\n this.languageVariables.noteTxt = data.noteTextSP;\r\n this.languageVariables.table1 = data.table1SP;\r\n this.attn = this.attentionTo;\r\n this.fluExpiryDateTxt = data.fluExpiryDateSP;\r\n this.routineExpiryDateTxt = data.routineExpiryDateSP;\r\n this.languageVariables.estShots = data.estShotsSP;\r\n this.sendInvoiceTo = data.sendInvoiceToSP;\r\n this.isTaxExempt = data.isTaxExemptSP;\r\n this.isCopay = data.isCopaySP;\r\n this.voucherNeeded = data.voucherNeededSP;\r\n this.voucherExpiry = data.voucherExpirySP;\r\n this.copayValue = data.copayValueSP;\r\n this.languageVariables.contactName = data.contactNameSP;\r\n this.languageVariables.contactPhone = data.contactPhoneSP;\r\n this.languageVariables.contactEmail = data.contactEmailSP;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n }\r\n }\r\n languageChangeToEnglish() {\r\n this.splanguageSelection = false;\r\n this.enlanguageSelection = true;\r\n let contractdateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n let data: any = this._apiservice.languageChange(2023,this.isCovidVaccineAvailable, !this.showPreUniversalContract, this.showPreUniversalContract);\r\n if (data) {\r\n this.englishLanguage = data.english;\r\n this.enheader = data.englishheader;\r\n this.enattachment = data.englishattachment;\r\n this.enattachmentArticleII = data.articleIIEN;\r\n this.articleNoFeeIIEN = data.articleNoFeeIIEN;\r\n\r\n this.imz = data.imzen;\r\n this.payment = data.payen;\r\n this.rates = data.ratesen;\r\n\r\n this.ImzVcnName = data.ImzVcnNameEn;\r\n this.PaymtBillMethod = data.PaymtBillMethodEn;\r\n this.VoucherRates = data.VoucherRatesEn;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesEn;\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsEN;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextEN;\r\n\r\n this.languageVariables.businessName = data.clienten;\r\n this.languageVariables.name = data.nameen;\r\n this.languageVariables.eSignature = data.eSignatureEN;\r\n this.languageVariables.date = data.dateEN;\r\n this.languageVariables.district = data.districtEN;\r\n\r\n this.languageVariables.title = data.titleen;\r\n this.attentionTo = data.attentionen;\r\n this.languageVariables.address1 = data.address1en;\r\n this.languageVariables.address2 = data.address2en;\r\n this.languageVariables.city = data.cityen;\r\n this.languageVariables.state = data.stateen;\r\n this.languageVariables.zip = data.zipcodeen;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntEN;\r\n this.languageVariables.approveText = data.approveTextEN;\r\n this.languageVariables.electrSign = data.electrSignEN;\r\n this.languageVariables.notes = data.notesEN;\r\n this.languageVariables.pageTitle = data.pageTitleEN;\r\n this.languageVariables.dose = data.doseEN;\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffEN;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineEN;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientEN;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensEN;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1EN\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2EN;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesEN;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingEN;\r\n this.languageVariables.profJudgementText = data.profJudgementTextEN;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngEN;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextEN;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesEN;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingEN;\r\n this.languageVariables.vouchersText = data.vouchersTextEN;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationEN;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsEN;\r\n this.languageVariables.important = data.importantEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.contractYearText1EN);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.influenzaSeasonText1EN);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextEN;\r\n this.languageVariables.siteMin = data.siteMinEN;\r\n this.languageVariables.siteAvg = data.siteAvgEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextEN, data.contractYearText2EN, data.contractYearText2EN);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluEN, data.influenzaSeasonText2EN, data.influenzaSeasonText2EN);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextEN;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingEN;\r\n this.languageVariables.paymentHd = data.paymentEN;\r\n this.languageVariables.singleStarTAndC = data.singleStarTAndC;\r\n this.languageVariables.singleStarTAndC2 = data.singleStarTAndC2;\r\n this.languageVariables.article2Text = data.article2Text;\r\n if (this.checkIfCovidImmForCorpInvoiceSelected()) {\r\n this.languageVariables.paymentText = !this.showPreUniversalContract ? data.paymentTextEN : data.paymentTextDirectBillEN;\r\n this.enheader = this.showPreUniversalContract ? data.directBillEnglishheader : data.englishheader;\r\n }\r\n else {\r\n this.languageVariables.paymentText = data.paymentTextEN;\r\n this.enheader = data.englishheader;\r\n }\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesEN;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextEN;\r\n this.languageVariables.latePayment = data.latePaymentEN;\r\n this.languageVariables.latePaymentText = data.latePaymentTextEN;\r\n this.languageVariables.costIncrease = data.costIncreaseEN; \r\n this.languageVariables.costIncreasetext = data.costIncreasetextEN\r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsEN;\r\n this.languageVariables.termAndTerm = data.termAndTermEN;\r\n this.languageVariables.termAndTermText = data.termAndTermTextEN;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationEN;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextEN;\r\n this.languageVariables.waiver = data.waiverEN;\r\n this.languageVariables.waiverText = data.waiverTextEN;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifyEN;\r\n this.languageVariables.insurance = data.insuranceEN;\r\n this.languageVariables.insuranceText = data.insuranceTextEN;\r\n this.languageVariables.indemnification = data.indemnificationEN;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (this.isCovidVaccineAvailable == true && (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate)) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsEN;\r\n this.languageVariables.confidentiality = data.confidentialityEN;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1EN;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialityEN;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextEN;\r\n this.languageVariables.phi = data.phiEN;\r\n this.languageVariables.phiAb = data.phiAbEN;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2EN;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextEN;\r\n this.languageVariables.Advertising = data.AdvertisingEN;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextEN;\r\n this.languageVariables.frcMaj = data.frcMajEN;\r\n this.languageVariables.frcMajText = data.frcMajTextEN;\r\n this.languageVariables.compliance = data.complianceEN;\r\n this.languageVariables.complianceText = data.complianceTextEN;\r\n this.languageVariables.assignment = data.assignmentEN;\r\n this.languageVariables.assignmentText = data.assignmentTextEN;\r\n this.languageVariables.notices = data.noticesEN;\r\n this.languageVariables.noticesText = data.noticesTextEN;\r\n this.languageVariables.entireAgr = data.entireAgrEN;\r\n this.languageVariables.entireAgrText = data.entireAgrTextEN;\r\n this.languageVariables.counterPart = data.counterPartsHeadingEN;\r\n this.languageVariables.counterPartsText = data.counterPartsTextEN;\r\n this.languageVariables.rights = data.rightsEN;\r\n\r\n this.languageVariables.approve = data.approveEN;\r\n this.languageVariables.reject = data.rejectEN;\r\n this.languageVariables.submit = data.submitEN;\r\n this.languageVariables.printAgreementTxt = data.printAgreementEN;\r\n this.languageVariables.clinicLocation = data.clinicLocationEN;\r\n this.languageVariables.clinicDate = data.clinicDateEN;\r\n this.languageVariables.clinicTime = data.clinicTimeEN;\r\n this.languageVariables.contact = data.contactEN;\r\n this.languageVariables.phone = data.phoneEN;\r\n this.languageVariables.location = data.locationEN;\r\n this.languageVariables.time = data.timeEN;\r\n this.languageVariables.email = data.emailEN;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToEN;\r\n this.languageVariables.multipleEmailAddrss = data.multipleEmailAddressEN;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementEN;\r\n this.languageVariables.editAgreeMnt = data.editAgreementEN;\r\n this.languageVariables.saveAgreeMnt = data.saveAgreementEN;\r\n this.languageVariables.cancelTxt = data.cancelEN;\r\n this.languageVariables.noteTxt = data.noteTextEN;\r\n this.languageVariables.table1 = data.table1EN;\r\n this.attn = data.attnEN;\r\n this.fluExpiryDateTxt = data.fluExpiryDateEN;\r\n this.routineExpiryDateTxt = data.routineExpiryDateEN;\r\n this.languageVariables.estShots = data.estShotsEN;\r\n this.sendInvoiceTo = data.sendInvoiceToEN;\r\n this.isTaxExempt = data.isTaxExemptEN;\r\n this.isCopay = data.isCopayEN;\r\n this.voucherNeeded = data.voucherNeededEN;\r\n this.voucherExpiry = data.voucherExpiryEN;\r\n this.copayValue = data.copayValueEN;\r\n this.languageVariables.contactName = data.contactName;\r\n this.languageVariables.contactPhone = data.contactPhone;\r\n this.languageVariables.contactEmail = data.contactEmail;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n }\r\n\r\n this.language = \"TRANSLATE TO ENGLISH\";\r\n }\r\n public GetClinicInformation() {\r\n\r\n this.clinicInformation = this.clinicAgreement.clinicList;\r\n this.isClinicNoFeesDisbaled = this.clinicInformation.some(imzqty => imzqty.clinicFee !=undefined && imzqty.clinicFee !=null && imzqty.clinicFee > 0 )\r\n this.clinicInformation.forEach(cl => {\r\n try {\r\n let dateString = cl.clinicDate.substring(0, cl.clinicDate.indexOf('T'));\r\n if (dateString.length > 0) {\r\n let dateSplitTokens = dateString.split('-');\r\n if (dateSplitTokens.length > 0) {\r\n var dt = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n var clDate = new Date(dt);\r\n cl.clinicDate = clDate.getMonth() + 1 + \"/\" + clDate.getDate() + \"/\" + clDate.getFullYear();\r\n }\r\n }\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n });\r\n this.getLatitudeLongitude();\r\n }\r\n\r\n //geocoder to get the latitude and longitude\r\n getAddr(idx, addr, sourceobject, result) {\r\n sourceobject.clinicList[idx].latitude = result.lat();\r\n sourceobject.clinicList[idx].longitude = result.lng();\r\n };\r\n getLatitudeLongitude() {\r\n for (let i = 0; i < this.clinicAgreement.clinicList.length; i++) {\r\n\r\n let address = this.clinicAgreement.clinicList[i].address1 + \",\" + this.clinicAgreement.clinicList[i].city + \",\" + this.clinicAgreement.clinicList[i].state + \" \" + this.clinicAgreement.clinicList[i].zipCode;\r\n (function (idx, clinic, sourceobject, callback) {\r\n var geocoder = new google.maps.Geocoder();\r\n geocoder.geocode({ 'address': clinic }, function (results, status) {\r\n if (status == google.maps.GeocoderStatus.OK) {\r\n callback(idx, clinic, sourceobject, results[0].geometry.location)\r\n }\r\n });\r\n })(i, address, this.clinicAgreement, this.getAddr);\r\n\r\n }\r\n\r\n }\r\n //end geocoder \r\n public GetImmunizationformation() {\r\n for (let i = 0; i < this.clinicAgreement.clinicList.length; i++) {\r\n this.immunizationInformation = this.clinicAgreement.clinicList[i].clinicImzQtyList;\r\n }\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicList[0].clinicImzQtyList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n }\r\n\r\n public GetClientInformation() {\r\n this.clientInformation = this.clinicAgreement.clientInfo != null ? this.clinicAgreement.clientInfo : new Client();\r\n this.clientInformation.client = this.clientInformation.client != '' ? this.clientInformation.client.trim() : this.clientInformation.client;\r\n\r\n }\r\n\r\n public GetWalgreensCOformation() {\r\n this.walGreensInfo = this.clinicAgreement.walgreenCoInfo != null ? this.clinicAgreement.walgreenCoInfo : new WalgreenCo();\r\n if (this.walGreensInfo.preparedDate != null && this.walGreensInfo.preparedDate != undefined && this.walGreensInfo.preparedDate != '') {\r\n this.walGreensInfo.preparedDate = this._datePipe.transform(this.walGreensInfo.preparedDate, \"MM/dd/yyyy\");\r\n }\r\n\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = \"Contract Alert\";\r\n this.display = true;\r\n }\r\n\r\n contractApproved() {\r\n let storeID = sessionStorage[\"storeId\"];\r\n if (this.approveContract.valid) {\r\n if (this.clinicAgreement.clientInfo == null || this.clinicAgreement.clientInfo == undefined) {\r\n this.showDialog(ErrorMessages['contract'], \"Please fill Client Information in Step 1 of the Workflow.\");\r\n return;\r\n }\r\n if (this.approveContract.controls['radioBtn'].value == 1 &&\r\n this.approveContract.value.email_signature.toLowerCase().trim() != this.clinicAgreement.clientInfo.name.toLowerCase().trim()) {\r\n if (this.approveContract.controls[\"email_signature\"].value.trim() != '') {\r\n this.showDialog(ErrorMessages['ElectronicSignatureErrorHdng'], ErrorMessages['ElectronicSignatureErrorMsg']);\r\n }\r\n else {\r\n this.approveContract.controls['email_signature'].setValue('');\r\n this.approveContract.controls['email_signature'].updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n return;\r\n }\r\n switch (this.selectedLink) {\r\n case 'Approve':\r\n this.approveContract.controls['email_signature'].setValidators([Validators.required]);\r\n this.approveContract.controls['email_signature'].updateValueAndValidity();\r\n if (this.approveContract.valid && this.clinicAgreement.clinicList.length > 0) {\r\n\r\n this.spinner.show();\r\n this.clinicAgreement.isApproved = 1;\r\n this.clinicAgreement.isEmailSent = Number(this.clinicAgreement.isEmailSent);\r\n this.clinicAgreement.signature = this.approveContract.value.email_signature ? this.approveContract.value.email_signature.trim() : this.approveContract.value.email_signature;\r\n this.clinicAgreement.contractPostedByUser = 'Business User';\r\n this.clinicAgreement.approvedOrRejectedBy = sessionStorage[\"approveRejectEmail\"];\r\n this.makeValidBooleans();\r\n this._apiservice.saveAgreementData(storeID, 1, this.clinicAgreement).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case 'success':\r\n case null:\r\n case \"null\":\r\n case 0:\r\n case '0':\r\n let responseClinicAgreement: any = data;\r\n let corporateInvoice: any = false;\r\n let submitInsurance: any = false;\r\n let voucherNeeded: any = false;\r\n\r\n for (var i = 0; i < responseClinicAgreement.clinicImmunizationList.length; i++) {\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 6) {\r\n corporateInvoice = true;\r\n }\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 8) {\r\n submitInsurance = true;\r\n }\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 9) {\r\n submitInsurance = true;\r\n }\r\n }\r\n\r\n var thankuData = new ThankyouData();\r\n thankuData.hasPrefilledForms = responseClinicAgreement.contractThankYou.hasPrefilledForms;\r\n thankuData.storeState = responseClinicAgreement.contractThankYou.storeState;\r\n thankuData.pdfVarFormEn = responseClinicAgreement.contractThankYou.pdfVarFormEn;\r\n thankuData.pdfVarFormEsp = responseClinicAgreement.contractThankYou.pdfVarFormEsp;\r\n thankuData.voucherNeeded = voucherNeeded;//Need to check\r\n thankuData.isRestrictedState = false;//need to check\r\n thankuData.corporateInvoice = corporateInvoice;\r\n thankuData.submitInsurance = submitInsurance;\r\n thankuData.isCovidClinic = this.isCovidVaccineAvailable;\r\n thankuData.covidOpportunityType = this.covidOpportunityType;\r\n thankuData.printContents = document.getElementById('approveContract').innerHTML;\r\n thankuData.isCovidOpportunity = this.isCovidVaccineAvailable;\r\n\r\n SessionDetails.setThankUDetails(thankuData);\r\n this.router.navigate(['/thankyou']);\r\n break;\r\n case -2:\r\n case '-2':\r\n case -6:\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled ErrorCode received from Service errorCode:{0}, errorMessage:{1}', data.errorS.errorCode, data.errorS.errorMessage));\r\n break;\r\n\r\n }\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['contract'], String.Format('ErrorCode 500 received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled exception ErrorCode received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n }\r\n });\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n break;\r\n case 'Reject':\r\n this.approveContract.controls['user_notes'].setValidators([Validators.required]);\r\n this.approveContract.controls['user_notes'].updateValueAndValidity();\r\n if (this.approveContract.valid && this.clinicAgreement.clinicList.length > 0) {\r\n this.spinner.show();\r\n this.clinicAgreement.isEmailSent = Number(this.clinicAgreement.isEmailSent);\r\n this.clinicAgreement.isApproved = 0;\r\n this.clinicAgreement.notes = this.approveContract.value.user_notes;\r\n this.clinicAgreement.signature = this.approveContract.value.email_signature ? this.approveContract.value.email_signature.trim() : this.approveContract.value.email_signature;\r\n this.clinicAgreement.contractPostedByUser = 'Business User';\r\n this.clinicAgreement.approvedOrRejectedBy = sessionStorage[\"approveRejectEmail\"];\r\n this.makeValidBooleans();\r\n this._apiservice.saveAgreementData(storeID, 1, this.clinicAgreement).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case 'success':\r\n case null:\r\n case \"null\":\r\n case 0:\r\n case '0':\r\n this.router.navigate(['/thankyou']);\r\n break;\r\n case -2:\r\n case '-2':\r\n case -6:\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n }\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n });\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n break;\r\n default:\r\n console.log('Error occurred none of them matched')\r\n break;\r\n }\r\n }\r\n else {\r\n\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n }\r\n makeValidBooleans() {\r\n this.clinicAgreement.clinicImmunizationList.forEach(im => {\r\n if (im.sendInvoiceTo <= 0) {\r\n im.isTaxExempt = null;\r\n im.isCopay = null;\r\n im.isVoucherNeeded = null;\r\n } else {\r\n im.isTaxExempt >= 1 ? im.isTaxExempt = 1 : im.isTaxExempt = 0;\r\n im.isCopay >= 1 ? im.isCopay = 1 : im.isCopay = 0;\r\n im.isVoucherNeeded >= 1 ? im.isVoucherNeeded = 1 : im.isVoucherNeeded = 0;\r\n im.copayValue = +im.copayValue;\r\n if (im.voucherExpirationDate != null && im.voucherExpirationDate != undefined && im.voucherExpirationDate != '') {\r\n im.voucherExpirationDate = this._datePipe.transform(im.voucherExpirationDate, \"MM/dd/yyyy\");\r\n }\r\n }\r\n });\r\n\r\n this.clinicAgreement.clinicList.forEach(cl => {\r\n cl.isNoClinic >= 1 ? cl.isNoClinic = 1 : cl.isNoClinic = 0;\r\n cl.isReassign >= 1 ? cl.isReassign = 1 : cl.isReassign = 0;\r\n cl.isCurrent >= 1 ? cl.isCurrent = 1 : cl.isCurrent = 0;\r\n\r\n if (cl.clinicDate === null || cl.clinicDate === undefined || cl.clinicDate === '') {\r\n cl.clinicDate = null;\r\n } else {\r\n var clDate = new Date(cl.clinicDate);\r\n cl.clinicDate = clDate.getMonth() + 1 + \"/\" + clDate.getDate() + \"/\" + clDate.getFullYear();//this._datePipe.transform(cl.clinicDate,\"MM/dd/yyyy\");\r\n }\r\n });\r\n }\r\n\r\n okClicked() {\r\n this.display = false;\r\n }\r\n isFieldValid(field: string) {\r\n return !this.approveContract.get(field).valid && this.approveContract.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n\r\n printAgreement() {\r\n this.utility.print(\"approveContract\", \"Walgreens Community Off-site Agreement\");\r\n }\r\n changeLanguage() {\r\n\r\n if (this.currentLanguage?.toLowerCase() === 'spanish') {\r\n this.languageChangeToSpanish();\r\n } else {\r\n this.languageChangeToEnglish();\r\n }\r\n }\r\n\r\n checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location: Clinic): boolean {\r\n return this._apiservice.checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location) && Number(location.isNoClinic) >= 1;\r\n }\r\n checkIfFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfNonFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfNonFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfCovidImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfCovidImmForCorpInvoiceSelected();\r\n }\r\n getVoucherExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getRoutineExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getCovidExpiryDate(): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1 && imz.immunizationName.toLowerCase().search('covid') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n checkIfNonFluImmIsSelected(): boolean {\r\n return this._apiservice.checkIfNonFluImmIsSelected();\r\n }\r\n checkToPrintAsterisk(immAbvName: string, immName: string): boolean {\r\n let bRet: boolean = false;\r\n if (immAbvName && immAbvName.search(/Two Dose/gi) >= 0) {\r\n bRet = true;\r\n }\r\n return bRet;\r\n }\r\n checkForDoubleAsteriskRates(): boolean {\r\n return this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/Dose/gi) >= 0).length > 0;\r\n }\r\n}\r\n","import { Component, OnInit, Input, Compiler } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ContractapproveService } from '../../services/contractapprove.service';\r\nimport { ClientInfo } from '../../../../models/client-info';\r\nimport { Globalvariables } from '../../../../models/globalvariables';\r\nimport { String, StringBuilder } from 'typescript-string-operations';\r\nimport { ContractData, Client, WalgreenCo, LegalNoticeAddress, Clinic, LanguageVariables } from '../../../../models/contract';\r\n//import { GMapsService } from '../../../common/services/gmaps-service.service';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Util } from '../../../../utility/util';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { ThankyouData } from '../../../../models/thankyouData';\r\nimport { universalContractReleaseDate } from '../../../../JSON/UniversalTandC';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { ClinicDetailsUtilities } from '../../../../utility/clinicDetailsUtilities';\r\ndeclare var google: any;\r\n\r\n@Component({\r\n selector: 'app-approveagreement-2024',\r\n templateUrl: './approveagreement-2024.component.html',\r\n styleUrls: ['./approveagreement-2024.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class Approveagreement2024Component implements OnInit {\r\n debugger;\r\n InvoiceInformation: any[] = [];\r\n displayInvoiceAndVoucher = false;\r\n signature: string = '';\r\n usernotes: string = '';\r\n getData: any;\r\n jsonData: string;\r\n currentUser = [];\r\n userRecords = [];\r\n aggrementData: any;\r\n clinicAgreement: any = new ContractData();\r\n immunizationInformation = [];\r\n immunizationInformation1: string;\r\n clinicInformation = [];\r\n clientInformation: Client = new Client();\r\n walGreensInfo: WalgreenCo = new WalgreenCo();\r\n items: any;\r\n paymentCheck: boolean;\r\n clientName: string;\r\n enattachmentArticleII: string;\r\n\r\n @Input(\"currentLanguage\")\r\n currentLanguage: string;\r\n @Input() client: string;\r\n @Input() childMessage: string;\r\n spanishLanguage: string;\r\n headerText: string;\r\n attachment: string;\r\n message: string;\r\n imz: string;\r\n payment: string;\r\n rates: string;\r\n englishLanguage: string;\r\n enheader: string;\r\n enattachment: string;\r\n language: string;\r\n showBtnEn: boolean = false;\r\n showBtnSp: boolean = true;\r\n enlanguageSelection: boolean;\r\n splanguageSelection: boolean;\r\n json: string;\r\n legal_notice: string;\r\n today: any;\r\n attentionTo: string;\r\n attn: string;\r\n client_information: any[];\r\n legal_information: any[];\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n approveContract: FormGroup\r\n client_info: ClientInfo = new ClientInfo();\r\n fluExpiryDate: string = '';\r\n RoutineExpiryDate: string = '';\r\n isCovidVaccineAvailable: boolean = false;\r\n //legal_notice_address: LegalNoticeAddress = new LegalNoticeAddress();\r\n\r\n /////////////////////////////////////////// LANGUAGE Variables ///////////////////////\r\n languageVariables = new LanguageVariables();\r\n\r\n fluExpiryDateTxt = '';\r\n routineExpiryDateTxt = '';\r\n sendInvoiceTo = '';\r\n isTaxExempt = ''\r\n isCopay = '';\r\n voucherNeeded = ''\r\n voucherExpiry = ''\r\n copayValue = '';\r\n dsblApprove: boolean = false;\r\n dsblReject: boolean = false;\r\n covidOpportunityType: number;\r\n isCovidVoucher: boolean = false;\r\n privateClinicFees: string = \"8.5\";\r\n showPreUniversalContract: boolean = false;\r\n siteMinimum: number = 25;\r\n ImzVcnName: any;\r\n PaymtBillMethod: any;\r\n VoucherRates: any;\r\n OffSiteClinicRates: any;\r\n isShow3dot3: boolean = true;\r\n isShowsingleStarTAndC2: boolean;\r\n isClinicNoFeesDisbaled: boolean = false;\r\n articleNoFeeIIEN: string;\r\n hasServicefeeFeatureDisabled = environment.disabledFeatures.serviceFee;\r\n isPreviousClinic: number | null;\r\n dispalyInvoiceData: boolean = false;\r\n\r\n constructor(\r\n private _apiservice: ContractapproveService,\r\n private router: Router,\r\n private _fb: FormBuilder,\r\n private clientInfo: ClientInfo,\r\n private utility: Util,\r\n private _datePipe: DatePipe,\r\n private spinner: NgxSpinnerService,\r\n private compiler: Compiler\r\n ) {\r\n this.today = new Date();\r\n this.client_info = this.clientInfo;\r\n this.compiler.clearCache();\r\n }\r\n private selectedLink: string;\r\n\r\n setradio(e: string): void {\r\n if (e == 'Approve') {\r\n this.dsblReject = true;\r\n this.dsblApprove = false;\r\n this.approveContract.controls['email_signature'].setValidators([Validators.required]);\r\n this.approveContract.controls['email_signature'].updateValueAndValidity();\r\n this.approveContract.controls['user_notes'].clearValidators();\r\n this.approveContract.controls['user_notes'].updateValueAndValidity();\r\n }\r\n if (e == 'Reject') {\r\n this.dsblApprove = true;\r\n this.dsblReject = false;\r\n this.approveContract.controls['email_signature'].clearValidators();\r\n this.approveContract.controls['email_signature'].updateValueAndValidity();\r\n this.approveContract.controls['email_signature'].setValue('');\r\n this.approveContract.controls['user_notes'].setValidators([Validators.required]);\r\n this.approveContract.controls['user_notes'].updateValueAndValidity();\r\n }\r\n this.selectedLink = e;\r\n }\r\n isSelected(name: string): boolean {\r\n if (!this.selectedLink) {\r\n return false;\r\n }\r\n return (this.selectedLink === name);\r\n }\r\n ngOnInit() {\r\n this.approveContract = this._fb.group({\r\n email_signature: this._fb.control('', null),\r\n user_notes: this._fb.control('', null),\r\n radioBtn: this._fb.control('', Validators.required),\r\n });\r\n let agreementPk = sessionStorage[\"clinic_agreement_pk\"];\r\n if (agreementPk == null || agreementPk == \"null\" || agreementPk == undefined) {\r\n this.showDialog(ErrorMessages['clientError'], ErrorMessages['nullClinicAgreementPk']);\r\n return;\r\n }\r\n this._apiservice.getContractAgreementApproveData(agreementPk, \"Client\").subscribe((data: any) => {\r\n if (data && data.dateApproved && data.dateApproved < '2022-06-29') {\r\n this.isShow3dot3 = false;\r\n }\r\n if (data && data.dateApproved && data.dateApproved.toString() > '2022-08-19') {\r\n this.isShowsingleStarTAndC2 = false;\r\n }\r\n this.clinicAgreement = data;\r\n this.userRecords = this.clinicAgreement.clinicImmunizationList;\r\n this.isPreviousClinic = Number(ClinicDetailsUtilities.getisPreviousClinic(data.clinicList));\r\n this.displayInvoiceInfo();\r\n this.GetClinicInformation();\r\n this.GetImmunizationformation();\r\n this.GetClientInformation();\r\n this.GetWalgreensCOformation();\r\n this.GetClientLegalInfo();\r\n this.changeLanguage();\r\n this.covidOpportunityType = data.opportunityInfo.covidOpportunityType;\r\n this.privateClinicFees = data.opportunityInfo.privateClinicFees ? data.opportunityInfo.privateClinicFees : \"8.5\";\r\n let covidVaccine = this.userRecords.filter(p => p.immunizationName.includes('COVID19 Vaccine (')).length > 0;\r\n //let CovidVoucher = this.userRecords.filter(item=>item.immunizationName.includes('Vaccine Voucher')).length > 0;\r\n if (covidVaccine) {\r\n this.isCovidVoucher = true;\r\n }\r\n // else{\r\n // this.isCovidVoucher = true;\r\n // }\r\n this.siteMinimum = this.covidOpportunityType === 1 ? 15 : 25;\r\n });\r\n this.changeLanguage();\r\n }\r\n\r\n getPaymentTypes(imz) {\r\n let paymentTypes = '';\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk).sort(\r\n (a, b) => a.paymentTypeName.localeCompare(b.paymentTypeName)\r\n );\r\n immzs.forEach((element, index, array) => {\r\n // paymentTypes += `

`\r\n paymentTypes += element.paymentTypeName;\r\n if (index !== (array.length - 1)) {\r\n paymentTypes += ',
';\r\n }\r\n // paymentTypes += `

`\r\n });\r\n return paymentTypes;\r\n }\r\n\r\n getImmzPrices(imz) {\r\n let price = '';\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk).sort(\r\n (a, b) => a.paymentTypeName.localeCompare(b.paymentTypeName)\r\n );\r\n immzs.forEach((element, index, array) => {\r\n // if (element.paymentTypeId != '13' && element.paymentTypeId != '11') {\r\n // if (element.paymentTypeName === 'Submit Claims to Insurance' && element.price < 0) {\r\n\r\n // price += 'n/a';\r\n // price += ',
';\r\n // }\r\n // else {\r\n let priceEx = element.price;\r\n if (priceEx < 0) {\r\n price += 'n/a'\r\n } else {\r\n price += '$';\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose'\r\n }\r\n if (index + 1 != array.length) {\r\n price += ',
';\r\n }\r\n\r\n // }\r\n\r\n\r\n // }\r\n });\r\n // let isCashPaidByEmpExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7).length > 0;\r\n // if (isCashPaidByEmpExists) {\r\n // price = '$';\r\n // let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7)[0].price;\r\n // price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n // price += ' per dose'\r\n // }\r\n return price;\r\n }\r\n\r\n getImmzPricesForVoucher(imz) {\r\n let price;\r\n let isRecordExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13).length > 0;\r\n if (isRecordExists) {\r\n price = '$';\r\n let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13)[0].price;\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose'\r\n }\r\n return price;\r\n }\r\n\r\n displayInvoiceInfo() {\r\n if (this.userRecords != null) {\r\n let corp = this.userRecords?.[0];\r\n corp.isVoucherNeeded = this.userRecords.some((record) => record.isVoucherNeeded === true || Number(record.isVoucherNeeded) === 1);\r\n this.userRecords.forEach(c => c.paymentTypeId == \"13\" ? this.displayInvoiceAndVoucher = true : this.displayInvoiceAndVoucher = false)\r\n let routineExpDateLst = this.userRecords.filter(c => c.immunizationName.toLowerCase().search('flu') == -1);\r\n let covidExpDateLst = this.userRecords.filter(c => c.immunizationName.toLowerCase().search('covid') !== -1);\r\n let flueExpDateLst = this.userRecords.filter(c => c.immunizationName.toLowerCase().search('flu') != -1);\r\n if (corp != null && Object.keys(corp).length > 0) {\r\n this.InvoiceInformation.push({\r\n \"paymentTypeId\": corp.paymentTypeId,\r\n \"sendInvoiceTo\": corp.sendInvoiceTo,\r\n \"name\": corp.name,\r\n \"phone\": corp.phone,\r\n \"fax\": corp.fax,\r\n \"email\": corp.email,\r\n \"address1\": corp.address1,\r\n \"address2\": corp.address2,\r\n \"city\": corp.city,\r\n \"isTaxExempt\": corp.isTaxExempt,\r\n \"state\": corp.state,\r\n \"zip\": corp.zip,\r\n \"isCopay\": corp.isCopay,\r\n \"copayValue\": corp.copayValue,\r\n \"isVoucherNeeded\": corp.isVoucherNeeded,\r\n \"fluvoucherExpirationDate\": flueExpDateLst.length > 0 ? flueExpDateLst[0].voucherExpirationDate : null,\r\n \"routinevoucherExpirationDate\": routineExpDateLst.length > 0 ? routineExpDateLst[0].voucherExpirationDate : null,\r\n \"covidvoucherExpirationDate\": covidExpDateLst.length > 0 ? covidExpDateLst[0].voucherExpirationDate : null\r\n });\r\n\r\n \r\n if(this.userRecords.filter(item => item.paymentTypeId == 13).length > 0 || this.userRecords.filter(item => item.paymentTypeId == 6).length > 0){\r\n this.dispalyInvoiceData=true;\r\n }\r\n else{\r\n this.dispalyInvoiceData=false;\r\n }\r\n \r\n\r\n }\r\n }\r\n\r\n }\r\n GetClientLegalInfo() {\r\n this.client_info = this._apiservice.getSelectedClientLegalInfo();\r\n\r\n this.clinicAgreement.clientInfo = this.clinicAgreement.clientInfo != null ? this.clinicAgreement.clientInfo : new Client();\r\n this.clinicAgreement.clientInfo.client = this.client_info.clientname;\r\n this.clinicAgreement.clientInfo.name = this.client_info.headername != '' ? this.client_info.headername.trim() : this.client_info.headername;\r\n\r\n this.clinicAgreement.clientInfo.title = this.client_info.titlename;\r\n this.clinicAgreement.clientInfo.reviewedDate = this._datePipe.transform(this.today, \"MM/dd/yyyy\");\r\n\r\n this.clinicAgreement.legalNoticeAddressInfo = this.clinicAgreement.legalNoticeAddressInfo != null ? this.clinicAgreement.legalNoticeAddressInfo : new LegalNoticeAddress;\r\n this.clinicAgreement.legalNoticeAddressInfo.address1 = this.client_info.address1;\r\n this.clinicAgreement.legalNoticeAddressInfo.address2 = this.client_info.address2;\r\n this.clinicAgreement.legalNoticeAddressInfo.attentionTo = this.client_info.attentionto;\r\n this.clinicAgreement.legalNoticeAddressInfo.city = this.client_info.cityname;\r\n this.clinicAgreement.legalNoticeAddressInfo.zipCode = this.client_info.zipcode;\r\n this.clinicAgreement.legalNoticeAddressInfo.state = this.client_info.statename;\r\n }\r\n languageChangeToSpanish() {\r\n this.enlanguageSelection = false;\r\n this.splanguageSelection = true;\r\n let contractdateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n let data: any = this._apiservice.languageChange(2024, this.isCovidVaccineAvailable, !this.showPreUniversalContract, this.showPreUniversalContract, Boolean(this.isPreviousClinic));\r\n if (data) {\r\n this.spanishLanguage = data.spanish;\r\n this.headerText = data.header;\r\n this.attachment = data.attachmentheader;\r\n this.imz = data.imzsp;\r\n this.payment = data.paymentsp;\r\n this.rates = data.ratessp;\r\n\r\n this.ImzVcnName = data.ImzVcnNameEn;\r\n this.PaymtBillMethod = data.PaymtBillMethodEn;\r\n this.VoucherRates = data.VoucherRatesEn;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesEn;\r\n\r\n this.languageVariables.businessName = data.clientsp;\r\n this.languageVariables.name = data.namesp;\r\n this.languageVariables.eSignature = data.eSignatureSP;\r\n this.languageVariables.date = data.dateSP;\r\n this.languageVariables.district = data.districtSP;\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsSP;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextSP;\r\n\r\n this.languageVariables.title = data.titlesp;\r\n this.attentionTo = data.attentionsp;\r\n this.languageVariables.address1 = data.address1sp;\r\n this.languageVariables.address2 = data.address2sp;\r\n this.languageVariables.city = data.citysp;\r\n this.languageVariables.state = data.statesp;\r\n this.languageVariables.zip = data.zipcodesp;\r\n\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntSP;\r\n this.languageVariables.approveText = data.approveTextSP;\r\n this.languageVariables.electrSign = data.electrSignSP;\r\n this.languageVariables.notes = data.notesSP;\r\n this.languageVariables.pageTitle = data.pageTitleSP;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffSP;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineSP;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientSP;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensSP;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1SP;\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2SP;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesSP;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingSP;\r\n this.languageVariables.profJudgementText = data.profJudgementTextSP;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngSP;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextSP;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesSP;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingSP;\r\n this.languageVariables.vouchersText = data.vouchersTextSP;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationSP;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsSP;\r\n this.languageVariables.important = data.importantSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.contractYearText1SP);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.influenzaSeasonText1SP);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextSP;\r\n this.languageVariables.siteMin = data.siteMinSP;\r\n this.languageVariables.siteAvg = data.siteAvgSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextSP, data.contractYearText2SP, data.contractYearText2SP);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluSP, data.influenzaSeasonText2SP, data.influenzaSeasonText2SP);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextSP;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingSP;\r\n this.languageVariables.paymentHd = data.paymentSP;\r\n this.languageVariables.paymentText = data.paymentTextSP;\r\n this.languageVariables.latePayment = data.latePaymentSP;\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesSP;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextSP;\r\n this.languageVariables.latePaymentText = data.latePaymentTextSP;\r\n this.languageVariables.costIncrease = data.costIncreaseSP;\r\n this.languageVariables.costIncreasetext = data.costIncreasetextSP\r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsSP;\r\n this.languageVariables.termAndTerm = data.termAndTermSP;\r\n this.languageVariables.termAndTermText = data.termAndTermTextSP;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationSP;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextSP;\r\n this.languageVariables.waiver = data.waiverSP;\r\n this.languageVariables.waiverText = data.waiverTextSP;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifySP;\r\n this.languageVariables.insurance = data.insuranceSP;\r\n this.languageVariables.insuranceText = data.insuranceTextSP;\r\n this.languageVariables.indemnification = data.indemnificationSP;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let universalContractReleasedate = data.universalContractReleaseDate ? new Date(data.universalContractReleaseDate) : null;\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsSP;\r\n this.languageVariables.confidentiality = data.confidentialitySP;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1SP;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialitySP;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextSP;\r\n this.languageVariables.phi = data.phiSP;\r\n this.languageVariables.phiAb = data.phiAbSP;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2SP;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextSP;\r\n\r\n this.languageVariables.Advertising = data.AdvertisingSP;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextSP;\r\n this.languageVariables.frcMaj = data.frcMajSP;\r\n this.languageVariables.frcMajText = data.frcMajTextSP;\r\n this.languageVariables.compliance = data.complianceSP;\r\n this.languageVariables.complianceText = data.complianceTextSP;\r\n this.languageVariables.assignment = data.assignmentSP;\r\n this.languageVariables.assignmentText = data.assignmentTextSP;\r\n this.languageVariables.notices = data.noticesSP;\r\n this.languageVariables.noticesText = data.noticesTextSP;\r\n this.languageVariables.entireAgr = data.entireAgrSP;\r\n this.languageVariables.entireAgrText = data.entireAgrTextSP;\r\n this.languageVariables.counterPart = data.counterPartsHeadingSP;\r\n this.languageVariables.counterPartsText = data.counterPartsTextSP;\r\n this.languageVariables.rights = data.rightsSP;\r\n this.languageVariables.approve = data.approveSP;\r\n this.languageVariables.reject = data.rejectSP;\r\n this.languageVariables.submit = data.submitSP;\r\n this.languageVariables.printAgreementTxt = data.printAgreementSP;\r\n this.languageVariables.dose = data.doseSP;\r\n this.languageVariables.clinicLocation = data.clinicLocationSP;\r\n this.languageVariables.clinicDate = data.clinicDateSP;\r\n this.languageVariables.clinicTime = data.clinicTimeSP;\r\n this.languageVariables.contact = data.contactSP;\r\n this.languageVariables.phone = data.phoneSP;\r\n this.languageVariables.location = data.locationSP;\r\n this.languageVariables.time = data.timeSP;\r\n this.languageVariables.email = data.emailSP;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToSP;\r\n this.languageVariables.multipleEmailAddrss = data.multipleEmailAddressSP;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementSP;\r\n this.languageVariables.editAgreeMnt = data.editAgreementSP;\r\n this.languageVariables.saveAgreeMnt = data.saveAgreementSP;\r\n this.languageVariables.cancelTxt = data.cancelSP;\r\n this.languageVariables.noteTxt = data.noteTextSP;\r\n this.languageVariables.table1 = data.table1SP;\r\n this.attn = this.attentionTo;\r\n this.fluExpiryDateTxt = data.fluExpiryDateSP;\r\n this.routineExpiryDateTxt = data.routineExpiryDateSP;\r\n this.languageVariables.estShots = data.estShotsSP;\r\n this.sendInvoiceTo = data.sendInvoiceToSP;\r\n this.isTaxExempt = data.isTaxExemptSP;\r\n this.isCopay = data.isCopaySP;\r\n this.voucherNeeded = data.voucherNeededSP;\r\n this.voucherExpiry = data.voucherExpirySP;\r\n this.copayValue = data.copayValueSP;\r\n this.languageVariables.contactName = data.contactNameSP;\r\n this.languageVariables.contactPhone = data.contactPhoneSP;\r\n this.languageVariables.contactEmail = data.contactEmailSP;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n }\r\n }\r\n languageChangeToEnglish() {\r\n this.splanguageSelection = false;\r\n this.enlanguageSelection = true;\r\n let contractdateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n let data: any = this._apiservice.languageChange(2024, this.isCovidVaccineAvailable, !this.showPreUniversalContract, this.showPreUniversalContract, Boolean(this.isPreviousClinic));\r\n if (data) {\r\n this.englishLanguage = data.english;\r\n this.enheader = data.englishheader;\r\n this.enattachment = data.englishattachment;\r\n this.enattachmentArticleII = data.articleIIEN;\r\n this.articleNoFeeIIEN = data.articleNoFeeIIEN;\r\n\r\n this.imz = data.imzen;\r\n this.payment = data.payen;\r\n this.rates = data.ratesen;\r\n\r\n this.ImzVcnName = data.ImzVcnNameEn;\r\n this.PaymtBillMethod = data.PaymtBillMethodEn;\r\n this.VoucherRates = data.VoucherRatesEn;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesEn;\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsEN;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextEN;\r\n\r\n this.languageVariables.businessName = data.clienten;\r\n this.languageVariables.name = data.nameen;\r\n this.languageVariables.eSignature = data.eSignatureEN;\r\n this.languageVariables.date = data.dateEN;\r\n this.languageVariables.district = data.districtEN;\r\n\r\n this.languageVariables.title = data.titleen;\r\n this.attentionTo = data.attentionen;\r\n this.languageVariables.address1 = data.address1en;\r\n this.languageVariables.address2 = data.address2en;\r\n this.languageVariables.city = data.cityen;\r\n this.languageVariables.state = data.stateen;\r\n this.languageVariables.zip = data.zipcodeen;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntEN;\r\n this.languageVariables.approveText = data.approveTextEN;\r\n this.languageVariables.electrSign = data.electrSignEN;\r\n this.languageVariables.notes = data.notesEN;\r\n this.languageVariables.pageTitle = data.pageTitleEN;\r\n this.languageVariables.dose = data.doseEN;\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffEN;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineEN;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientEN;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensEN;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1EN\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2EN;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesEN;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingEN;\r\n this.languageVariables.profJudgementText = data.profJudgementTextEN;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngEN;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextEN;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesEN;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingEN;\r\n this.languageVariables.vouchersText = data.vouchersTextEN;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationEN;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsEN;\r\n this.languageVariables.important = data.importantEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.contractYearText1EN);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.influenzaSeasonText1EN);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextEN;\r\n this.languageVariables.siteMin = data.siteMinEN;\r\n this.languageVariables.siteAvg = data.siteAvgEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextEN, data.contractYearText2EN, data.contractYearText2EN);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluEN, data.influenzaSeasonText2EN, data.influenzaSeasonText2EN);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextEN;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingEN;\r\n this.languageVariables.paymentHd = data.paymentEN;\r\n this.languageVariables.singleStarTAndC = data.singleStarTAndC;\r\n this.languageVariables.singleStarTAndC2 = data.singleStarTAndC2;\r\n this.languageVariables.article2Text = data.article2Text;\r\n if (this.checkIfCovidImmForCorpInvoiceSelected()) {\r\n this.languageVariables.paymentText = !this.showPreUniversalContract ? data.paymentTextEN : data.paymentTextDirectBillEN;\r\n this.enheader = this.showPreUniversalContract ? data.directBillEnglishheader : data.englishheader;\r\n }\r\n else {\r\n this.languageVariables.paymentText = data.paymentTextEN;\r\n this.enheader = data.englishheader;\r\n }\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesEN;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextEN;\r\n this.languageVariables.latePayment = data.latePaymentEN;\r\n this.languageVariables.latePaymentText = data.latePaymentTextEN;\r\n this.languageVariables.costIncrease = data.costIncreaseEN;\r\n this.languageVariables.costIncreasetext = data.costIncreasetextEN\r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsEN;\r\n this.languageVariables.termAndTerm = data.termAndTermEN;\r\n this.languageVariables.termAndTermText = data.termAndTermTextEN;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationEN;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextEN;\r\n this.languageVariables.waiver = data.waiverEN;\r\n this.languageVariables.waiverText = data.waiverTextEN;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifyEN;\r\n this.languageVariables.insurance = data.insuranceEN;\r\n this.languageVariables.insuranceText = data.insuranceTextEN;\r\n this.languageVariables.indemnification = data.indemnificationEN;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (this.isCovidVaccineAvailable == true && (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate)) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsEN;\r\n this.languageVariables.confidentiality = data.confidentialityEN;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1EN;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialityEN;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextEN;\r\n this.languageVariables.phi = data.phiEN;\r\n this.languageVariables.phiAb = data.phiAbEN;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2EN;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextEN;\r\n this.languageVariables.Advertising = data.AdvertisingEN;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextEN;\r\n this.languageVariables.frcMaj = data.frcMajEN;\r\n this.languageVariables.frcMajText = data.frcMajTextEN;\r\n this.languageVariables.compliance = data.complianceEN;\r\n this.languageVariables.complianceText = data.complianceTextEN;\r\n this.languageVariables.assignment = data.assignmentEN;\r\n this.languageVariables.assignmentText = data.assignmentTextEN;\r\n this.languageVariables.notices = data.noticesEN;\r\n this.languageVariables.noticesText = data.noticesTextEN;\r\n this.languageVariables.entireAgr = data.entireAgrEN;\r\n this.languageVariables.entireAgrText = data.entireAgrTextEN;\r\n this.languageVariables.counterPart = data.counterPartsHeadingEN;\r\n this.languageVariables.counterPartsText = data.counterPartsTextEN;\r\n this.languageVariables.rights = data.rightsEN;\r\n\r\n this.languageVariables.approve = data.approveEN;\r\n this.languageVariables.reject = data.rejectEN;\r\n this.languageVariables.submit = data.submitEN;\r\n this.languageVariables.printAgreementTxt = data.printAgreementEN;\r\n this.languageVariables.clinicLocation = data.clinicLocationEN;\r\n this.languageVariables.clinicDate = data.clinicDateEN;\r\n this.languageVariables.clinicTime = data.clinicTimeEN;\r\n this.languageVariables.contact = data.contactEN;\r\n this.languageVariables.phone = data.phoneEN;\r\n this.languageVariables.location = data.locationEN;\r\n this.languageVariables.time = data.timeEN;\r\n this.languageVariables.email = data.emailEN;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToEN;\r\n this.languageVariables.multipleEmailAddrss = data.multipleEmailAddressEN;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementEN;\r\n this.languageVariables.editAgreeMnt = data.editAgreementEN;\r\n this.languageVariables.saveAgreeMnt = data.saveAgreementEN;\r\n this.languageVariables.cancelTxt = data.cancelEN;\r\n this.languageVariables.noteTxt = data.noteTextEN;\r\n this.languageVariables.table1 = data.table1EN;\r\n this.attn = data.attnEN;\r\n this.fluExpiryDateTxt = data.fluExpiryDateEN;\r\n this.routineExpiryDateTxt = data.routineExpiryDateEN;\r\n this.languageVariables.estShots = data.estShotsEN;\r\n this.sendInvoiceTo = data.sendInvoiceToEN;\r\n this.isTaxExempt = data.isTaxExemptEN;\r\n this.isCopay = data.isCopayEN;\r\n this.voucherNeeded = data.voucherNeededEN;\r\n this.voucherExpiry = data.voucherExpiryEN;\r\n this.copayValue = data.copayValueEN;\r\n this.languageVariables.contactName = data.contactName;\r\n this.languageVariables.contactPhone = data.contactPhone;\r\n this.languageVariables.contactEmail = data.contactEmail;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n this.languageVariables.participants = data.participants;\r\n }\r\n\r\n this.language = \"TRANSLATE TO ENGLISH\";\r\n }\r\n public GetClinicInformation() {\r\n\r\n this.clinicInformation = this.clinicAgreement.clinicList;\r\n this.isClinicNoFeesDisbaled = this.clinicInformation.some(imzqty => imzqty.clinicFee != undefined && imzqty.clinicFee != null && imzqty.clinicFee > 0)\r\n this.clinicInformation.forEach(cl => {\r\n try {\r\n let dateString = cl.clinicDate.substring(0, cl.clinicDate.indexOf('T'));\r\n if (dateString.length > 0) {\r\n let dateSplitTokens = dateString.split('-');\r\n if (dateSplitTokens.length > 0) {\r\n var dt = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n var clDate = new Date(dt);\r\n cl.clinicDate = clDate.getMonth() + 1 + \"/\" + clDate.getDate() + \"/\" + clDate.getFullYear();\r\n }\r\n }\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n });\r\n this.getLatitudeLongitude();\r\n }\r\n\r\n //geocoder to get the latitude and longitude\r\n getAddr(idx, addr, sourceobject, result) {\r\n sourceobject.clinicList[idx].latitude = result.lat();\r\n sourceobject.clinicList[idx].longitude = result.lng();\r\n };\r\n getLatitudeLongitude() {\r\n for (let i = 0; i < this.clinicAgreement.clinicList.length; i++) {\r\n\r\n let address = this.clinicAgreement.clinicList[i].address1 + \",\" + this.clinicAgreement.clinicList[i].city + \",\" + this.clinicAgreement.clinicList[i].state + \" \" + this.clinicAgreement.clinicList[i].zipCode;\r\n (function (idx, clinic, sourceobject, callback) {\r\n var geocoder = new google.maps.Geocoder();\r\n geocoder.geocode({ 'address': clinic }, function (results, status) {\r\n if (status == google.maps.GeocoderStatus.OK) {\r\n callback(idx, clinic, sourceobject, results[0].geometry.location)\r\n }\r\n });\r\n })(i, address, this.clinicAgreement, this.getAddr);\r\n\r\n }\r\n\r\n }\r\n //end geocoder \r\n public GetImmunizationformation() {\r\n for (let i = 0; i < this.clinicAgreement.clinicList.length; i++) {\r\n this.immunizationInformation = this.clinicAgreement.clinicList[i].clinicImzQtyList;\r\n }\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicList[0].clinicImzQtyList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n }\r\n\r\n public GetClientInformation() {\r\n this.clientInformation = this.clinicAgreement.clientInfo != null ? this.clinicAgreement.clientInfo : new Client();\r\n this.clientInformation.client = this.clientInformation.client != '' ? this.clientInformation.client.trim() : this.clientInformation.client;\r\n\r\n }\r\n\r\n public GetWalgreensCOformation() {\r\n this.walGreensInfo = this.clinicAgreement.walgreenCoInfo != null ? this.clinicAgreement.walgreenCoInfo : new WalgreenCo();\r\n if (this.walGreensInfo.preparedDate != null && this.walGreensInfo.preparedDate != undefined && this.walGreensInfo.preparedDate != '') {\r\n this.walGreensInfo.preparedDate = this._datePipe.transform(this.walGreensInfo.preparedDate, \"MM/dd/yyyy\");\r\n }\r\n\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = \"Contract Alert\";\r\n this.display = true;\r\n }\r\n\r\n contractApproved() {\r\n let storeID = sessionStorage[\"storeId\"];\r\n if (this.approveContract.valid) {\r\n if (this.clinicAgreement.clientInfo == null || this.clinicAgreement.clientInfo == undefined) {\r\n this.showDialog(ErrorMessages['contract'], \"Please fill Client Information in Step 1 of the Workflow.\");\r\n return;\r\n }\r\n if (this.approveContract.controls['radioBtn'].value == 1 &&\r\n this.approveContract.value.email_signature.toLowerCase().trim() != this.clinicAgreement.clientInfo.name.toLowerCase().trim()) {\r\n if (this.approveContract.controls[\"email_signature\"].value.trim() != '') {\r\n this.showDialog(ErrorMessages['ElectronicSignatureErrorHdng'], ErrorMessages['ElectronicSignatureErrorMsg']);\r\n }\r\n else {\r\n this.approveContract.controls['email_signature'].setValue('');\r\n this.approveContract.controls['email_signature'].updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n return;\r\n }\r\n switch (this.selectedLink) {\r\n case 'Approve':\r\n this.approveContract.controls['email_signature'].setValidators([Validators.required]);\r\n this.approveContract.controls['email_signature'].updateValueAndValidity();\r\n if (this.approveContract.valid && this.clinicAgreement.clinicList.length > 0) {\r\n\r\n this.spinner.show();\r\n this.clinicAgreement.isApproved = 1;\r\n this.clinicAgreement.isEmailSent = Number(this.clinicAgreement.isEmailSent);\r\n this.clinicAgreement.signature = this.approveContract.value.email_signature ? this.approveContract.value.email_signature.trim() : this.approveContract.value.email_signature;\r\n this.clinicAgreement.contractPostedByUser = 'Business User';\r\n this.clinicAgreement.approvedOrRejectedBy = sessionStorage[\"approveRejectEmail\"];\r\n this.makeValidBooleans();\r\n this._apiservice.saveAgreementData(storeID, 1, this.clinicAgreement).subscribe((data: any) => {\r\n this._apiservice.getContractAgreementApproveData(data.clinicAgreementPk).subscribe((approvedData: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case 'success':\r\n case null:\r\n case \"null\":\r\n case 0:\r\n case '0':\r\n let responseClinicAgreement: any = data;\r\n let corporateInvoice: any = false;\r\n let submitInsurance: any = false;\r\n let voucherNeeded: any = false;\r\n\r\n for (var i = 0; i < responseClinicAgreement.clinicImmunizationList.length; i++) {\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 6) {\r\n corporateInvoice = true;\r\n }\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 8) {\r\n submitInsurance = true;\r\n }\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 9) {\r\n submitInsurance = true;\r\n }\r\n }\r\n\r\n var thankuData = new ThankyouData();\r\n thankuData.hasPrefilledForms = responseClinicAgreement.contractThankYou.hasPrefilledForms;\r\n thankuData.storeState = responseClinicAgreement.contractThankYou.storeState;\r\n thankuData.pdfVarFormEn = approvedData.contractThankYou?.pdfVarFormEn || responseClinicAgreement.contractThankYou.pdfVarFormEn;\r\n thankuData.pdfVarFormEsp = approvedData.contractThankYou?.pdfVarFormEsp || responseClinicAgreement.contractThankYou.pdfVarFormEsp;\r\n thankuData.voucherNeeded = voucherNeeded;//Need to check\r\n thankuData.isRestrictedState = false;//need to check\r\n thankuData.corporateInvoice = corporateInvoice;\r\n thankuData.submitInsurance = submitInsurance;\r\n thankuData.isCovidClinic = this.isCovidVaccineAvailable;\r\n thankuData.covidOpportunityType = this.covidOpportunityType;\r\n thankuData.printContents = document.getElementById('approveContract').innerHTML;\r\n thankuData.isCovidOpportunity = this.isCovidVaccineAvailable;\r\n\r\n SessionDetails.setThankUDetails(thankuData);\r\n this.router.navigate(['/thankyou']);\r\n break;\r\n case -2:\r\n case '-2':\r\n case -6:\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled ErrorCode received from Service errorCode:{0}, errorMessage:{1}', data.errorS.errorCode, data.errorS.errorMessage));\r\n break;\r\n\r\n }\r\n }, err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['contract'], String.Format('ErrorCode 500 received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled exception ErrorCode received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n }\r\n });\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['contract'], String.Format('ErrorCode 500 received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled exception ErrorCode received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n }\r\n });\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n break;\r\n case 'Reject':\r\n this.approveContract.controls['user_notes'].setValidators([Validators.required]);\r\n this.approveContract.controls['user_notes'].updateValueAndValidity();\r\n if (this.approveContract.valid && this.clinicAgreement.clinicList.length > 0) {\r\n this.spinner.show();\r\n this.clinicAgreement.isEmailSent = Number(this.clinicAgreement.isEmailSent);\r\n this.clinicAgreement.isApproved = 0;\r\n this.clinicAgreement.notes = this.approveContract.value.user_notes;\r\n this.clinicAgreement.signature = this.approveContract.value.email_signature ? this.approveContract.value.email_signature.trim() : this.approveContract.value.email_signature;\r\n this.clinicAgreement.contractPostedByUser = 'Business User';\r\n this.clinicAgreement.approvedOrRejectedBy = sessionStorage[\"approveRejectEmail\"];\r\n this.makeValidBooleans();\r\n this._apiservice.saveAgreementData(storeID, 1, this.clinicAgreement).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case 'success':\r\n case null:\r\n case \"null\":\r\n case 0:\r\n case '0':\r\n this.router.navigate(['/thankyou']);\r\n break;\r\n case -2:\r\n case '-2':\r\n case -6:\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n }\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n });\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n break;\r\n default:\r\n console.log('Error occurred none of them matched')\r\n break;\r\n }\r\n }\r\n else {\r\n\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n }\r\n makeValidBooleans() {\r\n this.clinicAgreement.clinicImmunizationList.forEach(im => {\r\n if (im.sendInvoiceTo <= 0) {\r\n im.isTaxExempt = null;\r\n im.isCopay = null;\r\n im.isVoucherNeeded = null;\r\n } else {\r\n im.isTaxExempt >= 1 ? im.isTaxExempt = 1 : im.isTaxExempt = 0;\r\n im.isCopay >= 1 ? im.isCopay = 1 : im.isCopay = 0;\r\n im.isVoucherNeeded >= 1 ? im.isVoucherNeeded = 1 : im.isVoucherNeeded = 0;\r\n im.copayValue = +im.copayValue;\r\n if (im.voucherExpirationDate != null && im.voucherExpirationDate != undefined && im.voucherExpirationDate != '') {\r\n im.voucherExpirationDate = this._datePipe.transform(im.voucherExpirationDate, \"MM/dd/yyyy\");\r\n }\r\n }\r\n });\r\n\r\n this.clinicAgreement.clinicList.forEach(cl => {\r\n cl.isNoClinic >= 1 ? cl.isNoClinic = 1 : cl.isNoClinic = 0;\r\n cl.isReassign >= 1 ? cl.isReassign = 1 : cl.isReassign = 0;\r\n cl.isCurrent >= 1 ? cl.isCurrent = 1 : cl.isCurrent = 0;\r\n\r\n if (cl.clinicDate === null || cl.clinicDate === undefined || cl.clinicDate === '') {\r\n cl.clinicDate = null;\r\n } else {\r\n var clDate = new Date(cl.clinicDate);\r\n cl.clinicDate = clDate.getMonth() + 1 + \"/\" + clDate.getDate() + \"/\" + clDate.getFullYear();//this._datePipe.transform(cl.clinicDate,\"MM/dd/yyyy\");\r\n }\r\n });\r\n }\r\n\r\n okClicked() {\r\n this.display = false;\r\n }\r\n isFieldValid(field: string) {\r\n return !this.approveContract.get(field).valid && this.approveContract.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n\r\n printAgreement() {\r\n this.utility.print(\"approveContract\", \"Walgreens Community Off-site Agreement\");\r\n }\r\n changeLanguage() {\r\n\r\n if (this.currentLanguage?.toLowerCase() === 'spanish') {\r\n this.languageChangeToSpanish();\r\n } else {\r\n this.languageChangeToEnglish();\r\n }\r\n }\r\n\r\n checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location: Clinic): boolean {\r\n return this._apiservice.checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location) && Number(location.isNoClinic) >= 1;\r\n }\r\n checkIfFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfNonFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfNonFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfCovidImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfCovidImmForCorpInvoiceSelected();\r\n }\r\n getVoucherExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getRoutineExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getCovidExpiryDate(): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1 && imz.immunizationName.toLowerCase().search('covid') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n checkIfNonFluImmIsSelected(): boolean {\r\n return this._apiservice.checkIfNonFluImmIsSelected();\r\n }\r\n checkToPrintAsterisk(immAbvName: string, immName: string): boolean {\r\n let bRet: boolean = false;\r\n if (immAbvName && immAbvName.search(/Two Dose/gi) >= 0) {\r\n bRet = true;\r\n }\r\n return bRet;\r\n }\r\n checkForDoubleAsteriskRates(): boolean {\r\n return this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/Dose/gi) >= 0).length > 0;\r\n }\r\n}\r\n","import { Component, OnInit, Input, Compiler } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ContractapproveService } from '../../services/contractapprove.service';\r\nimport { ClientInfo } from '../../../../models/client-info';\r\nimport { Globalvariables } from '../../../../models/globalvariables';\r\nimport { String, StringBuilder } from 'typescript-string-operations';\r\nimport { ContractData, Client, WalgreenCo, LegalNoticeAddress, Clinic, LanguageVariables } from '../../../../models/contract';\r\n//import { GMapsService } from '../../../common/services/gmaps-service.service';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Util } from '../../../../utility/util';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { ThankyouData } from '../../../../models/thankyouData';\r\nimport { universalContractReleaseDate } from '../../../../JSON/UniversalTandC';\r\n\r\ndeclare var google: any;\r\n\r\n@Component({\r\n selector: 'app-approveagreement',\r\n templateUrl: './approveagreement.component.html',\r\n styleUrls: ['./approveagreement.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class ApproveagreementComponent implements OnInit {\r\n InvoiceInformation:any[]=[];\r\n displayInvoiceAndVoucher=false;\r\n signature: string = '';\r\n usernotes: string = '';\r\n getData: any;\r\n jsonData: string;\r\n currentUser = [];\r\n userRecords = [];\r\n aggrementData: any;\r\n clinicAgreement: ContractData = new ContractData();\r\n immunizationInformation = [];\r\n immunizationInformation1: string;\r\n clinicInformation = [];\r\n clientInformation: Client = new Client();\r\n walGreensInfo: WalgreenCo = new WalgreenCo();\r\n items: any;\r\n paymentCheck: boolean;\r\n clientName: string;\r\n \r\n @Input(\"currentLanguage\")\r\n currentLanguage: string;\r\n @Input() client: string;\r\n @Input() childMessage: string;\r\n spanishLanguage: string;\r\n headerText: string;\r\n attachment: string;\r\n message: string;\r\n imz: string;\r\n payment: string;\r\n rates: string;\r\n englishLanguage: string;\r\n enheader: string;\r\n enattachment: string;\r\n language: string;\r\n showBtnEn: boolean = false;\r\n showBtnSp: boolean = true;\r\n enlanguageSelection: boolean;\r\n splanguageSelection: boolean;\r\n json: string;\r\n legal_notice: string;\r\n today: any;\r\n attentionTo: string;\r\n attn: string;\r\n client_information: any[];\r\n legal_information: any[];\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n approveContract: FormGroup\r\n client_info: ClientInfo = new ClientInfo();\r\n fluExpiryDate: string = '';\r\n RoutineExpiryDate: string = '';\r\n isCovidVaccineAvailable:boolean = false;\r\n //legal_notice_address: LegalNoticeAddress = new LegalNoticeAddress();\r\n\r\n /////////////////////////////////////////// LANGUAGE Variables ///////////////////////\r\n languageVariables = new LanguageVariables();\r\n\r\n fluExpiryDateTxt = '';\r\n routineExpiryDateTxt = '';\r\n sendInvoiceTo = '';\r\n isTaxExempt = ''\r\n isCopay = '';\r\n voucherNeeded = ''\r\n voucherExpiry = ''\r\n copayValue = '';\r\n dsblApprove:boolean=false;\r\n dsblReject:boolean=false;\r\n covidOpportunityType: number;\r\n isCovidVoucher: boolean = false;\r\n privateClinicFees:string =\"8.5\";\r\n showPreUniversalContract:boolean = false;\r\n siteMinimum:number = 25;\r\n constructor(private _apiservice: ContractapproveService, private router: Router,\r\n private _fb: FormBuilder, private clientInfo: ClientInfo,private utility: Util, private _datePipe: DatePipe,\r\n private spinner: NgxSpinnerService,\r\n private compiler: Compiler) {\r\n this.today = new Date();\r\n this.client_info = this.clientInfo;\r\n this.compiler.clearCache();\r\n }\r\n private selectedLink: string;\r\n\r\n setradio(e: string): void {\r\n if (e == 'Approve') {\r\n this.dsblReject=true;\r\n this.dsblApprove=false;\r\n this.approveContract.controls['email_signature'].setValidators([Validators.required]);\r\n this.approveContract.controls['email_signature'].updateValueAndValidity();\r\n this.approveContract.controls['user_notes'].clearValidators();\r\n this.approveContract.controls['user_notes'].updateValueAndValidity();\r\n }\r\n if (e == 'Reject') {\r\n this.dsblApprove=true;\r\n this.dsblReject=false;\r\n this.approveContract.controls['email_signature'].clearValidators();\r\n this.approveContract.controls['email_signature'].updateValueAndValidity();\r\n this.approveContract.controls['email_signature'].setValue('');\r\n this.approveContract.controls['user_notes'].setValidators([Validators.required]);\r\n this.approveContract.controls['user_notes'].updateValueAndValidity();\r\n }\r\n this.selectedLink = e;\r\n }\r\n isSelected(name: string): boolean {\r\n if (!this.selectedLink) {\r\n return false;\r\n }\r\n return (this.selectedLink === name);\r\n }\r\n ngOnInit() {\r\n this.approveContract = this._fb.group({\r\n email_signature: this._fb.control('', null),\r\n user_notes: this._fb.control('', null),\r\n radioBtn: this._fb.control('', Validators.required),\r\n });\r\n let agreementPk = sessionStorage[\"clinic_agreement_pk\"];\r\n if(agreementPk == null || agreementPk == \"null\" || agreementPk == undefined ){\r\n this.showDialog(ErrorMessages['clientError'],ErrorMessages['nullClinicAgreementPk']);\r\n return;\r\n } \r\n this._apiservice.getContractAgreementApproveData(agreementPk, \"Client\").subscribe((data:any) => {\r\n\r\n this.clinicAgreement = data;\r\n this.userRecords = this.clinicAgreement.clinicImmunizationList;\r\n this.displayInvoiceInfo();\r\n this.GetClinicInformation();\r\n this.GetImmunizationformation();\r\n this.GetClientInformation();\r\n this.GetWalgreensCOformation();\r\n this.GetClientLegalInfo();\r\n this.changeLanguage();\r\n this.covidOpportunityType = data.opportunityInfo.covidOpportunityType; \r\n this.privateClinicFees = data.opportunityInfo.privateClinicFees?data.opportunityInfo.privateClinicFees:\"8.5\";\r\n let covidVaccine = this.userRecords.filter(p=>p.immunizationName.includes('COVID-19 Vaccine (')).length > 0;\r\n //let CovidVoucher = this.userRecords.filter(item=>item.immunizationName.includes('Vaccine Voucher')).length > 0;\r\n if(covidVaccine){\r\n this.isCovidVoucher = true;\r\n }\r\n // else{\r\n // this.isCovidVoucher = true;\r\n // }\r\n this.siteMinimum = this.covidOpportunityType===1?15:25;\r\n });\r\n this.changeLanguage();\r\n }\r\n \r\n getPaymentTypes(imz)\r\n {\r\n \r\n let paymentTypes = '';\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p=>p.immunizationPk == imz.immunizationPk);\r\n immzs.forEach((element, index, array) => {\r\n paymentTypes += `

`\r\n paymentTypes += element.paymentTypeName;\r\n if(index !== (array.length -1)) {\r\n paymentTypes += ',';\r\n }\r\n paymentTypes += `

`\r\n });\r\n return paymentTypes;\r\n }\r\n\r\n displayInvoiceInfo()\r\n {\r\n if (this.userRecords != null)\r\n {\r\n let corp=this.userRecords.filter(c=>c.paymentTypeId==\"6\");\r\n let routineExpDateLst=corp.filter(c=>c.immunizationName.toLowerCase().search('flu') == -1);\r\n let covidExpDateLst=corp.filter(c=>c.immunizationName.toLowerCase().search('covid')!==-1);\r\n let flueExpDateLst=corp.filter(c=>c.immunizationName.toLowerCase().search('flu') != -1);\r\n if(corp!=null && corp.length>0)\r\n {\r\n this.displayInvoiceAndVoucher=true;\r\n this.InvoiceInformation.push({ \r\n \"paymentTypeId\": corp[0].paymentTypeId,\r\n \"sendInvoiceTo\": corp[0].sendInvoiceTo,\r\n \"name\": corp[0].name,\r\n \"phone\": corp[0].phone,\r\n \"fax\": corp[0].fax,\r\n \"email\": corp[0].email,\r\n \"address1\": corp[0].address1,\r\n \"address2\": corp[0].address2,\r\n \"city\": corp[0].city,\r\n \"isTaxExempt\": corp[0].isTaxExempt,\r\n \"state\": corp[0].state,\r\n \"zip\": corp[0].zip,\r\n \"isCopay\": corp[0].isCopay,\r\n \"copayValue\": corp[0].copayValue,\r\n \"isVoucherNeeded\": corp[0].isVoucherNeeded,\r\n \"fluvoucherExpirationDate\": flueExpDateLst.length>0? flueExpDateLst[0].voucherExpirationDate : null,\r\n \"routinevoucherExpirationDate\": routineExpDateLst.length>0? routineExpDateLst[0].voucherExpirationDate : null,\r\n \"covidvoucherExpirationDate\": covidExpDateLst.length>0? covidExpDateLst[0].voucherExpirationDate : null\r\n });\r\n }\r\n } \r\n \r\n }\r\n GetClientLegalInfo() { \r\n this.client_info = this._apiservice.getSelectedClientLegalInfo();\r\n\r\n this.clinicAgreement.clientInfo = this.clinicAgreement.clientInfo != null ? this.clinicAgreement.clientInfo : new Client();\r\n this.clinicAgreement.clientInfo.client = this.client_info.clientname;\r\n this.clinicAgreement.clientInfo.name = this.client_info.headername!=''? this.client_info.headername.trim():this.client_info.headername;\r\n \r\n this.clinicAgreement.clientInfo.title = this.client_info.titlename;\r\n this.clinicAgreement.clientInfo.reviewedDate = this._datePipe.transform(this.today, \"MM/dd/yyyy\");\r\n\r\n this.clinicAgreement.legalNoticeAddressInfo = this.clinicAgreement.legalNoticeAddressInfo != null ? this.clinicAgreement.legalNoticeAddressInfo : new LegalNoticeAddress;\r\n this.clinicAgreement.legalNoticeAddressInfo.address1 = this.client_info.address1;\r\n this.clinicAgreement.legalNoticeAddressInfo.address2 = this.client_info.address2;\r\n this.clinicAgreement.legalNoticeAddressInfo.attentionTo = this.client_info.attentionto;\r\n this.clinicAgreement.legalNoticeAddressInfo.city = this.client_info.cityname;\r\n this.clinicAgreement.legalNoticeAddressInfo.zipCode = this.client_info.zipcode;\r\n this.clinicAgreement.legalNoticeAddressInfo.state = this.client_info.statename;\r\n }\r\n languageChangeToSpanish() {\r\n this.enlanguageSelection = false;\r\n this.splanguageSelection = true;\r\n let contractdateApproved = null;\r\n if(this.clinicAgreement && this.clinicAgreement.dateApproved){\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate:Date = new Date (universalContractReleaseDate);\r\n if(contractdateApproved < uniContractReleaseDate){\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n let data:any = this._apiservice.languageChange(0,this.isCovidVaccineAvailable,!this.showPreUniversalContract);\r\n if(data)\r\n {\r\n this.spanishLanguage = data.spanish;\r\n this.headerText = data.header;\r\n this.attachment = data.attachmentheader;\r\n this.imz = data.imzsp;\r\n this.payment = data.paymentsp;\r\n this.rates = data.ratessp;\r\n\r\n this.languageVariables.businessName = data.clientsp;\r\n this.languageVariables.name = data.namesp;\r\n this.languageVariables.eSignature =data.eSignatureSP;\r\n this.languageVariables.date = data.dateSP;\r\n this.languageVariables.district = data.districtSP;\r\n\r\n this.languageVariables.title = data.titlesp;\r\n this.attentionTo = data.attentionsp;\r\n this.languageVariables.address1 = data.address1sp;\r\n this.languageVariables.address2 = data.address2sp;\r\n this.languageVariables.city = data.citysp;\r\n this.languageVariables.state = data.statesp;\r\n this.languageVariables.zip = data.zipcodesp;\r\n\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntSP;\r\n this.languageVariables.approveText = data.approveTextSP;\r\n this.languageVariables.electrSign = data.electrSignSP;\r\n this.languageVariables.notes = data.notesSP;\r\n this.languageVariables.pageTitle = data.pageTitleSP;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffSP;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineSP;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientSP;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensSP;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1SP;\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2SP;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesSP;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingSP;\r\n this.languageVariables.profJudgementText = data.profJudgementTextSP;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngSP;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextSP;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesSP;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingSP;\r\n this.languageVariables.vouchersText = data.vouchersTextSP;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationSP;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsSP;\r\n this.languageVariables.important = data.importantSP;\r\n if(this.checkIfNonFluImmIsSelected()){\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.contractYearText1SP); \r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.influenzaSeasonText1SP); \r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextSP;\r\n this.languageVariables.siteMin = data.siteMinSP;\r\n this.languageVariables.siteAvg = data.siteAvgSP;\r\n if(this.checkIfNonFluImmIsSelected()){\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextSP,data.contractYearText2SP, data.contractYearText2SP);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluSP,data.influenzaSeasonText2SP, data.influenzaSeasonText2SP); \r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextSP;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingSP;\r\n this.languageVariables.paymentHd = data.paymentSP;\r\n this.languageVariables.paymentText = data.paymentTextSP;\r\n this.languageVariables.latePayment = data.latePaymentSP;\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesSP;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextSP;\r\n this.languageVariables.latePaymentText = data.latePaymentTextSP;\r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsSP;\r\n this.languageVariables.termAndTerm = data.termAndTermSP;\r\n this.languageVariables.termAndTermText = data.termAndTermTextSP;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationSP;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextSP;\r\n this.languageVariables.waiver = data.waiverSP;\r\n this.languageVariables.waiverText = data.waiverTextSP;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifySP;\r\n this.languageVariables.insurance = data.insuranceSP;\r\n this.languageVariables.insuranceText = data.insuranceTextSP;\r\n this.languageVariables.indemnification = data.indemnificationSP;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let universalContractReleasedate = data.universalContractReleaseDate?new Date(data.universalContractReleaseDate):null;\r\n let dateApproved = null;\r\n if(this.clinicAgreement && this.clinicAgreement.dateApproved){\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n } \r\n if(dateApproved === null || dateApproved>=indemnificationTAndCChangedDate ){\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsSP;\r\n this.languageVariables.confidentiality = data.confidentialitySP;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1SP;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialitySP;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextSP;\r\n this.languageVariables.phi = data.phiSP;\r\n this.languageVariables.phiAb = data.phiAbSP;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2SP;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextSP;\r\n\r\n this.languageVariables.Advertising = data.AdvertisingSP;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextSP;\r\n this.languageVariables.frcMaj = data.frcMajSP;\r\n this.languageVariables.frcMajText = data.frcMajTextSP;\r\n this.languageVariables.compliance = data.complianceSP;\r\n this.languageVariables.complianceText = data.complianceTextSP;\r\n this.languageVariables.assignment = data.assignmentSP;\r\n this.languageVariables.assignmentText = data.assignmentTextSP;\r\n this.languageVariables.notices = data.noticesSP;\r\n this.languageVariables.noticesText = data.noticesTextSP;\r\n this.languageVariables.entireAgr = data.entireAgrSP;\r\n this.languageVariables.entireAgrText = data.entireAgrTextSP;\r\n this.languageVariables.counterPart = data.counterPartsHeadingSP;\r\n this.languageVariables.counterPartsText = data.counterPartsTextSP;\r\n this.languageVariables.rights = data.rightsSP;\r\n this.languageVariables.approve = data.approveSP;\r\n this.languageVariables.reject = data.rejectSP;\r\n this.languageVariables.submit = data.submitSP;\r\n this.languageVariables.printAgreementTxt = data.printAgreementSP;\r\n this.languageVariables.dose = data.doseSP;\r\n this.languageVariables.clinicLocation = data.clinicLocationSP;\r\n this.languageVariables.clinicDate = data.clinicDateSP;\r\n this.languageVariables.clinicTime = data.clinicTimeSP;\r\n this.languageVariables.contact = data.contactSP;\r\n this.languageVariables.phone = data.phoneSP;\r\n this.languageVariables.location = data.locationSP;\r\n this.languageVariables.time = data.timeSP;\r\n this.languageVariables.email = data.emailSP;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToSP;\r\n this.languageVariables.multipleEmailAddrss = data.multipleEmailAddressSP;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementSP;\r\n this.languageVariables.editAgreeMnt = data.editAgreementSP;\r\n this.languageVariables.saveAgreeMnt = data.saveAgreementSP;\r\n this.languageVariables.cancelTxt = data.cancelSP;\r\n this.languageVariables.noteTxt = data.noteTextSP;\r\n this.languageVariables.table1 = data.table1SP;\r\n this.attn = this.attentionTo;\r\n this.fluExpiryDateTxt = data.fluExpiryDateSP;\r\n this.routineExpiryDateTxt = data.routineExpiryDateSP;\r\n this.languageVariables.estShots = data.estShotsSP;\r\n this.sendInvoiceTo = data.sendInvoiceToSP;\r\n this.isTaxExempt = data.isTaxExemptSP;\r\n this.isCopay = data.isCopaySP;\r\n this.voucherNeeded = data.voucherNeededSP;\r\n this.voucherExpiry = data.voucherExpirySP;\r\n this.copayValue = data.copayValueSP;\r\n this.languageVariables.contactName = data.contactNameSP;\r\n this.languageVariables.contactPhone = data.contactPhoneSP;\r\n this.languageVariables.contactEmail = data.contactEmailSP;\r\n }\r\n }\r\n languageChangeToEnglish() {\r\n this.splanguageSelection = false;\r\n this.enlanguageSelection = true;\r\n let contractdateApproved = null;\r\n if(this.clinicAgreement && this.clinicAgreement.dateApproved){\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate:Date = new Date (universalContractReleaseDate);\r\n if(contractdateApproved < uniContractReleaseDate){\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n let data:any = this._apiservice.languageChange(0,this.isCovidVaccineAvailable,!this.showPreUniversalContract);\r\n if(data)\r\n {\r\n this.englishLanguage = data.english;\r\n this.enheader = data.englishheader;\r\n this.enattachment = data.englishattachment;\r\n this.imz = data.imzen;\r\n this.payment = data.payen;\r\n this.rates = data.ratesen;\r\n\r\n\r\n this.languageVariables.businessName = data.clienten;\r\n this.languageVariables.name = data.nameen;\r\n this.languageVariables.eSignature =data.eSignatureEN;\r\n this.languageVariables.date = data.dateEN;\r\n this.languageVariables.district = data.districtEN;\r\n\r\n this.languageVariables.title = data.titleen;\r\n this.attentionTo = data.attentionen;\r\n this.languageVariables.address1 = data.address1en;\r\n this.languageVariables.address2 = data.address2en;\r\n this.languageVariables.city = data.cityen;\r\n this.languageVariables.state = data.stateen;\r\n this.languageVariables.zip = data.zipcodeen;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntEN;\r\n this.languageVariables.approveText = data.approveTextEN;\r\n this.languageVariables.electrSign = data.electrSignEN;\r\n this.languageVariables.notes = data.notesEN;\r\n this.languageVariables.pageTitle = data.pageTitleEN;\r\n this.languageVariables.dose = data.doseEN;\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffEN;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineEN;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientEN;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensEN;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1EN\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2EN;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesEN;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingEN;\r\n this.languageVariables.profJudgementText = data.profJudgementTextEN;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngEN;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextEN;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesEN;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingEN;\r\n this.languageVariables.vouchersText = data.vouchersTextEN;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationEN;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsEN;\r\n this.languageVariables.important = data.importantEN;\r\n if(this.checkIfNonFluImmIsSelected()){\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.contractYearText1EN); \r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.influenzaSeasonText1EN); \r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextEN;\r\n this.languageVariables.siteMin = data.siteMinEN;\r\n this.languageVariables.siteAvg = data.siteAvgEN;\r\n if(this.checkIfNonFluImmIsSelected()){\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextEN,data.contractYearText2EN, data.contractYearText2EN);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluEN,data.influenzaSeasonText2EN, data.influenzaSeasonText2EN); \r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextEN;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingEN;\r\n this.languageVariables.paymentHd = data.paymentEN;\r\n this.languageVariables.singleStarTAndC = data.singleStarTAndC;\r\n this.languageVariables.article2Text = data.article2Text;\r\n if(this.checkIfCovidImmForCorpInvoiceSelected()){\r\n this.languageVariables.paymentText = !this.showPreUniversalContract?data.paymentTextEN:data.paymentTextDirectBillEN;\r\n this.enheader = this.showPreUniversalContract?data.directBillEnglishheader:data.englishheader;\r\n }\r\n else {\r\n this.languageVariables.paymentText = data.paymentTextEN;\r\n this.enheader = data.englishheader; \r\n }\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesEN;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextEN; \r\n this.languageVariables.latePayment = data.latePaymentEN;\r\n this.languageVariables.latePaymentText = data.latePaymentTextEN;\r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsEN;\r\n this.languageVariables.termAndTerm = data.termAndTermEN;\r\n this.languageVariables.termAndTermText = data.termAndTermTextEN;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationEN;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextEN;\r\n this.languageVariables.waiver = data.waiverEN;\r\n this.languageVariables.waiverText = data.waiverTextEN;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifyEN;\r\n this.languageVariables.insurance = data.insuranceEN;\r\n this.languageVariables.insuranceText = data.insuranceTextEN;\r\n this.languageVariables.indemnification = data.indemnificationEN;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let dateApproved = null;\r\n if(this.clinicAgreement && this.clinicAgreement.dateApproved){\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n } \r\n if(this.isCovidVaccineAvailable== true && (dateApproved === null || dateApproved>=indemnificationTAndCChangedDate )){\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsEN;\r\n this.languageVariables.confidentiality = data.confidentialityEN;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1EN;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialityEN;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextEN;\r\n this.languageVariables.phi = data.phiEN;\r\n this.languageVariables.phiAb = data.phiAbEN;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2EN;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextEN;\r\n this.languageVariables.Advertising = data.AdvertisingEN;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextEN;\r\n this.languageVariables.frcMaj = data.frcMajEN;\r\n this.languageVariables.frcMajText = data.frcMajTextEN;\r\n this.languageVariables.compliance = data.complianceEN;\r\n this.languageVariables.complianceText = data.complianceTextEN;\r\n this.languageVariables.assignment = data.assignmentEN;\r\n this.languageVariables.assignmentText = data.assignmentTextEN;\r\n this.languageVariables.notices = data.noticesEN;\r\n this.languageVariables.noticesText = data.noticesTextEN;\r\n this.languageVariables.entireAgr = data.entireAgrEN;\r\n this.languageVariables.entireAgrText = data.entireAgrTextEN;\r\n this.languageVariables.counterPart = data.counterPartsHeadingEN;\r\n this.languageVariables.counterPartsText = data.counterPartsTextEN;\r\n this.languageVariables.rights = data.rightsEN;\r\n\r\n this.languageVariables.approve = data.approveEN;\r\n this.languageVariables.reject = data.rejectEN;\r\n this.languageVariables.submit = data.submitEN;\r\n this.languageVariables.printAgreementTxt = data.printAgreementEN;\r\n this.languageVariables.clinicLocation = data.clinicLocationEN;\r\n this.languageVariables.clinicDate = data.clinicDateEN;\r\n this.languageVariables.clinicTime = data.clinicTimeEN;\r\n this.languageVariables.contact = data.contactEN;\r\n this.languageVariables.phone = data.phoneEN;\r\n this.languageVariables.location = data.locationEN;\r\n this.languageVariables.time = data.timeEN;\r\n this.languageVariables.email = data.emailEN;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToEN;\r\n this.languageVariables.multipleEmailAddrss = data.multipleEmailAddressEN;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementEN;\r\n this.languageVariables.editAgreeMnt = data.editAgreementEN;\r\n this.languageVariables.saveAgreeMnt = data.saveAgreementEN;\r\n this.languageVariables.cancelTxt = data.cancelEN;\r\n this.languageVariables.noteTxt = data.noteTextEN;\r\n this.languageVariables.table1 = data.table1EN;\r\n this.attn = data.attnEN;\r\n this.fluExpiryDateTxt = data.fluExpiryDateEN;\r\n this.routineExpiryDateTxt = data.routineExpiryDateEN;\r\n this.languageVariables.estShots = data.estShotsEN;\r\n this.sendInvoiceTo = data.sendInvoiceToEN;\r\n this.isTaxExempt = data.isTaxExemptEN;\r\n this.isCopay = data.isCopayEN;\r\n this.voucherNeeded = data.voucherNeededEN;\r\n this.voucherExpiry = data.voucherExpiryEN;\r\n this.copayValue = data.copayValueEN;\r\n this.languageVariables.contactName = data.contactName;\r\n this.languageVariables.contactPhone = data.contactPhone;\r\n this.languageVariables.contactEmail = data.contactEmail;\r\n this.languageVariables.participants = data.participants;\r\n }\r\n\r\n this.language = \"TRANSLATE TO ENGLISH\";\r\n }\r\n public GetClinicInformation() {\r\n\r\n this.clinicInformation = this.clinicAgreement.clinicList;\r\n this.clinicInformation.forEach(cl=>{\r\n try{ \r\n let dateString = cl.clinicDate.substring(0, cl.clinicDate.indexOf('T'));\r\n if(dateString.length>0){\r\n let dateSplitTokens = dateString.split('-');\r\n if(dateSplitTokens.length>0){\r\n var dt = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n var clDate = new Date(dt);\r\n cl.clinicDate = clDate.getMonth() + 1 +\"/\" +clDate.getDate() +\"/\" + clDate.getFullYear(); \r\n }\r\n }\r\n }\r\n catch(e){\r\n console.log(e);\r\n }\r\n });\r\n this.getLatitudeLongitude();\r\n }\r\n\r\n //geocoder to get the latitude and longitude\r\n getAddr(idx, addr, sourceobject, result) {\r\n sourceobject.clinicList[idx].latitude = result.lat();\r\n sourceobject.clinicList[idx].longitude = result.lng();\r\n };\r\n getLatitudeLongitude() {\r\n for (let i = 0; i < this.clinicAgreement.clinicList.length; i++) {\r\n\r\n let address = this.clinicAgreement.clinicList[i].address1 + \",\" + this.clinicAgreement.clinicList[i].city + \",\" + this.clinicAgreement.clinicList[i].state + \" \" + this.clinicAgreement.clinicList[i].zipCode;\r\n (function (idx, clinic, sourceobject, callback) {\r\n var geocoder = new google.maps.Geocoder();\r\n geocoder.geocode({ 'address': clinic }, function (results, status) {\r\n if (status == google.maps.GeocoderStatus.OK) {\r\n callback(idx, clinic, sourceobject, results[0].geometry.location)\r\n }\r\n });\r\n })(i, address, this.clinicAgreement, this.getAddr);\r\n\r\n }\r\n\r\n }\r\n //end geocoder \r\n public GetImmunizationformation() {\r\n for (let i = 0; i < this.clinicAgreement.clinicList.length; i++) {\r\n this.immunizationInformation = this.clinicAgreement.clinicList[i].clinicImzQtyList;\r\n }\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicList[0].clinicImzQtyList.filter(p=>p.immunizationName.search(/COVID-19/gi)>=0).length>0;\r\n }\r\n\r\n public GetClientInformation() {\r\n this.clientInformation = this.clinicAgreement.clientInfo != null ? this.clinicAgreement.clientInfo : new Client();\r\n this.clientInformation.client = this.clientInformation.client!='' ? this.clientInformation.client.trim():this.clientInformation.client;\r\n\r\n }\r\n\r\n public GetWalgreensCOformation() {\r\n this.walGreensInfo = this.clinicAgreement.walgreenCoInfo != null ? this.clinicAgreement.walgreenCoInfo : new WalgreenCo();\r\n if(this.walGreensInfo.preparedDate != null && this.walGreensInfo.preparedDate != undefined && this.walGreensInfo.preparedDate != ''){\r\n this.walGreensInfo.preparedDate = this._datePipe.transform(this.walGreensInfo.preparedDate,\"MM/dd/yyyy\");\r\n }\r\n\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = \"Contract Alert\";\r\n this.display = true;\r\n }\r\n\r\n contractApproved() {\r\n let storeID = sessionStorage[\"storeId\"];\r\n if (this.approveContract.valid) {\r\n if(this.clinicAgreement.clientInfo==null || this.clinicAgreement.clientInfo==undefined){\r\n this.showDialog(ErrorMessages['contract'], \"Please fill Client Information in Step 1 of the Workflow.\");\r\n return;\r\n } \r\n if (this.approveContract.controls['radioBtn'].value == 1 &&\r\n this.approveContract.value.email_signature.toLowerCase().trim() != this.clinicAgreement.clientInfo.name.toLowerCase().trim()) {\r\n if (this.approveContract.controls[\"email_signature\"].value.trim() != '') {\r\n this.showDialog(ErrorMessages['ElectronicSignatureErrorHdng'], ErrorMessages['ElectronicSignatureErrorMsg']);\r\n }\r\n else {\r\n this.approveContract.controls['email_signature'].setValue('');\r\n this.approveContract.controls['email_signature'].updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n return;\r\n }\r\n switch (this.selectedLink) {\r\n case 'Approve': \r\n this.approveContract.controls['email_signature'].setValidators([Validators.required]);\r\n this.approveContract.controls['email_signature'].updateValueAndValidity();\r\n if (this.approveContract.valid && this.clinicAgreement.clinicList.length > 0) {\r\n \r\n this.spinner.show();\r\n this.clinicAgreement.isApproved = 1;\r\n this.clinicAgreement.isEmailSent = Number(this.clinicAgreement.isEmailSent);\r\n this.clinicAgreement.signature = this.approveContract.value.email_signature ? this.approveContract.value.email_signature.trim():this.approveContract.value.email_signature;\r\n this.clinicAgreement.contractPostedByUser = 'Business User';\r\n this.clinicAgreement.approvedOrRejectedBy = sessionStorage[\"approveRejectEmail\"];\r\n this.makeValidBooleans();\r\n this._apiservice.saveAgreementData(storeID, 1, this.clinicAgreement).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case 'success':\r\n case null:\r\n case \"null\":\r\n case 0:\r\n case '0':\r\n let responseClinicAgreement: any = data;\r\n let corporateInvoice: any = false;\r\n let submitInsurance: any = false;\r\n let voucherNeeded: any = false;\r\n \r\n for (var i = 0; i < responseClinicAgreement.clinicImmunizationList.length; i++) {\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 6) {\r\n corporateInvoice = true;\r\n }\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 8) {\r\n submitInsurance=true;\r\n }\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 9) {\r\n submitInsurance=true;\r\n }\r\n }\r\n \r\n var thankuData = new ThankyouData();\r\n thankuData.hasPrefilledForms = responseClinicAgreement.contractThankYou.hasPrefilledForms;\r\n thankuData.storeState = responseClinicAgreement.contractThankYou.storeState;\r\n thankuData.pdfVarFormEn = responseClinicAgreement.contractThankYou.pdfVarFormEn;\r\n thankuData.pdfVarFormEsp = responseClinicAgreement.contractThankYou.pdfVarFormEsp;\r\n thankuData.voucherNeeded = voucherNeeded;//Need to check\r\n thankuData.isRestrictedState = false;//need to check\r\n thankuData.corporateInvoice = corporateInvoice;\r\n thankuData.submitInsurance = submitInsurance;\r\n thankuData.isCovidClinic = this.isCovidVaccineAvailable;\r\n thankuData.covidOpportunityType = this.covidOpportunityType;\r\n thankuData.printContents = document.getElementById('approveContract').innerHTML;\r\n thankuData.isCovidOpportunity = this.isCovidVaccineAvailable;\r\n \r\n SessionDetails.setThankUDetails(thankuData); \r\n this.router.navigate(['/thankyou']);\r\n break;\r\n case -2:\r\n case '-2':\r\n case -6:\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled ErrorCode received from Service errorCode:{0}, errorMessage:{1}', data.errorS.errorCode, data.errorS.errorMessage));\r\n break;\r\n\r\n }\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['contract'], String.Format('ErrorCode 500 received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled exception ErrorCode received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n }\r\n });\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n break;\r\n case 'Reject': \r\n this.approveContract.controls['user_notes'].setValidators([Validators.required]);\r\n this.approveContract.controls['user_notes'].updateValueAndValidity();\r\n if (this.approveContract.valid && this.clinicAgreement.clinicList.length > 0) {\r\n this.spinner.show();\r\n this.clinicAgreement.isEmailSent = Number(this.clinicAgreement.isEmailSent);\r\n this.clinicAgreement.isApproved = 0;\r\n this.clinicAgreement.notes = this.approveContract.value.user_notes;\r\n this.clinicAgreement.signature = this.approveContract.value.email_signature ? this.approveContract.value.email_signature.trim():this.approveContract.value.email_signature;\r\n this.clinicAgreement.contractPostedByUser = 'Business User';\r\n this.clinicAgreement.approvedOrRejectedBy = sessionStorage[\"approveRejectEmail\"];\r\n this.makeValidBooleans();\r\n this._apiservice.saveAgreementData(storeID, 1, this.clinicAgreement).subscribe((data: any) => {\r\n this.spinner.hide(); \r\n switch (data.errorS.errorCode) {\r\n case 'success':\r\n case null:\r\n case \"null\":\r\n case 0:\r\n case '0':\r\n this.router.navigate(['/thankyou']);\r\n break;\r\n case -2:\r\n case '-2':\r\n case -6:\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n }\r\n },\r\n err => {\r\n this.spinner.hide(); \r\n this.showDialog(ErrorMessages['clientError'], err.json().Message); \r\n });\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n break;\r\n default:\r\n console.log('Error occurred none of them matched')\r\n break;\r\n }\r\n }\r\n else {\r\n\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n }\r\n makeValidBooleans() {\r\n this.clinicAgreement.clinicImmunizationList.forEach(im => {\r\n if (im.sendInvoiceTo <= 0) {\r\n im.isTaxExempt = null;\r\n im.isCopay = null;\r\n im.isVoucherNeeded = null;\r\n } else {\r\n im.isTaxExempt >= 1 ? im.isTaxExempt = 1 : im.isTaxExempt = 0;\r\n im.isCopay >= 1 ? im.isCopay = 1 : im.isCopay = 0;\r\n im.isVoucherNeeded >= 1 ? im.isVoucherNeeded = 1 : im.isVoucherNeeded = 0;\r\n im.copayValue = +im.copayValue;\r\n if(im.voucherExpirationDate != null && im.voucherExpirationDate != undefined && im.voucherExpirationDate !=''){\r\n im.voucherExpirationDate = this._datePipe.transform(im.voucherExpirationDate,\"MM/dd/yyyy\");\r\n }\r\n }\r\n });\r\n\r\n this.clinicAgreement.clinicList.forEach(cl => {\r\n cl.isNoClinic >= 1 ? cl.isNoClinic = 1 : cl.isNoClinic = 0;\r\n cl.isReassign >= 1 ? cl.isReassign = 1 : cl.isReassign = 0;\r\n cl.isCurrent >= 1 ? cl.isCurrent = 1 : cl.isCurrent = 0;\r\n\r\n if( cl.clinicDate === null || cl.clinicDate === undefined || cl.clinicDate ===''){\r\n cl.clinicDate = null;\r\n } else {\r\n var clDate = new Date(cl.clinicDate);\r\n cl.clinicDate = clDate.getMonth() + 1+\"/\" +clDate.getDate() +\"/\" + clDate.getFullYear();//this._datePipe.transform(cl.clinicDate,\"MM/dd/yyyy\");\r\n }\r\n });\r\n }\r\n\r\n okClicked() {\r\n this.display = false;\r\n }\r\n isFieldValid(field: string) {\r\n return !this.approveContract.get(field).valid && this.approveContract.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n\r\n printAgreement(){\r\n this.utility.print(\"approveContract\",\"Walgreens Community Off-site Agreement\");\r\n }\r\n changeLanguage() {\r\n\r\n if (this.currentLanguage.toLowerCase() === 'spanish') {\r\n this.languageChangeToSpanish();\r\n } else {\r\n this.languageChangeToEnglish();\r\n }\r\n }\r\n\r\n checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location: Clinic): boolean {\r\n return this._apiservice.checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location) && Number(location.isNoClinic) >= 1;\r\n }\r\n checkIfFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfNonFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfNonFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfCovidImmForCorpInvoiceSelected():boolean{\r\n return this._apiservice.checkIfCovidImmForCorpInvoiceSelected();\r\n }\r\n getVoucherExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getRoutineExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getCovidExpiryDate():string{\r\n let vchrDate:Date;\r\n this.userRecords.forEach(imz=>{\r\n if(Number(imz.isVoucherNeeded) >=1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1 && imz.immunizationName.toLowerCase().search('covid') !== -1)\r\n vchrDate=new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate,'MM/dd/yyyy');\r\n }\r\n checkIfNonFluImmIsSelected():boolean{\r\n return this._apiservice.checkIfNonFluImmIsSelected();\r\n }\r\n checkToPrintAsterisk(immAbvName:string,immName:string):boolean{\r\n let bRet:boolean =false;\r\n if(immAbvName&&immAbvName.search(/Two Dose/gi)>=0){\r\n bRet= true;\r\n }\r\n return bRet;\r\n }\r\n checkForDoubleAsteriskRates():boolean{ \r\n return this.clinicAgreement.clinicImmunizationList.filter(p=>p.immunizationName.search(/Dose/gi)>=0).length>0;\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ContractapproveService } from '../../services/contractapprove.service';\r\nimport { Output } from '@angular/core';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { ViewChild } from '@angular/core';\r\nimport { ElementRef } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { states } from '../../../../JSON/States';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { ClientInfo } from '../../../../models/client-info';\r\nimport { Util } from '../../../../utility/util';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n\r\n@Component({\r\n selector: 'app-businesscontactpage',\r\n templateUrl: './businesscontactpage.component.html',\r\n styleUrls: ['./businesscontactpage.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class BusinesscontactpageComponent implements OnInit {\r\n @Output() public childControls = new EventEmitter();\r\n @Input(\"currentLanguage\")\r\n currentLanguage: string;\r\n showBtnEn: boolean = false;\r\n showBtnSp: boolean = true;\r\n enlanguageSelection: boolean;\r\n splanguageSelection: boolean;\r\n spanishLanguage: string;\r\n headerText: string;\r\n attachment: string;\r\n json: string;\r\n imz: string;\r\n payment: string;\r\n rates: string;\r\n englishLanguage: string;\r\n enheader: string;\r\n enattachment: string;\r\n client_name: string;\r\n header_name: string;\r\n title_name: string;\r\n attention: string;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n zipcode: string;\r\n client_info: string;\r\n legal_notice: string;\r\n clientName: string;\r\n headerName: string;\r\n titleName: string;\r\n test: string;\r\n firsttime: number = 0;\r\n errorMessage: string;\r\n client: any;\r\n name: any;\r\n title: any;\r\n attention_to: any;\r\n address_1: any;\r\n address_2: any;\r\n city_name: any;\r\n state_name: any;\r\n zip_code: any;\r\n clientlegalform: FormGroup;\r\n client_information: any[];\r\n legal_information: any[];\r\n clientinfo: ClientInfo = new ClientInfo();\r\n states: any[];\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display:boolean = false;\r\n @ViewChild(\"clientForm\", { read: ElementRef }) tref: ElementRef;\r\n\r\n\r\n @Output() isChildFormValid: EventEmitter = new EventEmitter();\r\n constructor(private _apiservice: ContractapproveService, private _fb: FormBuilder, private utility: Util\r\n , private clientInfo: ClientInfo, private _datePipe:DatePipe) {\r\n this.clientinfo = this.clientInfo;\r\n }\r\n ngOnInit() {\r\n this.states = states.sort((a,b)=>a.id.localeCompare(b.id));\r\n this.clientlegalform = this._fb.group({\r\n clientname: this._fb.control('', Validators.required),\r\n headername: this._fb.control('', Validators.required),\r\n titlename: this._fb.control('', Validators.required),\r\n businessApprovedDate:this._fb.control(this._datePipe.transform(new Date(),'MM/dd/yyyy'), null),\r\n attentionto: this._fb.control('', Validators.required),\r\n address1: this._fb.control('', Validators.required),\r\n address2: this._fb.control('', null),\r\n cityname: this._fb.control('', Validators.required),\r\n statename: this._fb.control('', Validators.required),\r\n zipcode: this._fb.control('', Validators.required)\r\n });\r\n this.GetClientLegalInfo();\r\n this.changeLanguage();\r\n }\r\n populateUIData(){\r\n this.clientinfo = this._apiservice.getSelectedClientLegalInfo();\r\n if (this.clientinfo != undefined) {\r\n this.clientlegalform = this._fb.group({\r\n clientname: this._fb.control(this.clientinfo.clientname, Validators.required),\r\n headername: this._fb.control(this.clientinfo.headername, Validators.required),\r\n titlename: this._fb.control(this.clientinfo.titlename, Validators.required),\r\n businessApprovedDate:this._fb.control(this._datePipe.transform(new Date(),'MM/dd/yyyy'), null),\r\n attentionto: this._fb.control(this.clientinfo.attentionto, Validators.required),\r\n address1: this._fb.control(this.clientinfo.address1, Validators.required),\r\n address2: this._fb.control(this.clientinfo.address2, null),\r\n cityname: this._fb.control(this.clientinfo.cityname, Validators.required),\r\n statename: this._fb.control(this.clientinfo.statename, Validators.required),\r\n zipcode: this._fb.control(this.clientinfo.zipcode, Validators.required)\r\n });\r\n }\r\n }\r\n isFieldValid(field: string) {\r\n return !this.clientlegalform.get(field).valid && this.clientlegalform.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n GetClientLegalInfo() {\r\n this.clientinfo = this._apiservice.getSelectedClientLegalInfo();\r\n if (this.clientinfo != undefined) {\r\n this.clientlegalform = this._fb.group({\r\n clientname: this._fb.control(this.clientinfo.clientname, Validators.required),\r\n headername: this._fb.control(this.clientinfo.headername, Validators.required),\r\n titlename: this._fb.control(this.clientinfo.titlename, Validators.required),\r\n businessApprovedDate:this._fb.control(this._datePipe.transform(new Date(),'MM/dd/yyyy'), null),\r\n attentionto: this._fb.control(this.clientinfo.attentionto, Validators.required),\r\n address1: this._fb.control(this.clientinfo.address1, Validators.required),\r\n address2: this._fb.control(this.clientinfo.address2, null),\r\n cityname: this._fb.control(this.clientinfo.cityname, Validators.required),\r\n statename: this._fb.control(this.clientinfo.statename, Validators.required),\r\n zipcode: this._fb.control(this.clientinfo.zipcode, Validators.required)\r\n });\r\n }\r\n }\r\n save(): boolean {\r\n if (this.clientlegalform.valid) {\r\n \r\n this._apiservice.setSelectedClientLegalInfo(this.clientlegalform.value);\r\n return true;\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.clientlegalform);\r\n this.showDialog(ErrorMessages['errMsg'],ErrorMessages['MandatoryFields'])\r\n return false;\r\n }\r\n }\r\n\r\n languageChangeToSpanish() {\r\n this.enlanguageSelection = false;\r\n this.splanguageSelection = true;\r\n \r\n let data:any = this._apiservice.languageChange();\r\n if(data){\r\n this.client_name = data.clientsp;\r\n this.header_name = data.namesp;\r\n this.title_name = data.titlesp;\r\n this.attention = data.attentionsp;\r\n this.address1 = data.address1sp;\r\n this.address2 = data.address2sp;\r\n this.city = data.citysp;\r\n this.state = data.statesp;\r\n this.zipcode = data.zipcodesp;\r\n this.legal_notice = data.legalsp;\r\n this.client_info = data.clientinfosp;\r\n }\r\n\r\n this.showBtnEn = true;\r\n this.showBtnSp = false;\r\n\r\n }\r\n languageChangeToEnglish() {\r\n this.splanguageSelection = false;\r\n this.enlanguageSelection = true;\r\n let data:any = this._apiservice.languageChange();\r\n if(data)\r\n {\r\n this.client_name = data.clienten;\r\n this.header_name = data.nameen;\r\n this.title_name = data.titleen;\r\n this.attention = data.attentionen;\r\n this.address1 = data.address1en;\r\n this.address2 = data.address2en;\r\n this.city = data.cityen;\r\n this.state = data.stateen;\r\n this.zipcode = data.zipcodeen;\r\n this.legal_notice = data.legalen;\r\n this.client_info = data.clientinfoen;\r\n }\r\n this.showBtnSp = true;\r\n this.showBtnEn = false;\r\n }\r\n\r\n okClicked(){\r\n this.display = false;\r\n }\r\n\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n changeLanguage() {\r\n \r\n if (this.currentLanguage == 'spanish' ) {\r\n this.languageChangeToSpanish();\r\n } else {\r\n this.languageChangeToEnglish();\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormArray, FormBuilder, Validators, } from '@angular/forms';\r\nimport { OutreachProgramService } from '../../services/outreach-program.service';\r\nimport { LocationNumberPipe } from '../../pipes/location-number.pipe';\r\nimport { Clinic, Immunization } from '../../../../models/contract';\r\nimport { TimeToDatePipe } from '../../pipes/time-to-date.pipe';\r\nimport { DatePipe } from '@angular/common';\r\nimport {Message} from 'primeng//api';\r\nimport { ConfirmationService} from 'primeng/api';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { Util } from '../../../../utility/util';\r\nimport { CharityProgram, ClinicList, ClinicImzQtyList, LogOutreachStatus, ClinicImmunizationList } from '../../../../models/charityProgram';\r\nimport { String } from 'typescript-string-operations';\r\nimport { environment } from '../../../../../environments/environment';\r\n@Component({\r\n selector: 'app-charity-locations-list',\r\n templateUrl: './charity-locations-list.component.html',\r\n styleUrls: ['./charity-locations-list.component.css'],\r\n providers: [LocationNumberPipe, TimeToDatePipe, DatePipe]\r\n})\r\n\r\nexport class CharitylocationsListComponent implements OnInit {\r\n showHints: boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) === 'yes') ? false : true;\r\n pageName: string = \"charityprogram\";\r\n\r\n public contractForm: FormGroup;\r\n public addedImmunizations: Immunization[];\r\n location_number: any = 0;\r\n //contractData: ContractData = new ContractData();\r\n clinicData: Clinic = new Clinic();\r\n contactLogPk: Number;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n errordisplay: boolean = false;\r\n msgs: Message[] = [];\r\n defaultDate: Date = new Date();\r\n maxDateValue: Date = new Date();\r\n minDateValue: Date = new Date();\r\n cancel_save: string;\r\n event_details: any;\r\n savePopUp: boolean = false;\r\n immunization_list: any[];\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n zipCode: number;\r\n userApprovedGt250: boolean = false;\r\n locConfirm25ModalDlg: boolean = false;\r\n coLocConfirm250ModalDlg: boolean = false;\r\n locConfirm250ModalDlg: boolean = false;\r\n userApprovedLt25: boolean = false;\r\n locListModalDlg: boolean = false;\r\n user_14days_check: boolean = false;\r\n user_250_check: boolean = false;\r\n previous_location_data: any[];\r\n previous_locations: any[];\r\n is_previous_locations: boolean = false;\r\n display_message: boolean = false;\r\n clinic_immunization_list: any;\r\n disable_button: boolean = false;\r\n overrideTimeSlotPopup: boolean = false;\r\n allowTimeOverRide: boolean = false;\r\n immunizerWarningAlert:boolean = false;\r\n immunizerWarningOkClicked:boolean = false; \r\n showCancelBtn:boolean = true;\r\n OverrideOrOkTitle:string = \"Override\";\r\n constructor(private _fb: FormBuilder,\r\n private _charityProgramService: OutreachProgramService,\r\n private _localContractService: OutreachProgramService,\r\n private _locationNumberPipe: LocationNumberPipe,\r\n private _timeToDatePipe: TimeToDatePipe,\r\n private _datePipe: DatePipe, private utility: Util,\r\n private confirmationService: ConfirmationService, private router: Router) {\r\n }\r\n\r\n ngOnInit() {\r\n this.immunization_list = [];\r\n this.allowTimeOverRide = false;\r\n this.contractForm = this._fb.group({\r\n clinicList: this._fb.array([])\r\n });\r\n let oppurtunitiesData: any = SessionDetails.GetopportunitiesData();\r\n this.event_details = SessionDetails.GetEventDetails();\r\n if (this.isStoreIsfromRestrictedState()) { \r\n this._localContractService.getpreviousseasoncliniclocations(0, oppurtunitiesData.businessPk).subscribe((res:any) => {\r\n this.previous_location_data = res.previousLocationsList;\r\n if (this.previous_location_data.length > 1) {\r\n this.is_previous_locations = true;\r\n this.display_message = true;\r\n }\r\n else {\r\n this.display_message = false;\r\n }\r\n });\r\n }\r\n if (this.isStoreIsfromRestrictedState()) {\r\n let today = new Date();\r\n this.defaultDate = new Date(today.getFullYear(), 8, 1, 8, 55, 55);\r\n this.minDateValue = new Date(today.getFullYear(), 8, 1, 8, 55, 55);\r\n this.maxDateValue = new Date(today.getFullYear() + 1, today.getMonth(), today.getDate(), 8, 55, 55);\r\n }\r\n else {\r\n let today = new Date();\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 55, 55);\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 55, 55);\r\n this.maxDateValue = new Date(today.getFullYear() + 5, today.getMonth(), today.getDate(), 8, 55, 55);\r\n }\r\n let loc = new ClinicList();\r\n if (oppurtunitiesData.businessPk !== undefined && oppurtunitiesData.businessPk !== null && oppurtunitiesData.businessPk !== \"\") {\r\n this._localContractService.getStoreBusinessDetails(oppurtunitiesData.businessPk).subscribe((res:any) => {\r\n loc.address1 = this.address1 = res.address1;\r\n loc.address2 = this.address2 = res.address2;\r\n loc.city = this.city = res.city;\r\n loc.state = this.state = res.state;\r\n loc.zipCode = this.zipCode = res.zipCode;\r\n let imz: any = {};\r\n let clinic_immunizations: any[];\r\n clinic_immunizations = [];\r\n loc.clinicImzQtyList = new Array();\r\n this._localContractService.getImmunizationsList(-1, 2).subscribe((rec:any) => {\r\n this.clinic_immunization_list = rec.immunizationList;\r\n imz.immunizationPk = rec.immunizationList[0].immunizationId;\r\n imz.immunizationName = rec.immunizationList[0].immunizationName;\r\n imz.paymentTypeName = rec.immunizationList[0].paymentTypeName;\r\n imz.paymentTypeId = rec.immunizationList[0].paymentTypeId;\r\n imz.estimatedQuantity = \"\";\r\n imz.vouchersDistributed = \"\";\r\n //imz.estimatedQuantity = loc.cli nicImzQtyList[0].estimatedQuantity;\r\n //imz.vouchersDistributed = loc.clinicImzQtyList[0].vouchersDistributed;\r\n clinic_immunizations.push(imz);\r\n\r\n loc.clinicImzQtyList = clinic_immunizations;\r\n this.immunization_list = loc.clinicImzQtyList;\r\n loc.location = \"CLINIC \" + this._locationNumberPipe.transform(this.location_number + 1);\r\n this.addLocation(loc);\r\n // /this.location_number = this.location_number + 1;\r\n });\r\n });\r\n } else {\r\n this.showDialog(ErrorMessages['serverError'], \"An error has occurred. Pleaase contact administrartor.\");\r\n return false;\r\n }\r\n }\r\n PreviousLocationChange(event) {\r\n if (event != \"\") {\r\n this.display_message = false;\r\n this.previous_locations = this.previous_location_data.filter(item => item.rowId == event);\r\n }\r\n else {\r\n this.display_message = true;\r\n }\r\n }\r\n initLocation(location: ClinicList) {\r\n this.location_number = this.location_number + 1;\r\n let previous_display: boolean = true;\r\n if (this.previous_locations != undefined) {\r\n if (this.previous_locations.length > 0) {\r\n this.address1 = this.previous_locations[0].address;\r\n this.address2 = this.previous_locations[0].address2;\r\n this.city = this.previous_locations[0].city;\r\n this.state = this.previous_locations[0].state;\r\n this.zipCode = this.previous_locations[0].zip;\r\n previous_display = false;\r\n }\r\n }\r\n if (location === undefined) {\r\n\r\n location = new ClinicList();\r\n\r\n location.location = \"CLINIC \" + this._locationNumberPipe.transform(this.location_number);\r\n return this._fb.group({\r\n clinicImzQtyList: this.initImmunizations(this.immunization_list),\r\n location: this._fb.control(location.location),\r\n contactFirstName: this._fb.control(location.contactFirstName, Validators.required),\r\n contactLastName: this._fb.control(location.contactLastName, Validators.required),\r\n contactEmail: this._fb.control(location.contactEmail, Validators.required),\r\n contactPhone: this._fb.control(location.contactPhone, Validators.required),\r\n clinicDate: this._fb.control(location.clinicDate, Validators.required),\r\n startTime: this._fb.control(location.startTime, Validators.required),\r\n endTime: this._fb.control(location.endTime, Validators.required),\r\n latitude: this._fb.control(location.latitude),\r\n longitude: this._fb.control(location.longitude),\r\n // disabling fields if the store state belongs to restricted state\r\n address1: this._fb.control(this.isStoreIsfromRestrictedState() ? this.address1 : location.address1, Validators.required),\r\n address2: this._fb.control(this.isStoreIsfromRestrictedState() ? this.address2 : location.address2),\r\n city: this._fb.control(this.isStoreIsfromRestrictedState() ? this.city : location.city, Validators.required),\r\n state: this._fb.control(this.isStoreIsfromRestrictedState() ? this.state : location.state, Validators.required),\r\n zipCode: this._fb.control(this.isStoreIsfromRestrictedState() ? this.zipCode : location.zipCode, Validators.required),\r\n isNoClinic: this._fb.control(+location.isNoClinic, null),\r\n isCurrent: this._fb.control(1),\r\n previousContact: this._fb.control(+location.previousContact, null),\r\n previousLocation: this._fb.control(+location.previousLocation, null),\r\n\r\n localEstmdShots: this._fb.control(this.immunization_list[0].estimatedQuantity, Validators.required),\r\n localvouchersDist: this._fb.control(this.immunization_list[0].vouchersDistributed, Validators.required)\r\n });\r\n\r\n }\r\n else {\r\n\r\n return this._fb.group({\r\n clinicImzQtyList: this.initImmunizations(location.clinicImzQtyList),\r\n location: this._fb.control(location.location),\r\n contactFirstName: this._fb.control(location.contactFirstName, Validators.required),\r\n contactLastName: this._fb.control(location.contactLastName, Validators.required),\r\n contactEmail: this._fb.control(location.contactEmail, Validators.required),\r\n contactPhone: this._fb.control(location.contactPhone, Validators.required),\r\n clinicDate: this._fb.control(location.clinicDate, Validators.required),\r\n startTime: this._fb.control(location.startTime, Validators.required),\r\n endTime: this._fb.control(location.endTime, Validators.required),\r\n latitude: this._fb.control(location.latitude),\r\n longitude: this._fb.control(location.longitude),\r\n // disabling fields if the store state belongs to restricted state\r\n address1: this._fb.control(this.isStoreIsfromRestrictedState() ? this.address1 : location.address1, Validators.required),\r\n address2: this._fb.control(this.isStoreIsfromRestrictedState() ? this.address2 : location.address2),\r\n city: this._fb.control(this.isStoreIsfromRestrictedState() ? this.city : location.city, Validators.required),\r\n state: this._fb.control(this.isStoreIsfromRestrictedState() ? this.state : location.state, Validators.required),\r\n zipCode: this._fb.control(this.isStoreIsfromRestrictedState() ? this.zipCode : location.zipCode, Validators.required),\r\n\r\n isNoClinic: this._fb.control(+location.isNoClinic, null),\r\n isCurrent: this._fb.control(1),\r\n previousContact: this._fb.control(+location.previousContact, null),\r\n previousLocation: this._fb.control(+location.previousLocation, null),\r\n localEstmdShots: this._fb.control(location.clinicImzQtyList[0].estimatedQuantity, Validators.required),\r\n localvouchersDist: this._fb.control(location.clinicImzQtyList[0].estimatedQuantity, Validators.required)\r\n });\r\n }\r\n\r\n }\r\n initImmunizations(clinic_immunizations) {\r\n let imz_array: any[] = [];\r\n clinic_immunizations.forEach(imz => {\r\n imz.immunizationName = imz.immunizationName;\r\n imz.paymentTypeName = imz.paymentTypeName;\r\n imz_array.push(this._fb.group({\r\n clinicPk: this._fb.control(imz.clinicPk),\r\n immunizationPk: this._fb.control(imz.immunizationPk),\r\n estimatedQuantity: this._fb.control(imz.estimatedQuantity, null),\r\n immunizationName: this._fb.control(imz.immunizationName),\r\n paymentTypeName: this._fb.control(imz.paymentTypeName),\r\n paymentTypeId: this._fb.control(imz.paymentTypeId)\r\n }))\r\n })\r\n return this._fb.array(imz_array);\r\n }\r\n disableButton() {\r\n if (this.display_message) {\r\n return 'false';\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n isStoreIsfromRestrictedState() {\r\n var resrict_states = [\"MO\"]; // \"DC\" -- Removing DC state as per task# 1363\r\n var current_date = new Date();\r\n if (resrict_states.indexOf(SessionDetails.GetState()) > -1) {\r\n if (current_date > new Date(environment.MO_State_From) && current_date < new Date(environment.MO_State_TO)) {\r\n return true;\r\n }\r\n if (current_date > new Date(environment.DC_State_From) && current_date < new Date(environment.DC_State_TO)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n addLocation(location) {\r\n this.user_250_check = false;\r\n this.user_14days_check = false;\r\n const control = this.contractForm.controls['clinicList'];\r\n const addrCtrl = this.initLocation(location);\r\n control.push(addrCtrl);\r\n }\r\n removeLocation(i: number) {\r\n const control = this.contractForm.controls['clinicList'];\r\n control.removeAt(i);\r\n this.location_number--;\r\n\r\n for (let index = 0; index < this.location_number; index++) {\r\n let fGrp: FormGroup = control.controls[index] as FormGroup;\r\n fGrp.controls['location'].setValue(\"CLINIC \" + this._locationNumberPipe.transform(index + 1));\r\n }\r\n }\r\n coShowConfirm250ImmDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.coLocConfirm250ModalDlg = true;\r\n }\r\n showConfirm25ImmDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locConfirm25ModalDlg = true;\r\n }\r\n showConfirm250ImmDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locConfirm250ModalDlg = true;\r\n }\r\n coRejectGt250Imm() {\r\n this.coLocConfirm250ModalDlg = false;\r\n return;\r\n }\r\n acceptGt250Imm() {\r\n\r\n this.userApprovedGt250 = true;\r\n\r\n this.locConfirm250ModalDlg = false;\r\n if (this.userApprovedGt250) {\r\n this.user_250_check = true;\r\n this.save(false);\r\n }\r\n return;\r\n }\r\n rejectGt250Imm() {\r\n this.locConfirm250ModalDlg = false;\r\n return;\r\n }\r\n\r\n rejectLt25Imm() {\r\n this.locConfirm25ModalDlg = false;\r\n return;\r\n }\r\n getEstimatedImmunizers(errorList:string[]){\r\n let shots_per_hour = (60 / 10) * 4; \r\n this.contractForm.value.clinicList.forEach(loc => {\r\n try {\r\n if (loc.startTime != \"\")\r\n try{\r\n loc.startTime = this._datePipe.transform(loc.startTime, 'shortTime');\r\n }catch(e){\r\n console.log(e); \r\n }\r\n if (loc.endTime != \"\") {\r\n try{\r\n loc.endTime = this._datePipe.transform(loc.endTime, 'shortTime');\r\n }catch(e){\r\n console.log(e); \r\n }\r\n }\r\n } catch (e) {\r\n console.log(e); // here the exception is delibarately caught because when you click back, startTime & end\r\n // Time is not correct timeformat. Hence we are ignoring this by catching here.\r\n }\r\n });\r\n for (let count = 0; count < this.contractForm.value.clinicList.length; count++) { \r\n let locClinicDate:Date = new Date(this.contractForm.value.clinicList[count].clinicDate);\r\n let locStartTime = this.contractForm.value.clinicList[count].startTime;\r\n let locEndTime = this.contractForm.value.clinicList[count].endTime;\r\n if (this.contractForm.value.clinicList[count].isNoClinic >= 1 || \r\n this.contractForm.value.clinicList[count].isNoClinic === '1' || \r\n this.contractForm.value.clinicList[count].isReassign >= 1 || \r\n this.contractForm.value.clinicList[count].isReassign === '1') {\r\n continue;\r\n }\r\n let endDate: Date;\r\n if (locEndTime.toString().toLowerCase().search('am') !== -1 || locEndTime.toString().toLowerCase().search('pm') !== -1) {\r\n endDate = this._timeToDatePipe.transform(locClinicDate, locEndTime);\r\n }\r\n else {\r\n endDate = locEndTime;\r\n }\r\n let startDatetmToDt: Date;\r\n if (locStartTime.toString().toLowerCase().search('am') !== -1 || locStartTime.toString().toLowerCase().search('pm') !== -1) {\r\n startDatetmToDt = this._timeToDatePipe.transform(locClinicDate, locStartTime);\r\n }\r\n else {\r\n startDatetmToDt = locStartTime;\r\n }\r\n let locStart: Date = new Date(startDatetmToDt);\r\n let locEnd: Date = new Date(endDate);\r\n let clinicLength = (locEnd.valueOf()-locStart.valueOf())/(3600*1000);\r\n if(clinicLength> 0 ){ \r\n let clinicLoc= this.contractForm.value.clinicList[count]; \r\n let totalImmunizations = Number(clinicLoc.localEstmdShots);\r\n let estimatedImmunizers = Math.ceil(totalImmunizations/(shots_per_hour*clinicLength))\r\n if(estimatedImmunizers>1){\r\n errorList.push(String.Format(ErrorMessages['immunizerWarning'],clinicLoc.location,estimatedImmunizers))\r\n }\r\n totalImmunizations = 0;\r\n estimatedImmunizers = 0;\r\n }\r\n \r\n }\r\n }\r\n save(is_override?: boolean) {\r\n var charity_program = new CharityProgram();\r\n var location = new ClinicList();\r\n location.clinicImzQtyList = new Array();\r\n\r\n let clinicArray = this.contractForm.controls.clinicList;\r\n for (let index = 0; index < this.contractForm.value.clinicList.length; index++) {\r\n\r\n let frmGrp: FormGroup = clinicArray.get(index.toString()) as FormGroup;\r\n if (frmGrp.controls['isNoClinic'].value == true || frmGrp.controls['isNoClinic'].value == 1) {\r\n let ctrl = frmGrp.get('address1');\r\n ctrl.setValidators(null);\r\n ctrl.updateValueAndValidity();\r\n\r\n ctrl = frmGrp.get('address2');\r\n ctrl.setValidators(null);\r\n ctrl.updateValueAndValidity();\r\n\r\n ctrl = frmGrp.get('city');\r\n ctrl.setValidators(null);\r\n ctrl.updateValueAndValidity();\r\n\r\n ctrl = frmGrp.get('state');\r\n ctrl.setValidators(null);\r\n ctrl.updateValueAndValidity();\r\n\r\n ctrl = frmGrp.get('zipCode');\r\n ctrl.setValidators(null);\r\n ctrl.updateValueAndValidity();\r\n\r\n ctrl = frmGrp.get('clinicDate');\r\n ctrl.setValidators(null);\r\n ctrl.updateValueAndValidity();\r\n\r\n ctrl = frmGrp.get('startTime');\r\n ctrl.setValidators(null);\r\n ctrl.updateValueAndValidity();\r\n\r\n ctrl = frmGrp.get('endTime');\r\n ctrl.setValidators(null);\r\n ctrl.updateValueAndValidity();\r\n } else {\r\n let ctrl = frmGrp.get('address1');\r\n ctrl.setValidators([Validators.required]);\r\n ctrl.updateValueAndValidity();\r\n\r\n ctrl = frmGrp.get('city');\r\n ctrl.setValidators([Validators.required]);\r\n ctrl.updateValueAndValidity();\r\n\r\n ctrl = frmGrp.get('state');\r\n ctrl.setValidators([Validators.required]);\r\n ctrl.updateValueAndValidity();\r\n\r\n ctrl = frmGrp.get('zipCode');\r\n ctrl.setValidators([Validators.required]);\r\n ctrl.updateValueAndValidity();\r\n\r\n ctrl = frmGrp.get('clinicDate');\r\n ctrl.setValidators([Validators.required]);\r\n ctrl.updateValueAndValidity();\r\n\r\n ctrl = frmGrp.get('startTime');\r\n ctrl.setValidators([Validators.required]);\r\n ctrl.updateValueAndValidity();\r\n\r\n ctrl = frmGrp.get('endTime');\r\n ctrl.setValidators([Validators.required]);\r\n ctrl.updateValueAndValidity();\r\n }\r\n }\r\n\r\n if (this.contractForm.valid && this.contractForm.value.clinicList.length > 0) {\r\n if(!this.immunizerWarningOkClicked){\r\n let estimatedImmunizers = 2;\r\n let errorList:string [] = [];\r\n \r\n this.getEstimatedImmunizers(errorList);\r\n if(errorList.length>0){\r\n this.showdImmunizerWarningDialog(\"Warning\", ErrorMessages['immunizerWarningMainPara']+errorList.join().replace(\",\",\"\"));\r\n return false;\r\n }\r\n }\r\n for (let i = 0; i < this.contractForm.value.clinicList.length; i++) {\r\n\r\n if (this.contractForm.value.clinicList[0].contactPhone.indexOf(\"X\") > -1) {\r\n let xcontrol = this.contractForm.controls['clinicList'];\r\n xcontrol.controls[i].get('contactPhone').setValue(null);\r\n xcontrol.controls[i].get('contactPhone').setValidators([Validators.required]);\r\n xcontrol.controls[i].get('contactPhone').updateValueAndValidity();\r\n this.utility.validateAllFormFields(xcontrol.controls[i]);\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['MandatoryFields']);\r\n return false;\r\n }\r\n\r\n if (!this.contractForm.value.clinicList[i].localvouchersDist || this.contractForm.value.clinicList[i].localvouchersDist == 0) {\r\n this.showErrorDialog(ErrorMessages['clientError'], ErrorMessages['VouchersDistributedMsg']);\r\n return false;\r\n }\r\n }\r\n let locString: String[] = [];\r\n this.contractForm.value.clinicList.forEach(loc => {\r\n loc.isNoClinic = loc.isNoClinic ? 1 : 0;\r\n for (let i = 0; i < this.contractForm.value.clinicList.length; i++) {\r\n\r\n for (let j = 0; j < this.contractForm.value.clinicList[i].clinicImzQtyList.length; j++) {\r\n this.contractForm.value.clinicList[i].clinicImzQtyList[j].clinicPk = this.contractForm.value.clinicList[i].clinicImzQtyList[j].clinicPk;\r\n this.contractForm.value.clinicList[i].clinicImzQtyList[j].immunizationName = this.contractForm.value.clinicList[i].clinicImzQtyList[j].immunizationName;\r\n this.contractForm.value.clinicList[i].clinicImzQtyList[j].paymentTypeName = this.contractForm.value.clinicList[i].clinicImzQtyList[j].paymentTypeName;\r\n this.contractForm.value.clinicList[i].clinicImzQtyList[j].paymentTypeId = this.contractForm.value.clinicList[i].clinicImzQtyList[j].paymentTypeId;\r\n this.contractForm.value.clinicList[i].clinicImzQtyList[j].estimatedQuantity = Number(this.contractForm.value.clinicList[i].localEstmdShots);\r\n this.contractForm.value.clinicList[i].clinicImzQtyList[j].vouchersDistributed = Number(this.contractForm.value.clinicList[i].localvouchersDist);\r\n }\r\n }\r\n loc.pk = 0;\r\n try {\r\n if (loc.startTime != \"\")\r\n loc.startTime = this._datePipe.transform(loc.startTime, 'shortTime');\r\n if (loc.endTime != \"\")\r\n loc.endTime = this._datePipe.transform(loc.endTime, 'shortTime');\r\n }catch(e){\r\n // deliberately kept to avoid crash as it is expected for crash. \r\n }\r\n\r\n let today = new Date();\r\n let diffDays: number;\r\n if (loc.isNoClinic == true || loc.isNoClinic == 1) {\r\n diffDays = 15;\r\n }\r\n if (loc.isNoClinic == false || loc.isNoClinic == 0) {\r\n var loc_date = (typeof loc.clinicDate === 'string') ? new Date(loc.clinicDate) : loc.clinicDate;\r\n //diffDays = loc.clinicDate.getMonth() == today.getMonth() ? Math.round(loc.clinicDate.getDate() - today.getDate()) :\r\n // this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0), new Date(loc_date.getFullYear(), loc_date.getMonth(), loc_date.getDate(), 0, 0, 0));\r\n diffDays = this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0), new Date(loc_date.getFullYear(), loc_date.getMonth(), loc_date.getDate(), 0, 0, 0));\r\n }\r\n if (!this.user_14days_check && (loc.isNoClinic == false || loc.isNoClinic == 0)) {\r\n\r\n if (loc.isNoClinic != null && loc.isNoClinic == false && diffDays < 14) {\r\n var userProfile = SessionDetails.GetUserProfile();\r\n var lowerCaseName = userProfile.userRole.toLowerCase();\r\n locString.push(loc.location_number)\r\n // if (lowerCaseName == \"director\" ||\r\n // lowerCaseName == \"supervisor\" || lowerCaseName == \"regionalvp\" ||\r\n // lowerCaseName == \"regionaldirector\" || lowerCaseName == \"admin\" ||\r\n // lowerCaseName == \"regional vice president\" ||\r\n // lowerCaseName == \"regional healthcare director\" ||\r\n // lowerCaseName == \"healthcare supervisor\"\r\n // || lowerCaseName == \"director - rx and retail ops\" || lowerCaseName == \"district manager\") {\r\n this.showCancelBtn = false;\r\n this.OverrideOrOkTitle = \"OK\";\r\n this.confirm(ErrorMessages['impRmndrFor2Wks'], ErrorMessages['new_clinicDateReminderBefore2WeeksEN']);\r\n throw true;\r\n // }\r\n // else {\r\n // this.showErrorDialog(ErrorMessages['impRmndrFor2Wks'], ErrorMessages['clinicDateReminderBefore2WeeksEN']);\r\n // throw false;\r\n // }\r\n }\r\n }\r\n });\r\n if (this.dateTimeConflict()) {\r\n if (this.minimumShotValidations()) {\r\n charity_program.logOutreachStatus = new LogOutreachStatus();\r\n charity_program.clinicImmunizationList = new ClinicImmunizationList();\r\n // charity_program.logOutreachStatus = this.event_details;\r\n charity_program.logOutreachStatus.businessPk = this.event_details.logOutreachStatus.businessPk;;\r\n charity_program.logOutreachStatus.firstName = this.event_details.logOutreachStatus.firstName;\r\n charity_program.logOutreachStatus.lastName = this.event_details.logOutreachStatus.lastName;\r\n charity_program.logOutreachStatus.jobTitle = this.event_details.logOutreachStatus.jobTitle;\r\n charity_program.logOutreachStatus.outreachProgram = this.event_details.logOutreachStatus.outreachProgram;\r\n charity_program.logOutreachStatus.outreachBusinessPk = this.event_details.logOutreachStatus.outreachBusinessPk;\r\n charity_program.logOutreachStatus.contactDate = this.event_details.logOutreachStatus.contactDate;\r\n\r\n // charity_program.logOutreachStatus.contactDate = new Date(this.event_details.logOutreachStatus.contactDate.getFullYear(),\r\n // this.event_details.logOutreachStatus.contactDate.getMonth()\r\n // ,this.event_details.logOutreachStatus.contactDate.getDate(),contact_date.getHours(),\r\n // contact_date.getMinutes(),contact_date.getSeconds(),\r\n // contact_date.getMilliseconds());\r\n charity_program.logOutreachStatus.outreachStatusId = this.event_details.logOutreachStatus.outreachStatusId;\r\n charity_program.logOutreachStatus.outreachStatusTitle = this.event_details.logOutreachStatus.outreachStatusTitle;\r\n charity_program.logOutreachStatus.feedback = this.event_details.logOutreachStatus.feedback;\r\n charity_program.logOutreachStatus.createdBy = this.event_details.logOutreachStatus.createdBy;\r\n charity_program.logOutreachStatus.clinicAgreementPk = 0;\r\n charity_program.logOutreachStatus.contactLogPk = 0;\r\n charity_program.clinicImmunizationList.pk = 0;\r\n charity_program.clinicImmunizationList.clinicPk = 0;\r\n charity_program.clinicImmunizationList.immunizationPk = this.clinic_immunization_list[0].immunizationId;\r\n charity_program.clinicImmunizationList.immunizationName = this.clinic_immunization_list[0].immunizationName;\r\n charity_program.clinicImmunizationList.price = this.clinic_immunization_list[0].price;\r\n charity_program.clinicImmunizationList.paymentTypeId = this.clinic_immunization_list[0].paymentTypeId;\r\n charity_program.clinicImmunizationList.paymentTypeName = this.clinic_immunization_list[0].paymentTypeName;\r\n charity_program.clinicImmunizationList.sendInvoiceTo = this.clinic_immunization_list[0].sendInvoiceTo;\r\n charity_program.clinicImmunizationList.name = null; //this.clinic_immunization_list[0].name;\r\n charity_program.clinicImmunizationList.address1 = null;\r\n charity_program.clinicImmunizationList.address2 = null;\r\n charity_program.clinicImmunizationList.city = null;\r\n charity_program.clinicImmunizationList.state = null;\r\n charity_program.clinicImmunizationList.zip = null;\r\n charity_program.clinicImmunizationList.phone = null;\r\n charity_program.clinicImmunizationList.email = null;\r\n charity_program.clinicImmunizationList.isTaxExempt = null;\r\n charity_program.clinicImmunizationList.isCopay = false;\r\n charity_program.clinicImmunizationList.copayValue = null;\r\n charity_program.clinicImmunizationList.isVoucherNeeded = null;\r\n charity_program.clinicImmunizationList.voucherExpirationDate = null;\r\n\r\n\r\n charity_program.charityVoucherProgram = this.contractForm.value;\r\n charity_program.charityVoucherProgram.clinicAgreementPk = 0;\r\n charity_program.charityVoucherProgram.contactLogPk = 0;\r\n charity_program.charityVoucherProgram.isApproved = true;\r\n charity_program.charityVoucherProgram.approvedOrRejectedBy = \"\";\r\n charity_program.charityVoucherProgram.isEmailSent = true;\r\n charity_program.charityVoucherProgram.dateCreated = new Date();\r\n charity_program.charityVoucherProgram.lastUpdatedDate = new Date();\r\n charity_program.charityVoucherProgram.contactWagUser = \"\";\r\n charity_program.charityVoucherProgram.clinicList.forEach(cl => {\r\n try {\r\n cl.contactPhone = cl.contactPhone;\r\n if (cl.clinicDate === null || cl.clinicDate === undefined || cl.clinicDate === '') {\r\n cl.clinicDate = null;\r\n } else {\r\n cl.clinicDate = this._datePipe.transform(cl.clinicDate, \"MM/dd/yyyy\");\r\n }\r\n } catch (e) {\r\n console.log('error in charity save');\r\n }\r\n });\r\n // if (this._charityProgramService.saveClinicLocations(charity_program)) {\r\n this.disable_button = true;\r\n this._charityProgramService.insertCharityProgram(SessionDetails.GetStoreId(), 2,\r\n charity_program, is_override).subscribe((data: any) => {\r\n this.disable_button = false;\r\n switch (data.errorS.errorCode) {\r\n case 0:\r\n case '0':\r\n case 200:\r\n case \"null\":\r\n this.showDialog(ErrorMessages['chSummary'], ErrorMessages['chSucccess']);\r\n break;\r\n case -4:\r\n case '-4':\r\n this.showCancelBtn = true;\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.confirmOverride(ErrorMessages['eventDateTimeConflict'], String.Format(\"{0}

{1}\", data.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']));\r\n break;\r\n case -9:\r\n case '-9':\r\n this.showDialog(ErrorMessages['chSummary'], data.errorS.errorMessage);\r\n break;\r\n default:\r\n this.showErrorDialog(ErrorMessages['chSummary'], data.errorS.errorMessage);\r\n break;\r\n }\r\n },\r\n err => {\r\n this.showErrorDialog(ErrorMessages['unKnownError'], err.json().Message);\r\n this.disable_button = false;\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.contractForm);\r\n }\r\n }\r\n showdImmunizerWarningDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.immunizerWarningAlert = true;\r\n }\r\n showdImmunizerWarningDialogOk(){\r\n this.immunizerWarningAlert = false;\r\n this.immunizerWarningOkClicked = true;;\r\n this.save(false);\r\n }\r\n editdImmunizerWarning(){\r\n this.immunizerWarningAlert = false;\r\n }\r\n dateTimeConflict(): boolean {\r\n if (this.allowTimeOverRide) return true;\r\n var locConflictList = [];\r\n var errMsgV1: string[] = [];\r\n try {\r\n for (let count = 0; count < this.contractForm.value.clinicList.length; count++) {\r\n try {\r\n let locClinicDate: Date = new Date(this.contractForm.value.clinicList[count].clinicDate);\r\n let locStartTime = this.contractForm.value.clinicList[count].startTime;\r\n let locEndTime = this.contractForm.value.clinicList[count].endTime;\r\n\r\n let locationsCpy = JSON.parse(JSON.stringify(this.contractForm.value.clinicList));\r\n var index = locationsCpy.findIndex(it => it.location === this.contractForm.value.clinicList[count].location);\r\n if (index > -1) {\r\n locationsCpy.splice(index, 1);\r\n }\r\n locationsCpy.forEach(element => {\r\n element.clinicDate = new Date(element.clinicDate);\r\n });\r\n let conflictLocs = locationsCpy.filter(locItem => locClinicDate.getFullYear() === locItem.clinicDate.getFullYear() && locClinicDate.getMonth() === locItem.clinicDate.getMonth() && locClinicDate.getDate() === locItem.clinicDate.getDate());\r\n let endDateAdd39Mts: Date;\r\n if (locEndTime.toString().toLowerCase().search('am') !== -1 || locEndTime.toString().toLowerCase().search('pm') !== -1) {\r\n endDateAdd39Mts = this._timeToDatePipe.transform(locClinicDate, locEndTime);\r\n }\r\n else {\r\n endDateAdd39Mts = locEndTime;\r\n }\r\n let startDatetmToDt: Date;\r\n if (locStartTime.toString().toLowerCase().search('am') !== -1 || locStartTime.toString().toLowerCase().search('pm') !== -1) {\r\n startDatetmToDt = this._timeToDatePipe.transform(locClinicDate, locStartTime);\r\n }\r\n else {\r\n startDatetmToDt = locStartTime;\r\n }\r\n let add30MinTS: Date = new Date(locClinicDate.getFullYear(), locClinicDate.getMonth(), locClinicDate.getDate(), endDateAdd39Mts.getHours(), endDateAdd39Mts.getMinutes() + 30, endDateAdd39Mts.getSeconds());\r\n let locStart: Date = new Date(startDatetmToDt);\r\n\r\n if (conflictLocs.length > 0) {\r\n var conflictLocsCpy = JSON.parse(JSON.stringify(conflictLocs));\r\n conflictLocsCpy.forEach(element => {\r\n element.clinicDate = new Date(element.clinicDate);\r\n element.startTime = this._timeToDatePipe.transform(element.clinicDate, element.startTime);\r\n element.endTime = this._timeToDatePipe.transform(element.clinicDate, element.endTime);\r\n });\r\n\r\n conflictLocs = conflictLocsCpy.filter(locItem => locClinicDate.getFullYear() === locItem.clinicDate.getFullYear() && locClinicDate.getMonth() === locItem.clinicDate.getMonth() && locClinicDate.getDate() === locItem.clinicDate.getDate() && ((locItem.startTime.valueOf() >= locStart.valueOf() && locItem.startTime.valueOf() < add30MinTS.valueOf()) || (locItem.endTime.valueOf() > locStart.valueOf() && locItem.endTime.valueOf() < add30MinTS.valueOf())));\r\n if (conflictLocs.length > 0) {\r\n locConflictList.push({\r\n srcLocName: this.contractForm.value.clinicList[count],\r\n dstLocName: conflictLocs\r\n });\r\n }\r\n }\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n let conflictClinicList: any[] = [];\r\n locConflictList.forEach(item => {\r\n item.dstLocName.forEach(element => {\r\n let duplicateEntry = conflictClinicList.filter(l => l.location == element.location);\r\n if (duplicateEntry.length <= 0) {\r\n conflictClinicList.push(element);\r\n }\r\n });\r\n\r\n });\r\n\r\n if (conflictClinicList.length > 0) {\r\n conflictClinicList.sort((leftItem, rightItem): number => {\r\n if (leftItem.location < rightItem.location) return -1;\r\n if (leftItem.location > rightItem.location) return 1;\r\n return 0;\r\n });\r\n\r\n if (conflictClinicList.length <= 2) {\r\n if (conflictClinicList.length == 2) {\r\n conflictClinicList.forEach(loc => {\r\n errMsgV1.push(String.Format(ErrorMessages['clincLocDateTimeMultipleConflict'], loc.location, this._datePipe.transform(loc.clinicDate, \"shortDate\"), this._datePipe.transform(loc.startTime, 'shortTime'), this._datePipe.transform(loc.endTime, 'shortTime'), SessionDetails.GetopportunitiesData().businessName));\r\n });\r\n //errMsgV1.push(String.Format(ErrorMessages['clincLocDateTimeSingleConflict'], conflictClinicList[1].location, this._datePipe.transform(conflictClinicList[0].clinicDate, \"shortDate\"), this._datePipe.transform(conflictClinicList[0].startTime, 'shortTime'), this._datePipe.transform(conflictClinicList[0].endTime,'shortTime'), SessionDetails.GetopportunitiesData().businessName));\r\n this.showOverRideTimeSlot(ErrorMessages['resolve'], String.Format(\"{0}{1}\", ErrorMessages['multipleClinicDatesConflictLineItem'], errMsgV1.join('

')));\r\n return false;\r\n } else {\r\n errMsgV1.push(String.Format(ErrorMessages['clincLocDateTimeSingleConflict'], conflictClinicList[0].location, this._datePipe.transform(conflictClinicList[0].clinicDate, \"shortDate\"), this._datePipe.transform(conflictClinicList[0].startTime, 'shortTime'), this._datePipe.transform(conflictClinicList[0].endTime, 'shortTime'), SessionDetails.GetopportunitiesData().businessName));\r\n }\r\n\r\n this.showOverRideTimeSlot(ErrorMessages['resolve'], errMsgV1.join('

'));\r\n return false;\r\n }\r\n if (conflictClinicList.length >= 2) {\r\n conflictClinicList.forEach(loc => {\r\n errMsgV1.push(String.Format(ErrorMessages['clincLocDateTimeMultipleConflict'], loc.location, this._datePipe.transform(loc.clinicDate, \"shortDate\"), this._datePipe.transform(loc.startTime, 'shortTime'), this._datePipe.transform(loc.endTime, 'shortTime'), SessionDetails.GetopportunitiesData().businessName));\r\n });\r\n this.showOverRideTimeSlot(ErrorMessages['resolve'], String.Format(\"{0}{1}\", ErrorMessages['multipleClinicDatesConflictLineItem'], errMsgV1.join('

')));\r\n return false;\r\n }\r\n }\r\n return true;\r\n } catch (e) {\r\n\r\n console.log(e);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n minimumShotValidations(): boolean {\r\n var estimatedQty = 0;\r\n var location250Names = [];\r\n var errMsg: string[] = [];\r\n var moreThan255ImmunizationError = false;\r\n\r\n for (let i = 0; i < this.contractForm.value.clinicList.length; i++) {\r\n\r\n for (let j = 0; j < this.contractForm.value.clinicList[i].clinicImzQtyList.length; j++) {\r\n let qty: number = +this.contractForm.value.clinicList[i].clinicImzQtyList[j].estimatedQuantity;\r\n if (qty >= 250) {\r\n moreThan255ImmunizationError = true;\r\n location250Names.push({\r\n estimatedQuantity: qty, immunizationName: this.contractForm.value.clinicList[i].clinicImzQtyList[j].immunizationName,\r\n location: this.contractForm.value.clinicList[i].location\r\n });\r\n this.user_250_check = false;\r\n }\r\n else {\r\n estimatedQty += qty;\r\n }\r\n }\r\n moreThan255ImmunizationError = false;\r\n }\r\n if (!this.userApprovedGt250 && location250Names.length > 0) {\r\n this.userApprovedGt250 = false;\r\n this.userApprovedLt25 = false;\r\n }\r\n else {\r\n this.userApprovedGt250 = true;\r\n }\r\n if (!this.user_250_check) {\r\n if (!this.userApprovedGt250) {\r\n location250Names.forEach(item => {\r\n errMsg.push(String.Format(ErrorMessages['moreThan250Immunizations'], item.estimatedQuantity, item.immunizationName, item.location));\r\n });\r\n var userProfile = SessionDetails.GetUserProfile();\r\n //if (userProfile.userRole.toLowerCase() == \"admin\" || userProfile.userRole.toLowerCase() == \"store manager\" || userProfile.userRole.toLowerCase() == \"pharmacy manager\") {\r\n this.showConfirm250ImmDialog(ErrorMessages['warning'], errMsg.join('

'));\r\n // }\r\n // else\r\n // {\r\n // this.showDialogV2(ErrorMessages['warning'], errMsg.join('

'));\r\n //}\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n showDialogV2(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locListModalDlg = true;\r\n }\r\n okClickedV2() {\r\n this.locListModalDlg = false;\r\n }\r\n handleValidationsOption() {\r\n try {\r\n this.contractForm.value.locations.forEach(loc => {\r\n if (loc.isNoClinic == true) {\r\n if (loc.localvouchersDist.length <= 0 || loc.contactFirstName.length <= 0 || loc.contactLastName.length <= 0 || loc.contactPhone.length <= 0 ||\r\n loc.contactPhone === null || loc.localEstmdShots.length <= 0) {\r\n throw false;\r\n }\r\n }\r\n else {\r\n if (loc.address1.length <= 0 || loc.address2.length <= 0 || loc.city.length <= 0 || loc.clinicDate === null || loc.clinicDate === \"\"\r\n || loc.endTime === null || loc.startTime === null || loc.endTime === \"\" || loc.startTime === \"\" ||\r\n loc.state.length <= 0 || loc.localEstmdShots.length <= 0 || loc.contactEmail.length <= 0 ||\r\n loc.contactFirstName.length <= 0 || loc.contactLastName.length <= 0 || loc.contactPhone.length <= 0 ||\r\n loc.contactPhone === null || loc.localEstmdShots.length <= 0\r\n || loc.localvouchersDist.length <= 0 || loc.zipCode === null || loc.zipCode.length <= 0) {\r\n throw false;\r\n }\r\n }\r\n }\r\n );\r\n }\r\n catch (e) {\r\n return e;\r\n }\r\n return true;\r\n }\r\n\r\n CancelCharity() {\r\n //if (this.contractForm.value.length > 0) {\r\n this.showDialogCancel(ErrorMessages['unSavedData'], ErrorMessages['charity_alert'])\r\n this.savePopUp = true;\r\n // }\r\n // else {\r\n // if (this.router) this.router.navigate(['./communityoutreach/storehome']);\r\n // }\r\n }\r\n doNotSave() {\r\n this.savePopUp = false;\r\n if (this.router) this.router.navigate(['./communityoutreach/storehome']);\r\n }\r\n Continue() {\r\n this.savePopUp = false;\r\n }\r\n\r\n showDialogCancel(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n }\r\n\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n showErrorDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.errordisplay = true;\r\n }\r\n confirm(hdr: string, msg: string) {\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n this.user_14days_check = true;\r\n this.save(false);\r\n //todo to display successful message after subscribe \r\n //this.showDialog(ErrorMessages['chSummary'], ErrorMessages['chSucccess']);\r\n return;\r\n },\r\n reject: () => {\r\n return;\r\n }\r\n });\r\n }\r\n confirmOverride(hdr: string, msg: string) {\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n this.save(true);\r\n return;\r\n },\r\n reject: () => {\r\n return;\r\n }\r\n });\r\n }\r\n\r\n displayNgMsg(msgSeverity: string, msgSummary: string, msgDetail: string) {\r\n this.msgs = [];\r\n this.msgs.push({ severity: msgSeverity, summary: msgSummary, detail: msgDetail });\r\n }\r\n\r\n okClicked() {\r\n this.display = false;\r\n if (this.router) this.router.navigate(['/communityoutreach/storehome']);\r\n\r\n }\r\n\r\n okErrorClicked() {\r\n this.errordisplay = false;\r\n }\r\n disabledButton() {\r\n if (this.disable_button) {\r\n return 'false';\r\n }\r\n else {\r\n return '';\r\n }\r\n\r\n }\r\n overrideTimeSlot() {\r\n this.overrideTimeSlotPopup = false;\r\n this.dialogMsg = '';\r\n this.dialogSummary = '';\r\n this.allowTimeOverRide = true;\r\n this.save(false);\r\n }\r\n cancelTimeSlot() {\r\n this.overrideTimeSlotPopup = false;\r\n this.dialogMsg = '';\r\n this.dialogSummary = '';\r\n this.allowTimeOverRide = false;\r\n }\r\n showOverRideTimeSlot(msgSummary: string, msgDetail: string) {\r\n this.allowTimeOverRide = false;\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.overrideTimeSlotPopup = true;\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\nimport { FormGroup, FormArray } from '@angular/forms';\r\nimport { states } from '../../../../JSON/States';\r\nimport { ConfirmationService, Message } from 'primeng/api';\r\nimport { AppCommonSession } from '../../../common/app-common-session';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { Util } from '../../../../utility/util';\r\ndeclare var google: any;\r\n@Component({\r\n selector: 'app-charity-locations',\r\n templateUrl: './charity-locations.component.html',\r\n styleUrls: ['./charity-locations.component.css']\r\n})\r\nexport class CharityLocationsComponent implements OnInit {\r\n @Input('group')\r\n public locationForm: FormGroup;\r\n @Input('locFormArray')\r\n public locationFormArray: FormArray;\r\n @Input('locationNumber')\r\n clinicNumber: Number = 0;\r\n locationData: any = {};\r\n immunizations: any[];\r\n states: any[];\r\n defaultDate: Date;\r\n maxDateValue: Date;\r\n minDateValue: Date;\r\n display: boolean = false;\r\n msgs: Message[] = [];\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n user_info: any;\r\n clinicdatavalue: any;\r\n cancel_save: string;\r\n savePopUp: boolean = false;\r\n defaultStartTime: Date;\r\n\r\n constructor(\r\n private confirmationService: ConfirmationService, \r\n private commonsession: AppCommonSession,private _utility: Util) {\r\n this.user_info = this.commonsession.login_info;\r\n }\r\n\r\n ngOnInit() {\r\n this.states = states.sort((a,b)=>a.id.localeCompare(b.id));\r\n var userProfile = SessionDetails.GetUserProfile();\r\n let today = new Date();\r\n if ( this._utility.isStoreIsfromRestrictedState()) {\r\n if (userProfile.userRole.toLowerCase() == \"store manager\" || userProfile.userRole.toLowerCase() == \"pharmacy manager\") { \r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);//+14\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);//+14\r\n }\r\n else {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n } \r\n\r\n this.maxDateValue = new Date(today.getFullYear() + 1, today.getMonth(), today.getDate() - 1, 12, 55, 55);\r\n }\r\n else {\r\n if (userProfile.userRole.toLowerCase() == \"store manager\" || userProfile.userRole.toLowerCase() == \"pharmacy manager\"\r\n ) {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);//+14\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);//+14\r\n \r\n } else { \r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n }\r\n this.maxDateValue = new Date(today.getFullYear() + 5, today.getMonth(), today.getDate() - 1, 8, 0, 0);\r\n }\r\n this.defaultStartTime = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n }\r\n\r\n isStoreIsfromRestrictedState() {\r\n var resrict_states = [\"MO\"]; // \"DC\" -- Removing DC state as per task# 1363\r\n var current_date = new Date();\r\n if (resrict_states.indexOf(SessionDetails.GetState()) > -1) {\r\n if (current_date > new Date(environment.MO_State_From) && current_date < new Date(environment.MO_State_TO)) {\r\n return true;\r\n }\r\n if (current_date > new Date(environment.DC_State_From) && current_date < new Date(environment.DC_State_TO)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n isFieldValid(field: string) {\r\n\r\n return !this.locationForm.get(field).valid && this.locationForm.get(field).touched;\r\n\r\n }\r\n onCharityHHSVoucherChange() {\r\n\r\n }\r\n\r\n onClinicDateSelected(selectedDate: Date,i) {\r\n \r\n this.locationForm.controls[\"clinicDate\"].setValue(new Date(selectedDate.getFullYear(), selectedDate.getMonth(), selectedDate.getDate(),18, 0, 0));\r\n let address1: string= this.locationFormArray.controls[i].get('address1').value;\r\n let address2: string = this.locationFormArray.controls[i].get('address2').value;\r\n let city: string = this.locationFormArray.controls[i].get('city').value;\r\n let state: string = this.locationFormArray.controls[i].get('state').value;\r\n let zipCode: string = this.locationFormArray.controls[i].get('zipCode').value;\r\n let latitude: string = this.locationFormArray.controls[i].get('latitude').value;\r\n let longitude: string = this.locationFormArray.controls[i].get('longitude').value;\r\n let address = address1 + \", \"+ address2 + \", \" + city + \", \" + state + \" \" + zipCode; \r\n if(address1.length>0 && city.length > 0 && state.length>0 && zipCode.length > 0 &&(!latitude ||\r\n !longitude )){ \r\n this.getLatitudeLongitude(this.locationFormArray,address,i);\r\n }\r\n }\r\n onSelectedTime(selectedTime,i) {\r\n \r\n let address1: string= this.locationFormArray.controls[i].get('address1').value;\r\n let address2: string = this.locationFormArray.controls[i].get('address2').value;\r\n let city: string = this.locationFormArray.controls[i].get('city').value;\r\n let state: string = this.locationFormArray.controls[i].get('state').value;\r\n let zipCode: string = this.locationFormArray.controls[i].get('zipCode').value;\r\n let address = address1 + \", \"+ address2 + \", \" + city + \", \" + state + \" \" + zipCode; \r\n let latitude: string = this.locationFormArray.controls[i].get('latitude').value;\r\n let longitude: string = this.locationFormArray.controls[i].get('longitude').value;\r\n\r\n if(address1.length>0 && city.length > 0 && state.length>0 && zipCode.length > 0 &&(!latitude ||\r\n !longitude )){\r\n this.getLatitudeLongitude(this.locationFormArray,address,i);\r\n }\r\n }\r\n getGoogleLatLngCoordinates(i: any)\r\n {\r\n let address1: string= this.locationFormArray.controls[i].get('address1').value;\r\n let address2: string = this.locationFormArray.controls[i].get('address2').value;\r\n let city: string = this.locationFormArray.controls[i].get('city').value;\r\n let state: string = this.locationFormArray.controls[i].get('state').value;\r\n let zipCode: string = this.locationFormArray.controls[i].get('zipCode').value;\r\n let address = address1 + \", \"+ address2 + \", \" + city + \", \" + state + \" \" + zipCode; \r\n let latitude: string = this.locationFormArray.controls[i].get('latitude').value;\r\n let longitude: string = this.locationFormArray.controls[i].get('longitude').value;\r\n \r\n if(address1.length>0 && city.length > 0 && state.length>0 && zipCode.length > 0 &&(!latitude ||\r\n !longitude )){ \r\n this.getLatitudeLongitude(this.locationFormArray,address,i)\r\n }\r\n }\r\n\r\n //geocoder to get the latitude and longitude \r\n getLatitudeLongitude(locationFormArray, fulladdress,index) { \r\n \r\n //let controlclinicList = this.clinicDetailsForm.controls['clinicList'];\r\n var geocoder = new google.maps.Geocoder();\r\n geocoder.geocode({ 'address': fulladdress }, function (results, status)\r\n {\r\n if (status == google.maps.GeocoderStatus.OK) \r\n {\r\n locationFormArray.controls[index].get('latitude').setValue(results[0].geometry.location.lat());\r\n locationFormArray.controls[index].get('longitude').setValue(results[0].geometry.location.lng()); \r\n }\r\n }); \r\n }\r\n copyPreviousLocation(formIndex: number, checked: boolean) {\r\n if (!checked) {\r\n this.locationFormArray.controls[formIndex].get('address1').setValue('');\r\n this.locationFormArray.controls[formIndex].get('address2').setValue('');\r\n this.locationFormArray.controls[formIndex].get('city').setValue('');\r\n this.locationFormArray.controls[formIndex].get('state').setValue('');\r\n this.locationFormArray.controls[formIndex].get('zipCode').setValue('');\r\n }\r\n else {\r\n this.locationFormArray.controls[formIndex].get('address1').setValue(this.locationFormArray.controls[formIndex-1].get('address1').value);\r\n this.locationFormArray.controls[formIndex].get('address2').setValue(this.locationFormArray.controls[formIndex-1].get('address2').value);\r\n this.locationFormArray.controls[formIndex].get('city').setValue(this.locationFormArray.controls[formIndex-1].get('city').value);\r\n this.locationFormArray.controls[formIndex].get('state').setValue(this.locationFormArray.controls[formIndex-1].get('state').value);\r\n this.locationFormArray.controls[formIndex].get('zipCode').setValue(this.locationFormArray.controls[formIndex-1].get('zipCode').value);\r\n }\r\n }\r\n\r\n copyPreviousContactInfo(formIndex: number, checked: boolean) {\r\n if (!checked) {\r\n this.locationFormArray.controls[formIndex].get('contactFirstName').setValue('');\r\n this.locationFormArray.controls[formIndex].get('contactLastName').setValue('');\r\n this.locationFormArray.controls[formIndex].get('contactEmail').setValue('');\r\n this.locationFormArray.controls[formIndex].get('contactPhone').setValue('');\r\n }\r\n else {\r\n this.locationFormArray.controls[formIndex].get('contactFirstName').setValue(this.locationFormArray.controls[formIndex-1].get('contactFirstName').value);\r\n this.locationFormArray.controls[formIndex].get('contactLastName').setValue(this.locationFormArray.controls[formIndex-1].get('contactLastName').value);\r\n this.locationFormArray.controls[formIndex].get('contactEmail').setValue(this.locationFormArray.controls[formIndex-1].get('contactEmail').value);\r\n this.locationFormArray.controls[formIndex].get('contactPhone').setValue(this.locationFormArray.controls[formIndex-1].get('contactPhone').value);\r\n }\r\n }\r\n\r\n \r\n displayFieldCss(field: string) {\r\n this.locationForm.updateValueAndValidity();\r\n if (this.locationForm.controls['isNoClinic'].value == true) {\r\n if (field === 'localvouchersDist' || field === 'contactFirstName' || field === 'contactLastName' ||\r\n field === 'contactPhone' || field === 'localEstmdShots' || field === 'contactEmail') {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n else\r\n return;\r\n }\r\n\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n\r\n\r\n displayNgMsg(msgSeverity: string, msgSummary: string, msgDetail: string) {\r\n this.msgs = [];\r\n //this.msgs.push({severity:msgSeverity,summary:msgSummary,detail:msgDetail});\r\n //this.messageService.add({severity:msgSeverity,summary:msgSummary,detail:msgDetail}); \r\n }\r\n\r\n confirm() { \r\n this.confirmationService.confirm({\r\n message: ErrorMessages['clinicDateReminderBefore2WeeksEN'],\r\n header: ErrorMessages['ErrorMessages'],\r\n accept: () => { },\r\n reject: () => {\r\n return;\r\n }\r\n });\r\n }\r\n\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n AllowAdminsToEditDataForRestrictedState(){\r\n return this._utility.AllowAdminsToEditDataForRestrictedState();\r\n }\r\n\r\n onlyNumberKey(event) {\r\n Util.onlyNumbers(event);\r\n }\r\n \r\n}\r\n","import { Component, HostListener, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup, NgForm, FormBuilder, FormArray } from '@angular/forms';\r\nimport { STEPS, COSTEPS } from '../../workflow/workflow.model';\r\nimport { WorkflowGuard } from '../../workflow/workflow-guard.service';\r\nimport { ImmunizationsComponent } from '../immunizations/immunizations.component';\r\nimport { LocationsListComponent } from '../contract-locations-list/locations-list.component';\r\nimport { OutreachProgramService } from '../../services/outreach-program.service';\r\nimport { OutReachProgramType } from '../../../../models/OutReachPrograms';\r\nimport { KeyFilterModule, KeyFilter, KEYFILTER_VALIDATOR } from 'primeng/keyfilter';\r\nimport { Router } from '@angular/router';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { Location, DatePipe } from '@angular/common';\r\nimport { AlertService } from '../../../../alert.service';\r\nimport { TimeToDatePipe } from '../../pipes/time-to-date.pipe';\r\nimport { String, StringBuilder } from 'typescript-string-operations';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport * as moment from 'moment';\r\nimport { environment } from '../../../../../environments/environment';\r\n@Component({\r\n selector: 'app-communityoutreach',\r\n templateUrl: './communityoutreach.component.html',\r\n styleUrls: ['./communityoutreach.component.css']\r\n , providers: [WorkflowGuard,DatePipe,TimeToDatePipe]\r\n})\r\nexport class CommunityoutreachComponent implements OnInit {\r\n @ViewChild(ImmunizationsComponent) imzcmp: ImmunizationsComponent;\r\n @ViewChild(LocationsListComponent) loccmp: LocationsListComponent;\r\n addedImmunizations: any[] = [];\r\n InvoiceInformation:any[]=[];\r\n showHints:boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\"))=='yes')?false:true;\r\n pageName:string = \"communityoutreach\";\r\n\r\n public contractForm: FormGroup;\r\n step: number = 1;\r\n step_desc: string;\r\n contractData: any;\r\n form: NgForm\r\n errorse: any;\r\n errorstatus: any;\r\n OutReachProgramType: string;\r\n nextBtnTitle: string = 'Next';\r\n validateInvoceInfo: boolean = false;\r\n display: boolean = false;\r\n interimDisplay: boolean = false;\r\n cnfdisplay: boolean = false;\r\n cnfcontinue: boolean = false;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n //displayInventoryWarning: boolean = false;\r\n //displayInventoryWarningOkClicked:boolean = false;\r\n clinicdatavalue: any;\r\n cancel_save: string;\r\n savePopUp: boolean = false;\r\n invoiceInfoPopUp: boolean = false;\r\n clinicType:number = 6;\r\n isLocationsFormValid = true;\r\n startTimeEndTimesStep_desc:string ;\r\n showStartTimeEndTimeValid :boolean = false;\r\n isTimeValid:Number = 0;\r\n immunizerWarningAlert:boolean = false;\r\n immunizerWarningOkClicked:boolean = false;\r\n OverrideOrOkTitle:string = \"Override\";\r\n showCancelBtn:boolean =false;\r\n covidVaccineWarningOkClicked = false;\r\n covidVaccineSelected = false;\r\n isAdmin = false;\r\n\r\n constructor(\r\n private _fb: FormBuilder, \r\n private _location:Location, \r\n private _localContractService: OutreachProgramService, \r\n private _workflowGuard: WorkflowGuard,\r\n private router: Router, \r\n private confirmationService: ConfirmationService,\r\n private _alertService: AlertService, \r\n private _datePipe: DatePipe, \r\n private _timeToDatePipe: TimeToDatePipe\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.OutReachProgramType = OutReachProgramType.communityoutreach;\r\n this._localContractService.clearSelectedImmunizations();\r\n this._localContractService.clearCOClinicLocations();\r\n this.immunizerWarningOkClicked = false;\r\n this.covidVaccineWarningOkClicked = false;\r\n this.isAdmin = false;\r\n //this.displayInventoryWarning = false;\r\n //this.displayInventoryWarningOkClicked = false;\r\n }\r\n \r\n @HostListener('window:beforeunload', ['$event'])\r\n handlePageLeaveNavigation($event: BeforeUnloadEvent): void {\r\n $event.returnValue = true;\r\n }\r\n\r\n GoToStep(step: number) { \r\n \r\n this.loccmp;\r\n if( this.loccmp){\r\n if(this.loccmp.locations_data1.value.contactPhone.indexOf(\"X\") > -1){\r\n this.loccmp.locations_data1.controls.contactPhone.setValue(null);\r\n this.loccmp.locations_data1.controls.contactPhone.updateValueAndValidity();\r\n return false;\r\n }\r\n }\r\n let step_desc = this.getStepDesc(step);\r\n this.step_desc = this.getStepDesc(this.step); \r\n if (step < this.step) {\r\n this.step = step;\r\n step >= 2 ? this.nextBtnTitle = \"Submit\" : this.nextBtnTitle = \"Next\";\r\n // this.displayInventoryWarningOkClicked = false;\r\n this.cacheInEnteredData(this.step_desc);\r\n return;\r\n }\r\n // if (step >= 2&&this.displayInventoryWarningOkClicked) {\r\n \r\n // this.step = 2;\r\n // }\r\n \r\n if (this.OnSave(step) ) {\r\n\r\n if (this.step_desc != step_desc) {\r\n this.validateInvoceInfo=false;\r\n this.step_desc = this._workflowGuard.verifyWorkFlow(step_desc);\r\n step >= 2 ? this.nextBtnTitle = \"Submit\" : this.nextBtnTitle = \"Next\";\r\n let locSteps = COSTEPS;\r\n this.step = Object.keys(locSteps).findIndex(inx => inx == this.step_desc) + 1;\r\n this.immunizerWarningOkClicked = false;\r\n this.covidVaccineWarningOkClicked = false;\r\n this.isAdmin = false;\r\n }\r\n }\r\n }\r\n\r\n getStepDesc(step: number) {\r\n if (step === 1)\r\n return STEPS.immunization;\r\n if (step >= 2)\r\n return STEPS.location;\r\n }\r\n cacheInEnteredData(step_desc: any, currentStep?: number, prevStep?: number) {\r\n let return_value: boolean = false;\r\n if (this.step_desc === STEPS.immunization) {\r\n return_value = this.imzcmp.simpleSave();\r\n }\r\n else if (this.step_desc === STEPS.location) {\r\n if (this.loccmp != undefined) {\r\n this.loccmp.simpleSave();\r\n if(!this.loccmp.isFormValid()){\r\n this.isLocationsFormValid = false;\r\n } else {\r\n this.isLocationsFormValid = true;\r\n }\r\n }\r\n }\r\n }\r\n ContinueInvoiceInfo()\r\n { \r\n this.invoiceInfoPopUp=false; \r\n this.validateInvoceInfo=true;\r\n this.GoToStep(2);\r\n }\r\n OnSave(curentStep: Number) {\r\n let userProfile = SessionDetails.GetUserProfile();\r\n this.isAdmin = userProfile.userRole.toLowerCase() == \"admin\";\r\n let return_value = false;\r\n if (this.step_desc === STEPS.immunization) {\r\n return_value = this.imzcmp.save(this.OutReachProgramType);\r\n this.addedImmunizations = this._localContractService.getImmunizationsData(); \r\n this.InvoiceInformation = this._localContractService.getInvoiceAndVoucherData();\r\n if(this.InvoiceInformation.length>0 ){\r\n let corp=this.addedImmunizations.filter(c=>c.paymentTypeId==\"6\");\r\n if(corp.length===0 && !this.validateInvoceInfo && this.imzcmp.isFormValid()){\r\n this.step = 1;\r\n this.invoiceInfoPopUp=true;\r\n this.validateInvoceInfo=true;\r\n return false;\r\n }\r\n }\r\n \r\n if (!return_value) {\r\n this.step = 1;\r\n } \r\n // if(this.imzcmp.isFormValid()&&!this.displayInventoryWarningOkClicked&&this._localContractService.checkIfFluImmIsSelected(this.clinicType)){\r\n // this.showdisplayInventoryWarningDialog(\"INVENTORY ALERT\",\"Please ensure you have sufficient vaccine prior to committing to this opportunity.\");\r\n // return false;\r\n // }\r\n }\r\n\r\n // if (this.step_desc === STEPS.location && !this.loccmp.isFormValid() && !this.covidVaccineWarningOkClicked) {\r\n // return false;\r\n // }\r\n let locString: String[] = [];\r\n if (this.step_desc === STEPS.location) {\r\n if(!this.covidVaccineWarningOkClicked){\r\n const locations = this.loccmp.contractForm.get('locations') as FormArray;\r\n for (const location of locations.controls) {\r\n const clinicImzQtyList = location.get('clinicImzQtyList') as FormArray;\r\n let clinicDate = location.get('clinicDate').value;\r\n clinicDate = moment(clinicDate);\r\n let startDate = moment(environment.covidVaccineNotAviableDates.startDate, \"DD/MM/YYYY\");\r\n let endDate = moment(environment.covidVaccineNotAviableDates.endDate, \"DD/MM/YYYY\");\r\n for (const clinicImzQty of clinicImzQtyList.controls) {\r\n if(clinicImzQty.get('immunizationName').value.toLocaleLowerCase()?.includes('covid') && (Number(clinicImzQty.get('estimatedQuantity').value) > 0) && (clinicDate.isBetween(startDate, endDate) || clinicDate.isSame(startDate) || clinicDate.isSame(endDate))){\r\n this.covidVaccineSelected = true;\r\n this.dialogMsg = ErrorMessages[\"sesionalCovid19Info\"];\r\n this.dialogSummary = \"Alert\";\r\n clinicImzQty.get('estimatedQuantity').setErrors({'incorrect': true});\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n } else {\r\n clinicImzQty.get('estimatedQuantity').setErrors(null);\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n }\r\n } \r\n }\r\n if(this.covidVaccineSelected) {\r\n locations.updateValueAndValidity();\r\n return false;\r\n } else {\r\n locations.updateValueAndValidity();\r\n }\r\n }\r\n if(!this.immunizerWarningOkClicked){\r\n let estimatedImmunizers = 2;\r\n let errorList:string [] = [];\r\n \r\n this.getEstimatedImmunizers(errorList);\r\n if(errorList.length>0){\r\n this.showdImmunizerWarningDialog(\"Warning\", ErrorMessages['immunizerWarningMainPara']+errorList.join().replace(\",\",\"\"));\r\n return false;\r\n }\r\n }\r\n if (this.loccmp.isClinicDateReminderBefore2WksReq(locString)) {\r\n let sumMsg = ErrorMessages['impRmndrFor2Wks'];\r\n let errMsg = ErrorMessages['new_clinicDateReminderBefore2WeeksEN'];\r\n var lowerCaseName = userProfile.userRole.toLowerCase();\r\n // if (lowerCaseName == \"director\" ||\r\n // lowerCaseName == \"supervisor\" || lowerCaseName == \"regionalvp\" ||\r\n // lowerCaseName == \"regionaldirector\" ||lowerCaseName == \"admin\" ||\r\n // lowerCaseName == \"regional vice president\" ||\r\n // lowerCaseName == \"regional healthcare director\" ||\r\n // lowerCaseName == \"healthcare supervisor\" ||\r\n // lowerCaseName == \"district manager\") {\r\n this.step = 2;\r\n this.OverrideOrOkTitle = \"OK\";\r\n this.showCancelBtn =false;\r\n this.confirm(sumMsg, errMsg);\r\n return true;\r\n // }\r\n // else {\r\n // this.showInterimDialog(sumMsg, errMsg);\r\n // this.step = 2;\r\n // return false;\r\n // }\r\n }\r\n this.isTimeValid = this.loccmp.isStartTimeEndTimeValid();\r\n if(this.isTimeValid){ \r\n this.startTimeEndTimesStep_desc = this.step_desc;\r\n this.dialogSummary = \"Alert\";\r\n this.showStartTimeEndTimeValid = true;\r\n if(this.isTimeValid==1){\r\n this.dialogMsg = ErrorMessages['clinicLengthMoreThan8Hrs'];\r\n }\r\n else if(this.isTimeValid == 2){\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = ErrorMessages['clinicLengthAlert'];\r\n }\r\n else {\r\n this.dialogMsg = \"Please Contact support.\";\r\n }\r\n return false;\r\n } \r\n return_value = this.loccmp.save(this.OutReachProgramType);\r\n if (return_value) {\r\n this._alertService.clear();\r\n if(this.loccmp.isNonNoClinicPresent()){\r\n this._alertService.info(ErrorMessages['coClinicDateReminderAfter2WeeksEN'],true); \r\n }\r\n \r\n if (this._localContractService.saveCommunityOutreachData()) {\r\n if(this.loccmp.submitCoData(false)){\r\n }\r\n }\r\n }\r\n }\r\n return return_value;\r\n }\r\n getEstimatedImmunizers(errorList:string[]){\r\n let isCovidVaccineAvailable:boolean = this.addedImmunizations.filter(p=>p.immunizationName.search(/COVID19/gi)>=0).length>0; \r\n let shots_per_10_min = 4;\r\n // let slotTime = isCovidVaccineAvailable ? 15 : 10;\r\n // isCovidVaccineAvailable?shots_per_10_min=2:shots_per_10_min=4;\r\n\r\n let slotTime = 10;\r\n let shots_per_hour = (60 / slotTime) * shots_per_10_min; \r\n \r\n this.loccmp.contractForm.value.locations.forEach(loc => {\r\n try {\r\n if (loc.startTime != \"\")\r\n try{\r\n loc.startTime = this._datePipe.transform(loc.startTime, 'shortTime');\r\n }catch(e){\r\n console.log(e); \r\n }\r\n if (loc.endTime != \"\") {\r\n try{\r\n loc.endTime = this._datePipe.transform(loc.endTime, 'shortTime');\r\n }catch(e){\r\n console.log(e); \r\n }\r\n }\r\n } catch (e) {\r\n console.log(e); // here the exception is delibarately caught because when you click back, startTime & end\r\n // Time is not correct timeformat. Hence we are ignoring this by catching here.\r\n }\r\n });\r\n for (let count = 0; count < this.loccmp.contractForm.value.locations.length; count++) { \r\n let locClinicDate:Date = new Date(this.loccmp.contractForm.value.locations[count].clinicDate);\r\n let locStartTime = this.loccmp.contractForm.value.locations[count].startTime;\r\n let locEndTime = this.loccmp.contractForm.value.locations[count].endTime;\r\n if (this.loccmp.contractForm.value.locations[count].isNoClinic >= 1 || \r\n this.loccmp.contractForm.value.locations[count].isNoClinic === '1' || \r\n this.loccmp.contractForm.value.locations[count].isReassign >= 1 || \r\n this.loccmp.contractForm.value.locations[count].isReassign === '1') {\r\n continue;\r\n }\r\n let endDate: Date;\r\n if (locEndTime.toString().toLowerCase().search('am') !== -1 || locEndTime.toString().toLowerCase().search('pm') !== -1) {\r\n endDate = this._timeToDatePipe.transform(locClinicDate, locEndTime);\r\n }\r\n else {\r\n endDate = locEndTime;\r\n }\r\n let startDatetmToDt: Date;\r\n if (locStartTime.toString().toLowerCase().search('am') !== -1 || locStartTime.toString().toLowerCase().search('pm') !== -1) {\r\n startDatetmToDt = this._timeToDatePipe.transform(locClinicDate, locStartTime);\r\n }\r\n else {\r\n startDatetmToDt = locStartTime;\r\n }\r\n let locStart: Date = new Date(startDatetmToDt);\r\n let locEnd: Date = new Date(endDate);\r\n let clinicLength = (locEnd.valueOf()-locStart.valueOf())/(3600*1000);\r\n if(clinicLength> 0 ){ \r\n let clinicLoc= this.loccmp.contractForm.value.locations[count]; \r\n let totalImmunizations = clinicLoc.clinicImzQtyList.map(item=>item.estimatedQuantity).reduce((acc,current)=>Number(acc)+Number(current));\r\n // = clinicLoc.clinicImzQtyList.reduce((accum,current)=>accum+current.estimatedQuantity,0);\r\n let estimatedImmunizers = Math.ceil(totalImmunizations/(shots_per_hour*clinicLength))\r\n if(estimatedImmunizers>1){\r\n errorList.push(String.Format(ErrorMessages['immunizerWarning'],clinicLoc.location,estimatedImmunizers))\r\n }\r\n totalImmunizations = 0;\r\n estimatedImmunizers = 0;\r\n }\r\n \r\n }\r\n }\r\n showdImmunizerWarningDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.immunizerWarningAlert = true;\r\n }\r\n showdImmunizerWarningDialogOk(){\r\n this.immunizerWarningAlert = false;\r\n this.immunizerWarningOkClicked = true;;\r\n this.GoToStep(2);\r\n }\r\n controlBtnsDisplay(event){\r\n this.showCancelBtn = true;\r\n this.OverrideOrOkTitle = \"Override\";\r\n }\r\n editdImmunizerWarning(){\r\n this.immunizerWarningAlert = false;\r\n }\r\n EditTimes(){\r\n this.showStartTimeEndTimeValid=false;\r\n }\r\n ContinueToNextStep(){\r\n this.showStartTimeEndTimeValid=false;\r\n if(this.loccmp.save(OutReachProgramType.communityoutreach)){\r\n let is_override = false;\r\n if (this.loccmp.submitCoData(is_override)) {\r\n \r\n }\r\n }\r\n else {\r\n this.step = 2;\r\n }\r\n return true;\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n showDialogCancel(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n }\r\n\r\n showInterimDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.interimDisplay = true;\r\n }\r\n\r\n cnfshowDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.cnfdisplay = true;\r\n }\r\n\r\n confirm(hdr: string, msg: string,is_overlap?:boolean) {\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n this.isTimeValid = this.loccmp.isStartTimeEndTimeValid();\r\n if(this.isTimeValid){ \r\n this.showStartTimeEndTimeValid = true;\r\n this.startTimeEndTimesStep_desc = this.step_desc;\r\n this.dialogSummary = \"Alert\";\r\n if(this.isTimeValid==1) {\r\n this.dialogMsg = ErrorMessages['clinicLengthMoreThan8Hrs'];\r\n\r\n this.dialogSummary = \"Error\";\r\n }\r\n else if(this.isTimeValid == 2){\r\n this.dialogMsg = ErrorMessages['clinicLengthAlert'];\r\n }\r\n else {\r\n this.dialogMsg = \"Please Contact support.\";\r\n }\r\n return false;\r\n } \r\n if(this.loccmp.save(OutReachProgramType.communityoutreach)){\r\n let is_override = (is_overlap)?true:false;\r\n if (this.loccmp.submitCoData(is_override)) {\r\n this._alertService.clear();\r\n if(this.loccmp.isNonNoClinicPresent()){\r\n this._alertService.info(ErrorMessages['coClinicDateReminderAfter2WeeksEN'],true); \r\n }\r\n }\r\n }\r\n else {\r\n this.step = 2;\r\n }\r\n return true;\r\n },\r\n reject: () => {\r\n this.step = 2;\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n okClicked() {\r\n this.display = false;\r\n if (this.router) this.router.navigate(['./communityoutreach/storehome']);//TODO\r\n }\r\n\r\n doNotSave() {\r\n this.savePopUp = false;\r\n if (this.router) this.router.navigate(['./communityoutreach/storehome']);\r\n }\r\n\r\n Continue() {\r\n this.savePopUp = false;\r\n }\r\n\r\n okInterimClicked() {\r\n this.interimDisplay = false;\r\n }\r\n\r\n cancelCommOutReach() {\r\n this.validateInvoceInfo=false; \r\n let return_value = false;\r\n if (this.step == 1) {\r\n return_value = this.imzcmp.cancelImmunization();\r\n if (return_value) {\r\n this.savePopUp = true;\r\n this.showDialogCancel(ErrorMessages['unSavedData'], ErrorMessages['co_alert']);\r\n }\r\n else {\r\n if (this.router) this.router.navigate(['./communityoutreach/storehome']);\r\n }\r\n }\r\n if (this.step == 2) {\r\n return_value = this.loccmp.cancelLocationData(); \r\n if (return_value) {\r\n this.savePopUp = true;\r\n this.showDialogCancel(ErrorMessages['unSavedData'], ErrorMessages['co_alert']);\r\n }\r\n else {\r\n if (this.router) this.router.navigate(['./communityoutreach/storehome']);\r\n }\r\n }\r\n }\r\n\r\n coSubmitBtnClicked() {\r\n if (this._localContractService.saveInterimCommunityOutreachData(this.step)) {\r\n let sumMsg = ErrorMessages['coSummary'];\r\n let sMsg = ErrorMessages['coSucccess'];\r\n this.showDialog(sumMsg, sMsg);\r\n }\r\n }\r\n\r\n coSaveBtnClicked() {\r\n if (this.step == 1) {\r\n if (this._localContractService.getImmunizationsData() !== '') {\r\n if (this._localContractService.getImmunizationsData().length > 0) {\r\n this.imzcmp.save(this.OutReachProgramType);\r\n }\r\n else {\r\n //log co contact\r\n return;\r\n }\r\n }\r\n else {\r\n //log co contact.\r\n return;\r\n }\r\n }\r\n else if (this.step == 2) {\r\n this.loccmp.save(this.OutReachProgramType);\r\n }\r\n if (this._localContractService.saveInterimCommunityOutreachData(this.step)) {\r\n let sumMsg = ErrorMessages['coSummary'];\r\n let sMsg = ErrorMessages['coSucccess'];\r\n this.showInterimDialog(sumMsg, sMsg);\r\n //this.step = 1;\r\n }\r\n }\r\n\r\n handleCovidVaccineAlertOk(){\r\n this.covidVaccineSelected = false;\r\n }\r\n\r\n handleCovidVaccineAdminConfirmation(){\r\n const locations = this.loccmp.contractForm.get('locations') as FormArray;\r\n this.covidVaccineSelected = false;\r\n this.covidVaccineWarningOkClicked = true;\r\n for (const location of locations.controls) {\r\n const clinicImzQtyList = location.get('clinicImzQtyList') as FormArray;\r\n for (const clinicImzQty of clinicImzQtyList.controls) {\r\n if(clinicImzQty.get('immunizationName').value.toLocaleLowerCase()?.includes('covid')){\r\n clinicImzQty.get('estimatedQuantity').setErrors(null);\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n locations.updateValueAndValidity();\r\n this.GoToStep(2);\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { stateCodenName } from '../contact-us/stateCodenName';\r\nimport { FormArray, FormBuilder, FormGroup } from '@angular/forms';\r\n\r\n\r\n@Component({\r\n selector: 'app-contact',\r\n templateUrl: './contact-us-location.component.html',\r\n styleUrls: ['./contact-us-location.component.css']\r\n})\r\nexport class ContactUsLocationComponent {\r\n statecodenname: any;\r\n @Input('group')\r\n public locationForm: FormGroup;\r\n @Input('locFormArray')\r\n public locationFormArray: FormArray;\r\n fNlNameRegEx: RegExp = /^(?!\\d+$)(?:[a-zA-Z \\.\\,\\'\\-]*)?$/;\r\n cityRegEx: RegExp = /^(?!\\d+$)(?:[a-zA-Z \\-]*)?$/;\r\n address1N2: RegExp = /^[ A-Za-z0-9#'.,-/]*$/;\r\n\r\n constructor(\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.statecodenname = stateCodenName;\r\n }\r\n\r\n isFieldValid(field: string) {\r\n return !this.locationForm.get(field).valid && this.locationForm.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n\r\n onlyAlphabets(e, ctrl) {\r\n if (ctrl == \"fNlName\") {\r\n return this.fNlNameRegEx.test(e.key);\r\n } else if (ctrl == \"city\") {\r\n return this.cityRegEx.test(e.key);\r\n }\r\n else if (ctrl == \"add1N2\") {\r\n return this.address1N2.test(e.key);\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormArray, FormControl } from '@angular/forms';\r\nimport * as _ from \"lodash\";\r\nimport { Util } from '../../../../utility/util';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { LeadOpportunitiesService } from '../../services/lead-opportunities.service';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { recaptchaRequest } from '../../../../models/localLeadsSave';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { SelectType } from '../../../../models/OutreachOpportunity';\r\nimport { LookupService } from '../../../../lookup.service';\r\nimport { ContactUs } from '../../../../models/contactUsLocation';\r\n\r\n@Component({\r\n selector: 'app-contact-us',\r\n templateUrl: './contact-us.component.html',\r\n styleUrls: ['./contact-us.component.css']\r\n})\r\nexport class ContactUsComponent implements OnInit {\r\n routerSubscription: Subscription;\r\n leadGenerationForm: FormGroup;\r\n dialogMsg: string = '';\r\n dialogSummary: string = '';\r\n locListModalDlg: boolean = false;\r\n successDlg: boolean = false;\r\n vacn: any = [];\r\n paymentType: any = [];\r\n\r\n selectedvcInfo: [string];\r\n showOtherVaccinationInputField:boolean = false;\r\n vaccinationsCheckBoxes: any[] = [\r\n { \"vaccineVal\": 1, \"vaccineName\": \"Flu Trivalent\" },\r\n { \"vaccineVal\": 2, \"vaccineName\": \"Flu HD (65+)\" },\r\n { \"vaccineVal\": 7, \"vaccineName\": \"COVID19\" },\r\n { \"vaccineVal\": 3, \"vaccineName\": \"Pneumonia\" },\r\n { \"vaccineVal\": 4, \"vaccineName\": \"Tdap (Whooping Cough)\" },\r\n { \"vaccineVal\": 5, \"vaccineName\": \"Shingles\" },\r\n { \"vaccineVal\": 8, \"vaccineName\": \"RSV\" },\r\n { \"vaccineVal\": 6, \"vaccineName\": \"Other\" }\r\n ]\r\n\r\n paymentTypeCheckBoxes: any[] = [\r\n { \"paymentTypeValue\": 2, \"paymentTypeName\": \"Insurance\", \"paymentMessage\": \"Walgreens can bill patient’s insurance directly and the patient would be responsible for the copay. Walgreens can bill many pharmacy and medical plans.\" },\r\n { \"paymentTypeValue\": 1, \"paymentTypeName\": \"Cash\", \"paymentMessage\": \"Payment for the vaccine can be collected from the patient receiving the immunization at the time of vaccination by cash or via check from the employer/location.\" },\r\n { \"paymentTypeValue\": 3, \"paymentTypeName\": \"Direct Bill\", \"paymentMessage\": \"Employer/Location will pay for employee immunizations. They will receive an invoice directly from Walgreens for the number of immunizations provided. No payment will be collected at the time of the immunization.\" },\r\n ]\r\n redirect: boolean = false;\r\n minDateValue: Date;\r\n fNlNameRegEx: RegExp = /^(?!\\d+$)(?:[a-zA-Z \\.\\,\\'\\-]*)?$/;\r\n cityRegEx: RegExp = /^(?!\\d+$)(?:[a-zA-Z \\-]*)?$/;\r\n address1N2: RegExp = /^[ A-Za-z0-9#'.,-/]*$/;\r\n maxDateValue: Date;\r\n isRecaptchaVerified: boolean = true;\r\n selectedIndustryText: any;\r\n industries: SelectType[] = [];\r\n otherIndustryIndex: number;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private utility: Util, \r\n private leadService: LeadOpportunitiesService, \r\n private spinner: NgxSpinnerService, \r\n public router: Router,\r\n private _lookupService: LookupService\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.leadGenerationForm = this.formBuilder.group({\r\n lgCntrlynapmoc784: ['',Validators.required],\r\n lgCntrlIndustry: ['', Validators.required],\r\n lgCntrlAlternateFN: ['', [Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\.\\,\\'\\-$]*)?$/)]],\r\n lgCntrlAlternateLN: ['', [ Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\.\\,\\'\\-$]*)?$/)]], \r\n lgCntrlAlternateJobTitle: [''],\r\n lgCntrlAltPhoneNumber: [''],\r\n lgCntrlAltPhoneNumberExt: [''],\r\n lgCntrlAlternateEmail: ['', [Validators.email, Validators.pattern(/^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$/)]], \r\n \r\n lgCntrlofnIsnoitaniccav193: this.createvaccinationsInfo(this.vaccinationsCheckBoxes),\r\n lgCntrletaDcinilc137: [''],\r\n lgCntrletaDcinilc11437:[''],\r\n lgCntrlstnapicitraPfOrebmuNdetamitse432: ['', [Validators.required, Validators.maxLength(5)]],\r\n lgCntrlstnapicitraPfOrebmuNdetamitse435: ['', [Validators.required, Validators.maxLength(5)]],\r\n lgCntrlsetatSluMcoLpme035: ['', Validators.required],\r\n hadClinicInPast: ['', Validators.required],\r\n lgCntrlepyTtnemyap294: this.createPaymentType(this.paymentTypeCheckBoxes),\r\n lgCntrlmgrPhcruoVsi530: ['', Validators.required],\r\n recaptchaReactive: ['default', Validators.required],\r\n vaccinationArray: [null],\r\n paymentTypeArray: [null],\r\n standardFormVaccines:[null],\r\n isCovid:[false],\r\n covidOpportunityType:[0],\r\n lgCntrlynapmo2284:['',[Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\.\\,\\'\\-$]*)?$/)]],\r\n lgCntrlynapmo2184:['',[Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\.\\,\\'\\-$]*)?$/)]],\r\n lgCntrlynapmo1184:['',[Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\.\\,\\'\\-$]*)?$/)]],\r\n lgCntrlynapmoc3284:[''],\r\n lgCntrlOtherIndustry: [''],\r\n locations: this.formBuilder.array([]),\r\n });\r\n setTimeout(() => {\r\n this.resetONBackBtn();\r\n }, 100);\r\n {\r\n this.minDateValue = new Date();\r\n this.maxDateValue = new Date(this.minDateValue.getFullYear() + 1, this.minDateValue.getMonth(), this.minDateValue.getDate() - 1);\r\n }\r\n this.addLocation(undefined);\r\n this._lookupService.getLookUpValues('Industry', 'StandardOpportunity')\r\n .subscribe((response: SelectType[]) => {\r\n this.industries = response;\r\n this.otherIndustryIndex = this.industries?.find(industry => industry?.value?.toLocaleLowerCase() === 'other')?.id;\r\n });\r\n \r\n }\r\n\r\n createvaccinationsInfo(vaccinationsInfoInputs) {\r\n const arr = vaccinationsInfoInputs.map(vcVals => {\r\n return new FormControl(null);\r\n });\r\n return new FormArray(arr);\r\n }\r\n\r\n createPaymentType(paymentInp) {\r\n const arr = paymentInp.map(vcVals => {\r\n return new FormControl(null);\r\n });\r\n return new FormArray(arr);\r\n }\r\n\r\n getSelectedPaymentTypeInfo(ev, val) {\r\n this.paymentField('');\r\n if (ev.target.checked) {\r\n this.paymentType.push(val);\r\n } else {\r\n let i = this.vacn.indexOf(val);\r\n this.paymentType.splice(i, 1);\r\n }\r\n }\r\n\r\n getSelectedvaccinationsInfo(ev, val) {\r\n\r\n this.seperateFiedls('');\r\n if (ev.target.checked) {\r\n this.vacn.push(val);\r\n if(val===6){\r\n this.leadGenerationForm.controls.lgCntrlynapmoc3284.setValidators(Validators.required);\r\n this.leadGenerationForm.controls.lgCntrlynapmoc3284.updateValueAndValidity();\r\n this.showOtherVaccinationInputField = true;\r\n document.getElementById('lgCntrlynapmoc3284').classList.remove('has-error');\r\n document.getElementById('lgCntrlynapmoc3284').classList.remove('has-feedback');\r\n \r\n }\r\n else if(val == 6 && !ev.target.checked)\r\n {\r\n this.leadGenerationForm.controls.lgCntrlynapmoc3284.setValidators(Validators.required);\r\n this.leadGenerationForm.controls.lgCntrlynapmoc3284.updateValueAndValidity();\r\n this.showOtherVaccinationInputField = true; \r\n }\r\n } else {\r\n let i = this.vacn.indexOf(val);\r\n this.vacn.splice(i, 1);\r\n if (val == 6)\r\n {\r\n this.showOtherVaccinationInputField = false;\r\n }\r\n this.leadGenerationForm.controls.lgCntrlynapmoc3284.clearValidators();\r\n this.leadGenerationForm.controls.lgCntrlynapmoc3284.updateValueAndValidity();\r\n document.getElementById('lgCntrlynapmoc3284').classList.remove('has-error');\r\n document.getElementById('lgCntrlynapmoc3284').classList.remove('has-feedback');\r\n }\r\n }\r\n\r\n getSelectedIndustry(ev) {\r\n this.selectedIndustryText = ev.target.options[ev.target.options.selectedIndex].text;\r\n const otherIndustryIndex = this.industries?.find(industry => industry?.value?.toLocaleLowerCase() === 'other')?.id;\r\n const industry = this.leadGenerationForm.controls['lgCntrlIndustry']?.value;\r\n \r\n if (industry == otherIndustryIndex) {\r\n this.leadGenerationForm.controls.lgCntrlOtherIndustry.setValidators(Validators.required);\r\n this.leadGenerationForm.controls.lgCntrlOtherIndustry.updateValueAndValidity();\r\n this.showOtherVaccinationInputField = true;\r\n document.getElementById('lgCntrlOtherIndustry').classList.remove('has-error');\r\n document.getElementById('lgCntrlOtherIndustry').classList.remove('has-feedback');\r\n }\r\n else {\r\n this.leadGenerationForm.controls.lgCntrlOtherIndustry.clearValidators();\r\n this.leadGenerationForm.controls.lgCntrlOtherIndustry.updateValueAndValidity();\r\n document.getElementById('lgCntrlOtherIndustry').classList.remove('has-error');\r\n document.getElementById('lgCntrlOtherIndustry').classList.remove('has-feedback');\r\n }\r\n\r\n }\r\n\r\n getSelectedvaccinationsInfoName() {\r\n this.selectedvcInfo = _.filter(\r\n this.selectedvcInfo,\r\n function (vcVals) {\r\n if (vcVals !== false) {\r\n return vcVals;\r\n }\r\n }\r\n );\r\n }\r\n\r\n resolved(captchaResponse: string) {\r\n this.isRecaptchaVerified = true;\r\n if (captchaResponse) {\r\n let verify = new recaptchaRequest();\r\n verify.response = captchaResponse;\r\n this.leadService.siteVerify(verify).subscribe((data:any) => {\r\n let rsp = data;\r\n if (rsp.success == true) {\r\n this.isRecaptchaVerified = true;\r\n this.leadGenerationForm.controls.recaptchaReactive.setValue(rsp.success);\r\n this.leadGenerationForm.controls.recaptchaReactive.updateValueAndValidity();\r\n }\r\n else {\r\n this.showDialogV3(\"Error\", \"Recaptcha Verification Failed. Please retry.\");\r\n }\r\n },\r\n err => {\r\n this.showDialogV3(\"Error\", \"Expectaion Failed\");\r\n })\r\n }\r\n }\r\n\r\n onSubmit(formValues) {\r\n this.trimFormValues(formValues);\r\n if (this.leadGenerationForm.valid && !(this.leadGenerationForm.controls['lgCntrlIndustry'].value == this.otherIndustryIndex && this.leadGenerationForm.controls['lgCntrlOtherIndustry'].value == '' ))\r\n { \r\n let vaccinationDescArray:any = [];\r\n this.vacn.forEach(element => {\r\n let vaccine = this.vaccinationsCheckBoxes.filter(p=>p.vaccineVal == element);\r\n if(vaccine)\r\n {\r\n if (vaccine[0].vaccineName == \"Other\")\r\n {\r\n vaccine[0].vaccineName = vaccine[0].vaccineName + \" (\" + this.leadGenerationForm.controls['lgCntrlynapmoc3284'].value + \")\";\r\n } \r\n vaccinationDescArray.push(vaccine[0].vaccineName);\r\n } \r\n });\r\n if(this.leadGenerationForm.controls.lgCntrlmgrPhcruoVsi530.value == 3) {\r\n this.leadGenerationForm.controls.lgCntrletaDcinilc137.setValue(null);\r\n this.leadGenerationForm.controls.lgCntrletaDcinilc11437.setValue(null);\r\n this.leadGenerationForm.controls.lgCntrlstnapicitraPfOrebmuNdetamitse432.setValue(0);\r\n this.leadGenerationForm.controls.lgCntrlstnapicitraPfOrebmuNdetamitse435.setValue(0);\r\n this.leadGenerationForm.updateValueAndValidity();\r\n }\r\n let standardFormVaccines = vaccinationDescArray.join(', ');\r\n this.leadGenerationForm.controls['vaccinationArray'].patchValue(this.vacn);\r\n this.leadGenerationForm.controls['paymentTypeArray'].patchValue(this.paymentType);\r\n this.leadGenerationForm.controls['standardFormVaccines'].patchValue(standardFormVaccines); \r\n this.redirect = false;\r\n //if(this.leadGenerationForm.controls['recaptchaReactive'].value=='' || !this.isRecaptchaVerified || this.leadGenerationForm.controls['recaptchaReactive'].value==null){\r\n // this.showDialogV3(\"Error\", \"Please verify that you are not a robot.\");\r\n // return false;\r\n // }\r\n if(this.leadGenerationForm.controls['lgCntrlstnapicitraPfOrebmuNdetamitse432'].value<50 && \r\n this.leadGenerationForm.controls['lgCntrlmgrPhcruoVsi530'].value != '3'){\r\n this.showDialogV3(\"Minimum Requirement\", 'There is a minimum of 50 participants required to request an on-site clinic. Please contact your local Walgreens for alternative options or select \"Voucher Program Only\" when filling out the form.');\r\n window.scroll(40,40);\r\n return false;\r\n }\r\n this.spinner.show(); \r\n \r\n this.leadGenerationForm.value.lgCntrlIndustry = this.selectedIndustryText; \r\n this.leadService.saveLeadOpportunitesEnquiries(this.leadGenerationForm.value).subscribe((data:any) => {\r\n if (data == 1) {\r\n this.redirect = true;\r\n this.spinner.hide();\r\n this.showDialogV3(\"Thank you!\", \"Your contact information has been submitted and a local representative will be in touch shortly.\");\r\n }\r\n else if (data == -1) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", \"Bad Geocode -- Invalid Request.\");\r\n }\r\n else if (data == -2) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", \"Bad Geocode -- Over Query Limit.\");\r\n }\r\n else if (data == -3) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", \"Bad Geocode -- Request Denied.\");\r\n }\r\n else if (data == -4) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", ErrorMessages['geo_zero_results']);\r\n }\r\n else if (data == -5) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", ErrorMessages['geo_unknown_error']);\r\n }\r\n else if (data == -6) {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", ErrorMessages['geo_timed_out']);\r\n }\r\n else {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", ErrorMessages[\"error\"]);\r\n }\r\n }, err => {\r\n this.spinner.hide();\r\n this.showDialogV3(\"Error\", \"Expectation failed.\");\r\n });\r\n \r\n }\r\n else {\r\n this.spinner.hide();\r\n this.validateFormNSendAlert();\r\n this.validateNResetCaptcha();\r\n }\r\n }\r\n\r\n isFieldValid(field: string) {\r\n return !this.leadGenerationForm.get(field).valid && this.leadGenerationForm.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n\r\n seperateFiedls(e) {\r\n if (e == '') {\r\n if (this.leadGenerationForm.value.lgCntrlofnIsnoitaniccav193) {\r\n if (this.leadGenerationForm.value.lgCntrlofnIsnoitaniccav193.includes(true)) {\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-error');\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-feedback');\r\n }\r\n else {\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.add('has-error');\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.add('has-feedback');\r\n }\r\n }\r\n } else {\r\n if (e.toElement.checked && e.toElement.checked == true && this.leadGenerationForm.value.lgCntrlofnIsnoitaniccav193) {\r\n if (this.leadGenerationForm.value.lgCntrlofnIsnoitaniccav193.includes(true) || e.toElement.checked == true) {\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-error');\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.remove('has-feedback');\r\n }\r\n else {\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.add('has-error');\r\n document.getElementById('lgCntrlofnIsnoitaniccav193').classList.add('has-feedback');\r\n }\r\n }\r\n }\r\n }\r\n\r\n paymentField(e) {\r\n if (e == '') {\r\n if (this.leadGenerationForm.value.lgCntrlepyTtnemyap294) {\r\n if (this.leadGenerationForm.value.lgCntrlepyTtnemyap294.includes(true)) {\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.remove('has-error');\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.remove('has-feedback');\r\n }\r\n else {\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.add('has-error');\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.add('has-feedback');\r\n }\r\n }\r\n } else {\r\n if (e.toElement.checked && e.toElement.checked == true && this.leadGenerationForm.value.lgCntrlepyTtnemyap294) {\r\n if (this.leadGenerationForm.value.lgCntrlepyTtnemyap294.includes(true) || e.toElement.checked == true) {\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.remove('has-error');\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.remove('has-feedback');\r\n }\r\n else {\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.add('has-error');\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.add('has-feedback');\r\n }\r\n }\r\n }\r\n }\r\n\r\n showDialogV2(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locListModalDlg = true;\r\n }\r\n showDialogV3(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.successDlg = true;\r\n }\r\n okClickedV2() {\r\n this.locListModalDlg = false;\r\n }\r\n goToWagsOnClose() {\r\n this.successDlg = false;\r\n if (this.redirect) {\r\n window.location.href = 'http://walgreens.com';\r\n }\r\n }\r\n public trimFormValues(formGroup: FormGroup) {\r\n Object.keys(formGroup.controls).forEach((key) => {\r\n if (key != \"lgCntrlofnIsnoitaniccav193\" && key != \"lgCntrlepyTtnemyap294\" \r\n && key != \"lgCntrletaDcinilc137\" && key != \"recaptchaReactive\" \r\n && key != \"vaccinationArray\" && key != \"paymentTypeArray\"\r\n && key!= \"locations\" && key != \"isCovid\" && key !=\"covidOpportunityType\"\r\n && key != \"lgCntrletaDcinilc11437\" && key != \"standardFormVaccines\") {\r\n formGroup.get(key)?.setValue(formGroup?.get(key).value?.toString()?.trim())\r\n }\r\n });\r\n }\r\n validateFormNSendAlert() {\r\n this.utility.validateAllFormFields(this.leadGenerationForm);\r\n this.seperateFiedls('');\r\n this.paymentField('');\r\n this.showDialogV2(ErrorMessages['serverError'], ErrorMessages['requiredFields']);\r\n return false;\r\n }\r\n onlyAlphabets(e, ctrl) {\r\n if (ctrl == \"fNlName\") {\r\n return this.fNlNameRegEx.test(e.key);\r\n } else if (ctrl == \"city\") {\r\n return this.cityRegEx.test(e.key);\r\n }\r\n else if (ctrl == \"add1N2\") {\r\n return this.address1N2.test(e.key);\r\n }\r\n }\r\n validateNResetCaptcha() {\r\n this.leadGenerationForm.controls.recaptchaReactive.setValue('default');\r\n this.leadGenerationForm.controls.recaptchaReactive.updateValueAndValidity();\r\n }\r\n resetONBackBtn() {\r\n this.leadGenerationForm.controls.lgCntrlrebmuNhp802.setValue('');\r\n this.leadGenerationForm.controls.lgCntrlrebmuNhp802.updateValueAndValidity();\r\n this.leadGenerationForm.controls.lgCntrletats936.setValue('');\r\n this.leadGenerationForm.controls.lgCntrletats936.updateValueAndValidity();\r\n }\r\n NavigateToImmContactUs()\r\n {\r\n this.router.navigateByUrl(\"/Immunization-Contact-Us\");\r\n }\r\n\r\n handleClinicTypeSelection(){\r\n if(this.leadGenerationForm.controls.lgCntrlmgrPhcruoVsi530.value == 3){\r\n this.leadGenerationForm.controls.lgCntrletaDcinilc137.setValue('');\r\n this.leadGenerationForm.controls.lgCntrletaDcinilc11437.setValue('');\r\n this.leadGenerationForm.controls.lgCntrlstnapicitraPfOrebmuNdetamitse435.clearValidators();\r\n this.leadGenerationForm.controls.lgCntrlsetatSluMcoLpme035.clearValidators();\r\n this.leadGenerationForm.controls.hadClinicInPast.clearValidators();\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.remove('has-error');\r\n document.getElementById('lgCntrlepyTtnemyap294').classList.remove('has-feedback');\r\n this.leadGenerationForm.updateValueAndValidity();\r\n } else {\r\n this.leadGenerationForm.controls.lgCntrlstnapicitraPfOrebmuNdetamitse435.addValidators([Validators.required, Validators.maxLength(5)]);\r\n this.leadGenerationForm.controls.lgCntrlsetatSluMcoLpme035.addValidators([Validators.required]);\r\n this.leadGenerationForm.controls.hadClinicInPast.addValidators([Validators.required]);\r\n this.leadGenerationForm.updateValueAndValidity();\r\n }\r\n }\r\n\r\n displayVaccineClass(vaccineName, index) {\r\n if(vaccineName == 'Other' && (index%2) > 0) {\r\n return \"col-md-2 chkBox off offset-sm-1\"\r\n } else if ((index%2) > 0) {\r\n return \"col-md-4 chkBox off offset-sm-1\"\r\n } else {\r\n return \"col-md-4 chkBox\"\r\n }\r\n }\r\n\r\n canDeleteTheClinic(clinicIndex: number) {\r\n if (this.leadGenerationForm.controls.locations.value.length > 1 && clinicIndex != 0) {\r\n return true;\r\n }\r\n }\r\n\r\n removeLocation(i: number) {\r\n let control = this.leadGenerationForm.controls['locations'];\r\n control.removeAt(i);\r\n}\r\n\r\n addLocation(location: ContactUs) {\r\n if(location) {\r\n const control = this.leadGenerationForm.controls['locations'];\r\n let addLocationCtrl = this.initLocation(location);\r\n control.push(addLocationCtrl);\r\n } else {\r\n const control = this.leadGenerationForm.controls['locations'];\r\n let addLocationCtrl = this.initLocation(undefined);\r\n control.push(addLocationCtrl);\r\n }\r\n }\r\n\r\n initLocation(location: ContactUs): FormGroup {\r\n if(location)\r\n return this.formBuilder.group({\r\n firstName: new FormControl(location.firstName, [Validators.required, Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\.\\,\\'\\-$]*)?$/)]),\r\n mainContactEmail: new FormControl(location.mainContactEmail, [Validators.required, Validators.email, Validators.pattern(/^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$/)]),\r\n lastName: new FormControl(location.lastName, [Validators.required, Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\.\\,\\'\\-$]*)?$/)]), \r\n mainContactJobTitle: new FormControl(location.mainContactJobTitle),\r\n address1: new FormControl(location.address1, [Validators.required, Validators.maxLength(40), Validators.pattern(/^[ A-Za-z0-9#'.,-/]*$/)]), \r\n address2: new FormControl(location.address2, [ Validators.maxLength(60), Validators.pattern(/^[ A-Za-z0-9#'.,-/]*$/)]), \r\n city: new FormControl(location.city, [Validators.required, Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\-$]*)?$/)]),\r\n state: new FormControl(location.state, Validators.required), \r\n zipCode: new FormControl(location.zipCode, Validators.required), \r\n phoneNumber: new FormControl(location.phoneNumber, Validators.required), \r\n extension: new FormControl(location.extension), \r\n });\r\n else \r\n return this.formBuilder.group({\r\n firstName: new FormControl('', [Validators.required, Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\.\\,\\'\\-$]*)?$/)]),\r\n mainContactEmail: new FormControl('', [Validators.required, Validators.email, Validators.pattern(/^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$/)]),\r\n lastName: new FormControl('', [Validators.required, Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\.\\,\\'\\-$]*)?$/)]), \r\n mainContactJobTitle: new FormControl(''),\r\n address1: new FormControl('', [Validators.required, Validators.maxLength(40), Validators.pattern(/^[ A-Za-z0-9#'.,-/]*$/)]), \r\n address2: new FormControl('', [ Validators.maxLength(60), Validators.pattern(/^[ A-Za-z0-9#'.,-/]*$/)]), \r\n city: new FormControl('', [Validators.required, Validators.pattern(/^(?!\\d+$)(?:[a-zA-Z][a-zA-Z \\-$]*)?$/)]),\r\n state: new FormControl('', Validators.required), \r\n zipCode: new FormControl('', Validators.required), \r\n phoneNumber: new FormControl('', Validators.required), \r\n extension: new FormControl(''), \r\n });\r\n }\r\n\r\n}\r\n","export const stateCodenName = [{'stateCode':'AL','stateName':'Alabama'},\r\n{'stateCode':'AK','stateName':'Alaska'},\r\n{'stateCode':'AZ','stateName':'Arizona'},\r\n{'stateCode':'AR','stateName':'Arkansas'},\r\n{'stateCode':'CA','stateName':'California'},\r\n{'stateCode':'CO','stateName':'Colorado'},\r\n{'stateCode':'CT','stateName':'Connecticut'},\r\n{'stateCode':'DE','stateName':'Delaware'},\r\n{'stateCode':'DC','stateName':'District of Columbia'},\r\n{'stateCode':'FL','stateName':'Florida'},\r\n{'stateCode':'GA','stateName':'Georgia'},\r\n{'stateCode':'HI','stateName':'Hawaii'},\r\n{'stateCode':'ID','stateName':'Idaho'},\r\n{'stateCode':'IL','stateName':'Illinois'},\r\n{'stateCode':'IN','stateName':'Indiana'},\r\n{'stateCode':'IA','stateName':'Iowa'},\r\n{'stateCode':'KS','stateName':'Kansas'},\r\n{'stateCode':'KY','stateName':'Kentucky'},\r\n{'stateCode':'LA','stateName':'Louisiana'},\r\n{'stateCode':'ME','stateName':'Maine'},\r\n{'stateCode':'MD','stateName':'Maryland'},\r\n{'stateCode':'MA','stateName':'Massachusetts'},\r\n{'stateCode':'MI','stateName':'Michigan'},\r\n{'stateCode':'MN','stateName':'Minnesota'},\r\n{'stateCode':'MS','stateName':'Mississippi'},\r\n{'stateCode':'MO','stateName':'Missouri'},\r\n{'stateCode':'MT','stateName':'Montana'},\r\n{'stateCode':'NE','stateName':'Nebraska'},\r\n{'stateCode':'NV','stateName':'Nevada'},\r\n{'stateCode':'NH','stateName':'New Hampshire'},\r\n{'stateCode':'NJ','stateName':'New Jersey'},\r\n{'stateCode':'NM','stateName':'New Mexico'},\r\n{'stateCode':'NY','stateName':'New York'},\r\n{'stateCode':'NC','stateName':'North Carolina'},\r\n{'stateCode':'ND','stateName':'North Dakota'},\r\n{'stateCode':'OH','stateName':'Ohio'},\r\n{'stateCode':'OK','stateName':'Oklahoma'},\r\n{'stateCode':'OR','stateName':'Oregon'},\r\n{'stateCode':'PR','stateName':'Puerto Rico'},\r\n{'stateCode':'PA','stateName':'Pennsylvania'},\r\n{'stateCode':'RI','stateName':'Rhode Island'},\r\n{'stateCode':'SC','stateName':'South Carolina'},\r\n{'stateCode':'SD','stateName':'South Dakota'},\r\n{'stateCode':'TN','stateName':'Tennessee'},\r\n{'stateCode':'TX','stateName':'Texas'},\r\n{'stateCode':'UT','stateName':'Utah'},\r\n{'stateCode':'VT','stateName':'Vermont'},\r\n{'stateCode':'VA','stateName':'Virginia'},\r\n{'stateCode':'VI','stateName':'Virgin Islands'},\r\n{'stateCode':'WA','stateName':'Washington'},\r\n{'stateCode':'WV','stateName':'West Virginia'},\r\n{'stateCode':'WI','stateName':'Wisconsin'},\r\n{'stateCode':'WY','stateName':'Wyoming'}]","import { Component, OnInit, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { OutreachProgramService } from '../../services/outreach-program.service';\r\nimport { ContractData, WalgreenCo, Client, Clinic, LegalNoticeAddress, LanguageVariables } from '../../../../models/contract';//Contract\r\nimport { ValidationHandler } from '../../Helpers/ValidationHandler';\r\nimport { AlertService } from '../../../../alert.service';\r\nimport { ContractComponent } from '../local-contracts/contract.component';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { Util } from '../../../../utility/util';\r\nimport { String, StringBuilder } from 'typescript-string-operations';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { universalContractReleaseDate2022 } from '../../../../JSON/UniversalTandC';\r\n\r\n@Component({\r\n selector: 'app-agreement-2022',\r\n templateUrl: './agreement.component-2022.html',\r\n styleUrls: ['./agreement.component-2022.css'],\r\n providers: [ValidationHandler, DatePipe]\r\n})\r\nexport class AgreementComponent2022 implements OnInit {\r\n userProfile: any;\r\n InvoiceInformation: any = [];\r\n clinicImmQtyList: any[] = [];\r\n immunizationFromDB: any[] = [];\r\n displayInvoiceAndVoucher: boolean = false;\r\n isStoreBusinessClinicAdded: boolean = false;\r\n clinicAgreement: ContractData;\r\n currentUser = [];\r\n userRecords = [];\r\n immunizationInformation = [];\r\n clinicInformation = [];\r\n clientInformation: Client;\r\n walGreensInfo: WalgreenCo;\r\n printAgreement: boolean = false;\r\n isAmendAgreement: boolean = false;\r\n agreementEmails: string = '';\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n confirmDialogSummary: string;\r\n confirmDialogMsg: string;\r\n showConfirmDialog = false;\r\n is_email: boolean;\r\n display: boolean = false;\r\n displayAmend: boolean = false;\r\n enlanguageSelection: boolean;\r\n splanguageSelection: boolean;\r\n englishLanguage: string;\r\n enheader: string;\r\n enattachment: string;\r\n\r\n spanishLanguage: string;\r\n headerText: string;\r\n attachment: string;\r\n imz: string;\r\n payment: string;\r\n rates: string;\r\n language: string;\r\n success_message: boolean = false;\r\n today: Date = new Date();\r\n currentLanguage: string;\r\n regularContract: FormGroup;\r\n isSelected: boolean = false;\r\n isCovidVaccineAvailable: boolean = false;\r\n @Output() clinicSubmit: EventEmitter = new EventEmitter();\r\n @ViewChild(ContractComponent) cmp: ContractComponent;\r\n\r\n /////////////////////////////////////////// LANGUAGE Variables ///////////////////////\r\n languageVariables = new LanguageVariables();\r\n\r\n fluExpiryDate = '';\r\n routineExpiryDate = '';\r\n sendInvoiceTo = '';\r\n isTaxExempt = ''\r\n isCopay = '';\r\n voucherNeeded = ''\r\n voucherExpiry = ''\r\n copayValue = '';\r\n attn = \"Attn\"\r\n OverrideOrOkTitle: string = \"Override\";\r\n showCancelBtn: boolean = true\r\n isCovidVoucher: boolean = false;\r\n opportunityData;\r\n privateClinicFees: string = \"\";\r\n showPreUniversalContract: boolean = false;\r\n siteMinimum: number = 25;\r\n ImzVcnName: any;\r\n PaymtBillMethod: any;\r\n VoucherRates: any;\r\n OffSiteClinicRates: any;\r\n isShow3dot3: boolean = true;\r\n isShowsingleStarTAndC2: boolean;\r\n // isFluOrStandardCovid: boolean = false;\r\n // isLtcfFluOrLtcfCovid: boolean = false;\r\n //////////////////////////////////////////\r\n\r\n constructor(\r\n private _apiservice: OutreachProgramService,\r\n private _fb: FormBuilder, \r\n private router: Router,\r\n private utility: Util,\r\n private _datePipe: DatePipe, \r\n private spinner: NgxSpinnerService,\r\n private confirmationService: ConfirmationService\r\n ) {\r\n this.success_message = false;\r\n }\r\n\r\n ngOnInit() {\r\n window.scrollTo(0, 0);\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n this.opportunityData = SessionDetails.GetopportunitiesData();\r\n this.privateClinicFees = this.opportunityData ? this.opportunityData.privateClinicFees : \"8.5\";\r\n this.printAgreement = false;\r\n this.clinicAgreement = this._apiservice.fetchContractAgreementData();\r\n if(this.clinicAgreement.dateApproved && this.clinicAgreement.dateApproved.toString() < '2022-06-29')\r\n {\r\n this.isShow3dot3 = false;\r\n }\r\n if(this.clinicAgreement.dateApproved && this.clinicAgreement.dateApproved.toString() > '2022-08-19')\r\n {\r\n this.isShowsingleStarTAndC2 = false;\r\n }\r\n this.userRecords = this.clinicAgreement.clinicImmunizationList;\r\n let covidVaccine = this.userRecords.filter(p => p.immunizationName.includes('COVID19 Vaccine (')).length > 0;\r\n //let CovidVoucher = this.userRecords.filter(item=>item.immunizationName.includes('Vaccine Voucher')).length > 0;\r\n if (covidVaccine) {\r\n this.isCovidVoucher = true;\r\n }\r\n // else{\r\n // this.isCovidVoucher = true;\r\n // }\r\n if (sessionStorage[\"AmendAgreement\"] != null && sessionStorage[\"AmendAgreement\"] == \"true\") {\r\n this.isAmendAgreement = true;\r\n }\r\n else {\r\n this.isAmendAgreement = false;\r\n }\r\n this.displayInvoiceInfo();\r\n this.GetClinicInformation();\r\n //this.GetImmunizationformation();\r\n this.GetClientInformation();\r\n this.GetWalgreensCOformation();\r\n this.GetClientLegalInfo();\r\n this.enlanguageSelection = true;\r\n this.splanguageSelection = false;\r\n if (this.splanguageSelection) {\r\n this.languageChangeToSpanish();\r\n } else {\r\n this.languageChangeToEnglish();\r\n }\r\n this.isSelected = false;\r\n let isApproved: string = null;\r\n if (this.clinicAgreement.isApproved == null) {\r\n isApproved = '';\r\n } else if (Number(this.clinicAgreement.isApproved) >= 1) {\r\n isApproved = '1';\r\n } else if (Number(this.clinicAgreement.isApproved) <= 0) {\r\n this.isSelected = true;\r\n isApproved = '2';\r\n }\r\n\r\n this.regularContract = this._fb.group({\r\n email_signature: this._fb.control(this.clinicAgreement.signature, null),\r\n user_notes: this._fb.control(this.clinicAgreement.notes, null),\r\n radioBtn: this._fb.control(isApproved, null),\r\n email: this._fb.control('', null)\r\n });\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n let opportunitie_data = SessionDetails.GetopportunitiesData();\r\n if (opportunitie_data.covidOpportunityType == 2 || opportunitie_data.covidOpportunityType == 0 || opportunitie_data.fluOpportunityType == 0) {\r\n // this.isFluOrStandardCovid = true;\r\n this.siteMinimum = 25;\r\n }\r\n if (opportunitie_data.covidOpportunityType == 1 || opportunitie_data.fluOpportunityType == 3) {\r\n // this.isLtcfFluOrLtcfCovid = true;\r\n this.siteMinimum = 15;\r\n\r\n }\r\n }\r\n\r\n getPaymentTypes(imz) {\r\n let paymentTypes = '';\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk);\r\n immzs.forEach((element, index, array) => {\r\n paymentTypes += `

`\r\n paymentTypes += element.paymentTypeName;\r\n if (index !== (array.length - 1)) {\r\n paymentTypes += ',';\r\n }\r\n paymentTypes += `

`\r\n });\r\n return paymentTypes;\r\n }\r\n\r\n getImmzPrices(imz) { \r\n let price = '';\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk);\r\n immzs.forEach((element, index, array) => {\r\n if (element.paymentTypeId != '13' && element.paymentTypeId != '11') {\r\n price += '$';\r\n let priceEx = element.price;\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose'\r\n if (index + 1 != array.length) {\r\n price += ', ';\r\n }\r\n }\r\n });\r\n // let isCashPaidByEmpExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7).length > 0;\r\n // if (isCashPaidByEmpExists) {\r\n // price = '$';\r\n // let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7)[0].price;\r\n // price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n // price += ' per dose'\r\n // }\r\n return price;\r\n }\r\n\r\n getImmzPricesForVoucher(imz) {\r\n let price;\r\n let isRecordExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13).length > 0;\r\n if (isRecordExists) {\r\n price = '$';\r\n let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13)[0].price;\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose'\r\n }\r\n return price;\r\n }\r\n \r\n displayInvoiceInfo() {\r\n if (this.userRecords != null) {\r\n let corp = this.userRecords.filter(c => c.paymentTypeId == \"13\");\r\n let routineExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') == -1);\r\n let covidExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('covid') !== -1);\r\n let flueExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') != -1);\r\n if (corp != null && corp.length > 0) {\r\n this.displayInvoiceAndVoucher = true;\r\n this.InvoiceInformation.push({\r\n \"paymentTypeId\": corp[0].paymentTypeId,\r\n \"sendInvoiceTo\": corp[0].sendInvoiceTo,\r\n \"name\": corp[0].name,\r\n \"phone\": corp[0].phone,\r\n \"fax\": corp[0].fax,\r\n \"email\": corp[0].email,\r\n \"address1\": corp[0].address1,\r\n \"address2\": corp[0].address2,\r\n \"city\": corp[0].city,\r\n \"isTaxExempt\": corp[0].isTaxExempt,\r\n \"state\": corp[0].state,\r\n \"zip\": corp[0].zip,\r\n \"isCopay\": corp[0].isCopay,\r\n \"copayValue\": corp[0].copayValue,\r\n \"isVoucherNeeded\": corp[0].isVoucherNeeded,\r\n \"fluvoucherExpirationDate\": flueExpDateLst.length > 0 ? flueExpDateLst[0].voucherExpirationDate : null,\r\n \"routinevoucherExpirationDate\": routineExpDateLst.length > 0 ? routineExpDateLst[0].voucherExpirationDate : null,\r\n \"covidvoucherExpirationDate\": covidExpDateLst.length > 0 ? covidExpDateLst[0].voucherExpirationDate : null\r\n });\r\n }\r\n }\r\n\r\n }\r\n updateClinicalReqsFields() {\r\n let today: Date = new Date();\r\n this.clinicAgreement.clinicImmunizationList.forEach(imm => {\r\n if (imm && imm.isClinicalReqd == true) {\r\n imm.clinicalReqdApprovedBy = this.userProfile.userPk;\r\n }\r\n });\r\n }\r\n public GetClinicInformation() {\r\n this.clinicInformation = this.clinicAgreement.clinicList;\r\n this.clinicInformation.forEach(cl => {\r\n try {\r\n if (typeof (cl.clinicDate) == 'string') {\r\n let dateString = cl.clinicDate.substring(0, cl.clinicDate.indexOf('T'));\r\n if (dateString.length > 0) {\r\n let dateSplitTokens = dateString.split('-');\r\n if (dateSplitTokens.length > 0) {\r\n var dt = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n var clDate = new Date(dt);\r\n cl.clinicDate = clDate.getMonth() + 1 + \"/\" + clDate.getDate() + \"/\" + clDate.getFullYear();\r\n }\r\n }\r\n }\r\n\r\n const transformedStartTime = this._datePipe.transform(cl.startTime, 'shortTime');\r\n if(cl.startTime !== transformedStartTime){\r\n cl.startTime = transformedStartTime;\r\n }\r\n \r\n const transformedEndTime = this._datePipe.transform(cl.endTime, 'shortTime');\r\n if(cl.endTime !== transformedEndTime){\r\n cl.endTime = transformedEndTime;\r\n }\r\n \r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n });\r\n if (this.clinicAgreement.isApproved != null) {\r\n this.clinicAgreement.isApproved = Number(this.clinicAgreement.isApproved);\r\n }\r\n }\r\n\r\n public GetClientInformation() {\r\n this.clientInformation = this.clinicAgreement.clientInfo != null ? this.clinicAgreement.clientInfo : new Client();\r\n }\r\n\r\n public GetWalgreensCOformation() {\r\n\r\n this.walGreensInfo = this.clinicAgreement.walgreenCoInfo != null ? this.clinicAgreement.walgreenCoInfo : new WalgreenCo();\r\n if (this.walGreensInfo.preparedDate != null && this.walGreensInfo.preparedDate != undefined && this.walGreensInfo.preparedDate != '') {\r\n this.walGreensInfo.preparedDate = this._datePipe.transform(this.walGreensInfo.preparedDate, \"MM/dd/yyyy\");\r\n }\r\n }\r\n GetClientLegalInfo() {\r\n\r\n this.clinicAgreement.legalNoticeAddressInfo = this.clinicAgreement.legalNoticeAddressInfo != null ? this.clinicAgreement.legalNoticeAddressInfo : new LegalNoticeAddress();\r\n if (this.clinicAgreement.legalNoticeAddressInfo.attentionTo != null && this.clinicAgreement.legalNoticeAddressInfo.attentionTo != '') {\r\n this.attn = \"Attn:\";\r\n } else {\r\n this.attn = \"\";\r\n }\r\n }\r\n generateArray(obj) {\r\n return Object.keys(obj).map((key) => { return obj[key] });\r\n }\r\n btnClick() {\r\n this.clinicSubmit.emit(1);\r\n };\r\n\r\n saveAgreement() {\r\n this.spinner.show();\r\n this.clinicAgreement.contractPostedByUser = 'Walgreens User';\r\n this.clinicAgreement.isEmailSent = 0;\r\n this.clinicAgreement.contactWagUser = '';\r\n this.clinicAgreement.isApproved = null;\r\n this.clinicAgreement.businessUserEmails = this.agreementEmails;\r\n this.makeValidBooleans();\r\n\r\n\r\n this.saveAgreementData(false, false);\r\n\r\n if(sessionStorage.getItem('Old_immunizationForm') !== null){\r\n sessionStorage.removeItem('Old_immunizationForm');\r\n }\r\n }\r\n\r\n saveAgreementData(is_email: boolean, is_override?: boolean) {\r\n\r\n if (sessionStorage[\"AmendAgreement\"] && sessionStorage[\"AmendAgreement\"] == \"true\") {\r\n if (!this.clinicAgreement.parentClinicAgreementId || this.clinicAgreement.parentClinicAgreementId == 0) {\r\n if (sessionStorage[\"isStoreBusinessClinicAdded\"] && sessionStorage[\"isStoreBusinessClinicAdded\"] == \"true\") {\r\n this.isStoreBusinessClinicAdded = true;\r\n }\r\n\r\n if (sessionStorage[\"OldImmunizations\"] && sessionStorage[\"clinicList\"]) {\r\n this.immunizationFromDB = JSON.parse(sessionStorage[\"OldImmunizations\"]);\r\n\r\n this.immunizationFromDB.forEach(rec => {\r\n\r\n rec.voucherExpirationDate = rec.voucherExpirationDate != null ? this._datePipe.transform(rec.voucherExpirationDate, \"MM/dd/yyyy\") : rec.voucherExpirationDate;\r\n if (rec.paymentTypeId == \"6\") {\r\n rec.isCopay >= 1 || rec.isCopay === true ? rec.isCopay = 1 : rec.isCopay == null ? rec.isCopay = null : rec.isCopay = 0;\r\n rec.copayValue = (rec.copayValue == null) ? 0 : rec.copayValue;\r\n rec.isTaxExempt >= 1 || rec.isTaxExempt === true ? rec.isTaxExempt = 1 : rec.isTaxExempt == null ? rec.isTaxExempt = null : rec.isTaxExempt = 0;\r\n rec.isVoucherNeeded >= 1 || rec.isVoucherNeeded === true ? rec.isVoucherNeeded = 1 : rec.isVoucherNeeded == null ? rec.isVoucherNeeded = null : rec.isVoucherNeeded = 0;\r\n }\r\n else {\r\n rec.isCopay >= 1 || rec.isCopay === true ? rec.isCopay = 1 : rec.isCopay = null;\r\n\r\n rec.isTaxExempt >= 1 || rec.isTaxExempt === true ? rec.isTaxExempt = 1 : rec.isTaxExempt = null;\r\n rec.isVoucherNeeded >= 1 || rec.isVoucherNeeded === true ? rec.isVoucherNeeded = 1 : rec.isVoucherNeeded = null;\r\n\r\n }\r\n });\r\n\r\n this.clinicImmQtyList = [];\r\n this.clinicAgreement.clinicList.forEach((loc, index) => {\r\n loc.clinicImzQtyList.forEach(ele => {\r\n ele.clinicPk = null;\r\n ele.estimatedQuantity = Number(ele.estimatedQuantity);\r\n this.clinicImmQtyList.push(ele);\r\n });\r\n\r\n });\r\n\r\n let diff: any = this.utility.getDifference(this.clinicAgreement.clinicImmunizationList, this.immunizationFromDB);\r\n\r\n let diffClinicList: any = this.utility.getDifference(this.clinicImmQtyList, JSON.parse(sessionStorage[\"clinicList\"]));\r\n if (!this.isStoreBusinessClinicAdded && (Object.keys(diff).length == 0 && Object.keys(diffClinicList).length == 0)) {\r\n this.displayAmend = true;\r\n this.spinner.hide();\r\n return;\r\n }\r\n\r\n }\r\n\r\n this.clinicAgreement.parentClinicAgreementId = this.clinicAgreement.clinicAgreementPk;\r\n this.clinicAgreement.clinicAgreementPk = null;\r\n this.clinicAgreement.isApproved = null;\r\n this.clinicAgreement.approvedOrRejectedBy = null;\r\n this.clinicAgreement.signature = null;\r\n this.clinicAgreement.notes = null;\r\n }\r\n }\r\n this.clinicAgreement.modifiedBy = this.userProfile.userPk;\r\n if (is_email) {\r\n this.clinicAgreement.isEmailSent = 1;\r\n this.clinicAgreement.isApproved = null;\r\n }\r\n this.updateClinicalReqsFields();\r\n\r\n // Checking if any of the start and end times are in datetime format. If yes, Converting them before sending it to the API.\r\n this.clinicAgreement.clinicList.forEach(element => {\r\n if (Object.prototype.toString.call(element.startTime) === '[object Date]') {\r\n try {\r\n element.startTime = this._datePipe.transform(element.startTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n if (Object.prototype.toString.call(element.endTime) === '[object Date]') {\r\n try {\r\n element.endTime = this._datePipe.transform(element.endTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n });\r\n\r\n this._apiservice.saveAgreementData(SessionDetails.GetStoreId(), 1, this.clinicAgreement, is_override).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case null:\r\n case \"null\":\r\n case '0':\r\n case 0:\r\n this.showDialog(ErrorMessages['contract'], is_email ? ErrorMessages['contractEmailSent'] : ErrorMessages['contractSaved'], true);\r\n break;\r\n case -4:\r\n case '-4':\r\n if (is_email) {\r\n if (!this.clinicAgreement.isEmailSent) {\r\n this.clinicAgreement.isEmailSent = 0;\r\n }\r\n this.clinicAgreement.isApproved = null;\r\n }\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n const msg = String.Format(\"{0}

{1}\", data.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']);\r\n this.is_email = is_email;\r\n this.showConfirmDialogV2(ErrorMessages['eventDateTimeConflict'], msg);\r\n \r\n // this.confirmOverlap(ErrorMessages['eventDateTimeConflict'],\r\n // String.Format(\"{0}

{1}\", data.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']), is_email);\r\n //this.showDialog(ErrorMessages['resolve'], data.errorS.errorMessage, false);\r\n break;\r\n default:\r\n if (is_email) {\r\n this.clinicAgreement.isEmailSent = 0;\r\n this.clinicAgreement.isApproved = null;\r\n }\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage, false);\r\n break;\r\n }\r\n\r\n },\r\n err => {\r\n this.spinner.hide();\r\n if (is_email) {\r\n this.clinicAgreement.isEmailSent = 0;\r\n this.clinicAgreement.isApproved = null;\r\n }\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message, false);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n showConfirmDialogV2(msgSummary: string, msgDetail: string) {\r\n this.confirmDialogSummary = msgSummary;\r\n this.confirmDialogMsg = msgDetail;\r\n this.showConfirmDialog = true;\r\n }\r\n\r\n confirmDialogOverrideAction(){\r\n this.showConfirmDialog = false;\r\n this.saveAgreementData(this.is_email, true);\r\n return true;\r\n }\r\n\r\n confirmDialogCancelAction(){\r\n this.showConfirmDialog = false;\r\n }\r\n\r\n sendEmail() {\r\n let emailList: string = '';\r\n if (this.regularContract.value.email != null) {\r\n emailList = this.regularContract.value.email.replace(/ /g, \"\");\r\n }\r\n if (!this.utility.validateMultipleEmailsCommaSeparated(emailList)) {\r\n this.regularContract.controls['email'].setValidators([Validators.required]);\r\n this.regularContract.controls['email'].updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.regularContract);\r\n let sumMsg = ErrorMessages['errMsg'];\r\n let sMsg = ErrorMessages['emailList'];\r\n this.showDialog(sumMsg, sMsg, false);\r\n return;\r\n }\r\n if (this.clinicAgreement.clinicList.length <= 0) {\r\n let sumMsg = ErrorMessages['errMsg'];\r\n let sMsg = ErrorMessages['clinicListEmpty'];\r\n this.showDialog(sumMsg, sMsg, false);\r\n return;\r\n }\r\n this.spinner.show();\r\n this.clinicAgreement.isEmailSent = 1;\r\n this.clinicAgreement.isApproved = null;\r\n this.clinicAgreement.businessUserEmails = emailList.trim();\r\n this.clinicAgreement.contractPostedByUser = 'Walgreens User'\r\n this.clinicAgreement.contactWagUser = '';\r\n this.makeValidBooleans();\r\n this.saveAgreementData(true, false);\r\n\r\n if(sessionStorage.getItem('Old_immunizationForm') !== null){\r\n sessionStorage.removeItem('Old_immunizationForm');\r\n }\r\n }\r\n makeValidBooleans() {\r\n this.clinicAgreement.clinicImmunizationList.forEach(im => {\r\n if (Number(im.sendInvoiceTo) <= 0) {\r\n im.isTaxExempt = null;\r\n im.isCopay = null;\r\n im.isVoucherNeeded = null;\r\n } else {\r\n Number(im.isTaxExempt) >= 1 ? im.isTaxExempt = 1 : im.isTaxExempt = 0;\r\n Number(im.isCopay) >= 1 ? im.isCopay = 1 : im.isCopay = 0;\r\n Number(im.isVoucherNeeded) >= 1 ? im.isVoucherNeeded = 1 : im.isVoucherNeeded = 0;\r\n im.copayValue = Number(im.copayValue);\r\n if (im.voucherExpirationDate != null && im.voucherExpirationDate != undefined && im.voucherExpirationDate != '') {\r\n im.voucherExpirationDate = this._datePipe.transform(im.voucherExpirationDate, \"MM/dd/yyyy\");\r\n }\r\n }\r\n });\r\n this.clinicAgreement.clinicList.forEach(cl => {\r\n cl.previousContact = 0;\r\n cl.previousLocation = 0;\r\n Number(cl.isNoClinic) >= 1 ? cl.isNoClinic = 1 : cl.isNoClinic = 0;\r\n Number(cl.isReassign) >= 1 ? cl.isReassign = 1 : cl.isReassign = 0;\r\n Number(cl.isCurrent) >= 1 ? cl.isCurrent = 1 : cl.isCurrent = 0;\r\n\r\n if (cl.clinicDate === null || cl.clinicDate === undefined || cl.clinicDate === '') {\r\n cl.clinicDate = null;\r\n } else {\r\n cl.clinicDate = this._datePipe.transform(cl.clinicDate, \"MM/dd/yyyy\");\r\n }\r\n let covidImmList = cl.clinicImzQtyList.filter(p => p.immunizationName.includes(\"COVID19\"));\r\n\r\n covidImmList.length > 0 || this.isCovidVaccineAvailable ? cl.isCovidClinic = 1 : cl.isCovidClinic = 0;\r\n if (cl.visitType == null || (cl.visitType && cl.visitType.length < 0)) {\r\n cl.visitType = null;\r\n }\r\n });\r\n }\r\n\r\n print() {\r\n this.utility.print(\"approveContract\", \"Walgreens Community Off-site Agreement\");\r\n }\r\n cancelAgreementClicked() {\r\n if(sessionStorage.getItem('Old_immunizationForm') !== null){\r\n sessionStorage.removeItem('Old_immunizationForm');\r\n }\r\n\r\n if (sessionStorage[\"AmendAgreement\"] && sessionStorage[\"AmendAgreement\"] == \"true\")\r\n this.router.navigate(['./communityoutreach/LocalClinicProgramDetails']);\r\n else\r\n this.router.navigate(['./communityoutreach/storehome']);\r\n }\r\n\r\n showDialog(msgSummary: string, msgDetail: string, success_message: boolean) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n this.success_message = success_message;\r\n }\r\n okClicked() {\r\n this.display = false;\r\n if (this.success_message) {\r\n this.router.navigateByUrl('/communityoutreach/storehome');\r\n }\r\n }\r\n\r\n languageChangeToSpanish() {\r\n this.enlanguageSelection = false;\r\n this.splanguageSelection = true;\r\n\r\n\r\n let contractdateApproved = null;\r\n if ((this.clinicAgreement && this.clinicAgreement.dateApproved)) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate2022);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n\r\n let data = this._apiservice.languageChange(2022,this.isCovidVaccineAvailable, true, this.showPreUniversalContract);\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n if (data) {\r\n this.spanishLanguage = data.spanish;\r\n this.headerText = data.header;\r\n this.attachment = data.attachmentheader;\r\n this.imz = data.imzsp;\r\n this.payment = data.paymentsp;\r\n this.rates = data.ratessp;\r\n this.ImzVcnName = data.ImzVcnNameSp;\r\n this.PaymtBillMethod = data.PaymtBillMethodSp;\r\n this.VoucherRates = data.VoucherRatesSp;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesSp;\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsSP;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextSP;\r\n\r\n\r\n this.languageVariables.businessName = data.clientsp;\r\n this.languageVariables.name = data.namesp;\r\n this.languageVariables.eSignature = data.eSignatureSP;\r\n this.languageVariables.date = data.dateSP;\r\n this.languageVariables.dose = data.doseSP;\r\n this.languageVariables.district = data.districtSP;\r\n\r\n this.languageVariables.title = data.titlesp;\r\n this.languageVariables.attentionTo = data.attentionsp;\r\n this.languageVariables.address1 = data.address1sp;\r\n this.languageVariables.address2 = data.address2sp;\r\n this.languageVariables.city = data.citysp;\r\n this.languageVariables.state = data.statesp;\r\n this.languageVariables.zip = data.zipcodesp;\r\n //this.legal_notice = data.legalsp;\r\n //this.client_info = data.clientinfosp;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntSP;\r\n this.languageVariables.approveText = data.approveTextSP;\r\n this.languageVariables.electrSign = data.electrSignSP;\r\n this.languageVariables.notes = data.notesSP;\r\n this.languageVariables.pageTitle = data.pageTitleSP;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffSP;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineSP;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientSP;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensSP;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1SP;\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2SP;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesSP;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingSP;\r\n this.languageVariables.profJudgementText = data.profJudgementTextSP;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngSP;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextSP;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesSP;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingSP;\r\n this.languageVariables.vouchersText = data.vouchersTextSP;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationSP;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsSP;\r\n this.languageVariables.important = data.importantSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.contractYearText1SP);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.influenzaSeasonText1SP);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextSP;\r\n this.languageVariables.siteMin = data.siteMinSP;\r\n this.languageVariables.siteAvg = data.siteAvgSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextSP, data.contractYearText2SP, data.contractYearText2SP);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluSP, data.influenzaSeasonText2SP, data.influenzaSeasonText2SP);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextSP;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingSP;\r\n this.languageVariables.paymentHd = data.paymentSP;\r\n this.languageVariables.paymentText = data.paymentTextSP;\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesSP;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextSP;\r\n this.languageVariables.latePayment = data.latePaymentSP;\r\n this.languageVariables.latePaymentText = data.latePaymentTextSP;\r\n this.languageVariables.costIncrease = data.costIncreaseSP; \r\n this.languageVariables.costIncreasetext = data.costIncreasetextSP; \r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsSP;\r\n this.languageVariables.termAndTerm = data.termAndTermSP;\r\n this.languageVariables.termAndTermText = data.termAndTermTextSP;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationSP;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextSP;\r\n this.languageVariables.waiver = data.waiverSP;\r\n this.languageVariables.waiverText = data.waiverTextSP;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifySP;\r\n this.languageVariables.insurance = data.insuranceSP;\r\n this.languageVariables.insuranceText = data.insuranceTextSP;\r\n this.languageVariables.indemnification = data.indemnificationSP;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let universalContractReleasedate = data.universalContractReleaseDate ? new Date(data.universalContractReleaseDate) : null;\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsSP;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialitySP;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextSP;\r\n this.languageVariables.confidentiality = data.confidentialitySP;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1SP;\r\n this.languageVariables.phi = data.phiSP;\r\n this.languageVariables.phiAb = data.phiAbSP;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2SP;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextSP;\r\n\r\n this.languageVariables.Advertising = data.AdvertisingSP;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextSP;\r\n this.languageVariables.frcMaj = data.frcMajSP;\r\n this.languageVariables.frcMajText = data.frcMajTextSP;\r\n this.languageVariables.compliance = data.complianceSP;\r\n this.languageVariables.complianceText = data.complianceTextSP;\r\n this.languageVariables.assignment = data.assignmentSP;\r\n this.languageVariables.assignmentText = data.assignmentTextSP;\r\n this.languageVariables.notices = data.noticesSP;\r\n this.languageVariables.noticesText = data.noticesTextSP;\r\n this.languageVariables.entireAgr = data.entireAgrSP;\r\n this.languageVariables.entireAgrText = data.entireAgrTextSP;\r\n this.languageVariables.counterPart = data.counterPartsHeadingSP;\r\n this.languageVariables.counterPartsText = data.counterPartsTextSP;\r\n this.languageVariables.rights = data.rightsSP;\r\n this.languageVariables.approve = data.approveSP;\r\n this.languageVariables.reject = data.rejectSP;\r\n this.languageVariables.submit = data.submitSP;\r\n this.languageVariables.printAgreementTxt = data.printAgreementTxtCapsSP;\r\n\r\n this.languageVariables.clinicLocation = data.clinicLocationSP;\r\n this.languageVariables.clinicDate = data.clinicDateSP;\r\n this.languageVariables.clinicTime = data.clinicTimeSP;\r\n this.languageVariables.contact = data.contactSP;\r\n this.languageVariables.phone = data.phoneSP;\r\n this.languageVariables.estShots = data.estShotsSP;\r\n this.languageVariables.location = data.locationSP;\r\n this.languageVariables.time = data.timeSP;\r\n this.languageVariables.email = data.emailSP;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToSP;\r\n this.languageVariables.multipleEmailAddrss = data.multipleEmailAddressSP;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementSP;\r\n this.languageVariables.editAgreeMnt = data.editAgreementSP;\r\n this.languageVariables.saveAgreeMnt = data.saveAgreementSP;\r\n this.languageVariables.cancelTxt = data.cancelSP;\r\n this.languageVariables.noteTxt = data.noteTextSP;\r\n this.languageVariables.table1 = data.table1SP;\r\n this.fluExpiryDate = data.fluExpiryDateSP;\r\n this.routineExpiryDate = data.routineExpiryDateSP;\r\n this.sendInvoiceTo = data.sendInvoiceToSP;\r\n this.isTaxExempt = data.isTaxExemptSP;\r\n this.isCopay = data.isCopaySP;\r\n this.voucherNeeded = data.voucherNeededSP;\r\n this.voucherExpiry = data.voucherExpirySP;\r\n this.copayValue = data.copayValueSP;\r\n this.languageVariables.contactName = data.contactNameSP;\r\n this.languageVariables.contactPhone = data.contactPhoneSP;\r\n this.languageVariables.contactEmail = data.contactEmailSP;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n }\r\n }\r\n languageChangeToEnglish() {\r\n this.splanguageSelection = false;\r\n this.enlanguageSelection = true;\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n\r\n let contractdateApproved = null;\r\n if ((this.clinicAgreement && this.clinicAgreement.dateApproved)) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate2022);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n\r\n let data = this._apiservice.languageChange(2022,this.isCovidVaccineAvailable, true, this.showPreUniversalContract);\r\n if (data) {\r\n this.englishLanguage = data.english;\r\n this.enheader = data.englishheader;\r\n this.enattachment = data.englishattachment;\r\n this.imz = data.imzen;\r\n this.payment = data.payen;\r\n this.rates = data.ratesen;\r\n this.ImzVcnName = data.ImzVcnNameEn;\r\n this.PaymtBillMethod = data.PaymtBillMethodEn;\r\n this.VoucherRates = data.VoucherRatesEn;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesEn;\r\n\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsEN;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextEN;\r\n\r\n this.languageVariables.businessName = data.clienten;\r\n this.languageVariables.name = data.nameen;\r\n this.languageVariables.eSignature = data.eSignatureEN;\r\n this.languageVariables.date = data.dateEN;\r\n this.languageVariables.dose = data.doseEN;\r\n this.languageVariables.district = data.districtEN;\r\n\r\n this.languageVariables.title = data.titleen;\r\n this.languageVariables.attentionTo = data.attentionen;\r\n this.languageVariables.address1 = data.address1en;\r\n this.languageVariables.address2 = data.address2en;\r\n this.languageVariables.city = data.cityen;\r\n this.languageVariables.state = data.stateen;\r\n this.languageVariables.zip = data.zipcodeen;\r\n //this.legal_notice = data.legalsp;\r\n //this.client_info = data.clientinfosp;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntEN;\r\n this.languageVariables.approveText = data.approveTextEN;\r\n this.languageVariables.electrSign = data.electrSignEN;\r\n this.languageVariables.notes = data.notesEN;\r\n this.languageVariables.pageTitle = data.pageTitleEN;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffEN;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineEN;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientEN;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensEN;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1EN\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2EN;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesEN;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingEN;\r\n this.languageVariables.profJudgementText = data.profJudgementTextEN;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngEN;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextEN;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesEN;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingEN;\r\n this.languageVariables.vouchersText = data.vouchersTextEN;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationEN;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsEN;\r\n this.languageVariables.important = data.importantEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.contractYearText1EN);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.influenzaSeasonText1EN);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextEN;\r\n this.languageVariables.siteMin = data.siteMinEN;\r\n this.languageVariables.siteAvg = data.siteAvgEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextEN, data.contractYearText2EN, data.contractYearText2EN);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluEN, data.influenzaSeasonText2EN, data.influenzaSeasonText2EN);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextEN;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingEN;\r\n this.languageVariables.paymentHd = data.paymentEN;\r\n this.languageVariables.paymentHd = data.paymentEN;\r\n this.languageVariables.singleStarTAndC = data.singleStarTAndC;\r\n this.languageVariables.singleStarTAndC2 = data.singleStarTAndC2;\r\n this.languageVariables.article2Text = data.article2Text;\r\n \r\n if (this.checkIfCovidImmForCorpInvoiceSelected()) {\r\n this.enheader = this.showPreUniversalContract ? data.directBillEnglishheader : data.englishheader;\r\n this.languageVariables.paymentText = !this.showPreUniversalContract ? data.paymentTextEN : data.paymentTextDirectBillEN;\r\n }\r\n else {\r\n this.enheader = data.englishheader;\r\n this.languageVariables.paymentText = data.paymentTextEN;\r\n }\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesEN;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextEN;\r\n this.languageVariables.latePayment = data.latePaymentEN;\r\n this.languageVariables.latePaymentText = data.latePaymentTextEN;\r\n this.languageVariables.costIncrease = data.costIncreaseEN; \r\n this.languageVariables.costIncreasetext = data.costIncreasetextEN; \r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsEN;\r\n this.languageVariables.termAndTerm = data.termAndTermEN;\r\n this.languageVariables.termAndTermText = data.termAndTermTextEN;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationEN;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextEN;\r\n this.languageVariables.waiver = data.waiverEN;\r\n this.languageVariables.waiverText = data.waiverTextEN;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifyEN;\r\n this.languageVariables.insurance = data.insuranceEN;\r\n this.languageVariables.insuranceText = data.insuranceTextEN;\r\n this.languageVariables.indemnification = data.indemnificationEN;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (this.isCovidVaccineAvailable == true && (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate)) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsEN;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialityEN;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextEN;\r\n this.languageVariables.confidentiality = data.confidentialityEN;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1EN;\r\n this.languageVariables.phi = data.phiEN;\r\n this.languageVariables.phiAb = data.phiAbEN;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2EN;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextEN;\r\n this.languageVariables.Advertising = data.AdvertisingEN;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextEN;\r\n this.languageVariables.frcMaj = data.frcMajEN;\r\n this.languageVariables.frcMajText = data.frcMajTextEN;\r\n this.languageVariables.compliance = data.complianceEN;\r\n this.languageVariables.complianceText = data.complianceTextEN;\r\n this.languageVariables.assignment = data.assignmentEN;\r\n this.languageVariables.assignmentText = data.assignmentTextEN;\r\n this.languageVariables.notices = data.noticesEN;\r\n this.languageVariables.noticesText = data.noticesTextEN;\r\n this.languageVariables.entireAgr = data.entireAgrEN;\r\n this.languageVariables.entireAgrText = data.entireAgrTextEN;\r\n this.languageVariables.counterPart = data.counterPartsHeadingEN;\r\n this.languageVariables.counterPartsText = data.counterPartsTextEN;\r\n this.languageVariables.rights = data.rightsEN;\r\n\r\n this.languageVariables.approve = data.approveEN;\r\n this.languageVariables.reject = data.rejectEN;\r\n this.languageVariables.submit = data.submitEN;\r\n this.languageVariables.printAgreementTxt = data.printAgreementTxtCapsEN;\r\n\r\n this.languageVariables.clinicLocation = data.clinicLocationEN;\r\n this.languageVariables.clinicDate = data.clinicDateEN;\r\n this.languageVariables.clinicTime = data.clinicTimeEN;\r\n this.languageVariables.contact = data.contactEN;\r\n this.languageVariables.phone = data.phoneEN;\r\n this.languageVariables.estShots = data.estShotsEN;\r\n this.languageVariables.location = data.locationEN;\r\n this.languageVariables.time = data.timeEN;\r\n this.languageVariables.email = data.emailEN;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToEN;\r\n this.languageVariables.multipleEmailAddrss = data.multipleEmailAddressEN;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementEN;\r\n this.languageVariables.editAgreeMnt = data.editAgreementEN;\r\n this.languageVariables.saveAgreeMnt = data.saveAgreementEN;\r\n this.languageVariables.cancelTxt = data.cancelEN;\r\n this.languageVariables.noteTxt = data.noteTextEN;\r\n this.languageVariables.table1 = data.table1EN;\r\n this.fluExpiryDate = data.fluExpiryDateEN;\r\n this.routineExpiryDate = data.routineExpiryDateEN;\r\n this.languageVariables.estShots = data.estShotsEN;\r\n this.sendInvoiceTo = data.sendInvoiceToEN;\r\n this.isTaxExempt = data.isTaxExemptEN;\r\n this.isCopay = data.isCopayEN;\r\n this.voucherNeeded = data.voucherNeededEN;\r\n this.voucherExpiry = data.voucherExpiryEN;\r\n this.copayValue = data.copayValueEN;\r\n this.languageVariables.contactName = data.contactName;\r\n this.languageVariables.contactPhone = data.contactPhone;\r\n this.languageVariables.contactEmail = data.contactEmail;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n }\r\n\r\n this.language = \"TRANSLATE TO ENGLISH\";\r\n }\r\n\r\n changeLanguageToSpanish() {\r\n this.enlanguageSelection = false;\r\n this.splanguageSelection = true;\r\n this.languageChangeToSpanish();\r\n }\r\n\r\n changeLanguageToEnglish() {\r\n this.enlanguageSelection = true;\r\n this.splanguageSelection = false;\r\n this.languageChangeToEnglish();\r\n }\r\n\r\n\r\n checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location: Clinic): boolean {\r\n return this._apiservice.checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location) && Number(location.isNoClinic) >= 1;\r\n }\r\n checkIfFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfNonFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfNonFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfCovidImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfCovidImmForCorpInvoiceSelected();\r\n }\r\n checkIfNonFluImmIsSelected(): boolean {\r\n return this._apiservice.checkIfNonFluImmIsSelected();\r\n }\r\n getVoucherExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getRoutineExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getCovidExpiryDate(): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1 && imz.immunizationName.toLowerCase().search('covid') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n isFieldValid(field: string) {\r\n return !this.regularContract.get(field).valid && this.regularContract.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n enableContractEditStatus() {\r\n if (this.clinicAgreement != null && this.clinicAgreement != undefined) {\r\n if (this.clinicAgreement.isEmailSent != null &&\r\n (this.clinicAgreement.isEmailSent == 1) &&\r\n (this.clinicAgreement.isApproved == null || this.clinicAgreement.isApproved == 1)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n showHideSaveBtnStatus() {\r\n if (this.clinicAgreement != null && this.clinicAgreement != undefined) {\r\n if (this.clinicAgreement.isEmailSent != null &&\r\n (this.clinicAgreement.isEmailSent == 1) &&\r\n (this.clinicAgreement.isApproved == null || this.clinicAgreement.isApproved == 1 || this.clinicAgreement.isApproved == 0)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n confirmOverlap(hdr: string, msg: string, is_email: boolean) {\r\n\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n this.saveAgreementData(is_email, true);\r\n return true;\r\n },\r\n reject: () => {\r\n return false;\r\n }\r\n });\r\n }\r\n amendOkClicked() {\r\n this.displayAmend = false;\r\n }\r\n checkToPrintAsterisk(immAbvName: string, immName: string): boolean {\r\n let bRet: boolean = false;\r\n if (immAbvName && immAbvName.search(/Two Dose/gi) >= 0) {\r\n bRet = true;\r\n }\r\n return bRet;\r\n }\r\n checkForDoubleAsteriskRates(): boolean {\r\n return this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/Dose/gi) >= 0).length > 0;\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { OutreachProgramService } from '../../services/outreach-program.service';\r\nimport { ContractData, WalgreenCo, Client, Clinic, LegalNoticeAddress, LanguageVariables } from '../../../../models/contract';//Contract\r\nimport { ValidationHandler } from '../../Helpers/ValidationHandler';\r\nimport { AlertService } from '../../../../alert.service';\r\nimport { ContractComponent } from '../local-contracts/contract.component';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { Util } from '../../../../utility/util';\r\nimport { String, StringBuilder } from 'typescript-string-operations';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { universalContractReleaseDate } from '../../../../JSON/UniversalTandC';\r\n\r\n@Component({\r\n selector: 'app-agreement-2023',\r\n templateUrl: './agreement.component-2023.html',\r\n styleUrls: ['./agreement.component-2023.css'],\r\n providers: [ValidationHandler, DatePipe]\r\n})\r\nexport class AgreementComponent2023 implements OnInit {\r\n userProfile: any;\r\n InvoiceInformation: any = [];\r\n clinicImmQtyList: any[] = [];\r\n immunizationFromDB: any[] = [];\r\n displayInvoiceAndVoucher: boolean = false;\r\n isStoreBusinessClinicAdded: boolean = false;\r\n clinicAgreement: ContractData;\r\n currentUser = [];\r\n userRecords = [];\r\n immunizationInformation = [];\r\n clinicInformation = [];\r\n clientInformation: Client;\r\n walGreensInfo: WalgreenCo;\r\n printAgreement: boolean = false;\r\n isAmendAgreement: boolean = false;\r\n agreementEmails: string = '';\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n confirmDialogSummary: string;\r\n confirmDialogMsg: string;\r\n showConfirmDialog = false;\r\n is_email: boolean;\r\n display: boolean = false;\r\n displayAmend: boolean = false;\r\n enlanguageSelection: boolean;\r\n splanguageSelection: boolean;\r\n englishLanguage: string;\r\n enheader: string;\r\n enattachment: string;\r\n enattachmentArticleII:string;\r\n articleNoFeeIIEN : string;\r\n spanishLanguage: string;\r\n headerText: string;\r\n attachment: string;\r\n imz: string;\r\n payment: string;\r\n rates: string;\r\n language: string;\r\n success_message: boolean = false;\r\n today: Date = new Date();\r\n currentLanguage: string;\r\n regularContract: FormGroup;\r\n isSelected: boolean = false;\r\n isClinicNoFeesDisbaled: boolean= false;\r\n isCovidVaccineAvailable: boolean = false;\r\n @Output() clinicSubmit: EventEmitter = new EventEmitter();\r\n @ViewChild(ContractComponent) cmp: ContractComponent;\r\n\r\n /////////////////////////////////////////// LANGUAGE Variables ///////////////////////\r\n languageVariables = new LanguageVariables();\r\n\r\n fluExpiryDate = '';\r\n routineExpiryDate = '';\r\n sendInvoiceTo = '';\r\n isTaxExempt = ''\r\n isCopay = '';\r\n voucherNeeded = ''\r\n voucherExpiry = ''\r\n copayValue = '';\r\n attn = \"Attn\"\r\n OverrideOrOkTitle: string = \"Override\";\r\n showCancelBtn: boolean = true\r\n isCovidVoucher: boolean = false;\r\n opportunityData;\r\n privateClinicFees: string = \"\";\r\n showPreUniversalContract: boolean = false;\r\n siteMinimum: number = 25;\r\n ImzVcnName: any;\r\n PaymtBillMethod: any;\r\n VoucherRates: any;\r\n OffSiteClinicRates: any;\r\n isShow3dot3: boolean = true;\r\n isShowsingleStarTAndC2: boolean;\r\n hasServiceAgreement: boolean = false;\r\n hasServiceAgreementAccepted: boolean = false;\r\n // isFluOrStandardCovid: boolean = false;\r\n // isLtcfFluOrLtcfCovid: boolean = false;\r\n //////////////////////////////////////////\r\n\r\n constructor(\r\n private _apiservice: OutreachProgramService,\r\n private _fb: FormBuilder, \r\n private router: Router,\r\n private utility: Util,\r\n private _datePipe: DatePipe, \r\n private spinner: NgxSpinnerService,\r\n private confirmationService: ConfirmationService\r\n ) {\r\n this.success_message = false;\r\n }\r\n\r\n ngOnInit() { \r\n window.scrollTo(0, 0);\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n this.opportunityData = SessionDetails.GetopportunitiesData();\r\n this.privateClinicFees = this.opportunityData ? this.opportunityData.privateClinicFees : \"8.5\";\r\n this.printAgreement = false;\r\n this.clinicAgreement = this._apiservice.fetchContractAgreementData();\r\n this.hasServiceAgreement = this.clinicAgreement?.clinicList?.some(clinic => \r\n { \r\n if(clinic.hasOwnProperty(\"isNoClinic\") && clinic.hasOwnProperty(\"isNoClinicFee\")) {\r\n return !clinic?.isNoClinic && !clinic?.isNoClinicFee;\r\n } else if(clinic.hasOwnProperty(\"isNoClinic\")) {\r\n return !clinic?.isNoClinic\r\n } else if(clinic.hasOwnProperty(\"isNoClinicFee\")) {\r\n return !clinic?.isNoClinicFee;\r\n } else {\r\n return false;\r\n }\r\n });\r\n \r\n console.log(\"Test :\" + new Date())\r\n \r\n this.userRecords = this.clinicAgreement.clinicImmunizationList;\r\n let covidVaccine = this.userRecords.filter(p => p.immunizationName.includes('COVID19 Vaccine (')).length > 0;\r\n //let CovidVoucher = this.userRecords.filter(item=>item.immunizationName.includes('Vaccine Voucher')).length > 0;\r\n if (covidVaccine) {\r\n this.isCovidVoucher = true;\r\n }\r\n // else{\r\n // this.isCovidVoucher = true;\r\n // }\r\n if (sessionStorage[\"AmendAgreement\"] != null && sessionStorage[\"AmendAgreement\"] == \"true\") {\r\n this.isAmendAgreement = true;\r\n }\r\n else {\r\n this.isAmendAgreement = false;\r\n // this.hasServiceAgreementAccepted = this.clinicAgreement.hasServiceAgreementAccepted;\r\n }\r\n this.displayInvoiceInfo();\r\n this.GetClinicInformation();\r\n //this.GetImmunizationformation();\r\n this.GetClientInformation();\r\n this.GetWalgreensCOformation();\r\n this.GetClientLegalInfo();\r\n this.enlanguageSelection = true;\r\n this.splanguageSelection = false;\r\n if (this.splanguageSelection) {\r\n this.languageChangeToSpanish();\r\n } else {\r\n this.languageChangeToEnglish();\r\n }\r\n this.isSelected = false;\r\n let isApproved: string = null;\r\n if (this.clinicAgreement.isApproved == null) {\r\n isApproved = '';\r\n } else if (Number(this.clinicAgreement.isApproved) >= 1) {\r\n isApproved = '1';\r\n } else if (Number(this.clinicAgreement.isApproved) <= 0) {\r\n this.isSelected = true;\r\n isApproved = '2';\r\n }\r\n\r\n this.regularContract = this._fb.group({\r\n email_signature: this._fb.control(this.clinicAgreement.signature, null),\r\n user_notes: this._fb.control(this.clinicAgreement.notes, null),\r\n radioBtn: this._fb.control(isApproved, null),\r\n email: this._fb.control('', null)\r\n });\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n let opportunitie_data = SessionDetails.GetopportunitiesData();\r\n if (opportunitie_data.covidOpportunityType == 2 || opportunitie_data.covidOpportunityType == 0 || opportunitie_data.fluOpportunityType == 0) {\r\n // this.isFluOrStandardCovid = true;\r\n this.siteMinimum = 25;\r\n }\r\n if (opportunitie_data.covidOpportunityType == 1 || opportunitie_data.fluOpportunityType == 3) {\r\n // this.isLtcfFluOrLtcfCovid = true;\r\n this.siteMinimum = 15;\r\n\r\n }\r\n if(!this.isAmendAgreement)\r\n this.hasServiceAgreementAccepted = sessionStorage.getItem('hasServiceAgreementAccepted') !== null ? SessionDetails.GetServiceAgreementStatus() : this.clinicAgreement.hasServiceAgreementAccepted || false;\r\n else \r\n this.hasServiceAgreementAccepted = false;\r\n console.log(\"Test2 :\" + new Date())\r\n }\r\n\r\n getPaymentTypes(imz) {\r\n let paymentTypes = '';\r\n const order = ['Voucher: Corporate to Invoice Employer Directly', 'Off-site: Corporate to Invoice Employer Directly', 'Cash Paid by Employee', 'Submit Claims to Insurance'];\r\n \r\n \r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk).sort(\r\n (a, b) => a.paymentTypeName.localeCompare(b.paymentTypeName)\r\n // (a,b)=> a.paymentTypeId-b.paymentTypeId\r\n );\r\n immzs.forEach((element, index, array) => {\r\n // paymentTypes += `

`\r\n paymentTypes += element.paymentTypeName;\r\n if (index !== (array.length - 1)) {\r\n paymentTypes += ',
';\r\n }\r\n // paymentTypes += `

`\r\n });\r\n return paymentTypes;\r\n }\r\n\r\n getImmzPrices(imz) { \r\n let price = '';\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk).sort(\r\n (a, b) => a.paymentTypeName.localeCompare(b.paymentTypeName)\r\n );\r\n immzs.forEach((element, index, array) => {\r\n // if (element.paymentTypeId != '13' && element.paymentTypeId != '11') {\r\n if(element.paymentTypeName==='Submit Claims to Insurance')\r\n {\r\n\r\n price += 'n/a';\r\n price += ',
';\r\n }\r\n else{\r\n price += '$';\r\n let priceEx = element.price;\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose'\r\n if (index + 1 != array.length) {\r\n price += ',
';\r\n }\r\n\r\n }\r\n\r\n \r\n // }\r\n });\r\n // let isCashPaidByEmpExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7).length > 0;\r\n // if (isCashPaidByEmpExists) {\r\n // price = '$';\r\n // let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7)[0].price;\r\n // price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n // price += ' per dose'\r\n // }\r\n return price;\r\n }\r\n\r\n getImmzPricesForVoucher(imz) {\r\n let price;\r\n let isRecordExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13).length > 0;\r\n if (isRecordExists) {\r\n price = '$';\r\n let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13)[0].price;\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose
'\r\n }\r\n return price;\r\n }\r\n \r\n displayInvoiceInfo() {\r\n \r\n if (this.userRecords != null) {\r\n let corp = this.userRecords.filter(c => c.paymentTypeId == \"13\");\r\n let routineExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') == -1);\r\n let covidExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('covid') !== -1);\r\n let flueExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') != -1);\r\n if (corp != null && corp.length > 0) {\r\n this.displayInvoiceAndVoucher = true;\r\n this.InvoiceInformation.push({\r\n \"paymentTypeId\": corp[0].paymentTypeId,\r\n \"sendInvoiceTo\": corp[0].sendInvoiceTo,\r\n \"name\": corp[0].name,\r\n \"phone\": corp[0].phone,\r\n \"fax\": corp[0].fax,\r\n \"email\": corp[0].email,\r\n \"address1\": corp[0].address1,\r\n \"address2\": corp[0].address2,\r\n \"city\": corp[0].city,\r\n \"isTaxExempt\": corp[0].isTaxExempt,\r\n \"state\": corp[0].state,\r\n \"zip\": corp[0].zip,\r\n \"isCopay\": corp[0].isCopay,\r\n \"copayValue\": corp[0].copayValue,\r\n \"isVoucherNeeded\": corp[0].isVoucherNeeded,\r\n \"fluvoucherExpirationDate\": flueExpDateLst.length > 0 ? flueExpDateLst[0].voucherExpirationDate : null,\r\n \"routinevoucherExpirationDate\": routineExpDateLst.length > 0 ? routineExpDateLst[0].voucherExpirationDate : null,\r\n \"covidvoucherExpirationDate\": covidExpDateLst.length > 0 ? covidExpDateLst[0].voucherExpirationDate : null\r\n });\r\n }\r\n }\r\n\r\n }\r\n updateClinicalReqsFields() {\r\n let today: Date = new Date();\r\n this.clinicAgreement.clinicImmunizationList.forEach(imm => {\r\n if (imm && imm.isClinicalReqd == true) {\r\n imm.clinicalReqdApprovedBy = this.userProfile.userPk;\r\n }\r\n });\r\n }\r\n public GetClinicInformation() {\r\n this.clinicInformation = this.clinicAgreement.clinicList;\r\n console.log(this.clinicInformation);\r\n\r\n this.isClinicNoFeesDisbaled = this.clinicInformation.some(imzqty => imzqty.clinicFee !=undefined && imzqty.clinicFee !=null && imzqty.clinicFee > 0 )\r\n console.log(\"djjd\" + this.isClinicNoFeesDisbaled);\r\n\r\n this.clinicInformation.forEach(cl => {\r\n try {\r\n if (typeof (cl.clinicDate) == 'string') {\r\n let dateString = cl.clinicDate.substring(0, cl.clinicDate.indexOf('T'));\r\n if (dateString.length > 0) {\r\n let dateSplitTokens = dateString.split('-');\r\n if (dateSplitTokens.length > 0) {\r\n var dt = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n var clDate = new Date(dt);\r\n cl.clinicDate = clDate.getMonth() + 1 + \"/\" + clDate.getDate() + \"/\" + clDate.getFullYear();\r\n }\r\n }\r\n }\r\n\r\n const transformedStartTime = this._datePipe.transform(cl.startTime, 'shortTime');\r\n if(cl.startTime !== transformedStartTime){\r\n cl.startTime = transformedStartTime;\r\n }\r\n \r\n const transformedEndTime = this._datePipe.transform(cl.endTime, 'shortTime');\r\n if(cl.endTime !== transformedEndTime){\r\n cl.endTime = transformedEndTime;\r\n }\r\n \r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n });\r\n if (this.clinicAgreement.isApproved != null) {\r\n this.clinicAgreement.isApproved = Number(this.clinicAgreement.isApproved);\r\n }\r\n }\r\n\r\n public GetClientInformation() {\r\n this.clientInformation = this.clinicAgreement.clientInfo != null ? this.clinicAgreement.clientInfo : new Client();\r\n }\r\n\r\n public GetWalgreensCOformation() {\r\n\r\n this.walGreensInfo = this.clinicAgreement.walgreenCoInfo != null ? this.clinicAgreement.walgreenCoInfo : new WalgreenCo();\r\n if (this.walGreensInfo.preparedDate != null && this.walGreensInfo.preparedDate != undefined && this.walGreensInfo.preparedDate != '') {\r\n this.walGreensInfo.preparedDate = this._datePipe.transform(this.walGreensInfo.preparedDate, \"MM/dd/yyyy\");\r\n }\r\n }\r\n GetClientLegalInfo() {\r\n\r\n this.clinicAgreement.legalNoticeAddressInfo = this.clinicAgreement.legalNoticeAddressInfo != null ? this.clinicAgreement.legalNoticeAddressInfo : new LegalNoticeAddress();\r\n if (this.clinicAgreement.legalNoticeAddressInfo.attentionTo != null && this.clinicAgreement.legalNoticeAddressInfo.attentionTo != '') {\r\n this.attn = \"Attn:\";\r\n } else {\r\n this.attn = \"\";\r\n }\r\n }\r\n generateArray(obj) {\r\n return Object.keys(obj).map((key) => { return obj[key] });\r\n }\r\n btnClick() {\r\n this.clinicSubmit.emit(1);\r\n };\r\n\r\n saveAgreement() {\r\n this.spinner.show();\r\n this.clinicAgreement.contractPostedByUser = 'Walgreens User';\r\n this.clinicAgreement.isEmailSent = 0;\r\n this.clinicAgreement.contactWagUser = '';\r\n this.clinicAgreement.isApproved = null;\r\n this.clinicAgreement.businessUserEmails = this.agreementEmails;\r\n this.makeValidBooleans();\r\n\r\n\r\n this.saveAgreementData(false, false);\r\n\r\n if(sessionStorage.getItem('Old_immunizationForm') !== null){\r\n sessionStorage.removeItem('Old_immunizationForm');\r\n }\r\n\r\n if(sessionStorage.getItem('hasServiceAgreementAccepted') !== null)\r\n sessionStorage.removeItem('hasServiceAgreementAccepted');\r\n\r\n }\r\n\r\n saveAgreementData(is_email: boolean, is_override?: boolean) {\r\n\r\n if (sessionStorage[\"AmendAgreement\"] && sessionStorage[\"AmendAgreement\"] == \"true\") {\r\n if (!this.clinicAgreement.parentClinicAgreementId || this.clinicAgreement.parentClinicAgreementId == 0) {\r\n if (sessionStorage[\"isStoreBusinessClinicAdded\"] && sessionStorage[\"isStoreBusinessClinicAdded\"] == \"true\") {\r\n this.isStoreBusinessClinicAdded = true;\r\n }\r\n\r\n if (sessionStorage[\"OldImmunizations\"] && sessionStorage[\"clinicList\"]) {\r\n this.immunizationFromDB = JSON.parse(sessionStorage[\"OldImmunizations\"]);\r\n\r\n this.immunizationFromDB.forEach(rec => {\r\n\r\n rec.voucherExpirationDate = rec.voucherExpirationDate != null ? this._datePipe.transform(rec.voucherExpirationDate, \"MM/dd/yyyy\") : rec.voucherExpirationDate;\r\n if (rec.paymentTypeId == \"6\") {\r\n rec.isCopay >= 1 || rec.isCopay === true ? rec.isCopay = 1 : rec.isCopay == null ? rec.isCopay = null : rec.isCopay = 0;\r\n rec.copayValue = (rec.copayValue == null) ? 0 : rec.copayValue;\r\n rec.isTaxExempt >= 1 || rec.isTaxExempt === true ? rec.isTaxExempt = 1 : rec.isTaxExempt == null ? rec.isTaxExempt = null : rec.isTaxExempt = 0;\r\n rec.isVoucherNeeded >= 1 || rec.isVoucherNeeded === true ? rec.isVoucherNeeded = 1 : rec.isVoucherNeeded == null ? rec.isVoucherNeeded = null : rec.isVoucherNeeded = 0;\r\n }\r\n else {\r\n rec.isCopay >= 1 || rec.isCopay === true ? rec.isCopay = 1 : rec.isCopay = null;\r\n\r\n rec.isTaxExempt >= 1 || rec.isTaxExempt === true ? rec.isTaxExempt = 1 : rec.isTaxExempt = null;\r\n rec.isVoucherNeeded >= 1 || rec.isVoucherNeeded === true ? rec.isVoucherNeeded = 1 : rec.isVoucherNeeded = null;\r\n\r\n }\r\n });\r\n\r\n this.clinicImmQtyList = [];\r\n this.clinicAgreement.clinicList.forEach((loc, index) => {\r\n loc.clinicImzQtyList.forEach(ele => {\r\n ele.clinicPk = null;\r\n ele.estimatedQuantity = Number(ele.estimatedQuantity);\r\n this.clinicImmQtyList.push(ele);\r\n });\r\n\r\n });\r\n\r\n let diff: any = this.utility.getDifference(this.clinicAgreement.clinicImmunizationList, this.immunizationFromDB);\r\n\r\n let diffClinicList: any = this.utility.getDifference(this.clinicImmQtyList, JSON.parse(sessionStorage[\"clinicList\"]));\r\n if (!this.isStoreBusinessClinicAdded && (Object.keys(diff).length == 0 && Object.keys(diffClinicList).length == 0)) {\r\n this.displayAmend = true;\r\n this.spinner.hide();\r\n return;\r\n }\r\n\r\n }\r\n\r\n this.clinicAgreement.parentClinicAgreementId = this.clinicAgreement.clinicAgreementPk;\r\n this.clinicAgreement.clinicAgreementPk = null;\r\n this.clinicAgreement.isApproved = null;\r\n this.clinicAgreement.approvedOrRejectedBy = null;\r\n this.clinicAgreement.signature = null;\r\n this.clinicAgreement.notes = null;\r\n }\r\n }\r\n this.clinicAgreement.modifiedBy = this.userProfile.userPk;\r\n if (is_email) {\r\n this.clinicAgreement.isEmailSent = 1;\r\n this.clinicAgreement.isApproved = null;\r\n }\r\n this.updateClinicalReqsFields();\r\n\r\n // Checking if any of the start and end times are in datetime format. If yes, Converting them before sending it to the API.\r\n this.clinicAgreement.clinicList.forEach(element => {\r\n if (Object.prototype.toString.call(element.startTime) === '[object Date]') {\r\n try {\r\n element.startTime = this._datePipe.transform(element.startTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n if (Object.prototype.toString.call(element.endTime) === '[object Date]') {\r\n try {\r\n element.endTime = this._datePipe.transform(element.endTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n });\r\n\r\n this.clinicAgreement.hasServiceAgreementAccepted= this.hasServiceAgreementAccepted;\r\n\r\n this._apiservice.saveAgreementData(SessionDetails.GetStoreId(), 1, this.clinicAgreement, is_override).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case null:\r\n case \"null\":\r\n case '0':\r\n case 0:\r\n this.showDialog(ErrorMessages['contract'], is_email ? ErrorMessages['contractEmailSent'] : ErrorMessages['contractSaved'], true);\r\n break;\r\n case -4:\r\n case '-4':\r\n if (is_email) {\r\n if (!this.clinicAgreement.isEmailSent) {\r\n this.clinicAgreement.isEmailSent = 0;\r\n }\r\n this.clinicAgreement.isApproved = null;\r\n }\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n const msg = String.Format(\"{0}

{1}\", data.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']);\r\n this.is_email = is_email;\r\n this.showConfirmDialogV2(ErrorMessages['eventDateTimeConflict'], msg);\r\n \r\n // this.confirmOverlap(ErrorMessages['eventDateTimeConflict'],\r\n // String.Format(\"{0}

{1}\", data.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']), is_email);\r\n //this.showDialog(ErrorMessages['resolve'], data.errorS.errorMessage, false);\r\n break;\r\n default:\r\n if (is_email) {\r\n this.clinicAgreement.isEmailSent = 0;\r\n this.clinicAgreement.isApproved = null;\r\n }\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage, false);\r\n break;\r\n }\r\n\r\n },\r\n err => {\r\n this.spinner.hide();\r\n if (is_email) {\r\n this.clinicAgreement.isEmailSent = 0;\r\n this.clinicAgreement.isApproved = null;\r\n }\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message, false);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n showConfirmDialogV2(msgSummary: string, msgDetail: string) {\r\n this.confirmDialogSummary = msgSummary;\r\n this.confirmDialogMsg = msgDetail;\r\n this.showConfirmDialog = true;\r\n }\r\n\r\n confirmDialogOverrideAction(){\r\n this.showConfirmDialog = false;\r\n this.saveAgreementData(this.is_email, true);\r\n return true;\r\n }\r\n\r\n confirmDialogCancelAction(){\r\n this.showConfirmDialog = false;\r\n }\r\n\r\n sendEmail() {\r\n let emailList: string = '';\r\n if (this.regularContract.value.email != null) {\r\n emailList = this.regularContract.value.email.replace(/ /g, \"\");\r\n }\r\n if (!this.utility.validateMultipleEmailsCommaSeparated(emailList)) {\r\n this.regularContract.controls['email'].setValidators([Validators.required]);\r\n this.regularContract.controls['email'].updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.regularContract);\r\n let sumMsg = ErrorMessages['errMsg'];\r\n let sMsg = ErrorMessages['emailList'];\r\n this.showDialog(sumMsg, sMsg, false);\r\n return;\r\n }\r\n if (this.clinicAgreement.clinicList.length <= 0) {\r\n let sumMsg = ErrorMessages['errMsg'];\r\n let sMsg = ErrorMessages['clinicListEmpty'];\r\n this.showDialog(sumMsg, sMsg, false);\r\n return;\r\n }\r\n if(this.hasServiceAgreement && !this.hasServiceAgreementAccepted){\r\n this.showDialog(ErrorMessages['errMsg'],ErrorMessages[\"serviceAgreementAcceptence\"], false);\r\n return;\r\n }\r\n this.spinner.show();\r\n this.clinicAgreement.isEmailSent = 1;\r\n this.clinicAgreement.isApproved = null;\r\n this.clinicAgreement.businessUserEmails = emailList.trim();\r\n this.clinicAgreement.contractPostedByUser = 'Walgreens User'\r\n this.clinicAgreement.contactWagUser = '';\r\n this.makeValidBooleans();\r\n this.saveAgreementData(true, false);\r\n \r\n if(sessionStorage.getItem('Old_immunizationForm') !== null){\r\n sessionStorage.removeItem('Old_immunizationForm');\r\n }\r\n\r\n \r\n if(sessionStorage.getItem('hasServiceAgreementAccepted') !== null)\r\n sessionStorage.removeItem('hasServiceAgreementAccepted');\r\n }\r\n makeValidBooleans() {\r\n this.clinicAgreement.clinicImmunizationList.forEach(im => {\r\n if (Number(im.sendInvoiceTo) <= 0) {\r\n im.isTaxExempt = null;\r\n im.isCopay = null;\r\n im.isVoucherNeeded = null;\r\n } else {\r\n Number(im.isTaxExempt) >= 1 ? im.isTaxExempt = 1 : im.isTaxExempt = 0;\r\n Number(im.isCopay) >= 1 ? im.isCopay = 1 : im.isCopay = 0;\r\n Number(im.isVoucherNeeded) >= 1 ? im.isVoucherNeeded = 1 : im.isVoucherNeeded = 0;\r\n im.copayValue = Number(im.copayValue);\r\n if (im.voucherExpirationDate != null && im.voucherExpirationDate != undefined && im.voucherExpirationDate != '') {\r\n im.voucherExpirationDate = this._datePipe.transform(im.voucherExpirationDate, \"MM/dd/yyyy\");\r\n }\r\n }\r\n });\r\n this.clinicAgreement.clinicList.forEach(cl => {\r\n cl.previousContact = 0;\r\n cl.previousLocation = 0;\r\n Number(cl.isNoClinic) >= 1 ? cl.isNoClinic = 1 : cl.isNoClinic = 0;\r\n Number(cl.isReassign) >= 1 ? cl.isReassign = 1 : cl.isReassign = 0;\r\n Number(cl.isCurrent) >= 1 ? cl.isCurrent = 1 : cl.isCurrent = 0;\r\n\r\n if (cl.clinicDate === null || cl.clinicDate === undefined || cl.clinicDate === '') {\r\n cl.clinicDate = null;\r\n } else {\r\n cl.clinicDate = this._datePipe.transform(cl.clinicDate, \"MM/dd/yyyy\");\r\n }\r\n let covidImmList = cl.clinicImzQtyList.filter(p => p.immunizationName.includes(\"COVID19\"));\r\n\r\n covidImmList.length > 0 || this.isCovidVaccineAvailable ? cl.isCovidClinic = 1 : cl.isCovidClinic = 0;\r\n if (cl.visitType == null || (cl.visitType && cl.visitType.length < 0)) {\r\n cl.visitType = null;\r\n }\r\n });\r\n }\r\n\r\n print() {\r\n this.utility.print(\"approveContract\", \"Walgreens Community Off-site Agreement\");\r\n }\r\n cancelAgreementClicked() {\r\n if(sessionStorage.getItem('Old_immunizationForm') !== null){\r\n sessionStorage.removeItem('Old_immunizationForm');\r\n }\r\n\r\n if(sessionStorage.getItem('hasServiceAgreementAccepted') !== null)\r\n sessionStorage.removeItem('hasServiceAgreementAccepted');\r\n\r\n if (sessionStorage[\"AmendAgreement\"] && sessionStorage[\"AmendAgreement\"] == \"true\")\r\n this.router.navigate(['./communityoutreach/LocalClinicProgramDetails']);\r\n else\r\n this.router.navigate(['./communityoutreach/storehome']);\r\n }\r\n\r\n showDialog(msgSummary: string, msgDetail: string, success_message: boolean) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n this.success_message = success_message;\r\n }\r\n okClicked() {\r\n this.display = false;\r\n if (this.success_message) {\r\n this.router.navigateByUrl('/communityoutreach/storehome');\r\n }\r\n }\r\n\r\n languageChangeToSpanish() {\r\n this.enlanguageSelection = false;\r\n this.splanguageSelection = true;\r\n\r\n\r\n let contractdateApproved = null;\r\n if ((this.clinicAgreement && this.clinicAgreement.dateApproved)) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n\r\n let data = this._apiservice.languageChange(2023,this.isCovidVaccineAvailable, true, this.showPreUniversalContract);\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n if (data) {\r\n this.spanishLanguage = data.spanish;\r\n this.headerText = data.header;\r\n this.attachment = data.attachmentheader;\r\n this.imz = data.imzsp;\r\n this.payment = data.paymentsp;\r\n this.rates = data.ratessp;\r\n this.ImzVcnName = data.ImzVcnNameSp;\r\n this.PaymtBillMethod = data.PaymtBillMethodSp;\r\n this.VoucherRates = data.VoucherRatesSp;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesSp;\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsSP;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextSP;\r\n\r\n\r\n this.languageVariables.businessName = data.clientsp;\r\n this.languageVariables.name = data.namesp;\r\n this.languageVariables.eSignature = data.eSignatureSP;\r\n this.languageVariables.date = data.dateSP;\r\n this.languageVariables.dose = data.doseSP;\r\n this.languageVariables.district = data.districtSP;\r\n\r\n this.languageVariables.title = data.titlesp;\r\n this.languageVariables.attentionTo = data.attentionsp;\r\n this.languageVariables.address1 = data.address1sp;\r\n this.languageVariables.address2 = data.address2sp;\r\n this.languageVariables.city = data.citysp;\r\n this.languageVariables.state = data.statesp;\r\n this.languageVariables.zip = data.zipcodesp;\r\n //this.legal_notice = data.legalsp;\r\n //this.client_info = data.clientinfosp;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntSP;\r\n this.languageVariables.approveText = data.approveTextSP;\r\n this.languageVariables.electrSign = data.electrSignSP;\r\n this.languageVariables.notes = data.notesSP;\r\n this.languageVariables.pageTitle = data.pageTitleSP;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffSP;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineSP;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientSP;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensSP;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1SP;\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2SP;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesSP;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingSP;\r\n this.languageVariables.profJudgementText = data.profJudgementTextSP;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngSP;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextSP;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesSP;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingSP;\r\n this.languageVariables.vouchersText = data.vouchersTextSP;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationSP;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsSP;\r\n this.languageVariables.important = data.importantSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.contractYearText1SP);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.influenzaSeasonText1SP);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextSP;\r\n this.languageVariables.siteMin = data.siteMinSP;\r\n this.languageVariables.siteAvg = data.siteAvgSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextSP, data.contractYearText2SP, data.contractYearText2SP);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluSP, data.influenzaSeasonText2SP, data.influenzaSeasonText2SP);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextSP;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingSP;\r\n this.languageVariables.paymentHd = data.paymentSP;\r\n this.languageVariables.paymentText = data.paymentTextSP;\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesSP;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextSP;\r\n this.languageVariables.latePayment = data.latePaymentSP;\r\n this.languageVariables.latePaymentText = data.latePaymentTextSP;\r\n this.languageVariables.costIncrease = data.costIncreaseSP; \r\n this.languageVariables.costIncreasetext = data.costIncreasetextSP; \r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsSP;\r\n this.languageVariables.termAndTerm = data.termAndTermSP;\r\n this.languageVariables.termAndTermText = data.termAndTermTextSP;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationSP;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextSP;\r\n this.languageVariables.waiver = data.waiverSP;\r\n this.languageVariables.waiverText = data.waiverTextSP;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifySP;\r\n this.languageVariables.insurance = data.insuranceSP;\r\n this.languageVariables.insuranceText = data.insuranceTextSP;\r\n this.languageVariables.indemnification = data.indemnificationSP;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let universalContractReleasedate = data.universalContractReleaseDate ? new Date(data.universalContractReleaseDate) : null;\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsSP;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialitySP;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextSP;\r\n this.languageVariables.confidentiality = data.confidentialitySP;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1SP;\r\n this.languageVariables.phi = data.phiSP;\r\n this.languageVariables.phiAb = data.phiAbSP;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2SP;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextSP;\r\n\r\n this.languageVariables.Advertising = data.AdvertisingSP;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextSP;\r\n this.languageVariables.frcMaj = data.frcMajSP;\r\n this.languageVariables.frcMajText = data.frcMajTextSP;\r\n this.languageVariables.compliance = data.complianceSP;\r\n this.languageVariables.complianceText = data.complianceTextSP;\r\n this.languageVariables.assignment = data.assignmentSP;\r\n this.languageVariables.assignmentText = data.assignmentTextSP;\r\n this.languageVariables.notices = data.noticesSP;\r\n this.languageVariables.noticesText = data.noticesTextSP;\r\n this.languageVariables.entireAgr = data.entireAgrSP;\r\n this.languageVariables.entireAgrText = data.entireAgrTextSP;\r\n this.languageVariables.counterPart = data.counterPartsHeadingSP;\r\n this.languageVariables.counterPartsText = data.counterPartsTextSP;\r\n this.languageVariables.rights = data.rightsSP;\r\n this.languageVariables.approve = data.approveSP;\r\n this.languageVariables.reject = data.rejectSP;\r\n this.languageVariables.submit = data.submitSP;\r\n this.languageVariables.printAgreementTxt = data.printAgreementTxtCapsSP;\r\n\r\n this.languageVariables.clinicLocation = data.clinicLocationSP;\r\n this.languageVariables.clinicDate = data.clinicDateSP;\r\n this.languageVariables.clinicTime = data.clinicTimeSP;\r\n this.languageVariables.contact = data.contactSP;\r\n this.languageVariables.phone = data.phoneSP;\r\n this.languageVariables.estShots = data.estShotsSP;\r\n this.languageVariables.location = data.locationSP;\r\n this.languageVariables.time = data.timeSP;\r\n this.languageVariables.email = data.emailSP;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToSP;\r\n this.languageVariables.multipleEmailAddrss = data.multipleEmailAddressSP;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementSP;\r\n this.languageVariables.editAgreeMnt = data.editAgreementSP;\r\n this.languageVariables.saveAgreeMnt = data.saveAgreementSP;\r\n this.languageVariables.cancelTxt = data.cancelSP;\r\n this.languageVariables.noteTxt = data.noteTextSP;\r\n this.languageVariables.table1 = data.table1SP;\r\n this.fluExpiryDate = data.fluExpiryDateSP;\r\n this.routineExpiryDate = data.routineExpiryDateSP;\r\n this.sendInvoiceTo = data.sendInvoiceToSP;\r\n this.isTaxExempt = data.isTaxExemptSP;\r\n this.isCopay = data.isCopaySP;\r\n this.voucherNeeded = data.voucherNeededSP;\r\n this.voucherExpiry = data.voucherExpirySP;\r\n this.copayValue = data.copayValueSP;\r\n this.languageVariables.contactName = data.contactNameSP;\r\n this.languageVariables.contactPhone = data.contactPhoneSP;\r\n this.languageVariables.contactEmail = data.contactEmailSP;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n }\r\n }\r\n languageChangeToEnglish() {\r\n this.splanguageSelection = false;\r\n this.enlanguageSelection = true;\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n\r\n let contractdateApproved = null;\r\n if ((this.clinicAgreement && this.clinicAgreement.dateApproved)) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n\r\n let data = this._apiservice.languageChange(2023,this.isCovidVaccineAvailable, true, this.showPreUniversalContract);\r\n if (data) {\r\n this.englishLanguage = data.english;\r\n this.enheader = data.englishheader;\r\n this.enattachment = data.englishattachment;\r\n this.enattachmentArticleII = data.articleIIEN;\r\n this.articleNoFeeIIEN = data.articleNoFeeIIEN;\r\n this.imz = data.imzen;\r\n this.payment = data.payen;\r\n this.rates = data.ratesen;\r\n this.ImzVcnName = data.ImzVcnNameEn;\r\n this.PaymtBillMethod = data.PaymtBillMethodEn;\r\n this.VoucherRates = data.VoucherRatesEn;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesEn;\r\n\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsEN;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextEN;\r\n\r\n this.languageVariables.businessName = data.clienten;\r\n this.languageVariables.name = data.nameen;\r\n this.languageVariables.eSignature = data.eSignatureEN;\r\n this.languageVariables.date = data.dateEN;\r\n this.languageVariables.dose = data.doseEN;\r\n this.languageVariables.district = data.districtEN;\r\n\r\n this.languageVariables.title = data.titleen;\r\n this.languageVariables.attentionTo = data.attentionen;\r\n this.languageVariables.address1 = data.address1en;\r\n this.languageVariables.address2 = data.address2en;\r\n this.languageVariables.city = data.cityen;\r\n this.languageVariables.state = data.stateen;\r\n this.languageVariables.zip = data.zipcodeen;\r\n //this.legal_notice = data.legalsp;\r\n //this.client_info = data.clientinfosp;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntEN;\r\n this.languageVariables.approveText = data.approveTextEN;\r\n this.languageVariables.electrSign = data.electrSignEN;\r\n this.languageVariables.notes = data.notesEN;\r\n this.languageVariables.pageTitle = data.pageTitleEN;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffEN;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineEN;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientEN;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensEN;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1EN\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2EN;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesEN;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingEN;\r\n this.languageVariables.profJudgementText = data.profJudgementTextEN;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngEN;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextEN;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesEN;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingEN;\r\n this.languageVariables.vouchersText = data.vouchersTextEN;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationEN;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsEN;\r\n this.languageVariables.important = data.importantEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.contractYearText1EN);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.influenzaSeasonText1EN);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextEN;\r\n this.languageVariables.siteMin = data.siteMinEN;\r\n this.languageVariables.siteAvg = data.siteAvgEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextEN, data.contractYearText2EN, data.contractYearText2EN);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluEN, data.influenzaSeasonText2EN, data.influenzaSeasonText2EN);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextEN;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingEN;\r\n this.languageVariables.paymentHd = data.paymentEN;\r\n this.languageVariables.paymentHd = data.paymentEN;\r\n this.languageVariables.singleStarTAndC = data.singleStarTAndC;\r\n this.languageVariables.singleStarTAndC2 = data.singleStarTAndC2;\r\n this.languageVariables.article2Text = data.article2Text;\r\n \r\n if (this.checkIfCovidImmForCorpInvoiceSelected()) {\r\n this.enheader = this.showPreUniversalContract ? data.directBillEnglishheader : data.englishheader;\r\n this.languageVariables.paymentText = !this.showPreUniversalContract ? data.paymentTextEN : data.paymentTextDirectBillEN;\r\n }\r\n else {\r\n this.enheader = data.englishheader;\r\n this.languageVariables.paymentText = data.paymentTextEN;\r\n }\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesEN;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextEN;\r\n this.languageVariables.latePayment = data.latePaymentEN;\r\n this.languageVariables.latePaymentText = data.latePaymentTextEN;\r\n this.languageVariables.costIncrease = data.costIncreaseEN; \r\n this.languageVariables.costIncreasetext = data.costIncreasetextEN; \r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsEN;\r\n this.languageVariables.termAndTerm = data.termAndTermEN;\r\n this.languageVariables.termAndTermText = data.termAndTermTextEN;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationEN;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextEN;\r\n this.languageVariables.waiver = data.waiverEN;\r\n this.languageVariables.waiverText = data.waiverTextEN;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifyEN;\r\n this.languageVariables.insurance = data.insuranceEN;\r\n this.languageVariables.insuranceText = data.insuranceTextEN;\r\n this.languageVariables.indemnification = data.indemnificationEN;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (this.isCovidVaccineAvailable == true && (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate)) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsEN;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialityEN;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextEN;\r\n this.languageVariables.confidentiality = data.confidentialityEN;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1EN;\r\n this.languageVariables.phi = data.phiEN;\r\n this.languageVariables.phiAb = data.phiAbEN;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2EN;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextEN;\r\n this.languageVariables.Advertising = data.AdvertisingEN;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextEN;\r\n this.languageVariables.frcMaj = data.frcMajEN;\r\n this.languageVariables.frcMajText = data.frcMajTextEN;\r\n this.languageVariables.compliance = data.complianceEN;\r\n this.languageVariables.complianceText = data.complianceTextEN;\r\n this.languageVariables.assignment = data.assignmentEN;\r\n this.languageVariables.assignmentText = data.assignmentTextEN;\r\n this.languageVariables.notices = data.noticesEN;\r\n this.languageVariables.noticesText = data.noticesTextEN;\r\n this.languageVariables.entireAgr = data.entireAgrEN;\r\n this.languageVariables.entireAgrText = data.entireAgrTextEN;\r\n this.languageVariables.counterPart = data.counterPartsHeadingEN;\r\n this.languageVariables.counterPartsText = data.counterPartsTextEN;\r\n this.languageVariables.rights = data.rightsEN;\r\n\r\n this.languageVariables.approve = data.approveEN;\r\n this.languageVariables.reject = data.rejectEN;\r\n this.languageVariables.submit = data.submitEN;\r\n this.languageVariables.printAgreementTxt = data.printAgreementTxtCapsEN;\r\n\r\n this.languageVariables.clinicLocation = data.clinicLocationEN;\r\n this.languageVariables.clinicDate = data.clinicDateEN;\r\n this.languageVariables.clinicTime = data.clinicTimeEN;\r\n this.languageVariables.contact = data.contactEN;\r\n this.languageVariables.phone = data.phoneEN;\r\n this.languageVariables.estShots = data.estShotsEN;\r\n this.languageVariables.location = data.locationEN;\r\n this.languageVariables.time = data.timeEN;\r\n this.languageVariables.email = data.emailEN;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToEN;\r\n this.languageVariables.multipleEmailAddrss = data.multipleEmailAddressEN;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementEN;\r\n this.languageVariables.editAgreeMnt = data.editAgreementEN;\r\n this.languageVariables.saveAgreeMnt = data.saveAgreementEN;\r\n this.languageVariables.cancelTxt = data.cancelEN;\r\n this.languageVariables.noteTxt = data.noteTextEN;\r\n this.languageVariables.table1 = data.table1EN;\r\n this.fluExpiryDate = data.fluExpiryDateEN;\r\n this.routineExpiryDate = data.routineExpiryDateEN;\r\n this.languageVariables.estShots = data.estShotsEN;\r\n this.sendInvoiceTo = data.sendInvoiceToEN;\r\n this.isTaxExempt = data.isTaxExemptEN;\r\n this.isCopay = data.isCopayEN;\r\n this.voucherNeeded = data.voucherNeededEN;\r\n this.voucherExpiry = data.voucherExpiryEN;\r\n this.copayValue = data.copayValueEN;\r\n this.languageVariables.contactName = data.contactName;\r\n this.languageVariables.contactPhone = data.contactPhone;\r\n this.languageVariables.contactEmail = data.contactEmail;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n }\r\n\r\n this.language = \"TRANSLATE TO ENGLISH\";\r\n }\r\n\r\n changeLanguageToSpanish() {\r\n this.enlanguageSelection = false;\r\n this.splanguageSelection = true;\r\n this.languageChangeToSpanish();\r\n }\r\n\r\n changeLanguageToEnglish() {\r\n this.enlanguageSelection = true;\r\n this.splanguageSelection = false;\r\n this.languageChangeToEnglish();\r\n }\r\n\r\n\r\n checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location: Clinic): boolean {\r\n return this._apiservice.checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location) && Number(location.isNoClinic) >= 1;\r\n }\r\n checkIfFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfNonFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfNonFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfCovidImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfCovidImmForCorpInvoiceSelected();\r\n }\r\n checkIfNonFluImmIsSelected(): boolean {\r\n return this._apiservice.checkIfNonFluImmIsSelected();\r\n }\r\n getVoucherExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getRoutineExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getCovidExpiryDate(): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1 && imz.immunizationName.toLowerCase().search('covid') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n isFieldValid(field: string) {\r\n return !this.regularContract.get(field).valid && this.regularContract.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n enableContractEditStatus() {\r\n if (this.clinicAgreement != null && this.clinicAgreement != undefined) {\r\n if (this.clinicAgreement.isEmailSent != null &&\r\n (this.clinicAgreement.isEmailSent == 1) &&\r\n (this.clinicAgreement.isApproved == null || this.clinicAgreement.isApproved == 1)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n showHideSaveBtnStatus() {\r\n if (this.clinicAgreement != null && this.clinicAgreement != undefined) {\r\n if (this.clinicAgreement.isEmailSent != null &&\r\n (this.clinicAgreement.isEmailSent == 1) &&\r\n (this.clinicAgreement.isApproved == null || this.clinicAgreement.isApproved == 1 || this.clinicAgreement.isApproved == 0)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n confirmOverlap(hdr: string, msg: string, is_email: boolean) {\r\n\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n this.saveAgreementData(is_email, true);\r\n return true;\r\n },\r\n reject: () => {\r\n return false;\r\n }\r\n });\r\n }\r\n amendOkClicked() {\r\n this.displayAmend = false;\r\n }\r\n checkToPrintAsterisk(immAbvName: string, immName: string): boolean {\r\n let bRet: boolean = false;\r\n if (immAbvName && immAbvName.search(/Two Dose/gi) >= 0) {\r\n bRet = true;\r\n }\r\n return bRet;\r\n }\r\n checkForDoubleAsteriskRates(): boolean {\r\n return this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/Dose/gi) >= 0).length > 0;\r\n }\r\n\r\n handleServiceAgreementAccepted() {\r\n SessionDetails.SetServiceAgreementStatus(this.hasServiceAgreementAccepted);\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { OutreachProgramService } from '../../services/outreach-program.service';\r\nimport { ContractData, WalgreenCo, Client, Clinic, LegalNoticeAddress, LanguageVariables } from '../../../../models/contract';//Contract\r\nimport { ValidationHandler } from '../../Helpers/ValidationHandler';\r\nimport { AlertService } from '../../../../alert.service';\r\nimport { ContractComponent } from '../local-contracts/contract.component';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { Util } from '../../../../utility/util';\r\nimport { String, StringBuilder } from 'typescript-string-operations';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { universalContractReleaseDate } from '../../../../JSON/UniversalTandC';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { ClinicDetailsUtilities } from '../../../../utility/clinicDetailsUtilities';\r\n\r\n@Component({\r\n selector: 'app-agreement-2024',\r\n templateUrl: './agreement.component-2024.html',\r\n styleUrls: ['./agreement.component-2024.css'],\r\n providers: [ValidationHandler, DatePipe]\r\n})\r\nexport class AgreementComponent2024 implements OnInit {\r\n userProfile: any;\r\n InvoiceInformation: any = [];\r\n clinicImmQtyList: any[] = [];\r\n immunizationFromDB: any[] = [];\r\n displayInvoiceAndVoucher: boolean = false;\r\n isStoreBusinessClinicAdded: boolean = false;\r\n clinicAgreement: ContractData;\r\n currentUser = [];\r\n userRecords = [];\r\n immunizationInformation = [];\r\n clinicInformation = [];\r\n clientInformation: Client;\r\n walGreensInfo: WalgreenCo;\r\n printAgreement: boolean = false;\r\n isAmendAgreement: boolean = false;\r\n agreementEmails: string = '';\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n confirmDialogSummary: string;\r\n confirmDialogMsg: string;\r\n showConfirmDialog = false;\r\n is_email: boolean;\r\n display: boolean = false;\r\n displayAmend: boolean = false;\r\n enlanguageSelection: boolean;\r\n splanguageSelection: boolean;\r\n englishLanguage: string;\r\n enheader: string;\r\n enattachment: string;\r\n enattachmentArticleII: string;\r\n articleNoFeeIIEN: string;\r\n spanishLanguage: string;\r\n headerText: string;\r\n attachment: string;\r\n imz: string;\r\n payment: string;\r\n rates: string;\r\n language: string;\r\n success_message: boolean = false;\r\n today: Date = new Date();\r\n currentLanguage: string;\r\n regularContract: FormGroup;\r\n isSelected: boolean = false;\r\n isClinicNoFeesDisbaled: boolean = false;\r\n isCovidVaccineAvailable: boolean = false;\r\n agreementmessage: string = '';\r\n @Output() clinicSubmit: EventEmitter = new EventEmitter();\r\n @ViewChild(ContractComponent) cmp: ContractComponent;\r\n\r\n /////////////////////////////////////////// LANGUAGE Variables ///////////////////////\r\n languageVariables = new LanguageVariables();\r\n\r\n fluExpiryDate = '';\r\n routineExpiryDate = '';\r\n sendInvoiceTo = '';\r\n isTaxExempt = ''\r\n isCopay = '';\r\n voucherNeeded = ''\r\n voucherExpiry = ''\r\n copayValue = '';\r\n attn = \"Attn\"\r\n OverrideOrOkTitle: string = \"Override\";\r\n showCancelBtn: boolean = true\r\n isCovidVoucher: boolean = false;\r\n opportunityData;\r\n privateClinicFees: string = \"\";\r\n showPreUniversalContract: boolean = false;\r\n siteMinimum: number = 25;\r\n ImzVcnName: any;\r\n PaymtBillMethod: any;\r\n VoucherRates: any;\r\n OffSiteClinicRates: any;\r\n isShow3dot3: boolean = true;\r\n isShowsingleStarTAndC2: boolean;\r\n hasServiceAgreement: boolean = false;\r\n hasServiceAgreementAccepted: boolean = false;\r\n hasServiceFeefeatureDisabled = environment.disabledFeatures.serviceFee;\r\n isPreviousClinic: number | null;\r\n dispalyInvoiceData : boolean = false;\r\n\r\n // isFluOrStandardCovid: boolean = false;\r\n // isLtcfFluOrLtcfCovid: boolean = false;\r\n //////////////////////////////////////////\r\n\r\n constructor(\r\n private _apiservice: OutreachProgramService,\r\n private _fb: FormBuilder,\r\n private router: Router,\r\n private utility: Util,\r\n private _datePipe: DatePipe,\r\n private spinner: NgxSpinnerService,\r\n private confirmationService: ConfirmationService\r\n ) {\r\n this.success_message = false;\r\n }\r\n\r\n ngOnInit() {\r\n window.scrollTo(0, 0);\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n this.opportunityData = SessionDetails.GetopportunitiesData();\r\n this.privateClinicFees = this.opportunityData ? this.opportunityData.privateClinicFees : \"8.5\";\r\n this.printAgreement = false;\r\n this.clinicAgreement = this._apiservice.fetchContractAgreementData();\r\n const aggrementDate = new Date(this.clinicAgreement.dateCreated);\r\n\r\n this.hasServiceAgreement = this.clinicAgreement?.clinicList?.some(clinic => {\r\n if (clinic.hasOwnProperty(\"isNoClinic\") && clinic.hasOwnProperty(\"isNoClinicFee\")) {\r\n if (aggrementDate > new Date(environment.serviceFeeAgreement.agreementDate)) {\r\n this.agreementmessage = environment.serviceFeeAgreement.servicefeeupdateMessage;\r\n return !clinic?.isNoClinic && !clinic?.isNoClinicFee;\r\n }\r\n else {\r\n this.agreementmessage = environment.serviceFeeAgreement.servicefeeMessage;\r\n return !clinic?.isNoClinic && !clinic?.isNoClinicFee;\r\n }\r\n } else if (clinic.hasOwnProperty(\"isNoClinic\")) {\r\n if (aggrementDate > new Date(environment.serviceFeeAgreement.agreementDate)) {\r\n this.agreementmessage = environment.serviceFeeAgreement.servicefeeupdateMessage;\r\n return !clinic?.isNoClinic\r\n } else {\r\n this.agreementmessage = environment.serviceFeeAgreement.servicefeeMessage;\r\n return !clinic?.isNoClinic\r\n }\r\n } else if (clinic.hasOwnProperty(\"isNoClinicFee\")) {\r\n if (aggrementDate > new Date(environment.serviceFeeAgreement.agreementDate)) {\r\n this.agreementmessage = environment.serviceFeeAgreement.servicefeeupdateMessage;\r\n return !clinic?.isNoClinic\r\n } else {\r\n this.agreementmessage = environment.serviceFeeAgreement.servicefeeMessage;\r\n return !clinic?.isNoClinicFee;\r\n }\r\n } else {\r\n return false;\r\n }\r\n });\r\n this.isPreviousClinic = Number(ClinicDetailsUtilities.getisPreviousClinic(this.clinicAgreement?.clinicList));\r\n console.log(\"Test :\" + new Date())\r\n\r\n this.userRecords = this.clinicAgreement.clinicImmunizationList;\r\n let covidVaccine = this.userRecords.filter(p => p.immunizationName.includes('COVID19 Vaccine (')).length > 0;\r\n //let CovidVoucher = this.userRecords.filter(item=>item.immunizationName.includes('Vaccine Voucher')).length > 0;\r\n if (covidVaccine) {\r\n this.isCovidVoucher = true;\r\n }\r\n // else{\r\n // this.isCovidVoucher = true;\r\n // }\r\n if (sessionStorage[\"AmendAgreement\"] != null && sessionStorage[\"AmendAgreement\"] == \"true\") {\r\n this.isAmendAgreement = true;\r\n }\r\n else {\r\n this.isAmendAgreement = false;\r\n // this.hasServiceAgreementAccepted = this.clinicAgreement.hasServiceAgreementAccepted;\r\n }\r\n this.displayInvoiceInfo();\r\n this.GetClinicInformation();\r\n //this.GetImmunizationformation();\r\n this.GetClientInformation();\r\n this.GetWalgreensCOformation();\r\n this.GetClientLegalInfo();\r\n this.enlanguageSelection = true;\r\n this.splanguageSelection = false;\r\n if (this.splanguageSelection) {\r\n this.languageChangeToSpanish();\r\n } else {\r\n this.languageChangeToEnglish();\r\n }\r\n this.isSelected = false;\r\n let isApproved: string = null;\r\n if (this.clinicAgreement.isApproved == null) {\r\n isApproved = '';\r\n } else if (Number(this.clinicAgreement.isApproved) >= 1) {\r\n isApproved = '1';\r\n } else if (Number(this.clinicAgreement.isApproved) <= 0) {\r\n this.isSelected = true;\r\n isApproved = '2';\r\n }\r\n\r\n this.regularContract = this._fb.group({\r\n email_signature: this._fb.control(this.clinicAgreement.signature, null),\r\n user_notes: this._fb.control(this.clinicAgreement.notes, null),\r\n radioBtn: this._fb.control(isApproved, null),\r\n email: this._fb.control('', null)\r\n });\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n let opportunitie_data = SessionDetails.GetopportunitiesData();\r\n if (opportunitie_data.covidOpportunityType == 2 || opportunitie_data.covidOpportunityType == 0 || opportunitie_data.fluOpportunityType == 0) {\r\n // this.isFluOrStandardCovid = true;\r\n this.siteMinimum = 25;\r\n }\r\n if (opportunitie_data.covidOpportunityType == 1 || opportunitie_data.fluOpportunityType == 3) {\r\n // this.isLtcfFluOrLtcfCovid = true;\r\n this.siteMinimum = 15;\r\n\r\n }\r\n if (!this.isAmendAgreement)\r\n this.hasServiceAgreementAccepted = sessionStorage.getItem('hasServiceAgreementAccepted') !== null ? SessionDetails.GetServiceAgreementStatus() : this.clinicAgreement.hasServiceAgreementAccepted || false;\r\n else\r\n this.hasServiceAgreementAccepted = this.clinicAgreement.hasServiceAgreementAccepted;\r\n console.log(\"Test2 :\" + new Date())\r\n }\r\n\r\n getPaymentTypes(imz) {\r\n let paymentTypes = '';\r\n const order = ['Voucher: Corporate to Invoice Employer Directly', 'Off-site: Corporate to Invoice Employer Directly', 'Cash Paid by Employee', 'Submit Claims to Insurance'];\r\n\r\n\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk).sort(\r\n (a, b) => a.paymentTypeName.localeCompare(b.paymentTypeName)\r\n // (a,b)=> a.paymentTypeId-b.paymentTypeId\r\n );\r\n immzs.forEach((element, index, array) => {\r\n // paymentTypes += `

`\r\n paymentTypes += element.paymentTypeName;\r\n if (index !== (array.length - 1)) {\r\n paymentTypes += ',
';\r\n }\r\n // paymentTypes += `

`\r\n });\r\n return paymentTypes;\r\n }\r\n\r\n getImmzPrices(imz) {\r\n let price = '';\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk).sort(\r\n (a, b) => a.paymentTypeName.localeCompare(b.paymentTypeName)\r\n );\r\n immzs.forEach((element, index, array) => {\r\n // if (element.paymentTypeId != '13' && element.paymentTypeId != '11') {\r\n // if (element.paymentTypeName === 'Submit Claims to Insurance' && imz.IsPreviousClinic) {\r\n\r\n // price += 'n/a';\r\n // price += ',
';\r\n // }\r\n // else {\r\n\r\n let priceEx = element.price;\r\n if (priceEx < 0) {\r\n price += 'n/a'\r\n } else {\r\n price += '$';\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose';\r\n }\r\n if (index + 1 != array.length) {\r\n price += ',
';\r\n }\r\n\r\n // }\r\n\r\n\r\n // }\r\n });\r\n // let isCashPaidByEmpExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7).length > 0;\r\n // if (isCashPaidByEmpExists) {\r\n // price = '$';\r\n // let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7)[0].price;\r\n // price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n // price += ' per dose'\r\n // }\r\n return price;\r\n }\r\n\r\n getImmzPricesForVoucher(imz) {\r\n let price;\r\n let isRecordExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13).length > 0;\r\n if (isRecordExists) {\r\n price = '$';\r\n let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13)[0].price;\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose
'\r\n }\r\n return price;\r\n }\r\n\r\n displayInvoiceInfo() {\r\n\r\n if (this.userRecords != null) {\r\n let corp = this.userRecords[0];\r\n corp.isVoucherNeeded = this.userRecords.some((record) => record.isVoucherNeeded === true || Number(record.isVoucherNeeded) === 1);\r\n this.userRecords.forEach(c => c.paymentTypeId == \"13\" ? this.displayInvoiceAndVoucher = true : this.displayInvoiceAndVoucher = false)\r\n let routineExpDateLst = this.userRecords.filter(c => c.immunizationName.toLowerCase().search('flu') == -1);\r\n let covidExpDateLst = this.userRecords.filter(c => c.immunizationName.toLowerCase().search('covid') !== -1);\r\n let flueExpDateLst = this.userRecords.filter(c => c.immunizationName.toLowerCase().search('flu') != -1);\r\n if (corp != null && Object.keys(corp).length > 0) {\r\n this.InvoiceInformation.push({\r\n \"paymentTypeId\": corp.paymentTypeId,\r\n \"sendInvoiceTo\": corp.sendInvoiceTo,\r\n \"name\": corp.name,\r\n \"phone\": corp.phone,\r\n \"fax\": corp.fax,\r\n \"email\": corp.email,\r\n \"address1\": corp.address1,\r\n \"address2\": corp.address2,\r\n \"city\": corp.city,\r\n \"isTaxExempt\": corp.isTaxExempt,\r\n \"state\": corp.state,\r\n \"zip\": corp.zip,\r\n \"isCopay\": corp.isCopay,\r\n \"copayValue\": corp.copayValue,\r\n \"isVoucherNeeded\": corp.isVoucherNeeded,\r\n \"fluvoucherExpirationDate\": flueExpDateLst.length > 0 ? flueExpDateLst[0].voucherExpirationDate : null,\r\n \"routinevoucherExpirationDate\": routineExpDateLst.length > 0 ? routineExpDateLst[0].voucherExpirationDate : null,\r\n \"covidvoucherExpirationDate\": covidExpDateLst.length > 0 ? covidExpDateLst[0].voucherExpirationDate : null\r\n }); \r\n\r\n if(this.userRecords.filter(item => item.paymentTypeId == 13).length > 0 || this.userRecords.filter(item => item.paymentTypeId == 6).length > 0){\r\n this.dispalyInvoiceData=true;\r\n }\r\n else{\r\n this.dispalyInvoiceData=false;\r\n }\r\n }\r\n }\r\n\r\n }\r\n updateClinicalReqsFields() {\r\n let today: Date = new Date();\r\n this.clinicAgreement.clinicImmunizationList.forEach(imm => {\r\n if (imm && imm.isClinicalReqd == true) {\r\n imm.clinicalReqdApprovedBy = this.userProfile.userPk;\r\n }\r\n });\r\n }\r\n public GetClinicInformation() {\r\n this.clinicInformation = this.clinicAgreement.clinicList;\r\n console.log(this.clinicInformation);\r\n\r\n this.isClinicNoFeesDisbaled = this.clinicInformation.some(imzqty => imzqty.clinicFee != undefined && imzqty.clinicFee != null && imzqty.clinicFee > 0)\r\n console.log(\"djjd\" + this.isClinicNoFeesDisbaled);\r\n\r\n this.clinicInformation.forEach(cl => {\r\n try {\r\n if (typeof (cl.clinicDate) == 'string') {\r\n let dateString = cl.clinicDate.substring(0, cl.clinicDate.indexOf('T'));\r\n if (dateString.length > 0) {\r\n let dateSplitTokens = dateString.split('-');\r\n if (dateSplitTokens.length > 0) {\r\n var dt = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n var clDate = new Date(dt);\r\n cl.clinicDate = clDate.getMonth() + 1 + \"/\" + clDate.getDate() + \"/\" + clDate.getFullYear();\r\n }\r\n }\r\n }\r\n\r\n const transformedStartTime = this._datePipe.transform(cl.startTime, 'shortTime');\r\n if (cl.startTime !== transformedStartTime) {\r\n cl.startTime = transformedStartTime;\r\n }\r\n\r\n const transformedEndTime = this._datePipe.transform(cl.endTime, 'shortTime');\r\n if (cl.endTime !== transformedEndTime) {\r\n cl.endTime = transformedEndTime;\r\n }\r\n\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n });\r\n if (this.clinicAgreement.isApproved != null) {\r\n this.clinicAgreement.isApproved = Number(this.clinicAgreement.isApproved);\r\n }\r\n }\r\n\r\n public GetClientInformation() {\r\n this.clientInformation = this.clinicAgreement.clientInfo != null ? this.clinicAgreement.clientInfo : new Client();\r\n }\r\n\r\n public GetWalgreensCOformation() {\r\n\r\n this.walGreensInfo = this.clinicAgreement.walgreenCoInfo != null ? this.clinicAgreement.walgreenCoInfo : new WalgreenCo();\r\n if (this.walGreensInfo.preparedDate != null && this.walGreensInfo.preparedDate != undefined && this.walGreensInfo.preparedDate != '') {\r\n this.walGreensInfo.preparedDate = this._datePipe.transform(this.walGreensInfo.preparedDate, \"MM/dd/yyyy\");\r\n }\r\n }\r\n GetClientLegalInfo() {\r\n\r\n this.clinicAgreement.legalNoticeAddressInfo = this.clinicAgreement.legalNoticeAddressInfo != null ? this.clinicAgreement.legalNoticeAddressInfo : new LegalNoticeAddress();\r\n if (this.clinicAgreement.legalNoticeAddressInfo.attentionTo != null && this.clinicAgreement.legalNoticeAddressInfo.attentionTo != '') {\r\n this.attn = \"Attn:\";\r\n } else {\r\n this.attn = \"\";\r\n }\r\n }\r\n generateArray(obj) {\r\n return Object.keys(obj).map((key) => { return obj[key] });\r\n }\r\n btnClick() {\r\n this.clinicSubmit.emit(1);\r\n };\r\n\r\n saveAgreement() {\r\n this.spinner.show();\r\n this.clinicAgreement.contractPostedByUser = 'Walgreens User';\r\n this.clinicAgreement.isEmailSent = 0;\r\n this.clinicAgreement.contactWagUser = '';\r\n this.clinicAgreement.isApproved = null;\r\n this.clinicAgreement.businessUserEmails = this.agreementEmails;\r\n this.makeValidBooleans();\r\n\r\n\r\n this.saveAgreementData(false, false);\r\n\r\n if (sessionStorage.getItem('Old_immunizationForm') !== null) {\r\n sessionStorage.removeItem('Old_immunizationForm');\r\n }\r\n\r\n if (sessionStorage.getItem('hasServiceAgreementAccepted') !== null)\r\n sessionStorage.removeItem('hasServiceAgreementAccepted');\r\n\r\n }\r\n\r\n saveAgreementData(is_email: boolean, is_override?: boolean) {\r\n\r\n if (sessionStorage[\"AmendAgreement\"] && sessionStorage[\"AmendAgreement\"] == \"true\") {\r\n if (!this.clinicAgreement.parentClinicAgreementId || this.clinicAgreement.parentClinicAgreementId == 0) {\r\n if (sessionStorage[\"isStoreBusinessClinicAdded\"] && sessionStorage[\"isStoreBusinessClinicAdded\"] == \"true\") {\r\n this.isStoreBusinessClinicAdded = true;\r\n }\r\n\r\n if (sessionStorage[\"OldImmunizations\"] && sessionStorage[\"clinicList\"]) {\r\n this.immunizationFromDB = JSON.parse(sessionStorage[\"OldImmunizations\"]);\r\n\r\n this.immunizationFromDB.forEach(rec => {\r\n\r\n rec.voucherExpirationDate = rec.voucherExpirationDate != null ? this._datePipe.transform(rec.voucherExpirationDate, \"MM/dd/yyyy\") : rec.voucherExpirationDate;\r\n if (rec.paymentTypeId == \"6\") {\r\n rec.isCopay >= 1 || rec.isCopay === true ? rec.isCopay = 1 : rec.isCopay == null ? rec.isCopay = null : rec.isCopay = 0;\r\n rec.copayValue = (rec.copayValue == null) ? 0 : rec.copayValue;\r\n rec.isTaxExempt >= 1 || rec.isTaxExempt === true ? rec.isTaxExempt = 1 : rec.isTaxExempt == null ? rec.isTaxExempt = null : rec.isTaxExempt = 0;\r\n rec.isVoucherNeeded >= 1 || rec.isVoucherNeeded === true ? rec.isVoucherNeeded = 1 : rec.isVoucherNeeded == null ? rec.isVoucherNeeded = null : rec.isVoucherNeeded = 0;\r\n }\r\n else {\r\n rec.isCopay >= 1 || rec.isCopay === true ? rec.isCopay = 1 : rec.isCopay = null;\r\n\r\n rec.isTaxExempt >= 1 || rec.isTaxExempt === true ? rec.isTaxExempt = 1 : rec.isTaxExempt = null;\r\n rec.isVoucherNeeded >= 1 || rec.isVoucherNeeded === true ? rec.isVoucherNeeded = 1 : rec.isVoucherNeeded = null;\r\n\r\n }\r\n });\r\n\r\n this.clinicImmQtyList = [];\r\n this.clinicAgreement.clinicList.forEach((loc, index) => {\r\n loc.clinicImzQtyList.forEach(ele => {\r\n ele.clinicPk = null;\r\n ele.estimatedQuantity = Number(ele.estimatedQuantity);\r\n this.clinicImmQtyList.push(ele);\r\n });\r\n\r\n });\r\n\r\n let diff: any = this.utility.getDifference(this.clinicAgreement.clinicImmunizationList, this.immunizationFromDB);\r\n\r\n let diffClinicList: any = this.utility.getDifference(this.clinicImmQtyList, JSON.parse(sessionStorage[\"clinicList\"]));\r\n if (!this.isStoreBusinessClinicAdded && (Object.keys(diff).length == 0 && Object.keys(diffClinicList).length == 0)) {\r\n this.displayAmend = true;\r\n this.spinner.hide();\r\n return;\r\n }\r\n\r\n }\r\n\r\n this.clinicAgreement.parentClinicAgreementId = this.clinicAgreement.clinicAgreementPk;\r\n this.clinicAgreement.clinicAgreementPk = null;\r\n this.clinicAgreement.isApproved = null;\r\n this.clinicAgreement.approvedOrRejectedBy = null;\r\n this.clinicAgreement.signature = null;\r\n this.clinicAgreement.notes = null;\r\n }\r\n }\r\n this.clinicAgreement.modifiedBy = this.userProfile.userPk;\r\n if (is_email) {\r\n this.clinicAgreement.isEmailSent = 1;\r\n this.clinicAgreement.isApproved = null;\r\n }\r\n this.updateClinicalReqsFields();\r\n\r\n // Checking if any of the start and end times are in datetime format. If yes, Converting them before sending it to the API.\r\n this.clinicAgreement.clinicList.forEach(element => {\r\n if (Object.prototype.toString.call(element.startTime) === '[object Date]') {\r\n try {\r\n element.startTime = this._datePipe.transform(element.startTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n if (Object.prototype.toString.call(element.endTime) === '[object Date]') {\r\n try {\r\n element.endTime = this._datePipe.transform(element.endTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n });\r\n\r\n this.clinicAgreement.hasServiceAgreementAccepted = this.hasServiceAgreementAccepted;\r\n\r\n this._apiservice.saveAgreementData(SessionDetails.GetStoreId(), 1, this.clinicAgreement, is_override).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case null:\r\n case \"null\":\r\n case '0':\r\n case 0:\r\n this.showDialog(ErrorMessages['contract'], is_email ? ErrorMessages['contractEmailSent'] : ErrorMessages['contractSaved'], true);\r\n break;\r\n case -4:\r\n case '-4':\r\n if (is_email) {\r\n if (!this.clinicAgreement.isEmailSent) {\r\n this.clinicAgreement.isEmailSent = 0;\r\n }\r\n this.clinicAgreement.isApproved = null;\r\n }\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n const msg = String.Format(\"{0}

{1}\", data.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']);\r\n this.is_email = is_email;\r\n this.showConfirmDialogV2(ErrorMessages['eventDateTimeConflict'], msg);\r\n\r\n // this.confirmOverlap(ErrorMessages['eventDateTimeConflict'],\r\n // String.Format(\"{0}

{1}\", data.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']), is_email);\r\n //this.showDialog(ErrorMessages['resolve'], data.errorS.errorMessage, false);\r\n break;\r\n default:\r\n if (is_email) {\r\n this.clinicAgreement.isEmailSent = 0;\r\n this.clinicAgreement.isApproved = null;\r\n }\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage, false);\r\n break;\r\n }\r\n\r\n },\r\n err => {\r\n this.spinner.hide();\r\n if (is_email) {\r\n this.clinicAgreement.isEmailSent = 0;\r\n this.clinicAgreement.isApproved = null;\r\n }\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message, false);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n showConfirmDialogV2(msgSummary: string, msgDetail: string) {\r\n this.confirmDialogSummary = msgSummary;\r\n this.confirmDialogMsg = msgDetail;\r\n this.showConfirmDialog = true;\r\n }\r\n\r\n confirmDialogOverrideAction() {\r\n this.showConfirmDialog = false;\r\n this.saveAgreementData(this.is_email, true);\r\n return true;\r\n }\r\n\r\n confirmDialogCancelAction() {\r\n this.showConfirmDialog = false;\r\n }\r\n\r\n sendEmail() {\r\n let emailList: string = '';\r\n if (this.regularContract.value.email != null) {\r\n emailList = this.regularContract.value.email.replace(/ /g, \"\");\r\n }\r\n if (!this.utility.validateMultipleEmailsCommaSeparated(emailList)) {\r\n this.regularContract.controls['email'].setValidators([Validators.required]);\r\n this.regularContract.controls['email'].updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.regularContract);\r\n let sumMsg = ErrorMessages['errMsg'];\r\n let sMsg = ErrorMessages['emailList'];\r\n this.showDialog(sumMsg, sMsg, false);\r\n return;\r\n }\r\n if (this.clinicAgreement.clinicList.length <= 0) {\r\n let sumMsg = ErrorMessages['errMsg'];\r\n let sMsg = ErrorMessages['clinicListEmpty'];\r\n this.showDialog(sumMsg, sMsg, false);\r\n return;\r\n }\r\n if (!this.hasServiceFeefeatureDisabled || this.isPreviousClinic) {\r\n if (this.hasServiceAgreement && !this.hasServiceAgreementAccepted) {\r\n this.showDialog(ErrorMessages['errMsg'], ErrorMessages[\"serviceAgreementAcceptence\"], false);\r\n return;\r\n }\r\n }\r\n this.spinner.show();\r\n this.clinicAgreement.isEmailSent = 1;\r\n this.clinicAgreement.isApproved = null;\r\n this.clinicAgreement.businessUserEmails = emailList.trim();\r\n this.clinicAgreement.contractPostedByUser = 'Walgreens User'\r\n this.clinicAgreement.contactWagUser = '';\r\n this.makeValidBooleans();\r\n this.saveAgreementData(true, false);\r\n\r\n if (sessionStorage.getItem('Old_immunizationForm') !== null) {\r\n sessionStorage.removeItem('Old_immunizationForm');\r\n }\r\n\r\n\r\n if (sessionStorage.getItem('hasServiceAgreementAccepted') !== null)\r\n sessionStorage.removeItem('hasServiceAgreementAccepted');\r\n }\r\n makeValidBooleans() {\r\n this.clinicAgreement.clinicImmunizationList.forEach(im => {\r\n if (Number(im.sendInvoiceTo) <= 0) {\r\n im.isTaxExempt = null;\r\n im.isCopay = null;\r\n im.isVoucherNeeded = null;\r\n } else {\r\n Number(im.isTaxExempt) >= 1 ? im.isTaxExempt = 1 : im.isTaxExempt = 0;\r\n Number(im.isCopay) >= 1 ? im.isCopay = 1 : im.isCopay = 0;\r\n Number(im.isVoucherNeeded) >= 1 ? im.isVoucherNeeded = 1 : im.isVoucherNeeded = 0;\r\n im.copayValue = Number(im.copayValue);\r\n if (im.voucherExpirationDate != null && im.voucherExpirationDate != undefined && im.voucherExpirationDate != '') {\r\n im.voucherExpirationDate = this._datePipe.transform(im.voucherExpirationDate, \"MM/dd/yyyy\");\r\n }\r\n }\r\n });\r\n this.clinicAgreement.clinicList.forEach(cl => {\r\n cl.previousContact = 0;\r\n cl.previousLocation = 0;\r\n Number(cl.isNoClinic) >= 1 ? cl.isNoClinic = 1 : cl.isNoClinic = 0;\r\n Number(cl.isReassign) >= 1 ? cl.isReassign = 1 : cl.isReassign = 0;\r\n Number(cl.isCurrent) >= 1 ? cl.isCurrent = 1 : cl.isCurrent = 0;\r\n\r\n if (cl.clinicDate === null || cl.clinicDate === undefined || cl.clinicDate === '') {\r\n cl.clinicDate = null;\r\n } else {\r\n cl.clinicDate = this._datePipe.transform(cl.clinicDate, \"MM/dd/yyyy\");\r\n }\r\n let covidImmList = cl.clinicImzQtyList.filter(p => p.immunizationName.includes(\"COVID19\"));\r\n\r\n covidImmList.length > 0 || this.isCovidVaccineAvailable ? cl.isCovidClinic = 1 : cl.isCovidClinic = 0;\r\n if (cl.visitType == null || (cl.visitType && cl.visitType.length < 0)) {\r\n cl.visitType = null;\r\n }\r\n });\r\n }\r\n\r\n print() {\r\n this.utility.print(\"approveContract\", \"Walgreens Community Off-site Agreement\");\r\n }\r\n cancelAgreementClicked() {\r\n if (sessionStorage.getItem('Old_immunizationForm') !== null) {\r\n sessionStorage.removeItem('Old_immunizationForm');\r\n }\r\n\r\n if (sessionStorage.getItem('hasServiceAgreementAccepted') !== null)\r\n sessionStorage.removeItem('hasServiceAgreementAccepted');\r\n\r\n if (sessionStorage[\"AmendAgreement\"] && sessionStorage[\"AmendAgreement\"] == \"true\")\r\n this.router.navigate(['./communityoutreach/LocalClinicProgramDetails']);\r\n else\r\n this.router.navigate(['./communityoutreach/storehome']);\r\n }\r\n\r\n showDialog(msgSummary: string, msgDetail: string, success_message: boolean) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n this.success_message = success_message;\r\n }\r\n okClicked() {\r\n this.display = false;\r\n if (this.success_message) {\r\n this.router.navigateByUrl('/communityoutreach/storehome');\r\n }\r\n }\r\n\r\n languageChangeToSpanish() {\r\n this.enlanguageSelection = false;\r\n this.splanguageSelection = true;\r\n\r\n\r\n let contractdateApproved = null;\r\n if ((this.clinicAgreement && this.clinicAgreement.dateApproved)) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n\r\n let data = this._apiservice.languageChange(2024, this.isCovidVaccineAvailable, true, this.showPreUniversalContract);\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n if (data) {\r\n this.spanishLanguage = data.spanish;\r\n this.headerText = data.header;\r\n this.attachment = data.attachmentheader;\r\n this.imz = data.imzsp;\r\n this.payment = data.paymentsp;\r\n this.rates = data.ratessp;\r\n this.ImzVcnName = data.ImzVcnNameSp;\r\n this.PaymtBillMethod = data.PaymtBillMethodSp;\r\n this.VoucherRates = data.VoucherRatesSp;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesSp;\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsSP;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextSP;\r\n\r\n\r\n this.languageVariables.businessName = data.clientsp;\r\n this.languageVariables.name = data.namesp;\r\n this.languageVariables.eSignature = data.eSignatureSP;\r\n this.languageVariables.date = data.dateSP;\r\n this.languageVariables.dose = data.doseSP;\r\n this.languageVariables.district = data.districtSP;\r\n\r\n this.languageVariables.title = data.titlesp;\r\n this.languageVariables.attentionTo = data.attentionsp;\r\n this.languageVariables.address1 = data.address1sp;\r\n this.languageVariables.address2 = data.address2sp;\r\n this.languageVariables.city = data.citysp;\r\n this.languageVariables.state = data.statesp;\r\n this.languageVariables.zip = data.zipcodesp;\r\n //this.legal_notice = data.legalsp;\r\n //this.client_info = data.clientinfosp;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntSP;\r\n this.languageVariables.approveText = data.approveTextSP;\r\n this.languageVariables.electrSign = data.electrSignSP;\r\n this.languageVariables.notes = data.notesSP;\r\n this.languageVariables.pageTitle = data.pageTitleSP;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffSP;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineSP;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientSP;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensSP;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1SP;\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2SP;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesSP;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingSP;\r\n this.languageVariables.profJudgementText = data.profJudgementTextSP;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngSP;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextSP;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesSP;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingSP;\r\n this.languageVariables.vouchersText = data.vouchersTextSP;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationSP;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsSP;\r\n this.languageVariables.important = data.importantSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.contractYearText1SP);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.influenzaSeasonText1SP);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextSP;\r\n this.languageVariables.siteMin = data.siteMinSP;\r\n this.languageVariables.siteAvg = data.siteAvgSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextSP, data.contractYearText2SP, data.contractYearText2SP);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluSP, data.influenzaSeasonText2SP, data.influenzaSeasonText2SP);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextSP;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingSP;\r\n this.languageVariables.paymentHd = data.paymentSP;\r\n this.languageVariables.paymentText = data.paymentTextSP;\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesSP;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextSP;\r\n this.languageVariables.latePayment = data.latePaymentSP;\r\n this.languageVariables.latePaymentText = data.latePaymentTextSP;\r\n this.languageVariables.costIncrease = data.costIncreaseSP;\r\n this.languageVariables.costIncreasetext = data.costIncreasetextSP;\r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsSP;\r\n this.languageVariables.termAndTerm = data.termAndTermSP;\r\n this.languageVariables.termAndTermText = data.termAndTermTextSP;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationSP;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextSP;\r\n this.languageVariables.waiver = data.waiverSP;\r\n this.languageVariables.waiverText = data.waiverTextSP;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifySP;\r\n this.languageVariables.insurance = data.insuranceSP;\r\n this.languageVariables.insuranceText = data.insuranceTextSP;\r\n this.languageVariables.indemnification = data.indemnificationSP;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let universalContractReleasedate = data.universalContractReleaseDate ? new Date(data.universalContractReleaseDate) : null;\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsSP;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialitySP;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextSP;\r\n this.languageVariables.confidentiality = data.confidentialitySP;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1SP;\r\n this.languageVariables.phi = data.phiSP;\r\n this.languageVariables.phiAb = data.phiAbSP;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2SP;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextSP;\r\n\r\n this.languageVariables.Advertising = data.AdvertisingSP;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextSP;\r\n this.languageVariables.frcMaj = data.frcMajSP;\r\n this.languageVariables.frcMajText = data.frcMajTextSP;\r\n this.languageVariables.compliance = data.complianceSP;\r\n this.languageVariables.complianceText = data.complianceTextSP;\r\n this.languageVariables.assignment = data.assignmentSP;\r\n this.languageVariables.assignmentText = data.assignmentTextSP;\r\n this.languageVariables.notices = data.noticesSP;\r\n this.languageVariables.noticesText = data.noticesTextSP;\r\n this.languageVariables.entireAgr = data.entireAgrSP;\r\n this.languageVariables.entireAgrText = data.entireAgrTextSP;\r\n this.languageVariables.counterPart = data.counterPartsHeadingSP;\r\n this.languageVariables.counterPartsText = data.counterPartsTextSP;\r\n this.languageVariables.rights = data.rightsSP;\r\n this.languageVariables.approve = data.approveSP;\r\n this.languageVariables.reject = data.rejectSP;\r\n this.languageVariables.submit = data.submitSP;\r\n this.languageVariables.printAgreementTxt = data.printAgreementTxtCapsSP;\r\n\r\n this.languageVariables.clinicLocation = data.clinicLocationSP;\r\n this.languageVariables.clinicDate = data.clinicDateSP;\r\n this.languageVariables.clinicTime = data.clinicTimeSP;\r\n this.languageVariables.contact = data.contactSP;\r\n this.languageVariables.phone = data.phoneSP;\r\n this.languageVariables.estShots = data.estShotsSP;\r\n this.languageVariables.location = data.locationSP;\r\n this.languageVariables.time = data.timeSP;\r\n this.languageVariables.email = data.emailSP;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToSP;\r\n this.languageVariables.multipleEmailAddrss = data.multipleEmailAddressSP;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementSP;\r\n this.languageVariables.editAgreeMnt = data.editAgreementSP;\r\n this.languageVariables.saveAgreeMnt = data.saveAgreementSP;\r\n this.languageVariables.cancelTxt = data.cancelSP;\r\n this.languageVariables.noteTxt = data.noteTextSP;\r\n this.languageVariables.table1 = data.table1SP;\r\n this.fluExpiryDate = data.fluExpiryDateSP;\r\n this.routineExpiryDate = data.routineExpiryDateSP;\r\n this.sendInvoiceTo = data.sendInvoiceToSP;\r\n this.isTaxExempt = data.isTaxExemptSP;\r\n this.isCopay = data.isCopaySP;\r\n this.voucherNeeded = data.voucherNeededSP;\r\n this.voucherExpiry = data.voucherExpirySP;\r\n this.copayValue = data.copayValueSP;\r\n this.languageVariables.contactName = data.contactNameSP;\r\n this.languageVariables.contactPhone = data.contactPhoneSP;\r\n this.languageVariables.contactEmail = data.contactEmailSP;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n }\r\n }\r\n languageChangeToEnglish() {\r\n this.splanguageSelection = false;\r\n this.enlanguageSelection = true;\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n\r\n let contractdateApproved = null;\r\n if ((this.clinicAgreement && this.clinicAgreement.dateApproved)) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n\r\n let data = this._apiservice.languageChange(2024, this.isCovidVaccineAvailable, true, this.showPreUniversalContract, Boolean(this.isPreviousClinic));\r\n if (data) {\r\n this.englishLanguage = data.english;\r\n this.enheader = data.englishheader;\r\n this.enattachment = data.englishattachment;\r\n this.enattachmentArticleII = data.articleIIEN;\r\n this.articleNoFeeIIEN = data.articleNoFeeIIEN;\r\n this.imz = data.imzen;\r\n this.payment = data.payen;\r\n this.rates = data.ratesen;\r\n this.ImzVcnName = data.ImzVcnNameEn;\r\n this.PaymtBillMethod = data.PaymtBillMethodEn;\r\n this.VoucherRates = data.VoucherRatesEn;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesEn;\r\n\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsEN;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextEN;\r\n\r\n this.languageVariables.businessName = data.clienten;\r\n this.languageVariables.name = data.nameen;\r\n this.languageVariables.eSignature = data.eSignatureEN;\r\n this.languageVariables.date = data.dateEN;\r\n this.languageVariables.dose = data.doseEN;\r\n this.languageVariables.district = data.districtEN;\r\n\r\n this.languageVariables.title = data.titleen;\r\n this.languageVariables.attentionTo = data.attentionen;\r\n this.languageVariables.address1 = data.address1en;\r\n this.languageVariables.address2 = data.address2en;\r\n this.languageVariables.city = data.cityen;\r\n this.languageVariables.state = data.stateen;\r\n this.languageVariables.zip = data.zipcodeen;\r\n //this.legal_notice = data.legalsp;\r\n //this.client_info = data.clientinfosp;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntEN;\r\n this.languageVariables.approveText = data.approveTextEN;\r\n this.languageVariables.electrSign = data.electrSignEN;\r\n this.languageVariables.notes = data.notesEN;\r\n this.languageVariables.pageTitle = data.pageTitleEN;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffEN;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineEN;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientEN;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensEN;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1EN\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2EN;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesEN;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingEN;\r\n this.languageVariables.profJudgementText = data.profJudgementTextEN;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngEN;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextEN;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesEN;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingEN;\r\n this.languageVariables.vouchersText = data.vouchersTextEN;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationEN;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsEN;\r\n this.languageVariables.important = data.importantEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.contractYearText1EN);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.influenzaSeasonText1EN);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextEN;\r\n this.languageVariables.siteMin = data.siteMinEN;\r\n this.languageVariables.siteAvg = data.siteAvgEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextEN, data.contractYearText2EN, data.contractYearText2EN);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluEN, data.influenzaSeasonText2EN, data.influenzaSeasonText2EN);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextEN;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingEN;\r\n this.languageVariables.paymentHd = data.paymentEN;\r\n this.languageVariables.paymentHd = data.paymentEN;\r\n this.languageVariables.singleStarTAndC = data.singleStarTAndC;\r\n this.languageVariables.singleStarTAndC2 = data.singleStarTAndC2;\r\n this.languageVariables.article2Text = data.article2Text;\r\n\r\n if (this.checkIfCovidImmForCorpInvoiceSelected()) {\r\n this.enheader = this.showPreUniversalContract ? data.directBillEnglishheader : data.englishheader;\r\n this.languageVariables.paymentText = !this.showPreUniversalContract ? data.paymentTextEN : data.paymentTextDirectBillEN;\r\n }\r\n else {\r\n this.enheader = data.englishheader;\r\n this.languageVariables.paymentText = data.paymentTextEN;\r\n }\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesEN;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextEN;\r\n this.languageVariables.latePayment = data.latePaymentEN;\r\n this.languageVariables.latePaymentText = data.latePaymentTextEN;\r\n this.languageVariables.costIncrease = data.costIncreaseEN;\r\n this.languageVariables.costIncreasetext = data.costIncreasetextEN;\r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsEN;\r\n this.languageVariables.termAndTerm = data.termAndTermEN;\r\n this.languageVariables.termAndTermText = data.termAndTermTextEN;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationEN;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextEN;\r\n this.languageVariables.waiver = data.waiverEN;\r\n this.languageVariables.waiverText = data.waiverTextEN;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifyEN;\r\n this.languageVariables.insurance = data.insuranceEN;\r\n this.languageVariables.insuranceText = data.insuranceTextEN;\r\n this.languageVariables.indemnification = data.indemnificationEN;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (this.isCovidVaccineAvailable == true && (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate)) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsEN;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialityEN;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextEN;\r\n this.languageVariables.confidentiality = data.confidentialityEN;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1EN;\r\n this.languageVariables.phi = data.phiEN;\r\n this.languageVariables.phiAb = data.phiAbEN;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2EN;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextEN;\r\n this.languageVariables.Advertising = data.AdvertisingEN;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextEN;\r\n this.languageVariables.frcMaj = data.frcMajEN;\r\n this.languageVariables.frcMajText = data.frcMajTextEN;\r\n this.languageVariables.compliance = data.complianceEN;\r\n this.languageVariables.complianceText = data.complianceTextEN;\r\n this.languageVariables.assignment = data.assignmentEN;\r\n this.languageVariables.assignmentText = data.assignmentTextEN;\r\n this.languageVariables.notices = data.noticesEN;\r\n this.languageVariables.noticesText = data.noticesTextEN;\r\n this.languageVariables.entireAgr = data.entireAgrEN;\r\n this.languageVariables.entireAgrText = data.entireAgrTextEN;\r\n this.languageVariables.counterPart = data.counterPartsHeadingEN;\r\n this.languageVariables.counterPartsText = data.counterPartsTextEN;\r\n this.languageVariables.rights = data.rightsEN;\r\n\r\n this.languageVariables.approve = data.approveEN;\r\n this.languageVariables.reject = data.rejectEN;\r\n this.languageVariables.submit = data.submitEN;\r\n this.languageVariables.printAgreementTxt = data.printAgreementTxtCapsEN;\r\n\r\n this.languageVariables.clinicLocation = data.clinicLocationEN;\r\n this.languageVariables.clinicDate = data.clinicDateEN;\r\n this.languageVariables.clinicTime = data.clinicTimeEN;\r\n this.languageVariables.contact = data.contactEN;\r\n this.languageVariables.phone = data.phoneEN;\r\n this.languageVariables.estShots = data.estShotsEN;\r\n this.languageVariables.location = data.locationEN;\r\n this.languageVariables.time = data.timeEN;\r\n this.languageVariables.email = data.emailEN;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToEN;\r\n this.languageVariables.multipleEmailAddrss = data.multipleEmailAddressEN;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementEN;\r\n this.languageVariables.editAgreeMnt = data.editAgreementEN;\r\n this.languageVariables.saveAgreeMnt = data.saveAgreementEN;\r\n this.languageVariables.cancelTxt = data.cancelEN;\r\n this.languageVariables.noteTxt = data.noteTextEN;\r\n this.languageVariables.table1 = data.table1EN;\r\n this.fluExpiryDate = data.fluExpiryDateEN;\r\n this.routineExpiryDate = data.routineExpiryDateEN;\r\n this.languageVariables.estShots = data.estShotsEN;\r\n this.sendInvoiceTo = data.sendInvoiceToEN;\r\n this.isTaxExempt = data.isTaxExemptEN;\r\n this.isCopay = data.isCopayEN;\r\n this.voucherNeeded = data.voucherNeededEN;\r\n this.voucherExpiry = data.voucherExpiryEN;\r\n this.copayValue = data.copayValueEN;\r\n this.languageVariables.contactName = data.contactName;\r\n this.languageVariables.contactPhone = data.contactPhone;\r\n this.languageVariables.contactEmail = data.contactEmail;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n this.languageVariables.participants = data.participants;\r\n }\r\n\r\n this.language = \"TRANSLATE TO ENGLISH\";\r\n }\r\n\r\n changeLanguageToSpanish() {\r\n this.enlanguageSelection = false;\r\n this.splanguageSelection = true;\r\n this.languageChangeToSpanish();\r\n }\r\n\r\n changeLanguageToEnglish() {\r\n this.enlanguageSelection = true;\r\n this.splanguageSelection = false;\r\n this.languageChangeToEnglish();\r\n }\r\n\r\n\r\n checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location: Clinic): boolean {\r\n return this._apiservice.checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location) && Number(location.isNoClinic) >= 1;\r\n }\r\n checkIfFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfNonFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfNonFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfCovidImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfCovidImmForCorpInvoiceSelected();\r\n }\r\n checkIfNonFluImmIsSelected(): boolean {\r\n return this._apiservice.checkIfNonFluImmIsSelected();\r\n }\r\n getVoucherExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getRoutineExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getCovidExpiryDate(): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1 && imz.immunizationName.toLowerCase().search('covid') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n isFieldValid(field: string) {\r\n return !this.regularContract.get(field).valid && this.regularContract.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n enableContractEditStatus() {\r\n if (this.clinicAgreement != null && this.clinicAgreement != undefined) {\r\n if (this.clinicAgreement.isEmailSent != null &&\r\n (this.clinicAgreement.isEmailSent == 1) &&\r\n (this.clinicAgreement.isApproved == null || this.clinicAgreement.isApproved == 1)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n showHideSaveBtnStatus() {\r\n if (this.clinicAgreement != null && this.clinicAgreement != undefined) {\r\n if (this.clinicAgreement.isEmailSent != null &&\r\n (this.clinicAgreement.isEmailSent == 1) &&\r\n (this.clinicAgreement.isApproved == null || this.clinicAgreement.isApproved == 1 || this.clinicAgreement.isApproved == 0)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n confirmOverlap(hdr: string, msg: string, is_email: boolean) {\r\n\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n this.saveAgreementData(is_email, true);\r\n return true;\r\n },\r\n reject: () => {\r\n return false;\r\n }\r\n });\r\n }\r\n amendOkClicked() {\r\n this.displayAmend = false;\r\n }\r\n checkToPrintAsterisk(immAbvName: string, immName: string): boolean {\r\n let bRet: boolean = false;\r\n if (immAbvName && immAbvName.search(/Two Dose/gi) >= 0) {\r\n bRet = true;\r\n }\r\n return bRet;\r\n }\r\n checkForDoubleAsteriskRates(): boolean {\r\n return this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/Dose/gi) >= 0).length > 0;\r\n }\r\n\r\n handleServiceAgreementAccepted() {\r\n SessionDetails.SetServiceAgreementStatus(this.hasServiceAgreementAccepted);\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { OutreachProgramService } from '../../services/outreach-program.service';\r\nimport { ContractData, WalgreenCo, Client, Clinic, LegalNoticeAddress, LanguageVariables } from '../../../../models/contract';//Contract\r\nimport { ValidationHandler } from '../../Helpers/ValidationHandler';\r\nimport { AlertService } from '../../../../alert.service';\r\nimport { ContractComponent } from '../local-contracts/contract.component';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { Util } from '../../../../utility/util';\r\nimport { String, StringBuilder } from 'typescript-string-operations';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ConfirmationService } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'app-agreement',\r\n templateUrl: './agreement.component.html',\r\n styleUrls: ['./agreement.component.css'],\r\n providers: [ValidationHandler,DatePipe]\r\n})\r\nexport class AgreementComponent implements OnInit {\r\n userProfile: any;\r\n InvoiceInformation:any=[];\r\n clinicImmQtyList: any[] = [];\r\n immunizationFromDB: any[] = [];\r\n displayInvoiceAndVoucher:boolean=false;\r\n isStoreBusinessClinicAdded:boolean =false;\r\n clinicAgreement: ContractData;\r\n currentUser = [];\r\n userRecords = [];\r\n immunizationInformation = [];\r\n clinicInformation = [];\r\n clientInformation: Client;\r\n walGreensInfo: WalgreenCo;\r\n printAgreement: boolean = false;\r\n isAmendAgreement : boolean = false;\r\n agreementEmails: string = '';\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n confirmDialogSummary: string;\r\n confirmDialogMsg: string;\r\n showConfirmDialog = false;\r\n is_email: boolean;\r\n display: boolean = false;\r\n displayAmend: boolean = false;\r\n enlanguageSelection: boolean;\r\n splanguageSelection: boolean;\r\n englishLanguage: string;\r\n enheader: string;\r\n enattachment: string;\r\n \r\n spanishLanguage: string;\r\n headerText: string;\r\n attachment: string;\r\n imz: string;\r\n payment: string;\r\n rates: string;\r\n language: string;\r\n success_message: boolean = false;\r\n today:Date = new Date();\r\n currentLanguage: string;\r\n regularContract: FormGroup;\r\n isSelected:boolean = false;\r\n isCovidVaccineAvailable:boolean = false;\r\n @Output() clinicSubmit: EventEmitter = new EventEmitter();\r\n @ViewChild(ContractComponent) cmp: ContractComponent;\r\n\r\n /////////////////////////////////////////// LANGUAGE Variables ///////////////////////\r\n languageVariables = new LanguageVariables();\r\n \r\n fluExpiryDate = '';\r\n routineExpiryDate = '';\r\n sendInvoiceTo= '';\r\n isTaxExempt = ''\r\n isCopay= '';\r\n voucherNeeded = ''\r\n voucherExpiry = ''\r\n copayValue = '';\r\n attn = \"Attn\"\r\n OverrideOrOkTitle:string = \"Override\";\r\n showCancelBtn:boolean = true\r\n isCovidVoucher: boolean = false;\r\n opportunityData;\r\n privateClinicFees:string = \"\";\r\n showPreUniversalContract:boolean = false;\r\n siteMinimum:number = 25;\r\n// isFluOrStandardCovid: boolean = false;\r\n// isLtcfFluOrLtcfCovid: boolean = false;\r\n //////////////////////////////////////////\r\n\r\n constructor(private _apiservice: OutreachProgramService, private _fb: FormBuilder,private router: Router, \r\n private utility: Util,\r\n private _datePipe: DatePipe, private spinner: NgxSpinnerService,\r\n private confirmationService: ConfirmationService) {\r\n this.success_message = false;\r\n }\r\n\r\n ngOnInit() {\r\n \r\n window.scrollTo(0, 0);\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n this.opportunityData = SessionDetails.GetopportunitiesData();\r\n this.privateClinicFees = this.opportunityData?this.opportunityData.privateClinicFees:\"8.5\";\r\n this.printAgreement = false;\r\n this.clinicAgreement = this._apiservice.fetchContractAgreementData();\r\n this.userRecords = this.clinicAgreement.clinicImmunizationList;\r\n let covidVaccine = this.userRecords.filter(p=>p.immunizationName.includes('COVID19 Vaccine (')).length > 0;\r\n //let CovidVoucher = this.userRecords.filter(item=>item.immunizationName.includes('Vaccine Voucher')).length > 0;\r\n if(covidVaccine){\r\n this.isCovidVoucher = true;\r\n }\r\n // else{\r\n // this.isCovidVoucher = true;\r\n // }\r\n if(sessionStorage[\"AmendAgreement\"]!=null&&sessionStorage[\"AmendAgreement\"]==\"true\"){\r\n this.isAmendAgreement = true;\r\n }\r\n else{\r\n this.isAmendAgreement = false;\r\n }\r\n this.displayInvoiceInfo();\r\n this.GetClinicInformation();\r\n //this.GetImmunizationformation();\r\n this.GetClientInformation();\r\n this.GetWalgreensCOformation();\r\n this.GetClientLegalInfo();\r\n this.enlanguageSelection = true;\r\n this.splanguageSelection = false;\r\n if(this.splanguageSelection) {\r\n this.languageChangeToSpanish();\r\n } else {\r\n this.languageChangeToEnglish();\r\n }\r\n this.isSelected = false;\r\n let isApproved:string = null;\r\n if(this.clinicAgreement.isApproved == null){\r\n isApproved = '';\r\n } else if(Number(this.clinicAgreement.isApproved) >=1 ){\r\n isApproved = '1';\r\n } else if(Number(this.clinicAgreement.isApproved) <=0 ){\r\n this.isSelected = true;\r\n isApproved = '2';\r\n }\r\n \r\n this.regularContract = this._fb.group({\r\n email_signature: this._fb.control(this.clinicAgreement.signature, null),\r\n user_notes: this._fb.control(this.clinicAgreement.notes, null),\r\n radioBtn: this._fb.control(isApproved, null),\r\n email: this._fb.control('', null)\r\n });\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicImmunizationList.filter(p=>p.immunizationName.search(/COVID19/gi)>=0).length>0;\r\n let opportunitie_data = SessionDetails.GetopportunitiesData(); \r\n if(opportunitie_data.covidOpportunityType==2 || opportunitie_data.covidOpportunityType==0 || opportunitie_data.fluOpportunityType==0)\r\n {\r\n // this.isFluOrStandardCovid = true;\r\n this.siteMinimum = 25; \r\n }\r\n if(opportunitie_data.covidOpportunityType==1 || opportunitie_data.fluOpportunityType==3 )\r\n {\r\n // this.isLtcfFluOrLtcfCovid = true;\r\n this.siteMinimum = 15;\r\n\r\n }\r\n }\r\n\r\n getPaymentTypes(imz)\r\n {\r\n \r\n let paymentTypes = '';\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p=>p.immunizationPk == imz.immunizationPk);\r\n immzs.forEach((element, index, array) => {\r\n paymentTypes += `

`\r\n paymentTypes += element.paymentTypeName;\r\n if(index !== (array.length -1)) {\r\n paymentTypes += ',';\r\n }\r\n paymentTypes += `

`\r\n });\r\n return paymentTypes;\r\n }\r\n\r\n displayInvoiceInfo()\r\n {\r\n \r\n if (this.userRecords != null)\r\n {\r\n let corp=this.userRecords.filter(c=>c.paymentTypeId==\"6\");\r\n let routineExpDateLst=corp.filter(c=>c.immunizationName.toLowerCase().search('flu') == -1);\r\n let covidExpDateLst=corp.filter(c=>c.immunizationName.toLowerCase().search('covid')!==-1);\r\n let flueExpDateLst=corp.filter(c=>c.immunizationName.toLowerCase().search('flu') != -1);\r\n if(corp!=null && corp.length>0)\r\n {\r\n if(corp.filter(item => item.paymentTypeId == 13).length > 0 && corp.filter(item => item.paymentTypeId == 6).length > 0){\r\n this.displayInvoiceAndVoucher=true;\r\n this.InvoiceInformation.push({ \r\n \"paymentTypeId\": corp[0].paymentTypeId,\r\n \"sendInvoiceTo\": corp[0].sendInvoiceTo,\r\n \"name\": corp[0].name,\r\n \"phone\": corp[0].phone,\r\n \"fax\": corp[0].fax,\r\n \"email\": corp[0].email,\r\n \"address1\": corp[0].address1,\r\n \"address2\": corp[0].address2,\r\n \"city\": corp[0].city,\r\n \"isTaxExempt\": corp[0].isTaxExempt,\r\n \"state\": corp[0].state,\r\n \"zip\": corp[0].zip,\r\n \"isCopay\": corp[0].isCopay,\r\n \"copayValue\": corp[0].copayValue,\r\n \"isVoucherNeeded\": corp[0].isVoucherNeeded,\r\n \"fluvoucherExpirationDate\": flueExpDateLst.length>0? flueExpDateLst[0].voucherExpirationDate : null,\r\n \"routinevoucherExpirationDate\": routineExpDateLst.length>0? routineExpDateLst[0].voucherExpirationDate : null,\r\n \"covidvoucherExpirationDate\": covidExpDateLst.length>0? covidExpDateLst[0].voucherExpirationDate : null\r\n });}\r\n else{\r\n this.displayInvoiceAndVoucher=false;\r\n }\r\n }\r\n } \r\n \r\n }\r\n updateClinicalReqsFields(){\r\n let today:Date = new Date();\r\n this.clinicAgreement.clinicImmunizationList.forEach(imm=>{\r\n if(imm && imm.isClinicalReqd == true){\r\n imm.clinicalReqdApprovedBy = this.userProfile.userPk;\r\n }\r\n });\r\n }\r\n public GetClinicInformation() {\r\n \r\n this.clinicInformation = this.clinicAgreement.clinicList;\r\n this.clinicInformation.forEach(cl=>{\r\n try{\r\n if(typeof(cl.clinicDate)=='string'){\r\n let dateString = cl.clinicDate.substring(0, cl.clinicDate.indexOf('T'));\r\n if(dateString.length>0){\r\n let dateSplitTokens = dateString.split('-');\r\n if(dateSplitTokens.length>0){\r\n var dt = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n var clDate = new Date(dt);\r\n cl.clinicDate = clDate.getMonth() + 1 +\"/\" +clDate.getDate() +\"/\" + clDate.getFullYear(); \r\n }\r\n }\r\n }\r\n }\r\n catch(e){\r\n console.log(e);\r\n }\r\n });\r\n if(this.clinicAgreement.isApproved!=null){\r\n this.clinicAgreement.isApproved = Number( this.clinicAgreement.isApproved); }\r\n }\r\n\r\n public GetClientInformation() {\r\n this.clientInformation = this.clinicAgreement.clientInfo != null ? this.clinicAgreement.clientInfo : new Client();\r\n }\r\n\r\n public GetWalgreensCOformation() {\r\n \r\n this.walGreensInfo = this.clinicAgreement.walgreenCoInfo != null ? this.clinicAgreement.walgreenCoInfo : new WalgreenCo();\r\n if(this.walGreensInfo.preparedDate != null && this.walGreensInfo.preparedDate != undefined && this.walGreensInfo.preparedDate != ''){\r\n this.walGreensInfo.preparedDate = this._datePipe.transform(this.walGreensInfo.preparedDate,\"MM/dd/yyyy\");\r\n }\r\n }\r\n GetClientLegalInfo() {\r\n \r\n this.clinicAgreement.legalNoticeAddressInfo = this.clinicAgreement.legalNoticeAddressInfo != null ? this.clinicAgreement.legalNoticeAddressInfo : new LegalNoticeAddress();\r\n if(this.clinicAgreement.legalNoticeAddressInfo.attentionTo != null && this.clinicAgreement.legalNoticeAddressInfo.attentionTo != ''){\r\n this.attn = \"Attn:\";\r\n } else {\r\n this.attn = \"\";\r\n }\r\n }\r\n generateArray(obj) {\r\n return Object.keys(obj).map((key) => { return obj[key] });\r\n }\r\n btnClick() {\r\n this.clinicSubmit.emit(1);\r\n };\r\n\r\n saveAgreement() {\r\n this.spinner.show();\r\n this.clinicAgreement.contractPostedByUser = 'Walgreens User';\r\n this.clinicAgreement.isEmailSent = 0;\r\n this.clinicAgreement.contactWagUser = '';\r\n this.clinicAgreement.isApproved = null;\r\n this.clinicAgreement.businessUserEmails = this.agreementEmails;\r\n this.makeValidBooleans();\r\n \r\n\r\n this.saveAgreementData(false, false);\r\n\r\n if(sessionStorage.getItem('Old_immunizationForm') !== null){\r\n sessionStorage.removeItem('Old_immunizationForm');\r\n }\r\n }\r\n\r\n saveAgreementData(is_email: boolean, is_override?: boolean) {\r\n \r\n if(sessionStorage[\"AmendAgreement\"] && sessionStorage[\"AmendAgreement\"]==\"true\")\r\n {\r\n if(!this.clinicAgreement.parentClinicAgreementId || this.clinicAgreement.parentClinicAgreementId==0)\r\n {\r\n if(sessionStorage[\"isStoreBusinessClinicAdded\"] && sessionStorage[\"isStoreBusinessClinicAdded\"]==\"true\")\r\n {\r\n this.isStoreBusinessClinicAdded=true;\r\n }\r\n\r\n if( sessionStorage[\"OldImmunizations\"] && sessionStorage[\"clinicList\"])\r\n {\r\n this.immunizationFromDB=JSON.parse(sessionStorage[\"OldImmunizations\"]);\r\n \r\n this.immunizationFromDB.forEach(rec => {\r\n \r\n rec.voucherExpirationDate =rec.voucherExpirationDate!=null ? this._datePipe.transform(rec.voucherExpirationDate,\"MM/dd/yyyy\"):rec.voucherExpirationDate;\r\n if(rec.paymentTypeId==\"6\")\r\n {\r\n rec.isCopay>=1|| rec.isCopay===true? rec.isCopay=1: rec.isCopay==null?rec.isCopay=null: rec.isCopay=0;\r\n rec.copayValue = (rec.copayValue==null) ? 0 : rec.copayValue;\r\n rec.isTaxExempt>=1|| rec.isTaxExempt===true? rec.isTaxExempt=1:rec.isTaxExempt==null?rec.isTaxExempt=null:rec.isTaxExempt=0;\r\n rec.isVoucherNeeded>=1|| rec.isVoucherNeeded===true? rec.isVoucherNeeded=1:rec.isVoucherNeeded==null? rec.isVoucherNeeded=null:rec.isVoucherNeeded=0;\r\n }\r\n else\r\n {\r\n rec.isCopay>=1|| rec.isCopay===true? rec.isCopay=1: rec.isCopay=null;\r\n \r\n rec.isTaxExempt>=1|| rec.isTaxExempt===true? rec.isTaxExempt=1:rec.isTaxExempt=null;\r\n rec.isVoucherNeeded>=1|| rec.isVoucherNeeded===true? rec.isVoucherNeeded=1:rec.isVoucherNeeded=null;\r\n \r\n }\r\n });\r\n \r\n this.clinicImmQtyList=[];\r\n this.clinicAgreement.clinicList.forEach((loc, index) => { \r\n loc.clinicImzQtyList.forEach(ele => {\r\n ele.clinicPk=null;\r\n ele.estimatedQuantity=Number(ele.estimatedQuantity);\r\n this.clinicImmQtyList.push(ele); \r\n });\r\n \r\n });\r\n\r\n let diff : any  = this.utility.getDifference(this.clinicAgreement.clinicImmunizationList, this.immunizationFromDB);\r\n \r\n let diffClinicList: any  = this.utility.getDifference(this.clinicImmQtyList,JSON.parse(sessionStorage[\"clinicList\"]));\r\n if(!this.isStoreBusinessClinicAdded &&( Object.keys(diff).length ==0 && Object.keys(diffClinicList).length ==0))\r\n {\r\n this.displayAmend=true;\r\n this.spinner.hide();\r\n return;\r\n } \r\n \r\n }\r\n\r\n this.clinicAgreement.parentClinicAgreementId=this.clinicAgreement.clinicAgreementPk;\r\n this.clinicAgreement.clinicAgreementPk=null;\r\n this.clinicAgreement.isApproved=null;\r\n this.clinicAgreement.approvedOrRejectedBy=null;\r\n this.clinicAgreement.signature=null;\r\n this.clinicAgreement.notes=null; \r\n }\r\n }\r\n this.clinicAgreement.modifiedBy=this.userProfile.userPk; \r\n if (is_email) {\r\n this.clinicAgreement.isEmailSent = 1;\r\n this.clinicAgreement.isApproved = null;\r\n }\r\n this.updateClinicalReqsFields();\r\n\r\n // Checking if any of the start and end times are in datetime format. If yes, Converting them before sending it to the API.\r\n this.clinicAgreement.clinicList.forEach(element => {\r\n if(Object.prototype.toString.call(element.startTime) === '[object Date]')\r\n {\r\n try{\r\n element.startTime = this._datePipe.transform(element.startTime, 'shortTime');\r\n }catch(e){\r\n console.log(e); \r\n }\r\n }\r\n if(Object.prototype.toString.call(element.endTime) === '[object Date]')\r\n {\r\n try{\r\n element.endTime = this._datePipe.transform(element.endTime, 'shortTime');\r\n }catch(e){\r\n console.log(e); \r\n }\r\n }\r\n });\r\n\r\n this._apiservice.saveAgreementData(SessionDetails.GetStoreId(), 1, this.clinicAgreement, is_override).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case null:\r\n case \"null\":\r\n case '0':\r\n case 0:\r\n this.showDialog(ErrorMessages['contract'], is_email ? ErrorMessages['contractEmailSent']: ErrorMessages['contractSaved'], true);\r\n break;\r\n case -4:\r\n case '-4': \r\n if (is_email) {\r\n if(!this.clinicAgreement.isEmailSent) {\r\n this.clinicAgreement.isEmailSent = 0;\r\n }\r\n this.clinicAgreement.isApproved = null;\r\n }\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n const msg = String.Format(\"{0}

{1}\", data.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']);\r\n this.is_email = is_email;\r\n this.showConfirmDialogV2(ErrorMessages['eventDateTimeConflict'], msg);\r\n\r\n // this.confirmOverlap(ErrorMessages['eventDateTimeConflict'],\r\n // String.Format(\"{0}

{1}\",data.errorS.errorMessage,ErrorMessages['eventDateTimeConflictErrText']), is_email);\r\n //this.showDialog(ErrorMessages['resolve'], data.errorS.errorMessage, false);\r\n break;\r\n default:\r\n if (is_email) {\r\n this.clinicAgreement.isEmailSent = 0;\r\n this.clinicAgreement.isApproved = null;\r\n }\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage, false);\r\n break;\r\n }\r\n\r\n },\r\n err => {\r\n this.spinner.hide();\r\n if (is_email) {\r\n this.clinicAgreement.isEmailSent = 0;\r\n this.clinicAgreement.isApproved = null;\r\n }\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message, false);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n }\r\n \r\n });\r\n\r\n }\r\n\r\n showConfirmDialogV2(msgSummary: string, msgDetail: string) {\r\n this.confirmDialogSummary = msgSummary;\r\n this.confirmDialogMsg = msgDetail;\r\n this.showConfirmDialog = true;\r\n }\r\n\r\n confirmDialogOverrideAction(){\r\n this.showConfirmDialog = false;\r\n this.saveAgreementData(this.is_email, true);\r\n return true;\r\n }\r\n\r\n confirmDialogCancelAction(){\r\n this.showConfirmDialog = false;\r\n }\r\n \r\n sendEmail() {\r\n let emailList:string = '';\r\n if(this.regularContract.value.email != null){\r\n emailList = this.regularContract.value.email.replace(/ /g,\"\");\r\n }\r\n if (!this.utility.validateMultipleEmailsCommaSeparated(emailList)) {\r\n this.regularContract.controls['email'].setValidators([Validators.required]);\r\n this.regularContract.controls['email'].updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.regularContract);\r\n let sumMsg = ErrorMessages['errMsg'];\r\n let sMsg = ErrorMessages['emailList'];\r\n this.showDialog(sumMsg, sMsg, false);\r\n return;\r\n }\r\n if(this.clinicAgreement.clinicList.length <=0){\r\n let sumMsg = ErrorMessages['errMsg'];\r\n let sMsg = ErrorMessages['clinicListEmpty'];\r\n this.showDialog(sumMsg, sMsg, false);\r\n return;\r\n }\r\n this.spinner.show();\r\n this.clinicAgreement.isEmailSent = 1;\r\n this.clinicAgreement.isApproved = null;\r\n this.clinicAgreement.businessUserEmails = emailList.trim();\r\n this.clinicAgreement.contractPostedByUser = 'Walgreens User'\r\n this.clinicAgreement.contactWagUser = '';\r\n this.makeValidBooleans();\r\n this.saveAgreementData(true, false);\r\n\r\n if(sessionStorage.getItem('Old_immunizationForm') !== null){\r\n sessionStorage.removeItem('Old_immunizationForm');\r\n }\r\n }\r\n makeValidBooleans(){\r\n this.clinicAgreement.clinicImmunizationList.forEach(im=>{\r\n if(Number(im.sendInvoiceTo)<=0 ){\r\n im.isTaxExempt= null;\r\n im.isCopay= null;\r\n im.isVoucherNeeded=null;\r\n } else {\r\n Number(im.isTaxExempt)>=1 ? im.isTaxExempt=1:im.isTaxExempt=0;\r\n Number(im.isCopay)>=1? im.isCopay=1:im.isCopay=0;\r\n Number(im.isVoucherNeeded)>=1? im.isVoucherNeeded=1:im.isVoucherNeeded=0;\r\n im.copayValue = Number(im.copayValue);\r\n if(im.voucherExpirationDate != null && im.voucherExpirationDate != undefined && im.voucherExpirationDate !=''){\r\n im.voucherExpirationDate = this._datePipe.transform(im.voucherExpirationDate,\"MM/dd/yyyy\");\r\n }\r\n }\r\n });\r\n this.clinicAgreement.clinicList.forEach(cl=>{\r\n cl.previousContact = 0;\r\n cl.previousLocation = 0;\r\n Number(cl.isNoClinic)>=1 ? cl.isNoClinic=1:cl.isNoClinic=0;\r\n Number(cl.isReassign)>=1? cl.isReassign=1:cl.isReassign=0;\r\n Number(cl.isCurrent) >=1? cl.isCurrent=1:cl.isCurrent=0;\r\n \r\n if( cl.clinicDate === null || cl.clinicDate === undefined || cl.clinicDate ===''){\r\n cl.clinicDate = null;\r\n } else {\r\n cl.clinicDate = this._datePipe.transform(cl.clinicDate,\"MM/dd/yyyy\");\r\n }\r\n let covidImmList = cl.clinicImzQtyList.filter(p=>p.immunizationName.includes(\"COVID19\"));\r\n\r\n covidImmList.length>0 || this.isCovidVaccineAvailable ? cl.isCovidClinic = 1:cl.isCovidClinic=0; \r\n if(cl.visitType==null|| (cl.visitType&&cl.visitType.length<0)){\r\n cl.visitType = null;\r\n }\r\n });\r\n }\r\n\r\n print(){\r\n this.utility.print(\"approveContract\",\"Walgreens Community Off-site Agreement\");\r\n }\r\n cancelAgreementClicked() {\r\n if(sessionStorage.getItem('Old_immunizationForm') !== null){\r\n sessionStorage.removeItem('Old_immunizationForm');\r\n }\r\n\r\n if(sessionStorage[\"AmendAgreement\"] && sessionStorage[\"AmendAgreement\"]==\"true\")\r\n this.router.navigate(['./communityoutreach/LocalClinicProgramDetails']);\r\n else\r\n this.router.navigate(['./communityoutreach/storehome']);\r\n }\r\n\r\n showDialog(msgSummary: string, msgDetail: string, success_message: boolean) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n this.success_message = success_message;\r\n }\r\n okClicked() {\r\n this.display = false;\r\n if (this.success_message) {\r\n this.router.navigateByUrl('/communityoutreach/storehome');\r\n } \r\n }\r\n\r\n languageChangeToSpanish() {\r\n \r\n this.enlanguageSelection = false;\r\n this.splanguageSelection = true;\r\n let data = this._apiservice.languageChange(0,this.isCovidVaccineAvailable,true);\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicImmunizationList.filter(p=>p.immunizationName.search(/COVID19/gi)>=0).length>0;\r\n if(data)\r\n {\r\n this.spanishLanguage = data.spanish;\r\n this.headerText = data.header;\r\n this.attachment = data.attachmentheader;\r\n this.imz = data.imzsp;\r\n this.payment = data.paymentsp;\r\n this.rates = data.ratessp;\r\n\r\n this.languageVariables.businessName = data.clientsp;\r\n this.languageVariables.name = data.namesp;\r\n this.languageVariables.eSignature =data.eSignatureSP;\r\n this.languageVariables.date = data.dateSP;\r\n this.languageVariables.dose = data.doseSP;\r\n this.languageVariables.district = data.districtSP;\r\n\r\n this.languageVariables.title = data.titlesp;\r\n this.languageVariables.attentionTo = data.attentionsp;\r\n this.languageVariables.address1 = data.address1sp;\r\n this.languageVariables.address2 = data.address2sp;\r\n this.languageVariables.city = data.citysp;\r\n this.languageVariables.state = data.statesp;\r\n this.languageVariables.zip = data.zipcodesp;\r\n //this.legal_notice = data.legalsp;\r\n //this.client_info = data.clientinfosp;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntSP;\r\n this.languageVariables.approveText = data.approveTextSP;\r\n this.languageVariables.electrSign = data.electrSignSP;\r\n this.languageVariables.notes = data.notesSP;\r\n this.languageVariables.pageTitle = data.pageTitleSP;\r\n\r\n this.languageVariables.inWitnessWhereOff= data.inWitnessWhereOffSP;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineSP;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientSP;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensSP;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1SP;\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2SP;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesSP;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingSP;\r\n this.languageVariables.profJudgementText = data.profJudgementTextSP;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngSP;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextSP;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesSP;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingSP;\r\n this.languageVariables.vouchersText = data.vouchersTextSP;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationSP;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsSP;\r\n this.languageVariables.important = data.importantSP;\r\n if(this.checkIfNonFluImmIsSelected()){\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.contractYearText1SP); \r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.influenzaSeasonText1SP); \r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextSP;\r\n this.languageVariables.siteMin = data.siteMinSP;\r\n this.languageVariables.siteAvg = data.siteAvgSP;\r\n if(this.checkIfNonFluImmIsSelected()){\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextSP,data.contractYearText2SP, data.contractYearText2SP);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluSP,data.influenzaSeasonText2SP, data.influenzaSeasonText2SP); \r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextSP;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingSP;\r\n this.languageVariables.paymentHd =data.paymentSP;\r\n this.languageVariables.paymentText = data.paymentTextSP;\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesSP;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextSP;\r\n this.languageVariables.latePayment = data.latePaymentSP;\r\n this.languageVariables.latePaymentText = data.latePaymentTextSP;\r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsSP;\r\n this.languageVariables.termAndTerm = data.termAndTermSP;\r\n this.languageVariables.termAndTermText = data.termAndTermTextSP;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationSP;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextSP;\r\n this.languageVariables.waiver = data.waiverSP;\r\n this.languageVariables.waiverText = data.waiverTextSP;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifySP;\r\n this.languageVariables.insurance = data.insuranceSP;\r\n this.languageVariables.insuranceText = data.insuranceTextSP;\r\n this.languageVariables.indemnification = data.indemnificationSP;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let universalContractReleasedate = data.universalContractReleaseDate?new Date(data.universalContractReleaseDate):null;\r\n let dateApproved = null;\r\n if(this.clinicAgreement && this.clinicAgreement.dateApproved){\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if(dateApproved === null || dateApproved>=indemnificationTAndCChangedDate ){\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsSP;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialitySP;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextSP;\r\n this.languageVariables.confidentiality = data.confidentialitySP;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1SP;\r\n this.languageVariables.phi = data.phiSP;\r\n this.languageVariables.phiAb = data.phiAbSP;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2SP;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextSP;\r\n\r\n this.languageVariables.Advertising = data.AdvertisingSP;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextSP;\r\n this.languageVariables. frcMaj = data.frcMajSP;\r\n this.languageVariables.frcMajText = data.frcMajTextSP;\r\n this.languageVariables.compliance = data.complianceSP;\r\n this.languageVariables.complianceText = data.complianceTextSP;\r\n this.languageVariables.assignment = data.assignmentSP;\r\n this.languageVariables.assignmentText = data.assignmentTextSP;\r\n this.languageVariables.notices = data.noticesSP;\r\n this.languageVariables.noticesText = data.noticesTextSP;\r\n this.languageVariables.entireAgr = data.entireAgrSP;\r\n this.languageVariables.entireAgrText = data.entireAgrTextSP;\r\n this.languageVariables.counterPart = data.counterPartsHeadingSP;\r\n this.languageVariables.counterPartsText = data.counterPartsTextSP;\r\n this.languageVariables.rights = data.rightsSP;\r\n this.languageVariables.approve = data.approveSP;\r\n this.languageVariables.reject = data.rejectSP;\r\n this.languageVariables.submit= data.submitSP;\r\n this.languageVariables.printAgreementTxt = data.printAgreementTxtCapsSP;\r\n\r\n this.languageVariables.clinicLocation= data.clinicLocationSP;\r\n this.languageVariables.clinicDate = data.clinicDateSP;\r\n this.languageVariables.clinicTime = data.clinicTimeSP;\r\n this.languageVariables.contact= data.contactSP;\r\n this.languageVariables.phone = data.phoneSP;\r\n this.languageVariables.estShots = data.estShotsSP;\r\n this.languageVariables.location = data.locationSP;\r\n this.languageVariables.time = data.timeSP;\r\n this.languageVariables.email = data.emailSP;\r\n this.languageVariables.emailAgrmntTo= data.emailAgreementToSP;\r\n this.languageVariables.multipleEmailAddrss = data.multipleEmailAddressSP;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementSP;\r\n this.languageVariables.editAgreeMnt = data.editAgreementSP;\r\n this.languageVariables.saveAgreeMnt = data.saveAgreementSP;\r\n this.languageVariables.cancelTxt = data.cancelSP;\r\n this.languageVariables.noteTxt = data.noteTextSP;\r\n this.languageVariables.table1 = data.table1SP;\r\n this.fluExpiryDate= data.fluExpiryDateSP;\r\n this.routineExpiryDate= data.routineExpiryDateSP; \r\n this.sendInvoiceTo= data.sendInvoiceToSP;\r\n this.isTaxExempt = data.isTaxExemptSP;\r\n this.isCopay= data.isCopaySP;\r\n this.voucherNeeded = data.voucherNeededSP;\r\n this.voucherExpiry = data.voucherExpirySP;\r\n this.copayValue = data.copayValueSP;\r\n this.languageVariables.contactName = data.contactNameSP;\r\n this.languageVariables.contactPhone = data.contactPhoneSP;\r\n this.languageVariables.contactEmail = data.contactEmailSP;\r\n }\r\n }\r\n languageChangeToEnglish() {\r\n this.splanguageSelection = false;\r\n this.enlanguageSelection = true;\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicImmunizationList.filter(p=>p.immunizationName.search(/COVID19/gi)>=0).length>0;\r\n let data = this._apiservice.languageChange(0,this.isCovidVaccineAvailable,true);\r\n if(data){\r\n this.englishLanguage = data.english;\r\n this.enheader = data.englishheader;\r\n this.enattachment = data.englishattachment;\r\n this.imz = data.imzen;\r\n this.payment = data.payen;\r\n this.rates = data.ratesen;\r\n\r\n\r\n this.languageVariables.businessName = data.clienten;\r\n this.languageVariables.name = data.nameen;\r\n this.languageVariables.eSignature = data.eSignatureEN;\r\n this.languageVariables.date = data.dateEN;\r\n this.languageVariables.dose = data.doseEN;\r\n this.languageVariables.district = data.districtEN;\r\n\r\n this.languageVariables.title = data.titleen;\r\n this.languageVariables.attentionTo = data.attentionen;\r\n this.languageVariables.address1 = data.address1en;\r\n this.languageVariables.address2 = data.address2en;\r\n this.languageVariables.city = data.cityen;\r\n this.languageVariables.state = data.stateen;\r\n this.languageVariables.zip = data.zipcodeen;\r\n //this.legal_notice = data.legalsp;\r\n //this.client_info = data.clientinfosp;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntEN;\r\n this.languageVariables.approveText = data.approveTextEN;\r\n this.languageVariables.electrSign = data.electrSignEN;\r\n this.languageVariables.notes = data.notesEN;\r\n this.languageVariables.pageTitle = data.pageTitleEN;\r\n\r\n this.languageVariables.inWitnessWhereOff= data.inWitnessWhereOffEN;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineEN;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientEN;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensEN;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1EN\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2EN;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesEN;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingEN;\r\n this.languageVariables.profJudgementText = data.profJudgementTextEN;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngEN;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextEN;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesEN;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingEN;\r\n this.languageVariables.vouchersText = data.vouchersTextEN;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationEN;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsEN;\r\n this.languageVariables.important = data.importantEN;\r\n if(this.checkIfNonFluImmIsSelected()){\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.contractYearText1EN); \r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.influenzaSeasonText1EN); \r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextEN;\r\n this.languageVariables.siteMin = data.siteMinEN;\r\n this.languageVariables.siteAvg = data.siteAvgEN;\r\n if(this.checkIfNonFluImmIsSelected()){\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextEN,data.contractYearText2EN, data.contractYearText2EN);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluEN,data.influenzaSeasonText2EN, data.influenzaSeasonText2EN); \r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextEN;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingEN;\r\n this.languageVariables.paymentHd =data.paymentEN;\r\n this.languageVariables.paymentHd =data.paymentEN;\r\n this.languageVariables.singleStarTAndC = data.singleStarTAndC;\r\n this.languageVariables.article2Text = data.article2Text;\r\n if(this.checkIfCovidImmForCorpInvoiceSelected()){\r\n this.enheader = this.showPreUniversalContract?data.directBillEnglishheader:data.englishheader;\r\n this.languageVariables.paymentText = !this.showPreUniversalContract?data.paymentTextEN:data.paymentTextDirectBillEN;\r\n }\r\n else {\r\n this.enheader = data.englishheader;\r\n this.languageVariables.paymentText = data.paymentTextEN;\r\n }\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesEN;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextEN;\r\n this.languageVariables.latePayment = data.latePaymentEN;\r\n this.languageVariables.latePaymentText = data.latePaymentTextEN;\r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsEN;\r\n this.languageVariables.termAndTerm = data.termAndTermEN;\r\n this.languageVariables.termAndTermText = data.termAndTermTextEN;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationEN;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextEN;\r\n this.languageVariables.waiver = data.waiverEN;\r\n this.languageVariables.waiverText = data.waiverTextEN;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifyEN;\r\n this.languageVariables.insurance = data.insuranceEN;\r\n this.languageVariables.insuranceText = data.insuranceTextEN;\r\n this.languageVariables.indemnification = data.indemnificationEN;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let dateApproved = null;\r\n if(this.clinicAgreement && this.clinicAgreement.dateApproved){\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n } \r\n if(this.isCovidVaccineAvailable== true && (dateApproved === null || dateApproved>=indemnificationTAndCChangedDate )){\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsEN;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialityEN;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextEN;\r\n this.languageVariables.confidentiality = data.confidentialityEN;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1EN;\r\n this.languageVariables.phi = data.phiEN;\r\n this.languageVariables.phiAb = data.phiAbEN;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2EN;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextEN;\r\n this.languageVariables.Advertising = data.AdvertisingEN;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextEN;\r\n this.languageVariables.frcMaj = data.frcMajEN;\r\n this.languageVariables.frcMajText = data.frcMajTextEN;\r\n this.languageVariables.compliance = data.complianceEN;\r\n this.languageVariables.complianceText = data.complianceTextEN;\r\n this.languageVariables.assignment = data.assignmentEN;\r\n this.languageVariables.assignmentText = data.assignmentTextEN;\r\n this.languageVariables.notices = data.noticesEN;\r\n this.languageVariables.noticesText = data.noticesTextEN;\r\n this.languageVariables.entireAgr = data.entireAgrEN;\r\n this.languageVariables.entireAgrText = data.entireAgrTextEN;\r\n this.languageVariables.counterPart = data.counterPartsHeadingEN;\r\n this.languageVariables.counterPartsText = data.counterPartsTextEN;\r\n this.languageVariables.rights = data.rightsEN;\r\n\r\n this.languageVariables.approve = data.approveEN;\r\n this.languageVariables.reject = data.rejectEN;\r\n this.languageVariables.submit= data.submitEN;\r\n this.languageVariables.printAgreementTxt = data.printAgreementTxtCapsEN;\r\n\r\n this.languageVariables.clinicLocation= data.clinicLocationEN;\r\n this.languageVariables.clinicDate = data.clinicDateEN;\r\n this.languageVariables.clinicTime = data.clinicTimeEN;\r\n this.languageVariables.contact= data.contactEN;\r\n this.languageVariables.phone = data.phoneEN;\r\n this.languageVariables.estShots = data.estShotsEN;\r\n this.languageVariables.location = data.locationEN;\r\n this.languageVariables.time = data.timeEN;\r\n this.languageVariables.email = data.emailEN;\r\n this.languageVariables.emailAgrmntTo= data.emailAgreementToEN;\r\n this.languageVariables.multipleEmailAddrss = data.multipleEmailAddressEN;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementEN;\r\n this.languageVariables.editAgreeMnt = data.editAgreementEN;\r\n this.languageVariables.saveAgreeMnt = data.saveAgreementEN;\r\n this.languageVariables.cancelTxt = data.cancelEN;\r\n this.languageVariables.noteTxt = data.noteTextEN;\r\n this.languageVariables.table1 = data.table1EN;\r\n this.fluExpiryDate= data.fluExpiryDateEN;\r\n this.routineExpiryDate= data.routineExpiryDateEN;\r\n this.languageVariables.estShots = data.estShotsEN;\r\n this.sendInvoiceTo= data.sendInvoiceToEN;\r\n this.isTaxExempt = data.isTaxExemptEN;\r\n this.isCopay= data.isCopayEN;\r\n this.voucherNeeded = data.voucherNeededEN;\r\n this.voucherExpiry = data.voucherExpiryEN;\r\n this.copayValue = data.copayValueEN;\r\n this.languageVariables.contactName = data.contactName;\r\n this.languageVariables.contactPhone = data.contactPhone;\r\n this.languageVariables.contactEmail = data.contactEmail;\r\n }\r\n\r\n this.language = \"TRANSLATE TO ENGLISH\";\r\n }\r\n\r\nchangeLanguageToSpanish(){\r\n this.enlanguageSelection = false;\r\n this.splanguageSelection = true;\r\n this.languageChangeToSpanish();\r\n }\r\n\r\n changeLanguageToEnglish(){\r\n this.enlanguageSelection = true;\r\n this.splanguageSelection = false;\r\n this.languageChangeToEnglish();\r\n }\r\n\r\n \r\n checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location: Clinic): boolean {\r\n return this._apiservice.checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location) && Number(location.isNoClinic) >=1;\r\n }\r\n checkIfFluImmForCorpInvoiceSelected():boolean{\r\n return this._apiservice.checkIfFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfNonFluImmForCorpInvoiceSelected():boolean{\r\n return this._apiservice.checkIfNonFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfCovidImmForCorpInvoiceSelected():boolean{\r\n return this._apiservice.checkIfCovidImmForCorpInvoiceSelected();\r\n }\r\n checkIfNonFluImmIsSelected():boolean{\r\n return this._apiservice.checkIfNonFluImmIsSelected();\r\n }\r\n getVoucherExpiryDate(clinicLoc:Clinic):string{\r\n let vchrDate:Date;\r\n this.userRecords.forEach(imz=>{\r\n if(Number(imz.isVoucherNeeded) >=1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') !== -1)\r\n vchrDate=new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate,'MM/dd/yyyy');\r\n }\r\n getRoutineExpiryDate(clinicLoc:Clinic):string{\r\n let vchrDate:Date;\r\n this.userRecords.forEach(imz=>{\r\n if(Number(imz.isVoucherNeeded) >=1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1)\r\n vchrDate=new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate,'MM/dd/yyyy');\r\n }\r\n getCovidExpiryDate():string{\r\n let vchrDate:Date;\r\n this.userRecords.forEach(imz=>{\r\n if(Number(imz.isVoucherNeeded) >=1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1 && imz.immunizationName.toLowerCase().search('covid') !== -1)\r\n vchrDate=new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate,'MM/dd/yyyy');\r\n }\r\n isFieldValid(field: string) {\r\n return !this.regularContract.get(field).valid && this.regularContract.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n enableContractEditStatus(){\r\n if(this.clinicAgreement != null && this.clinicAgreement != undefined ) {\r\n if(this.clinicAgreement.isEmailSent != null &&\r\n ( this.clinicAgreement.isEmailSent == 1 ) && \r\n ( this.clinicAgreement.isApproved == null || this.clinicAgreement.isApproved == 1 )){\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n showHideSaveBtnStatus(){ \r\n if(this.clinicAgreement != null && this.clinicAgreement != undefined ) {\r\n if(this.clinicAgreement.isEmailSent != null &&\r\n ( this.clinicAgreement.isEmailSent == 1 ) && \r\n ( this.clinicAgreement.isApproved == null || this.clinicAgreement.isApproved == 1 || this.clinicAgreement.isApproved == 0 )){\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n confirmOverlap(hdr: string, msg: string, is_email: boolean) {\r\n \r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n this.saveAgreementData(is_email, true);\r\n return true;\r\n },\r\n reject: () => {\r\n return false;\r\n }\r\n });\r\n }\r\n amendOkClicked()\r\n {\r\n this.displayAmend=false;\r\n }\r\n checkToPrintAsterisk(immAbvName:string,immName:string):boolean{\r\n let bRet:boolean =false;\r\n if(immAbvName&&immAbvName.search(/Two Dose/gi)>=0){\r\n bRet= true;\r\n }\r\n return bRet;\r\n }\r\n checkForDoubleAsteriskRates():boolean{ \r\n return this.clinicAgreement.clinicImmunizationList.filter(p=>p.immunizationName.search(/Dose/gi)>=0).length>0;\r\n }\r\n}\r\n","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { FormGroup, FormArray, FormBuilder, Validators, Form } from '@angular/forms';\r\nimport { OutreachProgramService } from '../../services/outreach-program.service';\r\nimport { LocationNumberPipe } from '../../pipes/location-number.pipe';\r\nimport { Clinic, Immunization2 } from '../../../../models/contract';\r\nimport { TimeToDatePipe } from '../../pipes/time-to-date.pipe';\r\nimport { DatePipe } from '@angular/common';\r\nimport { OutReachProgramType } from '../../../../models/OutReachPrograms';\r\nimport { Router } from '@angular/router';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { String } from 'typescript-string-operations';\r\nimport { Util } from '../../../../utility/util';\r\nimport { CommunityOutreach, EquityEvent } from '../../../../models/community-outreach-v1';\r\nimport { AlertService } from '../../../../alert.service';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport * as _ from 'lodash';\r\nimport { ClinicDetailsUtilities } from '../../../../utility/clinicDetailsUtilities';\r\n\r\n@Component({\r\n selector: 'app-locations-list',\r\n templateUrl: './locations-list.component.html',\r\n styleUrls: ['./locations-list.component.css'],\r\n providers: [LocationNumberPipe, TimeToDatePipe, DatePipe]\r\n})\r\nexport class LocationsListComponent implements OnInit {\r\n public contractForm: FormGroup;\r\n public addedImmunizations: Immunization2[];\r\n location_number: any = 0;\r\n @Input('outReachProgramType')\r\n outReachProgramType: string = OutReachProgramType.contracts;\r\n contractData: any;\r\n locListErrModalDlg: boolean = false;\r\n locListModalDlg: boolean = false;\r\n locConfirm250ModalDlg: boolean = false;\r\n coLocConfirm250ModalDlg: boolean = false;\r\n locConfirm25ModalDlg: boolean = false;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n fluExpiryDate: string = '';\r\n RoutineExpiryDate: string = '';\r\n CovidExpiryDate: string = '';\r\n userApprovedGt250: boolean = false;\r\n userApprovedLt25: boolean = false;\r\n isDateTimeConflictPresent = false;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n display_message: boolean = false;\r\n zipCode: string;\r\n previous_location_data: any[];\r\n previous_locations: any[];\r\n is_previous_locations: boolean = false;\r\n locations_data: FormGroup;\r\n locations_data1: FormGroup;\r\n event_details: any;\r\n @Output() clinicSubmit: EventEmitter = new EventEmitter();\r\n @Output() showHideBtns: EventEmitter = new EventEmitter();\r\n ccRegex: RegExp = /^((\\(\\d{3}\\) ?)|(\\d{3}-))?\\d{3}-\\d{4}$/;\r\n from_local_clinic: boolean = false;\r\n location25Names: string[] = [];\r\n location250Names: any[] = [];\r\n is_reAgreement: boolean = false;\r\n showDateTimeOverlpDlg: boolean = false;\r\n userOverriddenDateTimeConflict: boolean = false;\r\n OverrideOrOkTitle: string = \"Override\";\r\n userOverriddenVisitsGapConflict: boolean = false;\r\n showVisitsGapOverlpDlg: boolean = false;\r\n showCancelBtn: boolean = true;\r\n isCovidVaccineAvailable: boolean = false;\r\n isNonCovidVaccineAvailable: boolean = true;\r\n is_reAgreementCommOutreach: boolean = false;\r\n totalClinicsCount: number;\r\n\r\n constructor(private _fb: FormBuilder,\r\n private _localContractService: OutreachProgramService,\r\n private _locationNumberPipe: LocationNumberPipe,\r\n private _timeToDatePipe: TimeToDatePipe,\r\n private _datePipe: DatePipe, private confirmationService: ConfirmationService, private prouter: Router,\r\n private _alertService: AlertService,\r\n private utility: Util, private spinner: NgxSpinnerService) {\r\n }\r\n\r\n ngOnInit() {\r\n console.log(this.outReachProgramType + 'dhdh');\r\n window.scroll({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n\r\n if (sessionStorage[\"AmendAgreement\"] != null) {\r\n this.is_reAgreement = JSON.parse(sessionStorage[\"AmendAgreement\"]) as boolean;\r\n }\r\n if (sessionStorage[\"AmendAgreementForCommOutreach\"] != null) {\r\n this.is_reAgreementCommOutreach = JSON.parse(sessionStorage[\"AmendAgreementForCommOutreach\"]) as boolean;\r\n }\r\n\r\n this._localContractService.clearSelectedInvoiceAndVouchersData();\r\n this.from_local_clinic = SessionDetails.GetfromUserPage();\r\n this.spinner.show();\r\n this.contractForm = this._fb.group({\r\n locations: this._fb.array([])\r\n });\r\n\r\n this.is_previous_locations = false;\r\n this.display_message = false;\r\n\r\n this.userApprovedGt250 = false;\r\n this.userApprovedLt25 = false;\r\n\r\n if (this.outReachProgramType === OutReachProgramType.communityoutreach) {\r\n this.contractData = this._localContractService.fetchCOAgreementData();\r\n }\r\n else if (this.outReachProgramType === OutReachProgramType.equityevents) {\r\n\r\n this.contractData = this._localContractService.fetchCOAgreementData();\r\n }\r\n else {\r\n this.contractData = this._localContractService.fetchContractAgreementData();\r\n }\r\n\r\n if (this.outReachProgramType === OutReachProgramType.communityoutreach && this.is_reAgreementCommOutreach) {\r\n this.contractData = this._localContractService.fetchContractAgreementData();\r\n }\r\n else if (this.outReachProgramType === OutReachProgramType.equityevents && this.is_reAgreementCommOutreach) { this.contractData = this._localContractService.fetchContractAgreementData(); }\r\n\r\n this.addedImmunizations = this.contractData.clinicImmunizationList;\r\n let oppurtunitiesData: any = SessionDetails.GetopportunitiesData();\r\n //For restrction states\r\n if (this.utility.isStoreIsfromRestrictedState()) {\r\n this._localContractService.getpreviousseasoncliniclocations(this.contractData.clinicAgreementPk, oppurtunitiesData.businessPk).subscribe((res: any) => {\r\n this.previous_location_data = res.previousLocationsList;\r\n if (this.previous_location_data.length > 1) {\r\n this.is_previous_locations = true;\r\n this.display_message = true;\r\n }\r\n else {\r\n this.display_message = false;\r\n }\r\n });\r\n }\r\n\r\n if (this.outReachProgramType === OutReachProgramType.communityoutreach) {\r\n this.isCovidVaccineAvailable = this._localContractService.getCOSelectedImmunizations().filter(p => p.immunizationName.search(/COVID-19/gi) >= 0).length > 0;\r\n let isFluVaccineAvailable: boolean = this._localContractService.getCOSelectedImmunizations().filter(p => p.immunizationName.search(/Influenza/gi) >= 0).length > 0;\r\n let isRoutineVaccineAvailable: boolean = false;\r\n\r\n isRoutineVaccineAvailable = this._localContractService.getCOSelectedImmunizations().filter(p => (p.immunizationName.search(/Influenza/gi) == -1) && p.immunizationName.search(/COVID-19/gi) == -1).length > 0;\r\n\r\n if (isFluVaccineAvailable || isRoutineVaccineAvailable) {\r\n this.isNonCovidVaccineAvailable = true;\r\n }\r\n else {\r\n this.isNonCovidVaccineAvailable = false;\r\n }\r\n }\r\n else if (this.outReachProgramType === OutReachProgramType.equityevents) {\r\n\r\n\r\n this.isCovidVaccineAvailable = this._localContractService.getCOSelectedImmunizations().filter(p => p.immunizationName.search(/COVID-19/gi) >= 0).length > 0;\r\n let isFluVaccineAvailable: boolean = this._localContractService.getCOSelectedImmunizations().filter(p => p.immunizationName.search(/Influenza/gi) >= 0).length > 0;\r\n let isRoutineVaccineAvailable: boolean = false;\r\n\r\n isRoutineVaccineAvailable = this._localContractService.getCOSelectedImmunizations().filter(p => (p.immunizationName.search(/Influenza/gi) == -1) && p.immunizationName.search(/COVID-19/gi) == -1).length > 0;\r\n\r\n if (isFluVaccineAvailable || isRoutineVaccineAvailable) {\r\n this.isNonCovidVaccineAvailable = true;\r\n }\r\n else {\r\n this.isNonCovidVaccineAvailable = false;\r\n }\r\n }\r\n else {\r\n this.isCovidVaccineAvailable = this._localContractService.getSelectedImmunizations().filter(p => p.immunizationName.search(/COVID-19/gi) >= 0).length > 0;\r\n let isFluVaccineAvailable: boolean = this._localContractService.getSelectedImmunizations().filter(p => p.immunizationName.search(/Influenza/gi) >= 0).length > 0;\r\n let isRoutineVaccineAvailable: boolean = false;\r\n\r\n isRoutineVaccineAvailable = this._localContractService.getSelectedImmunizations().filter(p => (p.immunizationName.search(/Influenza/gi) == -1) && p.immunizationName.search(/COVID-19/gi) == -1).length > 0;\r\n\r\n if (isFluVaccineAvailable || isRoutineVaccineAvailable) {\r\n this.isNonCovidVaccineAvailable = true;\r\n }\r\n else {\r\n this.isNonCovidVaccineAvailable = false;\r\n }\r\n }\r\n //this.addedImmunizations = this.contractData.contractAgreement.clinicImmunizations;\r\n if (this.contractData.clinicList.length > 0) { // for clinics which are already present\r\n this.totalClinicsCount = this.contractData.clinicList.length;\r\n this.contractData.clinicList.forEach((loc, index) => {\r\n let clinic_immunizations: any[] = [];\r\n this.addedImmunizations.forEach(rec => {\r\n let imz: any = {};\r\n let matching_imz = loc.clinicImzQtyList.filter(item => item.immunizationPk == rec.immunizationPk && item.paymentTypeId == rec.paymentTypeId);\r\n imz.immunizationPk = rec.immunizationPk;\r\n imz.immunizationName = rec.immunizationName;\r\n imz.paymentTypeName = rec.paymentTypeName;\r\n imz.paymentTypeId = rec.paymentTypeId;\r\n imz.immunizationAbvNameEN = rec.immunizationAbvNameEN;\r\n imz.estimatedQuantity = matching_imz[0] ? matching_imz[0].estimatedQuantity : \"\";\r\n\r\n if (rec.immunizationName.toLowerCase().search('flu') !== -1 && rec.voucherExpirationDate !== undefined && rec.voucherExpirationDate !== null) {\r\n this.fluExpiryDate = rec.voucherExpirationDate;\r\n }\r\n if (rec.immunizationName.toLowerCase().search('flu') === -1 && rec.voucherExpirationDate !== undefined && rec.voucherExpirationDate !== null) {\r\n this.RoutineExpiryDate = rec.voucherExpirationDate;\r\n }\r\n if (rec.immunizationName.toLowerCase().search('covid') !== -1 && rec.voucherExpirationDate !== undefined && rec.voucherExpirationDate !== null) {\r\n this.CovidExpiryDate = rec.voucherExpirationDate;\r\n }\r\n clinic_immunizations.push(imz);\r\n });\r\n\r\n loc.clinicImzQtyList = clinic_immunizations;\r\n this.addLocation(loc);\r\n });\r\n this.spinner.hide();\r\n }\r\n else { //new contract\r\n this.spinner.show();\r\n let location: Clinic = new Clinic();\r\n location.clinicDate = '';\r\n location.location = \"CLINIC \" + this._locationNumberPipe.transform(this.location_number + 1);\r\n\r\n if (oppurtunitiesData.businessPk !== undefined && oppurtunitiesData.businessPk !== null && oppurtunitiesData.businessPk !== \"\") {\r\n\r\n this._localContractService.getStoreBusinessDetails(oppurtunitiesData.businessPk).subscribe((res: any) => {\r\n location.address1 = res.address1;\r\n location.address2 = res.address2;\r\n location.city = res.city;\r\n location.state = res.state;\r\n location.zipCode = res.zipCode;\r\n\r\n let clinic_immunizations: any[] = [];\r\n this.addedImmunizations = this.contractData.clinicImmunizationList;\r\n this.addedImmunizations.forEach(rec => {\r\n let imz: any = {};\r\n imz.immunizationPk = rec.immunizationPk;\r\n imz.immunizationName = rec.immunizationName;\r\n imz.immunizationAbvNameEN = rec.immunizationAbvNameEN;\r\n imz.paymentTypeName = rec.paymentTypeName;\r\n imz.paymentTypeId = rec.paymentTypeId;\r\n imz.estimatedQuantity = \"\";\r\n\r\n if (rec.immunizationName.toLowerCase().search('flu') !== -1 && rec.voucherExpirationDate !== undefined && rec.voucherExpirationDate !== null) {\r\n this.fluExpiryDate = rec.voucherExpirationDate;\r\n }\r\n if (rec.immunizationName.toLowerCase().search('flu') === -1 && rec.voucherExpirationDate !== undefined && rec.voucherExpirationDate !== null) {\r\n this.RoutineExpiryDate = rec.voucherExpirationDate;\r\n }\r\n if (rec.immunizationName.toLowerCase().search('covid') !== -1 && rec.voucherExpirationDate !== undefined && rec.voucherExpirationDate !== null) {\r\n this.CovidExpiryDate = rec.voucherExpirationDate;\r\n }\r\n clinic_immunizations.push(imz);\r\n });\r\n\r\n location.clinicImzQtyList = clinic_immunizations;\r\n this.addLocation(location);\r\n this.spinner.hide();\r\n }\r\n ,\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n return false;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n }\r\n });\r\n } else {\r\n this.showDialog(ErrorMessages['serverError'], \"An error has occurred. Pleaase contact administrartor.\");\r\n return false;\r\n }\r\n }\r\n\r\n this.event_details = SessionDetails.GetEventDetails();\r\n if (this.outReachProgramType === OutReachProgramType.communityoutreach) {\r\n this.isCovidVaccineAvailable = this._localContractService.getCOSelectedImmunizations().filter(p => p.immunizationName.search(/COVID-19/gi) >= 0).length > 0;\r\n }\r\n else if (this.outReachProgramType === OutReachProgramType.equityevents) {\r\n this.isCovidVaccineAvailable = this._localContractService.getCOSelectedImmunizations().filter(p => p.immunizationName.search(/COVID-19/gi) >= 0).length > 0;\r\n }\r\n else {\r\n this.isCovidVaccineAvailable = this._localContractService.getSelectedImmunizations().filter(p => p.immunizationName.search(/COVID-19/gi) >= 0).length > 0;\r\n }\r\n this.spinner.hide();\r\n }\r\n disableButton() {\r\n if (this.display_message || this.from_local_clinic || this.is_reAgreement) {\r\n return 'false';\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n PreviousLocationChange(event) {\r\n if (event != \"\") {\r\n this.display_message = false;\r\n this.previous_locations = this.previous_location_data.filter(item => item.rowId == event);\r\n }\r\n else {\r\n this.display_message = true;\r\n\r\n }\r\n }\r\n initLocation(location: Clinic) {\r\n let clinic_immunizations: any[];\r\n let previous_display: boolean = true;\r\n this.location_number = this.location_number + 1;\r\n let covidVaccine = false, isVoucherOnly = false;\r\n if (this.previous_locations != undefined) {\r\n if (this.previous_locations.length > 0) {\r\n this.address1 = this.previous_locations[0].address;\r\n this.address2 = this.previous_locations[0].address2;\r\n this.city = this.previous_locations[0].city;\r\n this.state = this.previous_locations[0].state;\r\n this.zipCode = this.previous_locations[0].zip;\r\n previous_display = false;\r\n }\r\n }\r\n let added_immunizations;\r\n if (this.outReachProgramType == OutReachProgramType.communityoutreach) {\r\n added_immunizations = this._localContractService.getCOSelectedImmunizations();\r\n }\r\n else if (this.outReachProgramType == OutReachProgramType.equityevents) {\r\n added_immunizations = this._localContractService.getCOSelectedImmunizations();\r\n }\r\n else {\r\n added_immunizations = this._localContractService.getSelectedImmunizations();\r\n }\r\n covidVaccine = added_immunizations.filter(p => p.immunizationName.includes('COVID-19 Vaccine')).length > 0;\r\n isVoucherOnly = added_immunizations.filter(item => item.immunizationName.includes('Vaccine Voucher')).length > 0;\r\n\r\n if (location === undefined) {\r\n\r\n clinic_immunizations = [];\r\n location = new Clinic();\r\n\r\n // commenting \r\n //location.clinicDate = this._datePipe.transform(new Date(today.getFullYear(),today.getMonth(), today.getDate(), 12,30,30),\"MM/dd/yyyy hh:mm:ss\");\r\n location.clinicDate = '';\r\n location.location = \"CLINIC \" + this._locationNumberPipe.transform(this.location_number);\r\n\r\n added_immunizations.forEach(rec => {\r\n let imz: any = {};\r\n imz.immunizationPk = rec.immunizationPk;\r\n imz.immunizationName = rec.immunizationName;\r\n imz.immunizationAbvNameEN = rec.immunizationAbvNameEN;\r\n imz.paymentTypeName = rec.paymentTypeName;\r\n imz.paymentTypeId = rec.paymentTypeId;\r\n imz.estimatedQuantity = \"\";\r\n\r\n if (rec.voucherExpirationDate !== undefined && rec.voucherExpirationDate !== null) {\r\n if (rec.immunizationName.toLowerCase().search('flu') !== -1 && rec.voucherExpirationDate.valueOf() > 0) {\r\n this.fluExpiryDate = rec.voucherExpirationDate;\r\n }\r\n if (rec.immunizationName.toLowerCase().search('flu') === -1 && rec.voucherExpirationDate.valueOf() > 0) {\r\n this.RoutineExpiryDate = rec.voucherExpirationDate;\r\n }\r\n if (rec.immunizationName.toLowerCase().search('covid') !== -1 && rec.voucherExpirationDate !== undefined && rec.voucherExpirationDate !== null) {\r\n this.CovidExpiryDate = rec.voucherExpirationDate;\r\n }\r\n }\r\n clinic_immunizations.push(imz);\r\n });\r\n }\r\n else {\r\n clinic_immunizations = location.clinicImzQtyList;\r\n clinic_immunizations.forEach(rec => {\r\n if (rec.voucherExpirationDate !== undefined && rec.voucherExpirationDate !== null) {\r\n if (rec.immunizationName.toLowerCase().search('flu') !== -1 && rec.voucherExpirationDate.valueOf() > 0) {\r\n this.fluExpiryDate = rec.voucherExpirationDate;\r\n }\r\n if (rec.immunizationName.toLowerCase().search('flu') === -1 && rec.voucherExpirationDate.valueOf() > 0) {\r\n this.RoutineExpiryDate = rec.voucherExpirationDate;\r\n }\r\n if (rec.immunizationName.toLowerCase().search('covid') !== -1 && rec.voucherExpirationDate !== undefined && rec.voucherExpirationDate !== null) {\r\n this.CovidExpiryDate = rec.voucherExpirationDate;\r\n }\r\n }\r\n });\r\n if (this.utility.isStoreIsfromRestrictedState() && location != undefined && previous_display) {\r\n this.address1 = location.address1;\r\n this.address2 = location.address2;\r\n this.city = location.city;\r\n this.state = location.state;\r\n this.zipCode = location.zipCode;\r\n }\r\n }\r\n\r\n if (this.outReachProgramType == OutReachProgramType.contracts) {\r\n let hasCorpInvoice = this.checkIfAnyImmunizationsHasCorpInvoice(location);\r\n let hasCorpInvAndVchrNd = this.checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded();\r\n // 775 fix\r\n let isNoClinic: number = (location.isNoClinic === undefined || location.isNoClinic === null || Number(location.isNoClinic) <= 0) ? 0 : Number(location.isNoClinic);\r\n if (covidVaccine && isVoucherOnly && hasCorpInvoice && hasCorpInvAndVchrNd) {\r\n isNoClinic = 1;\r\n }\r\n if (!hasCorpInvAndVchrNd) {\r\n isNoClinic = 0;\r\n location.isNoClinic = 0;\r\n }\r\n return this._fb.group({\r\n clinicImzQtyList: this.initImmunizations(clinic_immunizations),\r\n location: this._fb.control(location.location),\r\n contactFirstName: this._fb.control(location.contactFirstName, Validators.required),\r\n contactLastName: this._fb.control(location.contactLastName, Validators.required),\r\n contactEmail: this._fb.control(location.contactEmail, Validators.required),\r\n contactPhone: this._fb.control(location.contactPhone, Validators.required),\r\n clinicDate: this._fb.control(location.clinicDate !== '' && location.clinicDate !== null ? new Date(location.clinicDate) :\r\n location.clinicDate == null ? '' : location.clinicDate, isNoClinic ? null : Validators.required),\r\n startTime: this._fb.control(location.startTime, isNoClinic ? null : Validators.required),\r\n endTime: this._fb.control(location.endTime, isNoClinic ? null : Validators.required),\r\n address1: this._fb.control(this.utility.isStoreIsfromRestrictedState() ? (this.address1 != null || this.address1 != undefined) ? this.address1 : location.address1 : location.address1, [Validators.required, Validators.maxLength(40)]),\r\n address2: this._fb.control(this.utility.isStoreIsfromRestrictedState() ? (this.address2 != null || this.address2 != undefined) ? this.address2 : location.address2 : location.address2, [Validators.maxLength(60)]),\r\n city: this._fb.control(this.utility.isStoreIsfromRestrictedState() ? (this.city != null || this.city != undefined) ? this.city : location.city : location.city, Validators.required),\r\n state: this._fb.control(this.utility.isStoreIsfromRestrictedState() ? (this.state != null || this.state != undefined) ? this.state : location.state : location.state, Validators.required),\r\n zipCode: this._fb.control(this.utility.isStoreIsfromRestrictedState() ? (this.zipCode != null || this.zipCode != undefined) ? this.zipCode : location.zipCode : location.zipCode, Validators.required),\r\n\r\n estShots: this._fb.control(location.estShots),\r\n isReassign: this._fb.control(location.isReassign >= 1 ? 1 : 0, Validators.required),\r\n isNoClinic: this._fb.control(hasCorpInvoice ? isNoClinic : { value: hasCorpInvAndVchrNd ? 1 : 0, disabled: true }, null),\r\n previousContact: this._fb.control(+location.previousContact, null),\r\n previousLocation: this._fb.control(+location.previousLocation, null),\r\n isCurrent: this._fb.control(1),\r\n fluExpiryDate: this._fb.control({ value: new Date(this.fluExpiryDate), disabled: true }, null),\r\n routineExpiryDate: this._fb.control({ value: new Date(this.RoutineExpiryDate), disabled: true }, null),\r\n covidExpiryDate: this._fb.control({ value: new Date(this.CovidExpiryDate), disabled: true }, null),\r\n latitude: this._fb.control(location.latitude),\r\n longitude: this._fb.control(location.longitude),\r\n visitType: this._fb.control(location.visitType == '0' ? \"0\" : location.visitType ? location.visitType.toString() : \"\", this.isCovidVaccineAvailable ? null : null),\r\n clinicFee: this._fb.control(location.clinicFee),\r\n vouchersDistributed: this._fb.control(location.vouchersDistributed),\r\n isNoClinicFee: this._fb.control(location.isNoClinicFee),\r\n estimatedParticipants: this._fb.control(location.estimatedParticipants, Validators.required),\r\n IsPreviousClinic: this._fb.control(location.IsPreviousClinic || 0)\r\n // dose1: this._fb.control(location.dose1, null),\r\n // dose2: this._fb.control(location.dose2, null)\r\n });\r\n }\r\n\r\n else if (this.outReachProgramType == OutReachProgramType.communityoutreach) {\r\n\r\n return this._fb.group({\r\n clinicImzQtyList: this.initImmunizations(clinic_immunizations),\r\n location: this._fb.control(location.location),\r\n contactFirstName: this._fb.control(location.contactFirstName, Validators.required),\r\n contactLastName: this._fb.control(location.contactLastName, Validators.required),\r\n contactEmail: this._fb.control(location.contactEmail, Validators.required),\r\n contactPhone: this._fb.control(location.contactPhone, Validators.required),\r\n clinicDate: this._fb.control(location.clinicDate, Validators.required),\r\n startTime: this._fb.control(location.startTime, Validators.required),\r\n endTime: this._fb.control(location.endTime, Validators.required),\r\n\r\n // disabling fields if the store state belongs to restricted state\r\n address1: this._fb.control(this.utility.isStoreIsfromRestrictedState() ? (this.address1 != null || this.address1 != undefined) ? this.address1 : location.address1 : location.address1, Validators.required),\r\n address2: this._fb.control(this.utility.isStoreIsfromRestrictedState() ? (this.address2 != null || this.address2 != undefined) ? this.address2 : location.address2 : location.address2),\r\n city: this._fb.control(this.utility.isStoreIsfromRestrictedState() ? (this.city != null || this.city != undefined) ? this.city : location.city : location.city, Validators.required),\r\n state: this._fb.control(this.utility.isStoreIsfromRestrictedState() ? (this.state != null || this.state != undefined) ? this.state : location.state : location.state, Validators.required),\r\n zipCode: this._fb.control(this.utility.isStoreIsfromRestrictedState() ? (this.zipCode != null || this.zipCode != undefined) ? this.zipCode : location.zipCode : location.zipCode, Validators.required),\r\n\r\n isCurrent: this._fb.control(location.isCurrent),\r\n previousContact: this._fb.control(+location.previousContact, null),\r\n previousLocation: this._fb.control(+location.previousLocation, null),\r\n\r\n visitType: this._fb.control(location.visitType ? location.visitType.toString() : \"\", this.isCovidVaccineAvailable ? null : null),\r\n\r\n coOutreachTypeId: this._fb.control(location.coOutreachTypeId, Validators.required),\r\n coOutreachTypeDesc: this._fb.control(location.coOutreachTypeDesc, null),\r\n latitude: this._fb.control(location.latitude),\r\n longitude: this._fb.control(location.longitude)\r\n // dose1: this._fb.control(location.dose1, null),\r\n // dose2: this._fb.control(location.dose1, null)\r\n });\r\n }\r\n else if (this.outReachProgramType == OutReachProgramType.equityevents) {\r\n\r\n\r\n let isNoClinic: number = (location.isNoClinic === undefined || location.isNoClinic === null || Number(location.isNoClinic) <= 0) ? 0 : Number(location.isNoClinic);\r\n return this._fb.group({\r\n clinicImzQtyList: this.initImmunizations(clinic_immunizations),\r\n location: this._fb.control(location.location),\r\n contactFirstName: this._fb.control(location.contactFirstName, Validators.required),\r\n contactLastName: this._fb.control(location.contactLastName, Validators.required),\r\n contactEmail: this._fb.control(location.contactEmail, Validators.required),\r\n contactPhone: this._fb.control(location.contactPhone, Validators.required),\r\n clinicDate: this._fb.control(location.clinicDate !== '' && location.clinicDate !== null ? new Date(location.clinicDate) :\r\n location.clinicDate == null ? '' : location.clinicDate, isNoClinic ? null : Validators.required),\r\n startTime: this._fb.control(location.startTime, isNoClinic ? null : Validators.required),\r\n endTime: this._fb.control(location.endTime, isNoClinic ? null : Validators.required),\r\n address1: this._fb.control(this.utility.isStoreIsfromRestrictedState() ? (this.address1 != null || this.address1 != undefined) ? this.address1 : location.address1 : location.address1, [Validators.required, Validators.maxLength(40)]),\r\n address2: this._fb.control(this.utility.isStoreIsfromRestrictedState() ? (this.address2 != null || this.address2 != undefined) ? this.address2 : location.address2 : location.address2, [Validators.maxLength(60)]),\r\n city: this._fb.control(this.utility.isStoreIsfromRestrictedState() ? (this.city != null || this.city != undefined) ? this.city : location.city : location.city, Validators.required),\r\n state: this._fb.control(this.utility.isStoreIsfromRestrictedState() ? (this.state != null || this.state != undefined) ? this.state : location.state : location.state, Validators.required),\r\n zipCode: this._fb.control(this.utility.isStoreIsfromRestrictedState() ? (this.zipCode != null || this.zipCode != undefined) ? this.zipCode : location.zipCode : location.zipCode, Validators.required),\r\n coOutreachTypeId: this._fb.control(location.coOutreachTypeId, Validators.required),\r\n coOutreachTypeDesc: this._fb.control(location.coOutreachTypeDesc, null),\r\n estShots: this._fb.control(location.estShots),\r\n isReassign: this._fb.control(location.isReassign >= 1 ? 1 : 0, Validators.required),\r\n isNoClinic: this._fb.control(location.isNoClinic, null),\r\n previousContact: this._fb.control(+location.previousContact, null),\r\n previousLocation: this._fb.control(+location.previousLocation, null),\r\n isCurrent: this._fb.control(1),\r\n fluExpiryDate: this._fb.control({ value: new Date(this.fluExpiryDate), disabled: true }, null),\r\n routineExpiryDate: this._fb.control({ value: new Date(this.RoutineExpiryDate), disabled: true }, null),\r\n covidExpiryDate: this._fb.control({ value: new Date(this.CovidExpiryDate), disabled: true }, null),\r\n latitude: this._fb.control(location.latitude),\r\n longitude: this._fb.control(location.longitude),\r\n visitType: this._fb.control(location.visitType == '0' ? \"0\" : location.visitType ? location.visitType.toString() : \"\", this.isCovidVaccineAvailable ? null : null),\r\n clinicFee: this._fb.control(location.clinicFee),\r\n vouchersDistributed: this._fb.control(location.vouchersDistributed)\r\n\r\n\r\n });\r\n }\r\n }\r\n\r\n checkIfAnyImmunizationsHasCorpInvoice(location: Clinic): boolean {\r\n let added_immunizations = this._localContractService.getSelectedImmunizations();\r\n try {\r\n let hasCorpInvoice: Boolean = false;\r\n var fluType = 'flu';\r\n let fluDone: Boolean = false;\r\n let routineDone: Boolean = false;\r\n added_immunizations.forEach(rec => {\r\n if (rec.paymentTypeId == 13 && (rec.sendInvoiceTo === '1' || rec.sendInvoiceTo === 1)) {\r\n hasCorpInvoice = true;\r\n if (rec.immunizationName.toLowerCase().search(fluType) == -1 && !routineDone) {\r\n location.routineExpiryDate = rec.voucherExpirationDate;\r\n routineDone = true;\r\n }\r\n else {\r\n if (!fluDone) {\r\n location.fluExpiryDate = rec.voucherExpirationDate;\r\n fluDone = true;\r\n }\r\n }\r\n }\r\n });\r\n if (hasCorpInvoice == true)\r\n return true;\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(): boolean {\r\n let added_immunizations = this._localContractService.getSelectedImmunizations();\r\n try {\r\n let hasCorpInvoiceNdVchrNd: Boolean = false;\r\n added_immunizations.forEach(rec => {\r\n if (rec.paymentTypeId == 13 || rec.paymentTypeId == 6 && (rec.sendInvoiceTo === '1' || rec.sendInvoiceTo === 1) && (rec.isVoucherNeeded === '1' || rec.isVoucherNeeded === 1)) {\r\n hasCorpInvoiceNdVchrNd = true;\r\n }\r\n });\r\n if (hasCorpInvoiceNdVchrNd == true)\r\n return true;\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n initImmunizations(clinic_immunizations) {\r\n let imz_array: any[] = [];\r\n clinic_immunizations.forEach(imz => {\r\n imz.immunizationName = imz.immunizationName;\r\n imz.paymentTypeName = imz.paymentTypeName;\r\n imz_array.push(this._fb.group({\r\n clinicPk: this._fb.control(imz.clinicPk),\r\n immunizationPk: this._fb.control(imz.immunizationPk),\r\n estimatedQuantity: this._fb.control(imz.estimatedQuantity, Validators.required), //(Number(imz.estimatedQuantity) == 0?'':imz.estimatedQuantity, Validators.required)\r\n immunizationName: this._fb.control(imz.immunizationName),\r\n paymentTypeName: this._fb.control(imz.paymentTypeName),\r\n paymentTypeId: this._fb.control(imz.paymentTypeId),\r\n immunizationAbvNameEN: this._fb.control(imz.immunizationAbvNameEN)\r\n }))\r\n })\r\n return this._fb.array(imz_array);\r\n }\r\n\r\n addLocation(location) {\r\n if (location && (this.is_reAgreement == true || this.is_reAgreementCommOutreach == true)) {\r\n this.calculateClinicFee(location);\r\n }\r\n const control = this.contractForm.controls['locations'];\r\n const addrCtrl = this.initLocation(location);\r\n // check \"No Clinic - Voucher Distribution Only\" when the only payment method \r\n // for all Immunizations is the Voucher payment method\r\n let onlyVoucherPaymentMethodSelected = ClinicDetailsUtilities.CheckIfOnlyVoucherPaymentMethodIsSelectedForAllImmunizations(addrCtrl.value.clinicImzQtyList);\r\n\r\n if (onlyVoucherPaymentMethodSelected && (location === undefined || location?.pk === undefined)) {\r\n addrCtrl.controls['isNoClinic'].setValue(1);\r\n\r\n addrCtrl.controls['clinicDate'].setErrors(null);\r\n addrCtrl.controls['clinicDate'].setValidators(null);\r\n addrCtrl.controls['clinicDate'].setValue(null);\r\n\r\n addrCtrl.controls['startTime'].setErrors(null);\r\n addrCtrl.controls['startTime'].setValidators(null);\r\n addrCtrl.controls['startTime'].setValue(null);\r\n\r\n addrCtrl.controls['endTime'].setErrors(null);\r\n addrCtrl.controls['endTime'].setValidators(null);\r\n addrCtrl.controls['endTime'].setValue(null);\r\n\r\n addrCtrl.updateValueAndValidity();\r\n }\r\n let isAmmendValue = sessionStorage[\"IsEquityAmendAgreement\"];\r\n\r\n if (\r\n this.outReachProgramType == OutReachProgramType.equityevents\r\n && location != undefined\r\n && location.vouchersDistributed != null\r\n && isAmmendValue === \"true\"\r\n ) {\r\n addrCtrl.controls['vouchersDistributed'].setValue(location.vouchersDistributed ?? 0);\r\n }\r\n // Only when No Clinic - Voucher Distribution Only is checked\r\n else if (addrCtrl.controls['isNoClinic'] && !addrCtrl.controls['isNoClinic']?.value && onlyVoucherPaymentMethodSelected) {\r\n const vouchersDistributedCount = ClinicDetailsUtilities.calculateVouchersDistributedCount(addrCtrl);\r\n addrCtrl.controls['vouchersDistributed'].setValue(vouchersDistributedCount ?? 0);\r\n }\r\n // When No Clinic - Voucher Distribution Only is not checked\r\n else if (addrCtrl.controls['isNoClinic'] && addrCtrl.controls['isNoClinic']?.value) {\r\n const vouchersDistributedCount = ClinicDetailsUtilities.GetAllEstimatedShotsValue(addrCtrl);\r\n addrCtrl.controls['vouchersDistributed'].setValue(vouchersDistributedCount ?? 0);\r\n }\r\n\r\n addrCtrl.updateValueAndValidity();\r\n this.locations_data1 = addrCtrl;\r\n control.push(addrCtrl);\r\n\r\n // 778 fix\r\n // if(this.isCovidVaccineAvailable&&location===undefined&& control.length>1){\r\n // let index:number = this.contractForm.controls.locations['controls'].length;\r\n // this.copyPreviousLocationData(index-1);\r\n // }\r\n if (location != undefined) {\r\n this.locations_data = Object.assign([], addrCtrl);\r\n }\r\n this._localContractService.setValidationsRequiredStatus(true);\r\n this._localContractService.SetIscanceled(true);\r\n }\r\n\r\n public calculateClinicFee(location) {\r\n let aggregatedEstimatedQuantity = 0;\r\n //key is the immunization name and value is estimated quantity count (number)\r\n let uniqueImmunizationShotsCount = new Map();\r\n\r\n location?.clinicImzQtyList?.forEach(immunization => {\r\n if (!isNaN(parseInt(immunization?.estimatedQuantity)) && (parseInt(immunization?.estimatedQuantity) > 0)) {\r\n uniqueImmunizationShotsCount[immunization.immunizationName] = parseInt(immunization?.estimatedQuantity);\r\n }\r\n });\r\n\r\n for (const key in uniqueImmunizationShotsCount) {\r\n if (uniqueImmunizationShotsCount.hasOwnProperty(key)) {\r\n aggregatedEstimatedQuantity += uniqueImmunizationShotsCount[key];\r\n }\r\n }\r\n\r\n let paymentIdsForClinic = new Set();\r\n location?.clinicImzQtyList?.forEach(immunization => {\r\n paymentIdsForClinic.add(immunization.paymentTypeId);\r\n });\r\n\r\n // if \"Voucher: Corporate to Invoice Employer Directly\" (id = 13) payment method is NOT SELECTED\r\n // then consider the calculatedClinicFee as is\r\n let calculatedClinicFee: number = ClinicDetailsUtilities.calculateClinicFeeForQty(aggregatedEstimatedQuantity);\r\n\r\n // if \"Voucher: Corporate to Invoice Employer Directly\" (id = 13) payment method is SELECTED along with other methods\r\n // then subtract the aggregatedEstimatedQuantity from \"Vouchers Distributed\" value and calculate the fee\r\n if (paymentIdsForClinic?.size > 1 && paymentIdsForClinic.has(13)) {\r\n var updatedQuantity = aggregatedEstimatedQuantity - (location?.vouchersDistributed?.value ?? 0);\r\n calculatedClinicFee = ClinicDetailsUtilities.calculateClinicFeeForQty(updatedQuantity);\r\n }\r\n\r\n // if only the \"Voucher: Corporate to Invoice Employer Directly\" (id = 13) payment method is selected\r\n // then Clinic Fee is 0\r\n if (paymentIdsForClinic?.size == 1 && paymentIdsForClinic.has(13)) {\r\n calculatedClinicFee = 0;\r\n }\r\n\r\n // if \"No Clinic - Voucher Distribution Only\" checkbox is checked\r\n // then clinic fee is 0\r\n if (location?.isNoClinic ?? false) {\r\n calculatedClinicFee = 0;\r\n }\r\n\r\n // if \"No Clinic Fee\" checkbox is checked\r\n // then clinic fee should be zero\r\n if (location?.isNoClinicFee ?? false) {\r\n calculatedClinicFee = 0;\r\n }\r\n\r\n location.clinicFee = calculatedClinicFee;\r\n }\r\n\r\n\r\n copyPreviousLocationData(formIndex: number) {\r\n\r\n let ctrl = this.contractForm.controls.locations['controls'];\r\n\r\n ctrl[formIndex].get('address1').setValue(ctrl[formIndex - 1].get('address1').value);\r\n ctrl[formIndex].get('address2').setValue(ctrl[formIndex - 1].get('address2').value);\r\n ctrl[formIndex].get('city').setValue(ctrl[formIndex - 1].get('city').value);\r\n ctrl[formIndex].get('state').setValue(ctrl[formIndex - 1].get('state').value);\r\n ctrl[formIndex].get('zipCode').setValue(ctrl[formIndex - 1].get('zipCode').value);\r\n\r\n }\r\n removeLocation(i: number) {\r\n let control = this.contractForm.controls['locations'];\r\n control.removeAt(i);\r\n this.location_number--;\r\n\r\n for (let index = 0; index < this.location_number; index++) {\r\n let fGrp: FormGroup = control.controls[index] as FormGroup;\r\n fGrp.controls['location'].setValue(\"CLINIC \" + this._locationNumberPipe.transform(index + 1));\r\n }\r\n this._localContractService.setValidationsRequiredStatus(true);\r\n this._localContractService.SetIscanceled(true);\r\n }\r\n\r\n isFieldValid(field: string) {\r\n return !this.contractForm.get(field).valid && this.contractForm.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n\r\n getCOVIDVisitTypesValidity() {\r\n var pfizerRe = /Pfizer/gi;\r\n var modernaRe = /Moderna/gi;\r\n let isValid = false;\r\n let errMsgs: string[] = [];\r\n let pfizerClinics: any[] = [];\r\n let modernaClinics: any[] = [];\r\n for (let count = 0; count < this.contractForm.value.locations.length; count++) {\r\n let pfizerCovidImmList = this.contractForm.value.locations[count].clinicImzQtyList.filter(p => p.immunizationName.search(pfizerRe) >= 0);\r\n let modernaCovidImmList = this.contractForm.value.locations[count].clinicImzQtyList.filter(p => p.immunizationName.search(modernaRe) >= 0);\r\n if (pfizerCovidImmList.length > 0) {\r\n let totalCovidImmCount: number = 0;\r\n\r\n totalCovidImmCount = pfizerCovidImmList.map(m => m.estimatedQuantity).reduce((a, b) => a + b);\r\n if (totalCovidImmCount > 0) {\r\n pfizerClinics.push(this.contractForm.value.locations[count]);\r\n }\r\n }\r\n if (modernaCovidImmList.length > 0) {\r\n let totalCovidImmCount: number = 0;\r\n\r\n totalCovidImmCount = modernaCovidImmList.map(m => m.estimatedQuantity).reduce((a, b) => a + b);\r\n if (totalCovidImmCount > 0) {\r\n modernaClinics.push(this.contractForm.value.locations[count]);\r\n }\r\n }\r\n }\r\n let pfizerVisit1Date = pfizerClinics.filter(l => l.visitType == 1 && l.isNoClinic != 1);\r\n let pfizerVisit2Date = pfizerClinics.filter(l => l.visitType == 2 && l.isNoClinic != 1);\r\n let pfizerVisit3Date = pfizerClinics.filter(l => l.visitType == 3 && l.isNoClinic != 1);\r\n let pfizerVisit4Date = pfizerClinics.filter(l => l.visitType == 4 && l.isNoClinic != 1);\r\n let pfizerVisit5Date = pfizerClinics.filter(l => l.visitType == 5 && l.isNoClinic != 1);\r\n let pfizerVisit6Date = pfizerClinics.filter(l => l.visitType == 6 && l.isNoClinic != 1);\r\n let pfizerVisit7Date = pfizerClinics.filter(l => l.visitType == 7 && l.isNoClinic != 1);\r\n let pfizerVisit8Date = pfizerClinics.filter(l => l.visitType == 8 && l.isNoClinic != 1);\r\n let pfizerVisit9Date = pfizerClinics.filter(l => l.visitType == 9 && l.isNoClinic != 1);\r\n let pfizerVisit10Date = pfizerClinics.filter(l => l.visitType == 10 && l.isNoClinic != 1);\r\n\r\n\r\n if (pfizerVisit1Date.length > 0 && pfizerVisit2Date.length > 0) {\r\n let visit1Date: Date = (typeof pfizerVisit1Date[0].clinicDate == 'string') ? new Date(pfizerVisit1Date[0].clinicDate) : pfizerVisit1Date[0].clinicDate;\r\n let visit2Date: Date = (typeof pfizerVisit2Date[0].clinicDate == 'string') ? new Date(pfizerVisit2Date[0].clinicDate) : pfizerVisit2Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit1Date.getFullYear(), visit1Date.getMonth(), visit1Date.getDate(), 0, 0, 0), new Date(visit2Date.getFullYear(), visit2Date.getMonth(), visit2Date.getDate(), 0, 0, 0));\r\n if ((visit2Date.valueOf() - visit1Date.valueOf()) < 0 || diffDays < 21) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], pfizerVisit2Date[0].location, pfizerVisit2Date[0].visitType, pfizerVisit1Date[0].location, pfizerVisit1Date[0].visitType, 21, 'Pfizer'));\r\n }\r\n }\r\n if (pfizerVisit2Date.length > 0 && pfizerVisit3Date.length > 0) {\r\n let visit2Date: Date = (typeof pfizerVisit2Date[0].clinicDate == 'string') ? new Date(pfizerVisit2Date[0].clinicDate) : pfizerVisit2Date[0].clinicDate;\r\n let visit3Date: Date = (typeof pfizerVisit3Date[0].clinicDate == 'string') ? new Date(pfizerVisit3Date[0].clinicDate) : pfizerVisit3Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit2Date.getFullYear(), visit2Date.getMonth(), visit2Date.getDate(), 0, 0, 0),\r\n new Date(visit3Date.getFullYear(), visit3Date.getMonth(), visit3Date.getDate(), 0, 0, 0));\r\n if ((visit3Date.valueOf() - visit2Date.valueOf()) < 0 || diffDays < 21) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], pfizerVisit3Date[0].location, pfizerVisit3Date[0].visitType, pfizerVisit2Date[0].location, pfizerVisit2Date[0].visitType, 21, 'Pfizer'));\r\n }\r\n }\r\n if (pfizerVisit3Date.length > 0 && pfizerVisit4Date.length > 0) {\r\n let visit3Date: Date = (typeof pfizerVisit3Date[0].clinicDate == 'string') ? new Date(pfizerVisit3Date[0].clinicDate) : pfizerVisit3Date[0].clinicDate;\r\n let visit4Date: Date = (typeof pfizerVisit4Date[0].clinicDate == 'string') ? new Date(pfizerVisit4Date[0].clinicDate) : pfizerVisit4Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit3Date.getFullYear(), visit3Date.getMonth(), visit3Date.getDate(), 0, 0, 0),\r\n new Date(visit4Date.getFullYear(), visit4Date.getMonth(), visit4Date.getDate(), 0, 0, 0));\r\n if ((visit4Date.valueOf() - visit3Date.valueOf()) < 0 || diffDays < 21) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], pfizerVisit4Date[0].location, pfizerVisit4Date[0].visitType, pfizerVisit3Date[0].location, pfizerVisit3Date[0].visitType, 21, 'Pfizer'));\r\n }\r\n }\r\n if (pfizerVisit4Date.length > 0 && pfizerVisit5Date.length > 0) {\r\n let visit4Date: Date = (typeof pfizerVisit4Date[0].clinicDate == 'string') ? new Date(pfizerVisit4Date[0].clinicDate) : pfizerVisit4Date[0].clinicDate;\r\n let visit5Date: Date = (typeof pfizerVisit5Date[0].clinicDate == 'string') ? new Date(pfizerVisit5Date[0].clinicDate) : pfizerVisit5Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit4Date.getFullYear(), visit4Date.getMonth(), visit4Date.getDate(), 0, 0, 0),\r\n new Date(visit5Date.getFullYear(), visit5Date.getMonth(), visit5Date.getDate(), 0, 0, 0));\r\n if ((visit5Date.valueOf() - visit4Date.valueOf()) < 0 || diffDays < 21) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], pfizerVisit5Date[0].location, pfizerVisit5Date[0].visitType, pfizerVisit4Date[0].location, pfizerVisit4Date[0].visitType, 21, 'Pfizer'));\r\n }\r\n }\r\n if (pfizerVisit5Date.length > 0 && pfizerVisit6Date.length > 0) {\r\n let visit5Date: Date = (typeof pfizerVisit5Date[0].clinicDate == 'string') ? new Date(pfizerVisit5Date[0].clinicDate) : pfizerVisit5Date[0].clinicDate;\r\n let visit6Date: Date = (typeof pfizerVisit6Date[0].clinicDate == 'string') ? new Date(pfizerVisit6Date[0].clinicDate) : pfizerVisit6Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit5Date.getFullYear(), visit5Date.getMonth(), visit5Date.getDate(), 0, 0, 0),\r\n new Date(visit6Date.getFullYear(), visit6Date.getMonth(), visit6Date.getDate(), 0, 0, 0));\r\n if ((visit6Date.valueOf() - visit5Date.valueOf()) < 0 || diffDays < 21) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], pfizerVisit6Date[0].location, pfizerVisit6Date[0].visitType, pfizerVisit5Date[0].location, pfizerVisit5Date[0].visitType, 21, 'Pfizer'));\r\n }\r\n }\r\n if (pfizerVisit6Date.length > 0 && pfizerVisit7Date.length > 0) {\r\n let visit6Date: Date = (typeof pfizerVisit6Date[0].clinicDate == 'string') ? new Date(pfizerVisit6Date[0].clinicDate) : pfizerVisit6Date[0].clinicDate;\r\n let visit7Date: Date = (typeof pfizerVisit7Date[0].clinicDate == 'string') ? new Date(pfizerVisit7Date[0].clinicDate) : pfizerVisit7Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit6Date.getFullYear(), visit6Date.getMonth(), visit6Date.getDate(), 0, 0, 0),\r\n new Date(visit7Date.getFullYear(), visit7Date.getMonth(), visit7Date.getDate(), 0, 0, 0));\r\n if ((visit7Date.valueOf() - visit6Date.valueOf()) < 0 || diffDays < 21) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], pfizerVisit7Date[0].location, pfizerVisit7Date[0].visitType, pfizerVisit6Date[0].location, pfizerVisit6Date[0].visitType, 21, 'Pfizer'));\r\n }\r\n }\r\n if (pfizerVisit7Date.length > 0 && pfizerVisit8Date.length > 0) {\r\n let visit7Date: Date = (typeof pfizerVisit7Date[0].clinicDate == 'string') ? new Date(pfizerVisit7Date[0].clinicDate) : pfizerVisit7Date[0].clinicDate;\r\n let visit8Date: Date = (typeof pfizerVisit8Date[0].clinicDate == 'string') ? new Date(pfizerVisit8Date[0].clinicDate) : pfizerVisit8Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit7Date.getFullYear(), visit7Date.getMonth(), visit7Date.getDate(), 0, 0, 0),\r\n new Date(visit8Date.getFullYear(), visit8Date.getMonth(), visit8Date.getDate(), 0, 0, 0));\r\n if ((visit8Date.valueOf() - visit7Date.valueOf()) < 0 || diffDays < 21) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], pfizerVisit8Date[0].location, pfizerVisit8Date[0].visitType, pfizerVisit7Date[0].location, pfizerVisit7Date[0].visitType, 21, 'Pfizer'));\r\n }\r\n }\r\n if (pfizerVisit8Date.length > 0 && pfizerVisit9Date.length > 0) {\r\n let visit8Date: Date = (typeof pfizerVisit8Date[0].clinicDate == 'string') ? new Date(pfizerVisit8Date[0].clinicDate) : pfizerVisit8Date[0].clinicDate;\r\n let visit9Date: Date = (typeof pfizerVisit9Date[0].clinicDate == 'string') ? new Date(pfizerVisit9Date[0].clinicDate) : pfizerVisit9Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit8Date.getFullYear(), visit8Date.getMonth(), visit8Date.getDate(), 0, 0, 0),\r\n new Date(visit9Date.getFullYear(), visit9Date.getMonth(), visit9Date.getDate(), 0, 0, 0));\r\n if ((visit9Date.valueOf() - visit8Date.valueOf()) < 0 || diffDays < 21) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], pfizerVisit9Date[0].location, pfizerVisit9Date[0].visitType, pfizerVisit8Date[0].location, pfizerVisit8Date[0].visitType, 21, 'Pfizer'));\r\n }\r\n }\r\n if (pfizerVisit9Date.length > 0 && pfizerVisit10Date.length > 0) {\r\n let visit9Date: Date = (typeof pfizerVisit9Date[0].clinicDate == 'string') ? new Date(pfizerVisit9Date[0].clinicDate) : pfizerVisit9Date[0].clinicDate;\r\n let visit10Date: Date = (typeof pfizerVisit10Date[0].clinicDate == 'string') ? new Date(pfizerVisit10Date[0].clinicDate) : pfizerVisit10Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit9Date.getFullYear(), visit9Date.getMonth(), visit9Date.getDate(), 0, 0, 0),\r\n new Date(visit10Date.getFullYear(), visit10Date.getMonth(), visit10Date.getDate(), 0, 0, 0));\r\n if ((visit10Date.valueOf() - visit9Date.valueOf()) < 0 || diffDays < 21) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], pfizerVisit10Date[0].location, pfizerVisit10Date[0].visitType, pfizerVisit9Date[0].location, pfizerVisit9Date[0].visitType, 21, 'Pfizer'));\r\n }\r\n }\r\n let modernaVisit1Date = modernaClinics.filter(l => l.visitType == 1 && l.isNoClinic != 1);\r\n let modernaVisit2Date = modernaClinics.filter(l => l.visitType == 2 && l.isNoClinic != 1);\r\n let modernaVisit3Date = modernaClinics.filter(l => l.visitType == 3 && l.isNoClinic != 1);\r\n let modernaVisit4Date = modernaClinics.filter(l => l.visitType == 4 && l.isNoClinic != 1);\r\n let modernaVisit5Date = modernaClinics.filter(l => l.visitType == 5 && l.isNoClinic != 1);\r\n let modernaVisit6Date = modernaClinics.filter(l => l.visitType == 6 && l.isNoClinic != 1);\r\n let modernaVisit7Date = modernaClinics.filter(l => l.visitType == 7 && l.isNoClinic != 1);\r\n let modernaVisit8Date = modernaClinics.filter(l => l.visitType == 8 && l.isNoClinic != 1);\r\n let modernaVisit9Date = modernaClinics.filter(l => l.visitType == 9 && l.isNoClinic != 1);\r\n let modernaVisit10Date = modernaClinics.filter(l => l.visitType == 10 && l.isNoClinic != 1);\r\n\r\n\r\n if (modernaVisit1Date.length > 0 && modernaVisit2Date.length > 0) {\r\n let visit1Date: Date = (typeof modernaVisit1Date[0].clinicDate == 'string') ? new Date(modernaVisit1Date[0].clinicDate) : modernaVisit1Date[0].clinicDate;\r\n let visit2Date: Date = (typeof modernaVisit2Date[0].clinicDate == 'string') ? new Date(modernaVisit2Date[0].clinicDate) : modernaVisit2Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit1Date.getFullYear(), visit1Date.getMonth(), visit1Date.getDate(), 0, 0, 0), new Date(visit2Date.getFullYear(), visit2Date.getMonth(), visit2Date.getDate(), 0, 0, 0));\r\n if ((visit2Date.valueOf() - visit1Date.valueOf()) < 0 || diffDays < 28) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], modernaVisit2Date[0].location, modernaVisit2Date[0].visitType, modernaVisit1Date[0].location, modernaVisit1Date[0].visitType, 28, 'Moderna'));\r\n }\r\n }\r\n if (modernaVisit2Date.length > 0 && modernaVisit3Date.length > 0) {\r\n let visit2Date: Date = (typeof modernaVisit2Date[0].clinicDate == 'string') ? new Date(modernaVisit2Date[0].clinicDate) : modernaVisit2Date[0].clinicDate;\r\n let visit3Date: Date = (typeof modernaVisit3Date[0].clinicDate == 'string') ? new Date(modernaVisit3Date[0].clinicDate) : modernaVisit3Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit2Date.getFullYear(), visit2Date.getMonth(), visit2Date.getDate(), 0, 0, 0),\r\n new Date(visit3Date.getFullYear(), visit3Date.getMonth(), visit3Date.getDate(), 0, 0, 0));\r\n if ((visit3Date.valueOf() - visit2Date.valueOf()) < 0 || diffDays < 28) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], modernaVisit3Date[0].location, modernaVisit3Date[0].visitType, modernaVisit2Date[0].location, modernaVisit2Date[0].visitType, 28, 'Moderna'));\r\n }\r\n }\r\n if (modernaVisit3Date.length > 0 && modernaVisit4Date.length > 0) {\r\n let visit3Date: Date = (typeof modernaVisit3Date[0].clinicDate == 'string') ? new Date(modernaVisit3Date[0].clinicDate) : modernaVisit3Date[0].clinicDate;\r\n let visit4Date: Date = (typeof modernaVisit4Date[0].clinicDate == 'string') ? new Date(modernaVisit4Date[0].clinicDate) : modernaVisit4Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit3Date.getFullYear(), visit3Date.getMonth(), visit3Date.getDate(), 0, 0, 0),\r\n new Date(visit4Date.getFullYear(), visit4Date.getMonth(), visit4Date.getDate(), 0, 0, 0));\r\n if ((visit4Date.valueOf() - visit3Date.valueOf()) < 0 || diffDays < 28) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], modernaVisit4Date[0].location, modernaVisit4Date[0].visitType, modernaVisit3Date[0].location, modernaVisit3Date[0].visitType, 28, 'Moderna'));\r\n }\r\n }\r\n if (modernaVisit4Date.length > 0 && modernaVisit5Date.length > 0) {\r\n let visit4Date: Date = (typeof modernaVisit4Date[0].clinicDate == 'string') ? new Date(modernaVisit4Date[0].clinicDate) : modernaVisit4Date[0].clinicDate;\r\n let visit5Date: Date = (typeof modernaVisit5Date[0].clinicDate == 'string') ? new Date(modernaVisit5Date[0].clinicDate) : modernaVisit5Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit4Date.getFullYear(), visit4Date.getMonth(), visit4Date.getDate(), 0, 0, 0),\r\n new Date(visit5Date.getFullYear(), visit5Date.getMonth(), visit5Date.getDate(), 0, 0, 0));\r\n if ((visit5Date.valueOf() - visit4Date.valueOf()) < 0 || diffDays < 28) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], modernaVisit5Date[0].location, modernaVisit5Date[0].visitType, modernaVisit4Date[0].location, modernaVisit4Date[0].visitType, 28, 'Moderna'));\r\n }\r\n }\r\n if (modernaVisit5Date.length > 0 && modernaVisit6Date.length > 0) {\r\n let visit5Date: Date = (typeof modernaVisit5Date[0].clinicDate == 'string') ? new Date(modernaVisit5Date[0].clinicDate) : modernaVisit5Date[0].clinicDate;\r\n let visit6Date: Date = (typeof modernaVisit6Date[0].clinicDate == 'string') ? new Date(modernaVisit6Date[0].clinicDate) : modernaVisit6Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit5Date.getFullYear(), visit5Date.getMonth(), visit5Date.getDate(), 0, 0, 0),\r\n new Date(visit6Date.getFullYear(), visit6Date.getMonth(), visit6Date.getDate(), 0, 0, 0));\r\n if ((visit6Date.valueOf() - visit5Date.valueOf()) < 0 || diffDays < 28) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], modernaVisit6Date[0].location, modernaVisit6Date[0].visitType, modernaVisit5Date[0].location, modernaVisit5Date[0].visitType, 28, 'Moderna'));\r\n }\r\n }\r\n if (modernaVisit6Date.length > 0 && modernaVisit7Date.length > 0) {\r\n let visit6Date: Date = (typeof modernaVisit6Date[0].clinicDate == 'string') ? new Date(modernaVisit6Date[0].clinicDate) : modernaVisit6Date[0].clinicDate;\r\n let visit7Date: Date = (typeof modernaVisit7Date[0].clinicDate == 'string') ? new Date(modernaVisit7Date[0].clinicDate) : modernaVisit7Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit6Date.getFullYear(), visit6Date.getMonth(), visit6Date.getDate(), 0, 0, 0),\r\n new Date(visit7Date.getFullYear(), visit7Date.getMonth(), visit7Date.getDate(), 0, 0, 0));\r\n if ((visit7Date.valueOf() - visit6Date.valueOf()) < 0 || diffDays < 28) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], modernaVisit7Date[0].location, modernaVisit7Date[0].visitType, modernaVisit6Date[0].location, modernaVisit6Date[0].visitType, 28, 'Moderna'));\r\n }\r\n }\r\n if (modernaVisit7Date.length > 0 && modernaVisit8Date.length > 0) {\r\n let visit7Date: Date = (typeof modernaVisit7Date[0].clinicDate == 'string') ? new Date(modernaVisit7Date[0].clinicDate) : modernaVisit7Date[0].clinicDate;\r\n let visit8Date: Date = (typeof modernaVisit8Date[0].clinicDate == 'string') ? new Date(modernaVisit8Date[0].clinicDate) : modernaVisit8Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit7Date.getFullYear(), visit7Date.getMonth(), visit7Date.getDate(), 0, 0, 0),\r\n new Date(visit8Date.getFullYear(), visit8Date.getMonth(), visit8Date.getDate(), 0, 0, 0));\r\n if ((visit8Date.valueOf() - visit7Date.valueOf()) < 0 || diffDays < 28) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], modernaVisit8Date[0].location, modernaVisit8Date[0].visitType, modernaVisit7Date[0].location, modernaVisit7Date[0].visitType, 28, 'Moderna'));\r\n }\r\n }\r\n if (modernaVisit8Date.length > 0 && modernaVisit9Date.length > 0) {\r\n let visit8Date: Date = (typeof modernaVisit8Date[0].clinicDate == 'string') ? new Date(modernaVisit8Date[0].clinicDate) : modernaVisit8Date[0].clinicDate;\r\n let visit9Date: Date = (typeof modernaVisit9Date[0].clinicDate == 'string') ? new Date(modernaVisit9Date[0].clinicDate) : modernaVisit9Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit8Date.getFullYear(), visit8Date.getMonth(), visit8Date.getDate(), 0, 0, 0),\r\n new Date(visit9Date.getFullYear(), visit9Date.getMonth(), visit9Date.getDate(), 0, 0, 0));\r\n if ((visit9Date.valueOf() - visit8Date.valueOf()) < 0 || diffDays < 28) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], modernaVisit9Date[0].location, modernaVisit9Date[0].visitType, modernaVisit8Date[0].location, modernaVisit8Date[0].visitType, 28, 'Moderna'));\r\n }\r\n }\r\n if (modernaVisit9Date.length > 0 && modernaVisit10Date.length > 0) {\r\n let visit9Date: Date = (typeof modernaVisit9Date[0].clinicDate == 'string') ? new Date(modernaVisit9Date[0].clinicDate) : modernaVisit9Date[0].clinicDate;\r\n let visit10Date: Date = (typeof modernaVisit10Date[0].clinicDate == 'string') ? new Date(modernaVisit10Date[0].clinicDate) : modernaVisit10Date[0].clinicDate;\r\n let diffDays = this.utility.getDiffDays(new Date(visit9Date.getFullYear(), visit9Date.getMonth(), visit9Date.getDate(), 0, 0, 0),\r\n new Date(visit10Date.getFullYear(), visit10Date.getMonth(), visit10Date.getDate(), 0, 0, 0));\r\n if ((visit10Date.valueOf() - visit9Date.valueOf()) < 0 || diffDays < 28) {\r\n errMsgs.push(String.Format(ErrorMessages['covidVisitGap'], modernaVisit10Date[0].location, modernaVisit10Date[0].visitType, modernaVisit9Date[0].location, modernaVisit9Date[0].visitType, 28, 'Moderna'));\r\n }\r\n }\r\n\r\n return errMsgs;\r\n }\r\n save(outReachPrgType?: string): boolean {\r\n\r\n if (this.isFormValid()) {\r\n if (!this.userOverriddenDateTimeConflict) {\r\n this.contractForm.value.locations.forEach(loc => {\r\n try {\r\n if (loc.startTime != \"\" && Object.prototype.toString.call(loc.startTime) === '[object Date]')\r\n try {\r\n loc.startTime = this._datePipe.transform(loc.startTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n if (loc.endTime != \"\" && Object.prototype.toString.call(loc.endTime) === '[object Date]') {\r\n try {\r\n loc.endTime = this._datePipe.transform(loc.endTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e); // here the exception is delibarately caught because when you click back, startTime & end\r\n // Time is not correct timeformat. Hence we are ignoring this by catching here.\r\n }\r\n });\r\n try {\r\n let locDateTimeConflict = false;\r\n var locConflictList = [];\r\n var errMsgV1: string[] = [];\r\n //https://stackoverflow.com/questions/7486085/copying-array-by-value-in-javascript?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa\r\n for (let count = 0; count < this.contractForm.value.locations.length; count++) {\r\n try {\r\n //var loc = Object.assign({}, this.contractForm.value.locations[count]);\r\n let locClinicDate: Date = new Date(this.contractForm.value.locations[count].clinicDate);\r\n let locStartTime = this.contractForm.value.locations[count].startTime;\r\n let locEndTime = this.contractForm.value.locations[count].endTime;\r\n if (this.contractForm.value.locations[count].isNoClinic >= 1 ||\r\n this.contractForm.value.locations[count].isNoClinic === '1' ||\r\n this.contractForm.value.locations[count].isReassign >= 1 ||\r\n this.contractForm.value.locations[count].isReassign === '1') {\r\n continue;\r\n }\r\n let locationsCpy = JSON.parse(JSON.stringify(this.contractForm.value.locations));\r\n var index = locationsCpy.findIndex(it => it.location === this.contractForm.value.locations[count].location);\r\n if (index > -1) {\r\n locationsCpy.splice(index, 1);\r\n }\r\n locationsCpy.forEach(element => {\r\n element.clinicDate = new Date(element.clinicDate);\r\n });\r\n let conflictLocs = locationsCpy.filter(locItem => locClinicDate.getFullYear() === locItem.clinicDate.getFullYear() && locClinicDate.getMonth() === locItem.clinicDate.getMonth() && locClinicDate.getDate() === locItem.clinicDate.getDate() && (locItem.isNoClinic <= 0 || locItem.isNoClinic === '0' || locItem.isNoClinic === undefined || locItem.isNoClinic === null) && (locItem.isReassign <= 0 || locItem.isReassign === '0' || locItem.isReassign === undefined || locItem.isReassign === null));\r\n let endDateAdd39Mts: Date;\r\n if (locEndTime.toString().toLowerCase().search('am') !== -1 || locEndTime.toString().toLowerCase().search('pm') !== -1) {\r\n endDateAdd39Mts = this._timeToDatePipe.transform(locClinicDate, locEndTime);\r\n }\r\n else {\r\n endDateAdd39Mts = locEndTime;\r\n }\r\n let startDatetmToDt: Date;\r\n if (locStartTime.toString().toLowerCase().search('am') !== -1 || locStartTime.toString().toLowerCase().search('pm') !== -1) {\r\n startDatetmToDt = this._timeToDatePipe.transform(locClinicDate, locStartTime);\r\n }\r\n else {\r\n startDatetmToDt = locStartTime;\r\n }\r\n let add30MinTS: Date = new Date(locClinicDate.getFullYear(), locClinicDate.getMonth(), locClinicDate.getDate(), endDateAdd39Mts.getHours(), endDateAdd39Mts.getMinutes() + 30, endDateAdd39Mts.getSeconds());\r\n let locStart: Date = new Date(startDatetmToDt);\r\n\r\n if (conflictLocs.length > 0) {\r\n var conflictLocsCpy = JSON.parse(JSON.stringify(conflictLocs));\r\n conflictLocsCpy.forEach(element => {\r\n element.clinicDate = new Date(element.clinicDate);\r\n element.startTime = this._timeToDatePipe.transform(element.clinicDate, element.startTime);\r\n element.endTime = this._timeToDatePipe.transform(element.clinicDate, element.endTime);\r\n });\r\n\r\n\r\n conflictLocs = conflictLocsCpy.filter(locItem => locClinicDate.getFullYear() === locItem.clinicDate.getFullYear() && locClinicDate.getMonth() === locItem.clinicDate.getMonth() && locClinicDate.getDate() === locItem.clinicDate.getDate() && ((locItem.startTime.valueOf() >= locStart.valueOf() && locItem.startTime.valueOf() < add30MinTS.valueOf()) || (locItem.endTime.valueOf() > locStart.valueOf() && locItem.endTime.valueOf() < add30MinTS.valueOf())));\r\n if (conflictLocs.length > 0) {\r\n locConflictList.push({\r\n srcLocName: this.contractForm.value.locations[count],\r\n dstLocName: conflictLocs\r\n });\r\n }\r\n }\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n } catch (e) {\r\n\r\n console.log(e);\r\n }\r\n let conflictClinicList: any[] = [];\r\n locConflictList.forEach(item => {\r\n\r\n item.dstLocName.forEach(element => {\r\n let duplicateEntry = conflictClinicList.filter(l => l.location == element.location);\r\n if (duplicateEntry.length <= 0) {\r\n conflictClinicList.push(element);\r\n }\r\n });\r\n\r\n });\r\n\r\n if (conflictClinicList.length > 0) {\r\n conflictClinicList.sort((leftItem, rightItem): number => {\r\n if (leftItem.location < rightItem.location) return -1;\r\n if (leftItem.location > rightItem.location) return 1;\r\n return 0;\r\n });\r\n\r\n if (conflictClinicList.length <= 2 && this.contractForm.value.locations.length <= 2) {\r\n if (conflictClinicList.length == 2) {\r\n errMsgV1.push(String.Format(ErrorMessages['clincLocDateTimeSingleConflict'], conflictClinicList[1].location.replace(/CLINIC/g, ' LOCATION'), this._datePipe.transform(conflictClinicList[0].clinicDate, \"shortDate\"), this._datePipe.transform(conflictClinicList[0].startTime, 'shortTime'), this._datePipe.transform(conflictClinicList[0].endTime, 'shortTime'), SessionDetails.GetopportunitiesData().businessName));\r\n } else {\r\n errMsgV1.push(String.Format(ErrorMessages['clincLocDateTimeSingleConflict'], conflictClinicList[0].location.replace(/CLINIC/g, ' LOCATION'), this._datePipe.transform(conflictClinicList[0].clinicDate, \"shortDate\"), this._datePipe.transform(conflictClinicList[0].startTime, 'shortTime'), this._datePipe.transform(conflictClinicList[0].endTime, 'shortTime'), SessionDetails.GetopportunitiesData().businessName));\r\n }\r\n this.showDateTimeOverLpDlg(ErrorMessages['resolve'], errMsgV1.join('

'));\r\n this.isDateTimeConflictPresent = true;\r\n return false;\r\n }\r\n if (conflictClinicList.length >= 1) {\r\n conflictClinicList.forEach(loc => {\r\n errMsgV1.push(String.Format(ErrorMessages['clincLocDateTimeMultipleConflict'], loc.location.replace(/CLINIC/g, ' LOCATION'), this._datePipe.transform(loc.clinicDate, \"shortDate\"), this._datePipe.transform(loc.startTime, 'shortTime'), this._datePipe.transform(loc.endTime, 'shortTime'), SessionDetails.GetopportunitiesData().businessName));\r\n });\r\n this.showDateTimeOverLpDlg(ErrorMessages['resolve'], String.Format(\"{0}{1}\", ErrorMessages['multipleClinicDatesConflictLineItem'], errMsgV1.join('

')));\r\n this.isDateTimeConflictPresent = true;\r\n return false;\r\n }\r\n }\r\n }\r\n let errCOVIDVisits: string[] = this.getCOVIDVisitTypesValidity();\r\n if (errCOVIDVisits.length > 0 && !this.userOverriddenVisitsGapConflict) {\r\n this.showVisitsGapOverLpDlg(\"SCHEDULING WARNING\", errCOVIDVisits.join('

'));\r\n return false;\r\n }\r\n this.isDateTimeConflictPresent = false;\r\n let errRestrictedStatesMsgs: string[] = this.getRestrictedStatesDatesValidity();\r\n if (errRestrictedStatesMsgs.length > 0) {\r\n this.showDialog(ErrorMessages['resolve'], errRestrictedStatesMsgs.join('

'));\r\n return false;\r\n }\r\n this._localContractService.setValidationsRequiredStatus(false);\r\n var estimatedQty = 0;\r\n var errMsg: string[] = [];\r\n var moreThan255ImmunizationError = false;\r\n let hasVouchersCountReducedTotalTo50 = false;\r\n this.location250Names = [];\r\n this.location25Names = [];\r\n let opportunitie_data = SessionDetails.GetopportunitiesData();\r\n let immunizationWithoutVoucherPaymentExists = false;\r\n let immunizationWithoutVoucherPaymentForEquityEvents = false;\r\n let locationNamesOfImmzWithoutVoucherPayment: string[] = [];\r\n for (let i = 0; i < this.contractForm.value.locations.length; i++) {\r\n // if(this.contractForm.value.locations[i].visitType==null|| (this.contractForm.value.locations[i].visitType&&this.contractForm.value.locations[i].visitType.length<=0)){\r\n // this.contractForm.value.locations[i].visitType = null;\r\n // }\r\n\r\n let newclinicImzQtyList = _.chain(this.contractForm.value.locations[i].clinicImzQtyList)\r\n // Group the elements of Array based on `immunizationPk` property\r\n .groupBy(\"immunizationPk\")\r\n // `key` is group's name (immunizationPk), `value` is the array of objects\r\n .map((value, key) => ({ immPk: key, Immzs: value }))\r\n .value();\r\n\r\n for (let j = 0; j < newclinicImzQtyList.length; j++) {\r\n let qty: number = +newclinicImzQtyList[j].Immzs[0].estimatedQuantity;\r\n let vaccineName: string = newclinicImzQtyList[j].Immzs[0].immunizationName;\r\n if (qty >= 250 && vaccineName.search(\"Vaccine Voucher\") === -1) {\r\n moreThan255ImmunizationError = true;\r\n this.location250Names.push({\r\n estimatedQuantity: qty,\r\n immunizationName: vaccineName,\r\n location: this.contractForm.value.locations[i].location\r\n });\r\n }\r\n else {\r\n if (vaccineName.search(\"Vaccine Voucher\") === -1) {\r\n estimatedQty += qty;\r\n }\r\n }\r\n }\r\n\r\n // If user checked \"No Clinic - Voucher Distribution Only\" checkbox \r\n // then check if any immunizations DOES NOT HAVE \"Voucher: Corporate to Invoice Employer Directly\" payment type \r\n // and check if estimated shots qty of that particular immunization is greater than 0\r\n // if yes then display the pop information\r\n if (this.contractForm.value.locations[i].isNoClinic) {\r\n for (const clinicImzQty of newclinicImzQtyList) {\r\n immunizationWithoutVoucherPaymentExists = !clinicImzQty.Immzs.some(immunization => immunization.paymentTypeId == 13);\r\n\r\n if (immunizationWithoutVoucherPaymentExists && this.outReachProgramType != OutReachProgramType.equityevents) {\r\n let totalEstimatedShots = this.contractForm.value.locations[i].clinicImzQtyList\r\n .filter(imz => imz.immunizationPk == clinicImzQty.immPk)\r\n .reduce((a, o) => { return a + parseInt(o.estimatedQuantity ?? 0) }, 0);\r\n if (totalEstimatedShots > 0) {\r\n locationNamesOfImmzWithoutVoucherPayment.push(this.contractForm.value.locations[i].location);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n let totalEstimatedQuantity = 0;\r\n newclinicImzQtyList.forEach(obj => {\r\n obj.Immzs.forEach(immunization => {\r\n totalEstimatedQuantity += Number(immunization.estimatedQuantity);\r\n });\r\n });\r\n if (totalEstimatedQuantity < 50 && !moreThan255ImmunizationError && (this.contractForm.value.locations[i].isNoClinic == undefined ||\r\n this.contractForm.value.locations[i].isNoClinic == null || Number(this.contractForm.value.locations[i].isNoClinic) <= 0)) {\r\n // if(!this.isCovidVaccineAvailable || this.isNonCovidVaccineAvailable){\r\n if (opportunitie_data.covidOpportunityType == 1) {\r\n this.location25Names.push(this.contractForm.value.locations[i].location);\r\n }\r\n else if (opportunitie_data.covidOpportunityType !== 1) {\r\n this.location25Names.push(this.contractForm.value.locations[i].location);\r\n }\r\n estimatedQty = 0;\r\n moreThan255ImmunizationError = false;\r\n // }\r\n // else if(this.isCovidVaccineAvailable && estimatedQty <1){ \r\n // this.location25Names.push(this.contractForm.value.locations[i].location);\r\n // estimatedQty = 0;\r\n // moreThan255ImmunizationError = false; \r\n // }\r\n }\r\n else if ((estimatedQty - +this.contractForm.value.locations[i].vouchersDistributed) < 50 && !moreThan255ImmunizationError && (this.contractForm.value.locations[i].isNoClinic == undefined ||\r\n this.contractForm.value.locations[i].isNoClinic == null || Number(this.contractForm.value.locations[i].isNoClinic) <= 0)) {\r\n\r\n this.location25Names.push(this.contractForm.value.locations[i].location);\r\n estimatedQty = 0;\r\n moreThan255ImmunizationError = false;\r\n hasVouchersCountReducedTotalTo50 = true;\r\n }\r\n else {\r\n estimatedQty = 0;\r\n }\r\n moreThan255ImmunizationError = false;\r\n }\r\n if (!this.userApprovedGt250 && this.location250Names.length > 0) {\r\n this.userApprovedGt250 = false;\r\n this.userApprovedLt25 = false;\r\n }\r\n // else {\r\n // this.userApprovedGt250 = true;\r\n // }\r\n if (!this.userApprovedLt25 && this.location25Names.length > 0) {\r\n this.userApprovedLt25 = false;\r\n }\r\n // else {\r\n // this.userApprovedLt25 = true;\r\n // }\r\n if (this.outReachProgramType != OutReachProgramType.equityevents) {\r\n if (hasVouchersCountReducedTotalTo50) {\r\n var userProfile = SessionDetails.GetUserProfile();\r\n const msgDetail = String.Format(ErrorMessages['MinNumberOfShots'], this.location25Names.join(',').replace(/CLINIC/g, ' LOCATION'));\r\n if (userProfile.userRole.toLowerCase() == \"admin\") {\r\n this.showConfirm25ImmDialog(ErrorMessages['resolve'], msgDetail);\r\n }\r\n else {\r\n this.showDialogV2(ErrorMessages['resolve'], msgDetail);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n }\r\n\r\n\r\n if (immunizationWithoutVoucherPaymentExists && locationNamesOfImmzWithoutVoucherPayment.length && this.outReachProgramType == OutReachProgramType.contracts) {\r\n const msgDetail = String.Format(ErrorMessages['immunizationWithoutVoucherPayment'], locationNamesOfImmzWithoutVoucherPayment.join(',').replace(/CLINIC/g, ' LOCATION'));\r\n const locationsFormArray = this.contractForm.controls['locations'] as FormArray;\r\n for (const locationFormGroup of locationsFormArray.controls) {\r\n const location = locationFormGroup as FormGroup;\r\n if (location.controls['isNoClinic'].value) {\r\n location.controls['vouchersDistributed'].markAsPristine();\r\n location.controls['vouchersDistributed'].markAsUntouched();\r\n }\r\n location.updateValueAndValidity();\r\n }\r\n this.showDialogV2(ErrorMessages['resolve'], msgDetail);\r\n return false;\r\n }\r\n\r\n // if (immunizationWithoutVoucherPaymentForEuityEvents && locationNamesOfImmzWithoutVoucherPayment.length && this.outReachProgramType == OutReachProgramType.equityevents) {\r\n // const msgDetail = String.Format(ErrorMessages['immunizationWithoutVoucherPaymentForEuityEvents'], locationNamesOfImmzWithoutVoucherPayment.join(',').replace(/CLINIC/g, ' LOCATION'));\r\n // const locationsFormArray = this.contractForm.controls['locations'] as FormArray;\r\n // for (const locationFormGroup of locationsFormArray.controls) {\r\n // const location = locationFormGroup as FormGroup;\r\n // if (location.controls['isNoClinic'].value) {\r\n // location.controls['vouchersDistributed'].markAsPristine();\r\n // location.controls['vouchersDistributed'].markAsUntouched();\r\n // }\r\n // location.updateValueAndValidity();\r\n // }\r\n // this.showDialogV2(ErrorMessages['resolve'], msgDetail);\r\n // return false;\r\n // }\r\n\r\n // this.outReachProgramType == OutReachProgramType.contracts\r\n\r\n if (this.outReachProgramType == OutReachProgramType.contracts) {\r\n if ((this.userApprovedGt250 || this.location250Names.length <= 0) &&\r\n (this.userApprovedLt25 || this.location25Names.length <= 0)) {\r\n this._localContractService.setValidationsRequiredStatus(false);\r\n this._localContractService.setClinicLocations(this.contractForm.value);\r\n this._localContractService.setCancelClinicLocations(this.contractForm.value);\r\n return true;\r\n }\r\n else {\r\n if (!this.userApprovedGt250 && this.location250Names.length > 0) {\r\n this.location250Names.forEach(item => {\r\n errMsg.push(String.Format(ErrorMessages['moreThan250Immunizations'], item.estimatedQuantity, item.immunizationName, item.location.replace(/CLINIC/g, ' LOCATION')));\r\n });\r\n if (this.outReachProgramType === OutReachProgramType.communityoutreach) {\r\n this.coShowConfirm250ImmDialog(ErrorMessages['warning'], errMsg.join('

'));\r\n } else {\r\n\r\n this.showConfirm250ImmDialog(ErrorMessages['warning'], errMsg.join('

'));\r\n }\r\n\r\n return false;\r\n }\r\n if (!this.userApprovedLt25 && this.location25Names.length > 0 && this.outReachProgramType === OutReachProgramType.contracts) {\r\n var userProfile = SessionDetails.GetUserProfile();\r\n if (userProfile.userRole.toLowerCase() == \"admin\") {\r\n this.showConfirm25ImmDialog(ErrorMessages['resolve'],\r\n String.Format(ErrorMessages['MinNumberOfShots'], this.location25Names.join(',').replace(/CLINIC/g, ' LOCATION')));\r\n }\r\n else {\r\n this.showDialogV2(ErrorMessages['resolve'], String.Format(ErrorMessages['MinNumberOfShots'], this.location25Names.join(',').replace(/CLINIC/g, ' LOCATION')));\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n else if (this.outReachProgramType == OutReachProgramType.communityoutreach) {\r\n if ((this.userApprovedGt250) || (this.location250Names.length <= 0)) {\r\n this._localContractService.setValidationsRequiredStatus(false);\r\n this._localContractService.setCOClinicLocations(this.contractForm.value);\r\n this._localContractService.setCancelClinicLocations(this.contractForm.value);\r\n return true;\r\n }\r\n else {\r\n if (!this.userApprovedGt250 && this.location250Names.length > 0) {\r\n this.location250Names.forEach(item => {\r\n errMsg.push(String.Format(ErrorMessages['moreThan250Immunizations'], item.estimatedQuantity, item.immunizationName, item.location.replace(/CLINIC/g, ' LOCATION')));\r\n });\r\n if (this.outReachProgramType === OutReachProgramType.communityoutreach) {\r\n this.coShowConfirm250ImmDialog(ErrorMessages['warning'], errMsg.join('

'));\r\n } else {\r\n\r\n this.showConfirm250ImmDialog(ErrorMessages['warning'], errMsg.join('

'));\r\n }\r\n\r\n return false;\r\n }\r\n if (!this.userApprovedLt25 && this.outReachProgramType === OutReachProgramType.contracts) {\r\n var userProfile = SessionDetails.GetUserProfile();\r\n if (userProfile.userRole.toLowerCase() == \"admin\") {\r\n\r\n this.showConfirm25ImmDialog(ErrorMessages['resolve'],\r\n String.Format(opportunitie_data.covidOpportunityType == 1 ? ErrorMessages['MinNumberOfShotsForLTCF'] : ErrorMessages['MinNumberOfShots'], this.location25Names.join(',').replace(/CLINIC/g, ' LOCATION')));\r\n }\r\n else {\r\n this.showDialogV2(ErrorMessages['resolve'], String.Format(opportunitie_data.covidOpportunityType == 1 ? ErrorMessages['MinNumberOfShotsForLTCF'] : ErrorMessages['MinNumberOfShots'], this.location25Names.join(',').replace(/CLINIC/g, ' LOCATION')));\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n else if (this.outReachProgramType == OutReachProgramType.equityevents) {\r\n if ((this.userApprovedGt250) || (this.location250Names.length <= 0)) {\r\n this._localContractService.setValidationsRequiredStatus(false);\r\n this._localContractService.setCOClinicLocations(this.contractForm.value);\r\n this._localContractService.setCancelClinicLocations(this.contractForm.value);\r\n return true;\r\n }\r\n else {\r\n if (!this.userApprovedGt250 && this.location250Names.length > 0) {\r\n this.location250Names.forEach(item => {\r\n errMsg.push(String.Format(ErrorMessages['moreThan250Immunizations'], item.estimatedQuantity, item.immunizationName, item.location.replace(/CLINIC/g, ' LOCATION')));\r\n });\r\n if (this.outReachProgramType === OutReachProgramType.equityevents) {\r\n this.coShowConfirm250ImmDialog(ErrorMessages['warning'], errMsg.join('

'));\r\n } else {\r\n\r\n this.showConfirm250ImmDialog(ErrorMessages['warning'], errMsg.join('

'));\r\n }\r\n\r\n return false;\r\n }\r\n if (!this.userApprovedLt25 && this.outReachProgramType === OutReachProgramType.equityevents) {\r\n var userProfile = SessionDetails.GetUserProfile();\r\n if (userProfile.userRole.toLowerCase() == \"admin\") {\r\n\r\n this.showConfirm25ImmDialog(ErrorMessages['resolve'],\r\n String.Format(opportunitie_data.covidOpportunityType == 1 ? ErrorMessages['MinNumberOfShotsForLTCF'] : ErrorMessages['MinNumberOfShots'], this.location25Names.join(',').replace(/CLINIC/g, ' LOCATION')));\r\n }\r\n else {\r\n this.showDialogV2(ErrorMessages['resolve'], String.Format(opportunitie_data.covidOpportunityType == 1 ? ErrorMessages['MinNumberOfShotsForLTCF'] : ErrorMessages['MinNumberOfShots'], this.location25Names.join(',').replace(/CLINIC/g, ' LOCATION')));\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n else {\r\n if (!this.userApprovedGt250) {\r\n this.location250Names.forEach(item => {\r\n errMsg.push(String.Format(ErrorMessages['moreThan250Immunizations'], item.estimatedQuantity, item.immunizationName, item.location.replace(/CLINIC/g, ' LOCATION')));\r\n });\r\n\r\n if (this.outReachProgramType === OutReachProgramType.communityoutreach) {\r\n this.coShowConfirm250ImmDialog(ErrorMessages['warning'], errMsg.join('

'));\r\n } else {\r\n\r\n this.showConfirm250ImmDialog(ErrorMessages['warning'], errMsg.join('

'));\r\n }\r\n\r\n return false;\r\n }\r\n if (!this.userApprovedLt25 && this.outReachProgramType === OutReachProgramType.contracts) {\r\n var userProfile = SessionDetails.GetUserProfile();\r\n if (userProfile.userRole.toLowerCase() == \"admin\") {\r\n\r\n this.showConfirm25ImmDialog(ErrorMessages['resolve'],\r\n String.Format(ErrorMessages['MinNumberOfShots'], this.location25Names.join(',').replace(/CLINIC/g, ' LOCATION')));\r\n }\r\n else {\r\n this._localContractService.setValidationsRequiredStatus(true);\r\n this.showDialogV2(ErrorMessages['resolve'], this.location25Names.join(',').replace(/CLINIC/g, ' LOCATION'));\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n else {\r\n let summary = ErrorMessages['MandatoryFields'];\r\n let errMsg = ErrorMessages['errMsg'];\r\n this.showDialog(errMsg, summary);\r\n return false;\r\n }\r\n }\r\n\r\n simpleSave(): boolean {\r\n if (!this.isFormValidForSimpleSave()) {\r\n return false;\r\n }\r\n\r\n this.contractForm.value.locations.forEach(loc => {\r\n try {\r\n if (loc.isNoClinic == true) {\r\n loc.clinicDate = null;\r\n }\r\n if (loc.startTime != \"\" && Object.prototype.toString.call(loc.startTime) === '[object Date]')\r\n try {\r\n loc.startTime = this._datePipe.transform(loc.startTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n if (loc.endTime != \"\" && Object.prototype.toString.call(loc.endTime) === '[object Date]') {\r\n try {\r\n loc.endTime = this._datePipe.transform(loc.endTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e); // here the exception is delibarately caught because when you say back, startTime & end\r\n // Time is not correct timeformat. Hence we are ignoring this by catching here.\r\n }\r\n\r\n // implemented in locations onchange event \r\n // loc.clinicImzQtyList.forEach((element,index) => {\r\n // \r\n // let estimatedQty = loc.clinicImzQtyList.filter(p=>p.immunizationPk == element.immunizationPk)[0].estimatedQuantity; \r\n // loc.clinicImzQtyList.filter(p=>p.immunizationPk == element.immunizationPk).forEach(element => {\r\n // element.estimatedQuantity = estimatedQty;\r\n // });\r\n // let frmar: FormArray = this.contractForm.get('locations') as FormArray; \r\n // let frmGrp = frmar.controls[0] as FormGroup;\r\n // let clinicImzQtyListArr:any = frmar.controls[0].get('clinicImzQtyList') as FormArray ;\r\n // let clinicImzQtyListGrp = clinicImzQtyListArr.controls[index] as FormGroup;\r\n // clinicImzQtyListGrp.patchValue({\r\n // estimatedQuantity: estimatedQty \r\n // });\r\n // });\r\n\r\n });\r\n if (this.outReachProgramType === OutReachProgramType.communityoutreach) {\r\n this._localContractService.setCOClinicLocations(this.contractForm.value);\r\n }\r\n if (this.outReachProgramType === OutReachProgramType.equityevents) {\r\n this._localContractService.setCOClinicLocations(this.contractForm.value);\r\n }\r\n else {\r\n this._localContractService.setClinicLocations(this.contractForm.value);\r\n }\r\n return true;\r\n }\r\n\r\n isFormValid(): boolean {\r\n\r\n let frmar: FormArray = this.contractForm.get('locations') as FormArray;\r\n for (let index = 0; index < frmar.length; index++) {\r\n const element = frmar.controls[index] as FormGroup;\r\n this.utility.validateAllFormFields(element);\r\n }\r\n // return true;\r\n return this.contractForm.valid;\r\n }\r\n isFormValidForSimpleSave(): boolean {\r\n let frmar: FormArray = this.contractForm.get('locations') as FormArray;\r\n let isFormValid: boolean = true;\r\n for (let index = 0; index < frmar.length; index++) {\r\n const element = frmar.controls[index] as FormGroup;\r\n isFormValid = this.utility.validateFormGroupForSimpleSave(element);\r\n }\r\n return isFormValid;\r\n }\r\n\r\n checkSpecialCharacters(): boolean {\r\n try {\r\n for (let i = 0; i < this.contractForm.value.locations.length; i++) {\r\n if (!this.ccRegex.test(this.contractForm.value.locations[i].contactPhone.trim()) ||\r\n !this.ccRegex.test(this.contractForm.value.locations[i].zipCode.trim())) {\r\n throw false;\r\n }\r\n for (let j = 0; j < this.contractForm.value.locations[i].clinicImzQtyList.length; j++) {\r\n if (!this.ccRegex.test(this.contractForm.value.locations[i].clinicImzQtyList[j].estimatedQuantity.trim())) {\r\n throw false;\r\n }\r\n }\r\n }\r\n } catch (e) {\r\n return e;\r\n }\r\n }\r\n isNonNoClinicPresent(): boolean {\r\n try {\r\n this.contractForm.value.locations.forEach(loc => {\r\n if (loc.isNoClinic <= 0 || loc.isNoClinic == false || loc.isNoClinic == undefined ||\r\n loc.isNoClinic == null) {\r\n throw true;\r\n }\r\n });\r\n } catch (e) { return e; }\r\n return false;\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locListErrModalDlg = true;\r\n }\r\n closeErrModalDlg() {\r\n this.locListErrModalDlg = false;\r\n }\r\n showDialogV2(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locListModalDlg = true;\r\n }\r\n showConfirm250ImmDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locConfirm250ModalDlg = true;\r\n }\r\n coShowConfirm250ImmDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.coLocConfirm250ModalDlg = true;\r\n }\r\n showConfirm25ImmDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locConfirm25ModalDlg = true;\r\n }\r\n\r\n okClickedV2() {\r\n this.locListModalDlg = false;\r\n switch (this.outReachProgramType) {\r\n case OutReachProgramType.contracts:\r\n break;\r\n case OutReachProgramType.communityoutreach:\r\n this.prouter.navigate(['./communityoutreach/storehome'])\r\n case OutReachProgramType.equityevents:\r\n this.prouter.navigate(['./communityoutreach/storehome'])\r\n default:\r\n return;\r\n }\r\n }\r\n coAcceptGt250Imm() {\r\n this.coLocConfirm250ModalDlg = false;\r\n this.userApprovedGt250 = true;\r\n if (this.location25Names.length <= 0) {\r\n this.userApprovedLt25 = true;\r\n }\r\n\r\n if (this.outReachProgramType == OutReachProgramType.equityevents) {\r\n if (this._localContractService.setEquityEventsClinicLocations(this.contractForm.value)) {\r\n if (this._localContractService.saveEquityEventsData()) {\r\n if (this.submitEquityEventsData(false)) {\r\n\r\n }\r\n }\r\n }\r\n\r\n }\r\n else if (this.outReachProgramType == OutReachProgramType.communityoutreach) {\r\n if (this._localContractService.setCOClinicLocations(this.contractForm.value)) {\r\n if (this._localContractService.saveCommunityOutreachData()) {\r\n if (this.submitCoData(false)) {\r\n\r\n }\r\n }\r\n }\r\n }\r\n\r\n return;\r\n }\r\n coRejectGt250Imm() {\r\n this.coLocConfirm250ModalDlg = false;\r\n this.userApprovedGt250 = false;\r\n return;\r\n }\r\n\r\n acceptGt250Imm() {\r\n\r\n this.userApprovedGt250 = true;\r\n if (this.location25Names.length <= 0) {\r\n this.userApprovedLt25 = true;\r\n }\r\n\r\n this.locConfirm250ModalDlg = false;\r\n if (this.userApprovedGt250 && this.userApprovedLt25) {\r\n if (this._localContractService.setClinicLocations(this.contractForm.value)) {\r\n this._alertService.clear();\r\n if (this.isNonNoClinicPresent()) {\r\n if (this.outReachProgramType == OutReachProgramType.communityoutreach) {\r\n this._alertService.info(ErrorMessages['coClinicDateReminderAfter2WeeksEN'], true);\r\n }\r\n else if (this.outReachProgramType == OutReachProgramType.equityevents) {\r\n this._alertService.info(ErrorMessages['coClinicDateReminderAfter2WeeksEN'], true);\r\n }\r\n else {\r\n this._alertService.info(ErrorMessages['clinicDateReminderAfter2WeeksEN'], true);\r\n }\r\n }\r\n this.clinicSubmit.emit(3);\r\n }\r\n }\r\n return;\r\n }\r\n rejectGt250Imm() {\r\n\r\n this.locConfirm250ModalDlg = false;\r\n this.userApprovedGt250 = false;\r\n return;\r\n }\r\n acceptLt25Imm() {\r\n this.userApprovedLt25 = true;\r\n if (this.location250Names.length <= 0) {\r\n this.userApprovedGt250 = true;\r\n }\r\n this.locConfirm25ModalDlg = false;\r\n if (this.userApprovedGt250 && this.userApprovedLt25) {\r\n if (this._localContractService.setClinicLocations(this.contractForm.value)) {\r\n this._alertService.clear();\r\n if (this.outReachProgramType == OutReachProgramType.communityoutreach) {\r\n this._alertService.info(ErrorMessages['coClinicDateReminderAfter2WeeksEN'], true);\r\n } else if (this.outReachProgramType == OutReachProgramType.equityevents) {\r\n this._alertService.info(ErrorMessages['coClinicDateReminderAfter2WeeksEN'], true);\r\n } else {\r\n this._alertService.info(ErrorMessages['clinicDateReminderAfter2WeeksEN'], true);\r\n }\r\n this.clinicSubmit.emit(3);\r\n }\r\n }\r\n return;\r\n }\r\n rejectLt25Imm() {\r\n this.locConfirm25ModalDlg = false;\r\n this.userApprovedLt25 = false;\r\n return;\r\n }\r\n confirm(hdr: string, msg: string) {\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n if (this._localContractService.setClinicLocations(this.contractForm.value)) {\r\n this.clinicSubmit.emit(3);\r\n }\r\n return;\r\n },\r\n reject: () => {\r\n return;\r\n }\r\n });\r\n }\r\n confirmOverride(hdr: string, msg: string) {\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n\r\n if (this.outReachProgramType == OutReachProgramType.equityevents) {\r\n this.submitEquityEventsData(true);\r\n }\r\n else if (this.outReachProgramType == OutReachProgramType.communityoutreach) {\r\n this.submitCoData(true);\r\n }\r\n\r\n return;\r\n },\r\n reject: () => {\r\n return;\r\n }\r\n });\r\n }\r\n\r\n isClinicDateReminderBefore2WksReq(locString: String[]): Boolean {\r\n let isClinicDateReminder: Boolean = false;\r\n if (!this.doesClinicsHaveNoClinicAndMiscOptions()) {\r\n return false;\r\n }\r\n try {\r\n let today = new Date();\r\n for (let index = 0; index < this.contractForm.value.locations.length; index++) {\r\n const loc = this.contractForm.value.locations[index];\r\n if (loc.isNoClinic !== null && loc.isNoClinic !== undefined && loc.isNoClinic >= 1) continue;\r\n\r\n // let diffDays: number = loc.clinicDate.getMonth() == today.getMonth() ? Math.round(loc.clinicDate.getDate() - today.getDate())\r\n // : this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(),0,0,0),\r\n // new Date(loc.clinicDate.getFullYear(),loc.clinicDate.getMonth(), loc.clinicDate.getDate(),0,0,0));\r\n var loc_date = (typeof loc.clinicDate == 'string') ? new Date(loc.clinicDate) : loc.clinicDate;\r\n let diffDays: number = this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n new Date(loc_date.getFullYear(), loc_date.getMonth(), loc_date.getDate(), 0, 0, 0));\r\n if (diffDays < 14 && !this.is_reAgreement) {\r\n isClinicDateReminder = true;\r\n locString.push(this.location_number);\r\n }\r\n }\r\n } catch (e) {\r\n return e;\r\n }\r\n return isClinicDateReminder;\r\n }\r\n\r\n isStartTimeEndTimeValid() {\r\n let isValidCode: Number = 0;\r\n try {\r\n this.contractForm.value.locations.forEach(loc => {\r\n try {\r\n if (loc.startTime != \"\" && Object.prototype.toString.call(loc.startTime) === '[object Date]')\r\n try {\r\n loc.startTime = this._datePipe.transform(loc.startTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n if (loc.endTime != \"\" && Object.prototype.toString.call(loc.endTime) === '[object Date]') {\r\n try {\r\n loc.endTime = this._datePipe.transform(loc.endTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e); // here the exception is delibarately caught because when you click back, startTime & end\r\n // Time is not correct timeformat. Hence we are ignoring this by catching here.\r\n }\r\n });\r\n let today = new Date();\r\n for (let count = 0; count < this.contractForm.value.locations.length; count++) {\r\n let locClinicDate: Date = new Date(this.contractForm.value.locations[count].clinicDate);\r\n let locStartTime = this.contractForm.value.locations[count].startTime;\r\n let locEndTime = this.contractForm.value.locations[count].endTime;\r\n if (this.contractForm.value.locations[count].isNoClinic >= 1 ||\r\n this.contractForm.value.locations[count].isNoClinic === '1' ||\r\n this.contractForm.value.locations[count].isReassign >= 1 ||\r\n this.contractForm.value.locations[count].isReassign === '1') {\r\n continue;\r\n }\r\n let endDate: Date;\r\n if (locEndTime.toString().toLowerCase().search('am') !== -1 || locEndTime.toString().toLowerCase().search('pm') !== -1) {\r\n endDate = this._timeToDatePipe.transform(locClinicDate, locEndTime);\r\n }\r\n else {\r\n endDate = locEndTime;\r\n }\r\n let startDatetmToDt: Date;\r\n if (locStartTime.toString().toLowerCase().search('am') !== -1 || locStartTime.toString().toLowerCase().search('pm') !== -1) {\r\n if (locStartTime.toString().toLowerCase().search('12:00 am') !== -1)\r\n locStartTime = \"00:00 AM\"\r\n if (locStartTime.toString().toLowerCase().search('12:30 am') !== -1)\r\n locStartTime = \"00:30 AM\"\r\n startDatetmToDt = this._timeToDatePipe.transform(locClinicDate, locStartTime);\r\n\r\n }\r\n else {\r\n startDatetmToDt = locStartTime;\r\n }\r\n let locStart: Date = new Date(startDatetmToDt);\r\n let locEnd: Date = new Date(endDate);\r\n\r\n\r\n if (locEnd.valueOf() - locStart.valueOf() <= 0) {\r\n isValidCode = 2;\r\n break;\r\n }\r\n else if (locEnd.valueOf() - locStart.valueOf() > 28800000) {\r\n isValidCode = 1;\r\n break;\r\n }\r\n else {\r\n isValidCode = 0;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n return 3;\r\n }\r\n return isValidCode;\r\n }\r\n doesClinicsHaveNoClinicAndMiscOptions(): boolean {\r\n let hasCorpInvNdVchNd: boolean = this._localContractService.checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(undefined);\r\n let hasNoClinicAndMiscOptions: boolean = false;\r\n this.contractForm.value.locations.forEach(element => {\r\n let isNoClinic: boolean = false;\r\n element.isNoClinic >= 1 && hasCorpInvNdVchNd ? isNoClinic = false : isNoClinic = true;\r\n hasNoClinicAndMiscOptions = hasNoClinicAndMiscOptions || isNoClinic;\r\n });\r\n return hasNoClinicAndMiscOptions;\r\n }\r\n\r\n submitCoData(is_override?: boolean): boolean {\r\n\r\n\r\n if (this.isFormValid()) {\r\n this.spinner.show();\r\n this.contractForm.value.locations.forEach(loc => {\r\n\r\n if (loc.startTime != \"\" && Object.prototype.toString.call(loc.startTime) === '[object Date]')\r\n try {\r\n loc.startTime = this._datePipe.transform(loc.startTime, 'shortTime');\r\n } catch (e) { }\r\n try {\r\n if (loc.endTime != \"\" && Object.prototype.toString.call(loc.endTime) === '[object Date]') {\r\n loc.endTime = this._datePipe.transform(loc.endTime, 'shortTime');\r\n }\r\n } catch (e) { }\r\n });\r\n if (this.outReachProgramType == OutReachProgramType.equityevents) {\r\n\r\n if (this._localContractService.setEquityEventsClinicLocations(this.contractForm.value)) {\r\n if (this._localContractService.saveEquityEventsData()) {\r\n var contact_date = new Date();\r\n let coData: EquityEvent = this._localContractService.getEquityEventsData();\r\n if (!this.is_reAgreementCommOutreach) {\r\n coData.logOutreachStatus.businessPk = this.event_details.logOutreachStatus.businessPk;\r\n coData.logOutreachStatus.firstName = this.event_details.logOutreachStatus.firstName;\r\n coData.logOutreachStatus.lastName = this.event_details.logOutreachStatus.lastName;\r\n coData.logOutreachStatus.jobTitle = this.event_details.logOutreachStatus.jobTitle;\r\n coData.logOutreachStatus.outreachProgram = this.event_details.logOutreachStatus.outreachProgram;\r\n coData.logOutreachStatus.outreachBusinessPk = this.event_details.logOutreachStatus.outreachBusinessPk;\r\n coData.logOutreachStatus.contactDate = this.event_details.logOutreachStatus.contactDate;\r\n\r\n\r\n\r\n coData.logOutreachStatus.outreachStatusId = this.event_details.logOutreachStatus.outreachStatusId;\r\n coData.logOutreachStatus.outreachStatusTitle = this.event_details.logOutreachStatus.outreachStatusTitle;\r\n coData.logOutreachStatus.feedback = this.event_details.logOutreachStatus.feedback;\r\n coData.logOutreachStatus.createdBy = this.event_details.logOutreachStatus.createdBy;\r\n }\r\n coData.isApproved = 1;\r\n coData.isEmailSent = 1;\r\n coData.approvedOrRejectedBy = \"CommunityUpdate@WagOutreach.com\";\r\n coData.contactLogPk = -1;\r\n coData.clinicAgreementPk = -1;\r\n if (this.is_reAgreementCommOutreach) {\r\n coData.clinicAgreementPk = +sessionStorage['clinic_agreement_pk'];\r\n coData.logOutreachStatus.businessPk = JSON.parse(sessionStorage['opportunitie_data']).businessPk;\r\n\r\n }\r\n var re = /COVID-19/gi;\r\n coData.clinicList.forEach(cl => {\r\n try {\r\n if (cl.clinicDate === null || cl.clinicDate === undefined || cl.clinicDate === '') {\r\n cl.clinicDate = null;\r\n } else {\r\n cl.clinicDate = this._datePipe.transform(cl.clinicDate, \"MM/dd/yyyy\");\r\n }\r\n } catch (e) {\r\n console.log('error in saveCOTODB');\r\n }\r\n let covidImmList = cl.clinicImzQtyList.filter(p => p.immunizationName.search(re) >= 0);\r\n\r\n covidImmList.length > 0 || this.isCovidVaccineAvailable ? cl.isCovidClinic = 1 : cl.isCovidClinic = 0;\r\n });\r\n coData.clinicImmunizationList.forEach(im => {\r\n try {\r\n if (im.voucherExpirationDate != null && im.voucherExpirationDate != undefined && im.voucherExpirationDate != '') {\r\n im.voucherExpirationDate = this._datePipe.transform(im.voucherExpirationDate, \"MM/dd/yyyy\");\r\n }\r\n\r\n } catch (e) {\r\n console.log('error in saveCOTODB');\r\n }\r\n });\r\n if (coData.clinicList.length <= 0) {\r\n this.showDialog(ErrorMessages['equityEvents'], ErrorMessages['coClinicListEmpty']);\r\n return false;\r\n }\r\n console.log(coData);\r\n this._localContractService.saveEquityEventDataToDB(SessionDetails.GetStoreId(), 13, coData, is_override, this.is_reAgreementCommOutreach).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case 0:\r\n case '0':\r\n this.showDialogV2(ErrorMessages['equityEvents'], ErrorMessages['eqSaved']);\r\n return true;\r\n case -4:\r\n case '-4':\r\n this.showHideBtns.emit(1);\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n this.confirmOverride(ErrorMessages['eventDateTimeConflict'],\r\n String.Format(\"{0}

{1}\", data.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']));\r\n return false;\r\n case -9:\r\n case '-9':\r\n this.showDialogV2(ErrorMessages['equityEvents'], data.errorS.errorMessage);\r\n return true;\r\n default:\r\n this.showDialog(ErrorMessages['equityEvents'], data.errorS.errorMessage);\r\n return false;\r\n }\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialogV2(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n return false;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n return true;\r\n }\r\n }\r\n else if (this.outReachProgramType == OutReachProgramType.communityoutreach) {\r\n\r\n if (this._localContractService.setCOClinicLocations(this.contractForm.value)) {\r\n if (this._localContractService.saveCommunityOutreachData()) {\r\n var contact_date = new Date();\r\n let coData: CommunityOutreach = this._localContractService.getCommunityOutreachData();\r\n if (!this.is_reAgreementCommOutreach) {\r\n coData.logOutreachStatus.businessPk = this.event_details.logOutreachStatus.businessPk;\r\n coData.logOutreachStatus.firstName = this.event_details.logOutreachStatus.firstName;\r\n coData.logOutreachStatus.lastName = this.event_details.logOutreachStatus.lastName;\r\n coData.logOutreachStatus.jobTitle = this.event_details.logOutreachStatus.jobTitle;\r\n coData.logOutreachStatus.outreachProgram = this.event_details.logOutreachStatus.outreachProgram;\r\n coData.logOutreachStatus.outreachBusinessPk = this.event_details.logOutreachStatus.outreachBusinessPk;\r\n coData.logOutreachStatus.contactDate = this.event_details.logOutreachStatus.contactDate;\r\n\r\n // coData.logOutreachStatus.contactDate = new Date(this.event_details.logOutreachStatus.contactDate.getFullYear(),\r\n // this.event_details.logOutreachStatus.contactDate.getMonth()\r\n // ,this.event_details.logOutreachStatus.contactDate.getDate(),contact_date.getHours(),\r\n // contact_date.getMinutes(),contact_date.getSeconds(),\r\n // contact_date.getMilliseconds());\r\n\r\n coData.logOutreachStatus.outreachStatusId = this.event_details.logOutreachStatus.outreachStatusId;\r\n coData.logOutreachStatus.outreachStatusTitle = this.event_details.logOutreachStatus.outreachStatusTitle;\r\n coData.logOutreachStatus.feedback = this.event_details.logOutreachStatus.feedback;\r\n coData.logOutreachStatus.createdBy = this.event_details.logOutreachStatus.createdBy;\r\n }\r\n coData.isApproved = 1;\r\n coData.isEmailSent = 1;\r\n coData.approvedOrRejectedBy = \"CommunityUpdate@WagOutreach.com\";\r\n coData.contactLogPk = -1;\r\n coData.clinicAgreementPk = -1;\r\n if (this.is_reAgreementCommOutreach) {\r\n coData.clinicAgreementPk = +sessionStorage['clinic_agreement_pk'];\r\n coData.logOutreachStatus.businessPk = JSON.parse(sessionStorage['opportunitie_data']).businessPk;\r\n\r\n }\r\n var re = /COVID-19/gi;\r\n coData.clinicList.forEach(cl => {\r\n try {\r\n if (cl.clinicDate === null || cl.clinicDate === undefined || cl.clinicDate === '') {\r\n cl.clinicDate = null;\r\n } else {\r\n cl.clinicDate = this._datePipe.transform(cl.clinicDate, \"MM/dd/yyyy\");\r\n }\r\n } catch (e) {\r\n console.log('error in saveCOTODB');\r\n }\r\n let covidImmList = cl.clinicImzQtyList.filter(p => p.immunizationName.search(re) >= 0);\r\n\r\n covidImmList.length > 0 || this.isCovidVaccineAvailable ? cl.isCovidClinic = 1 : cl.isCovidClinic = 0;\r\n });\r\n coData.clinicImmunizationList.forEach(im => {\r\n try {\r\n if (im.voucherExpirationDate != null && im.voucherExpirationDate != undefined && im.voucherExpirationDate != '') {\r\n im.voucherExpirationDate = this._datePipe.transform(im.voucherExpirationDate, \"MM/dd/yyyy\");\r\n }\r\n\r\n } catch (e) {\r\n console.log('error in saveCOTODB');\r\n }\r\n });\r\n if (coData.clinicList.length <= 0) {\r\n this.showDialog(ErrorMessages['comOutreach'], ErrorMessages['coClinicListEmpty']);\r\n return false;\r\n }\r\n\r\n this._localContractService.saveCODataToDB(SessionDetails.GetStoreId(), 6, coData, is_override, this.is_reAgreementCommOutreach).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case 0:\r\n case '0':\r\n this.showDialogV2(ErrorMessages['comOutreach'], ErrorMessages['coSaved']);\r\n return true;\r\n case -4:\r\n case '-4':\r\n this.showHideBtns.emit(1);\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n this.confirmOverride(ErrorMessages['eventDateTimeConflict'],\r\n String.Format(\"{0}

{1}\", data.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']));\r\n //this.showDialog(ErrorMessages['comOutreach'], data.errorS.errorMessage);\r\n return false;\r\n case -9:\r\n case '-9':\r\n this.showDialogV2(ErrorMessages['comOutreach'], data.errorS.errorMessage);\r\n return true;\r\n default:\r\n this.showDialog(ErrorMessages['comOutreach'], data.errorS.errorMessage);\r\n return false;\r\n }\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialogV2(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n return false;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n return true;\r\n }\r\n }\r\n\r\n }\r\n else {\r\n let summary = ErrorMessages['MandatoryFields'];\r\n let errMsg = ErrorMessages['errMsg'];\r\n this.showDialog(errMsg, summary);\r\n return false;\r\n }\r\n return false;\r\n }\r\n\r\n // Save Equity Events Data\r\n\r\n submitEquityEventsData(is_override?: boolean): boolean {\r\n\r\n\r\n if (this.isFormValid()) {\r\n this.spinner.show();\r\n this.contractForm.value.locations.forEach(loc => {\r\n\r\n if (loc.startTime != \"\" && Object.prototype.toString.call(loc.startTime) === '[object Date]')\r\n try {\r\n loc.startTime = this._datePipe.transform(loc.startTime, 'shortTime');\r\n } catch (e) { }\r\n try {\r\n if (loc.endTime != \"\" && Object.prototype.toString.call(loc.endTime) === '[object Date]') {\r\n loc.endTime = this._datePipe.transform(loc.endTime, 'shortTime');\r\n }\r\n } catch (e) { }\r\n });\r\n\r\n if (this._localContractService.setEquityEventsClinicLocations(this.contractForm.value)) {\r\n if (this._localContractService.saveEquityEventsData()) {\r\n var contact_date = new Date();\r\n let coData: EquityEvent = this._localContractService.getEquityEventsData();\r\n if (!this.is_reAgreementCommOutreach) {\r\n coData.logOutreachStatus.businessPk = this.event_details.logOutreachStatus.businessPk;\r\n coData.logOutreachStatus.firstName = this.event_details.logOutreachStatus.firstName;\r\n coData.logOutreachStatus.lastName = this.event_details.logOutreachStatus.lastName;\r\n coData.logOutreachStatus.jobTitle = this.event_details.logOutreachStatus.jobTitle;\r\n coData.logOutreachStatus.outreachProgram = this.event_details.logOutreachStatus.outreachProgram;\r\n coData.logOutreachStatus.outreachBusinessPk = this.event_details.logOutreachStatus.outreachBusinessPk;\r\n coData.logOutreachStatus.contactDate = this.event_details.logOutreachStatus.contactDate;\r\n\r\n\r\n\r\n coData.logOutreachStatus.outreachStatusId = this.event_details.logOutreachStatus.outreachStatusId;\r\n coData.logOutreachStatus.outreachStatusTitle = this.event_details.logOutreachStatus.outreachStatusTitle;\r\n coData.logOutreachStatus.feedback = this.event_details.logOutreachStatus.feedback;\r\n coData.logOutreachStatus.createdBy = this.event_details.logOutreachStatus.createdBy;\r\n }\r\n coData.isApproved = 1;\r\n coData.isEmailSent = 1;\r\n coData.approvedOrRejectedBy = \"CommunityUpdate@WagOutreach.com\";\r\n coData.contactLogPk = -1;\r\n coData.clinicAgreementPk = -1;\r\n if (this.is_reAgreementCommOutreach) {\r\n coData.clinicAgreementPk = +sessionStorage['clinic_agreement_pk'];\r\n coData.logOutreachStatus.businessPk = JSON.parse(sessionStorage['opportunitie_data']).businessPk;\r\n\r\n }\r\n var re = /COVID-19/gi;\r\n coData.clinicList.forEach(cl => {\r\n try {\r\n if (cl.clinicDate === null || cl.clinicDate === undefined || cl.clinicDate === '') {\r\n cl.clinicDate = null;\r\n } else {\r\n cl.clinicDate = this._datePipe.transform(cl.clinicDate, \"MM/dd/yyyy\");\r\n }\r\n } catch (e) {\r\n console.log('error in saveCOTODB');\r\n }\r\n let covidImmList = cl.clinicImzQtyList.filter(p => p.immunizationName.search(re) >= 0);\r\n\r\n covidImmList.length > 0 || this.isCovidVaccineAvailable ? cl.isCovidClinic = 1 : cl.isCovidClinic = 0;\r\n });\r\n coData.clinicImmunizationList.forEach(im => {\r\n try {\r\n if (im.voucherExpirationDate != null && im.voucherExpirationDate != undefined && im.voucherExpirationDate != '') {\r\n im.voucherExpirationDate = this._datePipe.transform(im.voucherExpirationDate, \"MM/dd/yyyy\");\r\n }\r\n\r\n } catch (e) {\r\n console.log('error in saveCOTODB');\r\n }\r\n });\r\n if (coData.clinicList.length <= 0) {\r\n this.showDialog(ErrorMessages['equityEvents'], ErrorMessages['coClinicListEmpty']);\r\n return false;\r\n }\r\n console.log(coData);\r\n this._localContractService.saveEquityEventDataToDB(SessionDetails.GetStoreId(), 13, coData, is_override, this.is_reAgreementCommOutreach).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case 0:\r\n case '0':\r\n this.showDialogV2(ErrorMessages['equityEvents'], ErrorMessages['eqSaved']);\r\n return true;\r\n case -4:\r\n case '-4':\r\n this.showHideBtns.emit(1);\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n this.confirmOverride(ErrorMessages['eventDateTimeConflict'],\r\n String.Format(\"{0}

{1}\", data.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']));\r\n return false;\r\n case -9:\r\n case '-9':\r\n this.showDialogV2(ErrorMessages['equityEvents'], data.errorS.errorMessage);\r\n return true;\r\n default:\r\n this.showDialog(ErrorMessages['equityEvents'], data.errorS.errorMessage);\r\n return false;\r\n }\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialogV2(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n return false;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n return true;\r\n }\r\n }\r\n else {\r\n let summary = ErrorMessages['MandatoryFields'];\r\n let errMsg = ErrorMessages['errMsg'];\r\n this.showDialog(errMsg, summary);\r\n return false;\r\n }\r\n return false;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n cancelLocationData(): boolean {\r\n var compare_objects = false;\r\n this.locations_data.value.previousContact = 0;\r\n this.locations_data.value.previousLocation = 0;\r\n this.locations_data1.value.previousContact = 0;\r\n this.locations_data1.value.previousLocation = 0;\r\n\r\n compare_objects = this.utility.compareTwoObjects(this.locations_data.value, this.locations_data1.value);\r\n return compare_objects;\r\n }\r\n\r\n checkIfAnyFluImmIsSelected() {\r\n let added_immunizations: Immunization2[] = [];\r\n if (this.outReachProgramType === OutReachProgramType.communityoutreach) {\r\n added_immunizations = this._localContractService.getCOSelectedImmunizations();\r\n }\r\n else if (this.outReachProgramType === OutReachProgramType.equityevents) {\r\n added_immunizations = this._localContractService.getCOSelectedImmunizations();\r\n }\r\n else {\r\n added_immunizations = this._localContractService.getSelectedImmunizations();\r\n }\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.immunizationName.toLowerCase().search('flu') != -1) {\r\n throw true;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getRestrictedStatesDatesValidity(): string[] {\r\n let errMsgs: string[] = [];\r\n let isValidDates: boolean = true;\r\n let state = SessionDetails.GetState();\r\n\r\n if (this.utility.isStoreIsfromRestrictedState() && this.checkIfAnyFluImmIsSelected()) {\r\n for (let count = 0; count < this.contractForm.value.locations.length; count++) {\r\n let locClinicDate: Date = new Date(this.contractForm.value.locations[count].clinicDate);\r\n if (state == \"MO\") {\r\n if (locClinicDate.getMonth() <= 2 && locClinicDate.getFullYear() == 2020) {\r\n //TODO TO TEST\r\n var userProfile = SessionDetails.GetUserProfile();\r\n var lowerCaseName = userProfile.userRole.toLowerCase();\r\n if (lowerCaseName == \"director\" ||\r\n lowerCaseName == \"supervisor\" || lowerCaseName == \"regionalvp\" ||\r\n lowerCaseName == \"regionaldirector\" || lowerCaseName == \"admin\" ||\r\n lowerCaseName == \"regional vice president\" ||\r\n lowerCaseName == \"regional healthcare director\" ||\r\n lowerCaseName == \"healthcare supervisor\"\r\n || lowerCaseName == \"director - rx and retail ops\" || lowerCaseName == \"district manager\") {\r\n continue;\r\n }\r\n errMsgs.push(String.Format(ErrorMessages['restrictedStateDateConflict'], this.contractForm.value.locations[count].location));\r\n isValidDates = false;\r\n }\r\n }\r\n else if (state == \"DC\") {\r\n if (locClinicDate.getMonth() <= 1) {\r\n var userProfile = SessionDetails.GetUserProfile();\r\n var lowerCaseName = userProfile.userRole.toLowerCase();\r\n if (lowerCaseName == \"director\" ||\r\n lowerCaseName == \"supervisor\" || lowerCaseName == \"regionalvp\" ||\r\n lowerCaseName == \"regionaldirector\" || lowerCaseName == \"admin\" ||\r\n lowerCaseName == \"regional vice president\" ||\r\n lowerCaseName == \"regional healthcare director\" ||\r\n lowerCaseName == \"healthcare supervisor\"\r\n || lowerCaseName == \"director - rx and retail ops\" || lowerCaseName == \"district manager\") {\r\n continue;\r\n }\r\n errMsgs.push(String.Format(ErrorMessages['restrictedStateDateConflict'], this.contractForm.value.locations[count].location));\r\n isValidDates = false;\r\n }\r\n }\r\n }\r\n }\r\n return errMsgs;\r\n }\r\n showDateTimeOverLpDlg(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.showDateTimeOverlpDlg = true;\r\n }\r\n OverRideDateTimeDlg() {\r\n this.userOverriddenDateTimeConflict = true;\r\n this.showDateTimeOverlpDlg = false;\r\n if (this.outReachProgramType === OutReachProgramType.contracts) {\r\n if (this.save()) {\r\n this.clinicSubmit.emit(3);\r\n }\r\n }\r\n else if (this.outReachProgramType === OutReachProgramType.equityevents) {\r\n this.clinicSubmit.emit(3);\r\n }\r\n else if (this.outReachProgramType === OutReachProgramType.communityoutreach) {\r\n this.clinicSubmit.emit(3);\r\n }\r\n }\r\n CancelDateTimeDlg() {\r\n this.userOverriddenDateTimeConflict = false;\r\n this.showDateTimeOverlpDlg = false;\r\n }\r\n showVisitsGapOverLpDlg(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.showVisitsGapOverlpDlg = true;\r\n }\r\n OverRideVisitsGapDlg() {\r\n this.userOverriddenVisitsGapConflict = true;\r\n this.showVisitsGapOverlpDlg = false;\r\n if (this.outReachProgramType === OutReachProgramType.contracts) {\r\n if (this.save()) {\r\n this.clinicSubmit.emit(3);\r\n }\r\n }\r\n else if (this.outReachProgramType === OutReachProgramType.communityoutreach) {\r\n this.clinicSubmit.emit(3);\r\n }\r\n else if (this.outReachProgramType === OutReachProgramType.equityevents) {\r\n this.clinicSubmit.emit(3);\r\n }\r\n }\r\n CancelVisitsGapDlg() {\r\n this.userOverriddenVisitsGapConflict = false;\r\n this.showVisitsGapOverlpDlg = false;\r\n\r\n }\r\n\r\n canDeleteTheClinic(clinicIndex: number) {\r\n if (this.contractForm.controls.locations.value.length > 1 && !this.is_reAgreement) {\r\n return true;\r\n }\r\n else if (this.is_reAgreement) {\r\n if (clinicIndex < this.totalClinicsCount) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input, ChangeDetectorRef } from '@angular/core';\r\nimport { FormGroup, FormArray, FormBuilder, FormControl, Validators } from '@angular/forms';\r\nimport { DatePipe } from '@angular/common';\r\nimport { OutreachProgramService } from '../../services/outreach-program.service';\r\nimport { Immunization2 } from '../../../../models/contract';\r\nimport { states } from '../../../../JSON/States';\r\nimport { OutReachProgramType } from '../../../../models/OutReachPrograms';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { Util } from '../../../../utility/util';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { COVIDVisits } from '../../../../JSON/COVIDVisits';\r\nimport { adminUserNames } from '../../../../JSON/adminsInformation';\r\nimport * as _ from 'lodash';\r\nimport { ClinicDetailsUtilities } from '../../../../utility/clinicDetailsUtilities';\r\nimport { UniquePipeClinicDetails } from '../../../../modules/clinicdetails/pipes/clinicUnique.pipe';\r\nimport * as moment from 'moment';\r\nimport { LocationNumberPipe } from '../../pipes/location-number.pipe';\r\nimport { UserRole } from '../../../../config-files/UserRole';\r\ndeclare var google: any;\r\n\r\n@Component({\r\n selector: 'app-locations',\r\n templateUrl: './locations.component.html',\r\n styleUrls: ['./locations.component.css'],\r\n providers: [DatePipe, UniquePipeClinicDetails]\r\n})\r\nexport class LocationsComponent implements OnInit {\r\n @Input('group')\r\n public locationForm: FormGroup;\r\n @Input('locFormArray')\r\n public locationFormArray: FormArray;\r\n @Input('locationNumber')\r\n locationNumber: number = 0;\r\n @Input('outReachProgramType')\r\n outReachProgramType: string = OutReachProgramType.contracts;\r\n locationData: any = {};\r\n immunizations: any[];\r\n states: any[];\r\n COVIDVisits: any[];\r\n defaultStartTime: Date;\r\n isCovidVaccineAvailable: boolean = false;\r\n defaultDate: Date = new Date();\r\n maxDateValue: Date = new Date();\r\n minDateValue: Date = new Date();\r\n invalidDates: Array = [];\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n locDlgDisplay: boolean = false;\r\n dlgDisplay: boolean = false;\r\n outReachTypeOtherVisible = false;\r\n isStoreIs_From_RestrictedState: boolean = false;\r\n from_local_clinic: boolean = false;\r\n is_reAgreement: boolean = false;\r\n isCovid: boolean = false;\r\n isCovidVoucher: boolean = false;\r\n is_reAgreementCommOutreach: boolean = false;\r\n canDisplayNoClinicFeeOption: boolean = false;\r\n isAdmin: boolean;\r\n canDisplayVouchersDistributedField = false;\r\n shouldDisplayNoClinicVoucherDistribution = false;\r\n @Input('totalClinicsCount') totalClinicsCount: number;\r\n shouldDisableVouchersDistributed = false;\r\n onlyVoucherPaymentMethodSelected = false;\r\n shouldDisableNoClinicVoucherDistributionText = false;\r\n IsAmendisNoClinicValue: boolean = false;\r\n isOnlyVoucherValue = false;\r\n ProfileDetails: any;\r\n estimatedQuantity: Number;\r\n hasVoucherPaymentMethodOnly = false;\r\n isRhdUser = false;\r\n manualNoClinicFeeChecked = null;\r\n opportunitie;\r\n hasServiceFeeFeatureDisabled = environment.disabledFeatures.serviceFee;\r\n isPreviousClinic: 0 | 1 | null;\r\n\r\n constructor(\r\n private _localContractService: OutreachProgramService,\r\n private fb: FormBuilder,\r\n private confirmationService: ConfirmationService,\r\n private _utility: Util,\r\n private _ref: ChangeDetectorRef,\r\n private _uniquePipeClinicDetails: UniquePipeClinicDetails,\r\n public locationNumberPipe: LocationNumberPipe\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.shouldDisplayNoClinicVoucherDistribution = true;\r\n this.from_local_clinic = SessionDetails.GetfromUserPage();\r\n this.hasServiceFeeFeatureDisabled = environment.disabledFeatures.serviceFee;\r\n this.isPreviousClinic = this.locationForm.value?.IsPreviousClinic;\r\n if (sessionStorage[\"AmendAgreement\"] != null) {\r\n this.is_reAgreement = JSON.parse(sessionStorage[\"AmendAgreement\"]);\r\n //this.locationNumber=0;\r\n }\r\n let today = new Date();\r\n if (sessionStorage[\"AmendAgreementForCommOutreach\"] != null) {\r\n this.is_reAgreementCommOutreach = JSON.parse(sessionStorage[\"AmendAgreementForCommOutreach\"]);\r\n\r\n this.locationFormArray.controls.forEach((element, index) => {\r\n\r\n let OutreachTypeIdzVal = element.get('coOutreachTypeId').value;\r\n this.locationFormArray.controls[index].get('coOutreachTypeId').setValue(String(OutreachTypeIdzVal));\r\n\r\n if (String(OutreachTypeIdzVal) === '4') {\r\n this.outReachTypeOtherVisible = true;\r\n this.locationForm.controls['coOutreachTypeDesc'].enable();\r\n this.locationForm.controls['coOutreachTypeDesc'].setValidators([Validators.required]);\r\n this.locationForm.controls['coOutreachTypeDesc'].updateValueAndValidity();\r\n }\r\n });\r\n\r\n this.locationFormArray.controls.forEach((element, index) => {\r\n var commORdate = new Date(this.locationFormArray.controls[index].get('clinicDate').value);\r\n this.locationFormArray.controls[index].get('clinicDate').setValue(new Date(commORdate.getFullYear(), commORdate.getMonth(), commORdate.getDate(), 8, 0, 0));\r\n });\r\n\r\n // addding zero value to the immunizations with index greater than zero\r\n for (let i = 0; i < this.locationFormArray.controls.length; i++) {\r\n var immDistinct = Array.from(new Set(this.locationFormArray.controls[i].value.clinicImzQtyList.map(x => x.immunizationPk)));\r\n\r\n immDistinct.forEach(element => {\r\n let frmGrps = this.locationForm.controls.clinicImzQtyList['controls'].filter(p => p.controls.immunizationPk.value == element);\r\n frmGrps.forEach((element, index) => {\r\n if (index > 0)\r\n element.patchValue({\r\n estimatedQuantity: 0\r\n });\r\n });\r\n });\r\n }\r\n }\r\n\r\n this.states = states.sort((a, b) => a.id.localeCompare(b.id));\r\n this.COVIDVisits = COVIDVisits;//.sort((a,b)=>a.id.localeCompare(b.id));\r\n\r\n var userProfile = SessionDetails.GetUserProfile();\r\n this.opportunitie = SessionDetails.GetopportunitiesData();\r\n this.ProfileDetails = userProfile;\r\n if (!environment.disabledFeatures.serviceFee) {\r\n if (this.opportunitie.covidOpportunityType === 1) {\r\n if (this.locationForm.contains('estimatedParticipants'))\r\n if (!this.locationForm.controls['isNoClinic'].value && this.locationForm?.get('estimatedParticipants')?.value > 0 && this.manualNoClinicFeeChecked === null)\r\n this.handleRsvVaccinceSelection();\r\n }; //removed for service updates\r\n }\r\n this.isCovid = this.locationForm.value.clinicImzQtyList.findIndex(x => x.immunizationName.includes('COVID')) > -1 ? true : false;\r\n if (this._utility.isStoreIsfromRestrictedState()) {\r\n if (userProfile.userRole.toLowerCase() == \"store manager\" || userProfile.userRole.toLowerCase() == \"pharmacy manager\") {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);//+14\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);//+14\r\n }\r\n else {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n }\r\n if (this.checkIfAnyFluImmIsSelected()) {\r\n this.maxDateValue = new Date(today.getFullYear() + 1, 3, 1, 12, 55, 55);\r\n }\r\n else {\r\n this.maxDateValue = new Date(today.getFullYear() + 1, today.getMonth(), today.getDate() - 1, 12, 55, 55);\r\n }\r\n }\r\n else {\r\n if (userProfile.userRole.toLowerCase() == \"store manager\" || userProfile.userRole.toLowerCase() == \"pharmacy manager\"\r\n ) {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);//+14\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);//+14\r\n\r\n } else {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n }\r\n this.maxDateValue = new Date(today.getFullYear() + 5, today.getMonth(), today.getDate() - 1, 8, 0, 0);\r\n }\r\n this.defaultStartTime = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n if (this.outReachProgramType === OutReachProgramType.communityoutreach) {\r\n this.isCovidVaccineAvailable = this._localContractService.getCOSelectedImmunizations().filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n }\r\n else {\r\n this.isCovidVaccineAvailable = this._localContractService.getSelectedImmunizations().filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n }\r\n let covidVaccine = this._localContractService.getSelectedImmunizations().filter(p => p.immunizationName.includes('COVID19 Vaccine (')).length > 0;\r\n\r\n // 775 fix\r\n this.isCovidVoucher = this._localContractService.getSelectedImmunizations().filter(item => item.immunizationName.includes('Vaccine Voucher')).length > 0;\r\n\r\n // if(!covidVaccine && this.isCovidVoucher){\r\n // this.locationFormArray.controls[0].get('isNoClinic').setValue(true);\r\n // //this.isCovidVoucher = !this.isCovidVoucher;\r\n // } \r\n if (['CommunityUpdate@WagOutreach.com', 'jerry.v.thomas@walgreens.com', 'samuel.nass@walgreens.com', 'carlos.flores@walgreens.com', 'enterpriseimmunizationservice@walgreens.com', 'tyrone.clark@walgreens.com'].indexOf(userProfile.email) > -1) {\r\n let today = new Date();\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n\r\n this.minDateValue.setMonth(this.minDateValue.getMonth() - 6);\r\n this.minDateValue.setDate(this.minDateValue.getDate() + 4);\r\n }\r\n //work around to fill the input mask fields\r\n setTimeout(() => {\r\n const maskedInputControl = this.locationForm.get('contactPhone') as FormControl;\r\n maskedInputControl.setValue(maskedInputControl.value);\r\n });\r\n\r\n this.isAdmin = adminUserNames.filter(item => item.toLowerCase() == userProfile.userName.toLowerCase()).length > 0;\r\n this.isRhdUser = userProfile.userRole.toLocaleLowerCase() === UserRole.REGIONALHEALTHCAREDIRECTOR;\r\n if (!this.hasServiceFeeFeatureDisabled || this.isPreviousClinic) {\r\n if (this.isAdmin || this.isRhdUser) {\r\n this.canDisplayNoClinicFeeOption = true;\r\n }\r\n else {\r\n this.canDisplayNoClinicFeeOption = false;\r\n }\r\n }\r\n this.handleConditionForVouchersDistributed();\r\n\r\n this.onlyVoucherPaymentMethodSelected = ClinicDetailsUtilities.CheckIfOnlyVoucherPaymentMethodIsSelected(this.locationForm.get('clinicImzQtyList').value);\r\n this.hasVoucherPaymentMethodOnly = ClinicDetailsUtilities.CheckOnlyVoucherPaymentIsSelected(this.locationForm.get('clinicImzQtyList').value);\r\n\r\n if (this.locationForm.controls['isNoClinic'].value && this.onlyVoucherPaymentMethodSelected) {\r\n this.shouldDisableVouchersDistributed = true;\r\n }\r\n\r\n if (this.is_reAgreement) {\r\n const clinicImzList = ClinicDetailsUtilities.GetImmunizationGroupedByImmzPk(this.locationForm.get('clinicImzQtyList').value);\r\n let totalShotsCount = 0;\r\n for (const clinicImz of clinicImzList) {\r\n const estimatedShots = clinicImz.Immzs.reduce((accumulator, object) => {\r\n return accumulator + (object?.estimatedQuantity ? parseInt(object.estimatedQuantity) : 0);\r\n }, 0);\r\n totalShotsCount = totalShotsCount + estimatedShots;\r\n }\r\n if (this.locationForm.controls['isNoClinic'].value && totalShotsCount === parseInt(this.locationForm.controls['vouchersDistributed'].value ?? 0)) {\r\n this.shouldDisableVouchersDistributed = true;\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n this.locationFormArray.controls.forEach((element, index) => {\r\n let OutreachTypeIdzVal = element.get('coOutreachTypeId').value;\r\n this.locationFormArray.controls[index].get('coOutreachTypeId').setValue(String(OutreachTypeIdzVal));\r\n\r\n if (String(OutreachTypeIdzVal) === '4') {\r\n this.outReachTypeOtherVisible = true;\r\n this.locationForm.controls['coOutreachTypeDesc'].enable();\r\n this.locationForm.controls['coOutreachTypeDesc'].setValidators([Validators.required]);\r\n this.locationForm.controls['coOutreachTypeDesc'].updateValueAndValidity();\r\n }\r\n else {\r\n this.outReachTypeOtherVisible = false;\r\n this.locationForm.controls['coOutreachTypeDesc'].setValidators(null);\r\n this.locationForm.controls['coOutreachTypeDesc'].setErrors(null);\r\n this.locationForm.controls['coOutreachTypeDesc'].updateValueAndValidity();\r\n this.locationForm.controls['coOutreachTypeDesc'].disable();\r\n }\r\n });\r\n }, 2000)\r\n\r\n this._ref.detectChanges();\r\n\r\n // For equity events if \"Wags Free Flu Voucher\" payment method\r\n // is selected then display vouchers distributed\r\n if (this.outReachProgramType === OutReachProgramType.equityevents) {\r\n const newClinicImzQtyList = ClinicDetailsUtilities.GetImmunizationGroupedByImmzPk(this.locationForm.get('clinicImzQtyList').value);\r\n\r\n if (newClinicImzQtyList.some(list => list.immPk == '31')) {\r\n const immunizations = newClinicImzQtyList[newClinicImzQtyList.findIndex(list => list.immPk == '31')];\r\n if (immunizations.Immzs.some(immunization => immunization.paymentTypeId == 14)) {\r\n this.canDisplayVouchersDistributedField = true;\r\n }\r\n }\r\n\r\n let isAmmendValue = sessionStorage[\"IsEquityAmendAgreement\"];\r\n if (isAmmendValue === \"true\") {\r\n this.IsAmendisNoClinicValue = true;\r\n }\r\n else {\r\n this.IsAmendisNoClinicValue = false;\r\n }\r\n }\r\n }\r\n\r\n logImm(immunization, i) {\r\n //console.log('index = '+ i ,immunization.value.immunizationName);\r\n }\r\n\r\n public handleNoClinicVoucherDistribution() {\r\n if (this.shouldDisplayNoClinicVoucherDistribution) {\r\n const newClinicImzQtyList = ClinicDetailsUtilities.GetImmunizationGroupedByImmzPk(this.locationForm.get('clinicImzQtyList').value);\r\n\r\n for (const imzqyt of newClinicImzQtyList) {\r\n if (imzqyt.immPk == '31' && imzqyt.Immzs.some(immunization => immunization.paymentTypeId == 14) && imzqyt.Immzs.some(immunization => parseInt(immunization.estimatedQuantity) > 0)) {\r\n // this.shouldDisableNoClinicVoucherDistribution = false;\r\n this.locationForm.controls['vouchersDistributed'].setValue(0);\r\n }\r\n else if (imzqyt.immPk == '31' && imzqyt.Immzs.some(immunization => immunization.paymentTypeId == 14) && imzqyt.Immzs.some(immunization => parseInt(immunization.estimatedQuantity) == 0)) {\r\n // this.shouldDisableNoClinicVoucherDistribution = true;\r\n this.locationForm.controls['isNoClinic'].setValue(0);\r\n }\r\n }\r\n }\r\n }\r\n\r\n focusOutFunction(immunization) {\r\n let estimatedQty = Number(immunization.controls.estimatedQuantity.value);\r\n this.estimatedQuantity = estimatedQty;\r\n let estimatedParticipants = Number(this.locationForm.get('estimatedParticipants').value);\r\n let frmGrps = this.locationForm.controls.clinicImzQtyList['controls'].filter(p => p.controls.immunizationPk.value == immunization.controls.immunizationPk.value);\r\n if (!environment.disabledFeatures.serviceFee) {\r\n if (this.opportunitie.covidOpportunityType === 1) {\r\n if (!this.locationForm.controls['isNoClinic'].value && this.locationForm.get('estimatedParticipants').value > 0 && this.manualNoClinicFeeChecked === null)\r\n this.handleRsvVaccinceSelection();\r\n };// removed for service changes \r\n }\r\n frmGrps.forEach((element, index) => {\r\n if (index > 0)\r\n element.patchValue({\r\n estimatedQuantity: 0\r\n });\r\n });\r\n if (estimatedQty != null && estimatedQty > 0 && estimatedQty != undefined && estimatedQty > estimatedParticipants && this.locationForm.controls['isNoClinic'].value == 0) {\r\n this.showDialogV3(\"Please resolve the below issues to continue further\", ErrorMessages[\"estimatedShotsWarning\"]);\r\n }\r\n }\r\n onlyNumberKey(event) {\r\n Util.onlyNumbers(event);\r\n }\r\n\r\n isFieldValid(field: string) {\r\n if (this.locationForm.get(field) != null) {\r\n return !this.locationForm.get(field).valid && this.locationForm.get(field).touched;\r\n }\r\n }\r\n\r\n isValidArrayField(fields: string, index: number) {\r\n let return_value = false;\r\n Object.keys(this.locationForm.controls).forEach(field => {\r\n const control = this.locationForm.get(field);\r\n if (control instanceof FormArray) {\r\n return_value = !control.controls[index].get(fields).valid && control.controls[index].get(fields).touched;\r\n }\r\n });\r\n return return_value;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n\r\n displayFieldCssexpiry(field: string) {\r\n return {\r\n 'has-error': false,\r\n 'has-feedback': false\r\n };\r\n }\r\n\r\n displayFieldCssForArray(field: string, index: number) {\r\n const clinicImmzList = this.locationForm.controls['clinicImzQtyList'] as FormArray;\r\n const transformedList = this._uniquePipeClinicDetails.transform(clinicImmzList.controls);\r\n const fieldValue = transformedList[index].controls[field].value;\r\n const fieldTouched = transformedList[index].controls[field].touched;\r\n const fieldInvalid = transformedList[index].controls[field].status == 'INVALID';\r\n const fieldPristine = transformedList[index].controls[field].pristine;\r\n const return_value = (fieldInvalid && fieldTouched) || (!fieldPristine && fieldValue == \"\");\r\n return {\r\n 'has-error': return_value,\r\n 'has-feedback': return_value\r\n };\r\n }\r\n\r\n checkIfFluImmForCorpInvoiceSelected() {\r\n let added_immunizations = this._localContractService.getSelectedImmunizations();\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.paymentTypeId == 13 && (rec.sendInvoiceTo === '1' || rec.sendInvoiceTo === 1) &&\r\n (rec.isVoucherNeeded === '1' || rec.isVoucherNeeded === 1) && rec.immunizationName.toLowerCase().search('flu') !== -1) {\r\n throw true;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n checkIfVoucherYesSelectedForFluCorpInvoiceSelected() {\r\n let added_immunizations = this._localContractService.getSelectedImmunizations();\r\n let isFluYes: boolean = false;\r\n let count: number = 0;\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if ((rec.paymentTypeId == 13 && (rec.sendInvoiceTo == '1' || rec.sendInvoiceTo == 1))) { //&& rec.immunizationName.toLowerCase().search('flu')!==-1\r\n //throw true;\r\n if (rec.isVoucherNeeded == 1 || rec.isVoucherNeeded == '1') {\r\n isFluYes = true;\r\n }\r\n count++;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n if (count <= 0) {\r\n return true;\r\n }\r\n else if (count > 0 && !isFluYes) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n checkIfVoucherYesSelectedForNonFluCorpInvoiceSelected() {\r\n let added_immunizations = this._localContractService.getSelectedImmunizations();\r\n let isNonFluYes: boolean = false;\r\n let count: number = 0;\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.paymentTypeId == 13 && (rec.sendInvoiceTo === '1' || rec.sendInvoiceTo === 1) && rec.immunizationName.toLowerCase().search('flu') == -1) {\r\n if (rec.isVoucher == true) {\r\n isNonFluYes = true;\r\n }\r\n count++;\r\n //throw true;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n if (count <= 0) {\r\n return true;\r\n }\r\n else if (count > 0 && !isNonFluYes) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n checkIfNonFluImmForCorpInvoiceSelected() {\r\n let added_immunizations = this._localContractService.getSelectedImmunizations();\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.paymentTypeId == 13 && (rec.sendInvoiceTo === '1' || rec.sendInvoiceTo === 1)\r\n && (rec.isVoucherNeeded === '1' || rec.isVoucherNeeded === 1 && rec.immunizationName.toLowerCase().search('flu') == -1)) {\r\n throw true;\r\n }\r\n // else if(rec.paymentTypeId==6 && rec.sendInvoiceTo===true && rec.immunizationName.toLowerCase().search('flu') == -1){\r\n // this.hasNonFluImmSelected = true;\r\n // }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n checkIfCovidImmForCorpInvoiceSelected() {\r\n let added_immunizations = this._localContractService.getSelectedImmunizations();\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.paymentTypeId == 13 && (rec.sendInvoiceTo === '1' || rec.sendInvoiceTo === 1)\r\n && (rec.isVoucherNeeded === '1' || rec.isVoucherNeeded === 1) && rec.immunizationName.toLowerCase().search('covid') !== -1) {\r\n throw true;\r\n }\r\n // else if(rec.paymentTypeId==6 && rec.sendInvoiceTo===true && rec.immunizationName.toLowerCase().search('flu') == -1){\r\n // this.hasNonFluImmSelected = true;\r\n // }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n calcNoClinicStatus(): boolean {\r\n const newClinicFeeValue = this.getServiceFee();\r\n this.locationForm.controls['clinicFee'].setValue(newClinicFeeValue);\r\n let hasCorpInvoice = this.checkIfAnyImmunizationsHasCorpInvoiceV2();\r\n if (!hasCorpInvoice || this.from_local_clinic || this.isCovidVoucher) {\r\n return true;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n checkIfAnyImmunizationsHasCorpInvoiceV2(): boolean {\r\n let added_immunizations = this._localContractService.getSelectedImmunizations();\r\n try {\r\n let hasCorpInvoice: Boolean = false;\r\n var fluType = 'flu';\r\n let fluDone: Boolean = false;\r\n let routineDone: Boolean = false;\r\n added_immunizations.forEach(rec => {\r\n if (rec.paymentTypeId == 13 && (rec.sendInvoiceTo == '1' || rec.sendInvoiceTo == 1)) {\r\n hasCorpInvoice = true;\r\n if (rec.immunizationName.toLowerCase().search(fluType) == -1 && !routineDone) {\r\n routineDone = true;\r\n }\r\n else {\r\n if (!fluDone) {\r\n fluDone = true;\r\n }\r\n }\r\n }\r\n });\r\n if (hasCorpInvoice == true)\r\n return true;\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n onClinicDateSelected(selectedDate: Date, i) {\r\n this._localContractService.setValidationsRequiredStatus(true);\r\n this._localContractService.SetIscanceled(true);\r\n this.locationForm.controls[\"clinicDate\"].setValue(new Date(selectedDate.getFullYear(), selectedDate.getMonth(), selectedDate.getDate(), 18, 0, 0));\r\n let address1: string = this.locationFormArray.controls[i].get('address1').value;\r\n let address2: string = this.locationFormArray.controls[i].get('address2').value;\r\n let city: string = this.locationFormArray.controls[i].get('city').value;\r\n let state: string = this.locationFormArray.controls[i].get('state').value;\r\n let zipCode: string = this.locationFormArray.controls[i].get('zipCode').value;\r\n let latitude: string = this.locationFormArray.controls[i].get('latitude').value;\r\n let longitude: string = this.locationFormArray.controls[i].get('longitude').value;\r\n let address = address1 + \", \" + address2 + \", \" + city + \", \" + state + \" \" + zipCode;\r\n for (let immunization of this.locationForm.controls.clinicImzQtyList['controls']) {\r\n if (immunization.get('immunizationName').value.toLocaleLowerCase()?.includes('covid')) {\r\n let startDate = moment(environment.covidVaccineNotAviableDates.startDate, \"DD/MM/YYYY\");\r\n let endDate = moment(environment.covidVaccineNotAviableDates.endDate, \"DD/MM/YYYY\");\r\n let comparisonDate = moment(new Date(selectedDate.getFullYear(), selectedDate.getMonth(), selectedDate.getDate(), 18, 0, 0), \"DD/MM/YYYY\");\r\n\r\n if ((comparisonDate.isBetween(startDate, endDate) || comparisonDate.isSame(startDate) || comparisonDate.isSame(endDate)) && !environment.disabledFeatures.covidWarning) {\r\n this.showDialogV2(\"Warning\", ErrorMessages[\"sesionalCovid19Info\"]);\r\n // immunization.estimatedQuantity.setErrors({ 'incorrect': true });\r\n }\r\n }\r\n }\r\n if (address1.length > 0 && city.length > 0 && state.length > 0 && zipCode.length > 0 && (!latitude ||\r\n !longitude)) {\r\n this.getLatitudeLongitude(this.locationFormArray, address, i);\r\n }\r\n }\r\n onSelectedTime(selectedTime, i) {\r\n\r\n this._localContractService.setValidationsRequiredStatus(true);\r\n this._localContractService.SetIscanceled(true);\r\n let address1: string = this.locationFormArray.controls[i].get('address1').value;\r\n let address2: string = this.locationFormArray.controls[i].get('address2').value;\r\n let city: string = this.locationFormArray.controls[i].get('city').value;\r\n let state: string = this.locationFormArray.controls[i].get('state').value;\r\n let zipCode: string = this.locationFormArray.controls[i].get('zipCode').value;\r\n let address = address1 + \", \" + address2 + \", \" + city + \", \" + state + \" \" + zipCode;\r\n let latitude: string = this.locationFormArray.controls[i].get('latitude').value;\r\n let longitude: string = this.locationFormArray.controls[i].get('longitude').value;\r\n\r\n if (address1.length > 0 && city.length > 0 && state.length > 0 && zipCode.length > 0 && (!latitude ||\r\n !longitude)) {\r\n this.getLatitudeLongitude(this.locationFormArray, address, i);\r\n }\r\n }\r\n onvisitTypeClicked(visitRadio: any) {\r\n }\r\n onOtherRadioClicked(OtherRadio: any) {\r\n if (this.outReachProgramType == OutReachProgramType.communityoutreach && OtherRadio === '4') {\r\n this.outReachTypeOtherVisible = true;\r\n this.locationForm.controls['coOutreachTypeDesc'].enable();\r\n this.locationForm.controls['coOutreachTypeDesc'].setValidators([Validators.required]);\r\n this.locationForm.controls['coOutreachTypeDesc'].updateValueAndValidity();\r\n }\r\n else if (this.outReachProgramType == OutReachProgramType.equityevents && OtherRadio === '4') {\r\n this.outReachTypeOtherVisible = true;\r\n this.locationForm.controls['coOutreachTypeDesc'].enable();\r\n this.locationForm.controls['coOutreachTypeDesc'].setValidators([Validators.required]);\r\n this.locationForm.controls['coOutreachTypeDesc'].updateValueAndValidity();\r\n }\r\n else {\r\n this.outReachTypeOtherVisible = false;\r\n this.locationForm.controls['coOutreachTypeDesc'].setValidators(null);\r\n this.locationForm.controls['coOutreachTypeDesc'].setErrors(null);\r\n this.locationForm.controls['coOutreachTypeDesc'].updateValueAndValidity();\r\n this.locationForm.controls['coOutreachTypeDesc'].disable();\r\n\r\n }\r\n }\r\n\r\n copyPreviousLocation(formIndex: number, checked: boolean) {\r\n if (!checked) {\r\n this.locationFormArray.controls[formIndex].get('address1').setValue('');\r\n this.locationFormArray.controls[formIndex].get('address2').setValue('');\r\n this.locationFormArray.controls[formIndex].get('city').setValue('');\r\n this.locationFormArray.controls[formIndex].get('state').setValue('');\r\n this.locationFormArray.controls[formIndex].get('zipCode').setValue('');\r\n }\r\n else {\r\n this._localContractService.SetIscanceled(true);\r\n this.locationFormArray.controls[formIndex].get('address1').setValue(this.locationFormArray.controls[formIndex - 1].get('address1').value);\r\n this.locationFormArray.controls[formIndex].get('address2').setValue(this.locationFormArray.controls[formIndex - 1].get('address2').value);\r\n this.locationFormArray.controls[formIndex].get('city').setValue(this.locationFormArray.controls[formIndex - 1].get('city').value);\r\n this.locationFormArray.controls[formIndex].get('state').setValue(this.locationFormArray.controls[formIndex - 1].get('state').value);\r\n this.locationFormArray.controls[formIndex].get('zipCode').setValue(this.locationFormArray.controls[formIndex - 1].get('zipCode').value);\r\n }\r\n }\r\n\r\n copyPreviousContactInfo(formIndex: number, checked: boolean) {\r\n if (!checked) {\r\n this.locationFormArray.controls[formIndex].get('contactFirstName').setValue('');\r\n this.locationFormArray.controls[formIndex].get('contactLastName').setValue('');\r\n this.locationFormArray.controls[formIndex].get('contactEmail').setValue('');\r\n this.locationFormArray.controls[formIndex].get('contactPhone').setValue('');\r\n }\r\n else {\r\n this._localContractService.SetIscanceled(true);\r\n this.locationFormArray.controls[formIndex].get('contactFirstName').setValue(this.locationFormArray.controls[formIndex - 1].get('contactFirstName').value);\r\n this.locationFormArray.controls[formIndex].get('contactLastName').setValue(this.locationFormArray.controls[formIndex - 1].get('contactLastName').value);\r\n this.locationFormArray.controls[formIndex].get('contactEmail').setValue(this.locationFormArray.controls[formIndex - 1].get('contactEmail').value);\r\n this.locationFormArray.controls[formIndex].get('contactPhone').setValue(this.locationFormArray.controls[formIndex - 1].get('contactPhone').value);\r\n }\r\n }\r\n\r\n getGoogleLatLngCoordinates(i: number) {\r\n let address1: string = this.locationFormArray.controls[i].get('address1').value;\r\n let address2: string = this.locationFormArray.controls[i].get('address2').value;\r\n let city: string = this.locationFormArray.controls[i].get('city').value;\r\n let state: string = this.locationFormArray.controls[i].get('state').value;\r\n let zipCode: string = this.locationFormArray.controls[i].get('zipCode').value;\r\n let address = address1 + \", \" + address2 + \", \" + city + \", \" + state + \" \" + zipCode;\r\n let latitude: string = this.locationFormArray.controls[i].get('latitude').value;\r\n let longitude: string = this.locationFormArray.controls[i].get('longitude').value;\r\n this._localContractService.SetIscanceled(true);\r\n if (address1 && address1.length > 0 && city && city.length > 0 && state && state.length > 0 && zipCode && zipCode.length > 0 && (!latitude ||\r\n !longitude)) {\r\n this.getLatitudeLongitude(this.locationFormArray, address, i)\r\n }\r\n }\r\n\r\n //geocoder to get the latitude and longitude \r\n getLatitudeLongitude(locationFormArray, fulladdress, index) {\r\n\r\n //let controlclinicList = this.clinicDetailsForm.controls['clinicList'];\r\n var geocoder = new google.maps.Geocoder();\r\n geocoder.geocode({ 'address': fulladdress }, function (results, status) {\r\n if (status == google.maps.GeocoderStatus.OK) {\r\n locationFormArray.controls[index].get('latitude').setValue(results[0].geometry.location.lat());\r\n locationFormArray.controls[index].get('longitude').setValue(results[0].geometry.location.lng());\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n noClinicOptionChanged(formIndex: number, checked: boolean) {\r\n // if the selected payment method is Voucher: Corporate to Invoice Employer Directly \r\n // and no other payment methods are selected \r\n // then don't allow to uncheck No Clinic - Voucher Distribution Only checkbox\r\n this.onlyVoucherPaymentMethodSelected = ClinicDetailsUtilities.CheckIfOnlyVoucherPaymentMethodIsSelected(this.locationForm.get('clinicImzQtyList').value);\r\n const newClinicImzQtyList = ClinicDetailsUtilities.GetImmunizationGroupedByImmzPk(this.locationForm.get('clinicImzQtyList').value);\r\n\r\n if (this.outReachProgramType === 'equityevents') {\r\n if (newClinicImzQtyList.some(imzqty => imzqty.immPk == '31' && imzqty.Immzs.some(immunization => immunization.paymentTypeId == 14)) && checked) {\r\n this.locationForm.controls['isNoClinic'].setValue(1);\r\n }\r\n else {\r\n this.locationForm.controls['isNoClinic'].setValue(0);\r\n return false;\r\n }\r\n }\r\n\r\n let clinicDateCtrl = this.locationFormArray.controls[formIndex].get('clinicDate');\r\n let startTimeCtrl = this.locationFormArray.controls[formIndex].get('startTime');\r\n let endTimeCtrl = this.locationFormArray.controls[formIndex].get('endTime');\r\n\r\n if (newClinicImzQtyList.some(imzqty => imzqty.immPk == '31' && imzqty.Immzs.some(immunization => immunization.paymentTypeId == 14))\r\n && checked) {\r\n if (!this.checkIfVoucherYesSelectedForFluCorpInvoiceSelected()) {\r\n let sumMsg = ErrorMessages['resolve'];\r\n let errMsg = ErrorMessages['voucherFluYes'];\r\n this.locationFormArray.controls[formIndex].get('isNoClinic').setValue(false);\r\n this.showDialogV2(sumMsg, errMsg);\r\n return;\r\n }\r\n\r\n clinicDateCtrl.setValidators(null);\r\n clinicDateCtrl.setErrors(null);\r\n clinicDateCtrl.updateValueAndValidity();\r\n clinicDateCtrl.setValue(null);\r\n\r\n startTimeCtrl.setValidators(null);\r\n startTimeCtrl.setErrors(null);\r\n startTimeCtrl.updateValueAndValidity();\r\n startTimeCtrl.setValue(null);\r\n\r\n endTimeCtrl.setValidators(null);\r\n endTimeCtrl.setErrors(null);\r\n endTimeCtrl.updateValueAndValidity();\r\n endTimeCtrl.setValue(null);\r\n this.canDisplayNoClinicFeeOption = false;\r\n this.locationForm.controls['clinicFee'].setValue(0);\r\n\r\n if (this.onlyVoucherPaymentMethodSelected) {\r\n const vouchersDistributedCount = ClinicDetailsUtilities.calculateVouchersDistributedCount(this.locationForm);\r\n this.locationForm.controls['vouchersDistributed'].setValue(vouchersDistributedCount);\r\n // this.shouldDisableVouchersDistributed = true;\r\n // this.locationForm.controls['vouchersDistributed'].markAsUntouched();\r\n // this.locationForm.controls['vouchersDistributed'].markAsPristine();\r\n this.locationForm.controls['vouchersDistributed'].setErrors(null);\r\n this.locationForm.controls['vouchersDistributed'].setValidators(null);\r\n\r\n this.locationForm.controls['vouchersDistributed'].updateValueAndValidity();\r\n }\r\n\r\n this.canDisplayVouchersDistributedField = true;\r\n this.shouldDisableNoClinicVoucherDistributionText = true;\r\n\r\n if (this.outReachProgramType === 'equityevents' && checked) {\r\n const imzQtyArray = this.locationForm.controls['clinicImzQtyList'] as FormArray;\r\n for (const imzQty of imzQtyArray.controls) {\r\n const imzCtrl = imzQty as FormGroup;\r\n if (imzCtrl.value.immunizationPk != 31) {\r\n imzCtrl.controls['estimatedQuantity'].setValue(0);\r\n // imzCtrl.controls['estimatedQuantity'].disable();\r\n }\r\n }\r\n }\r\n }\r\n else if (checked && this.outReachProgramType === OutReachProgramType.contracts) {\r\n if (!this.checkIfVoucherYesSelectedForFluCorpInvoiceSelected()) {\r\n let sumMsg = ErrorMessages['resolve'];\r\n let errMsg = ErrorMessages['voucherFluYes'];\r\n this.locationFormArray.controls[formIndex].get('isNoClinic').setValue(false);\r\n this.showDialogV2(sumMsg, errMsg);\r\n return;\r\n }\r\n clinicDateCtrl.setValidators(null);\r\n clinicDateCtrl.setErrors(null);\r\n clinicDateCtrl.updateValueAndValidity();\r\n clinicDateCtrl.setValue(null);\r\n\r\n startTimeCtrl.setValidators(null);\r\n startTimeCtrl.setErrors(null);\r\n startTimeCtrl.updateValueAndValidity();\r\n startTimeCtrl.setValue(null);\r\n\r\n endTimeCtrl.setValidators(null);\r\n endTimeCtrl.setErrors(null);\r\n endTimeCtrl.updateValueAndValidity();\r\n endTimeCtrl.setValue(null);\r\n this.canDisplayNoClinicFeeOption = false;\r\n this.locationForm.controls['clinicFee'].setValue(0);\r\n this.locationForm.controls['estimatedParticipants'].setValue(0);\r\n const immunizationControls = this.locationForm.controls['clinicImzQtyList']['controls'];\r\n for (let i = 0; i < immunizationControls.length; i++) {\r\n immunizationControls[i].get('estimatedQuantity').setValue(0);\r\n }\r\n\r\n const vouchersDistributedValue: number = ClinicDetailsUtilities.GetAllEstimatedShotsValue(this.locationForm);\r\n this.locationForm.controls['vouchersDistributed'].setValue(vouchersDistributedValue);\r\n this.locationForm.controls['vouchersDistributed'].setErrors(null);\r\n this.locationForm.controls['vouchersDistributed'].setValidators(null);\r\n this.locationForm.controls['vouchersDistributed'].updateValueAndValidity();\r\n\r\n this.canDisplayVouchersDistributedField = true;\r\n this.shouldDisableNoClinicVoucherDistributionText = true;\r\n\r\n }\r\n else {\r\n clinicDateCtrl.setValidators([Validators.required]);\r\n clinicDateCtrl.updateValueAndValidity();\r\n\r\n startTimeCtrl.setValidators([Validators.required]);\r\n startTimeCtrl.updateValueAndValidity();\r\n\r\n endTimeCtrl.setValidators([Validators.required]);\r\n endTimeCtrl.updateValueAndValidity();\r\n\r\n this.handleConditionForVouchersDistributed();\r\n this.locationForm.controls['vouchersDistributed'].setValue(0);\r\n this.locationForm.controls['vouchersDistributed'].enable();\r\n if (!this.hasServiceFeeFeatureDisabled || this.isPreviousClinic) {\r\n if (this.isAdmin || this.isRhdUser) {\r\n this.canDisplayNoClinicFeeOption = true;\r\n }\r\n else {\r\n this.canDisplayNoClinicFeeOption = false;\r\n }\r\n }\r\n this.shouldDisableVouchersDistributed = false;\r\n this.hasVoucherPaymentMethodOnly = false;\r\n this.shouldDisableNoClinicVoucherDistributionText = false;\r\n if (this.outReachProgramType === OutReachProgramType.equityevents && checked) {\r\n const imzQtyArray = this.locationForm.controls['clinicImzQtyList'] as FormArray;\r\n for (const imzQty of imzQtyArray.controls) {\r\n const imzCtrl = imzQty as FormGroup;\r\n if (imzCtrl.value.immunizationPk != 31) {\r\n imzCtrl.controls['estimatedQuantity'].setValue(null);\r\n // imzCtrl.controls['estimatedQuantity'].enable();\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n showHideNoClinicOption(formIndex: number) {\r\n let returnValue = true;\r\n if (this.is_reAgreement && this.isCovidVaccineAvailable && this.isCovidVoucher)\r\n returnValue = true;\r\n else if (this.is_reAgreement && !this.locationFormArray.controls[formIndex].get('isNoClinic').value) {\r\n returnValue = false;\r\n }\r\n return returnValue;\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n showDialogV2(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locDlgDisplay = true;\r\n }\r\n showDialogV3(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.dlgDisplay = true;\r\n }\r\n confirm() {\r\n let dtlMsg = ErrorMessages['clinicDateReminderBefore2WeeksEN'];\r\n let summary = ErrorMessages['impRmndr'];\r\n this.confirmationService.confirm({\r\n message: dtlMsg,\r\n header: summary,\r\n icon: 'fa fa-question-circle',\r\n accept: () => { },\r\n reject: () => {\r\n return;\r\n }\r\n });\r\n }\r\n AllowAdminsToEditDataForRestrictedState() {\r\n return this._utility.AllowAdminsToEditDataForRestrictedState();\r\n }\r\n checkIfAnyFluImmIsSelected() {\r\n let added_immunizations: Immunization2[] = [];\r\n if (this.outReachProgramType === OutReachProgramType.communityoutreach) {\r\n added_immunizations = this._localContractService.getCOSelectedImmunizations();\r\n }\r\n else {\r\n added_immunizations = this._localContractService.getSelectedImmunizations();\r\n }\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.immunizationName.toLowerCase().search('flu') != -1) {\r\n throw true;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n isStoreIsfromRestrictedState() {\r\n var resrict_states = [\"MO\"]; //\"DC\" -- Removing DC state as per task# 1363\r\n var current_date = new Date();\r\n var storeState = SessionDetails.GetState();\r\n if (resrict_states.indexOf(storeState) > -1) {\r\n if (storeState == \"MO\" && current_date > new Date(environment.MO_State_From) && current_date < new Date(environment.MO_State_TO)) {\r\n return true;\r\n }\r\n else if (storeState == \"DC\" && current_date > new Date(environment.DC_State_From) && current_date < new Date(environment.DC_State_TO)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n public calculateClinicFee(shouldValidateVouchersCount: boolean, event?: any) {\r\n if (event?.target?.value)\r\n this.manualNoClinicFeeChecked = event.target.checked;\r\n if (this.outReachProgramType === OutReachProgramType.equityevents) {\r\n this.handleNoClinicVoucherDistribution();\r\n return;\r\n }\r\n\r\n else if (this.outReachProgramType === OutReachProgramType.equityevents) {\r\n let newClinicImzQtyList = ClinicDetailsUtilities.GetImmunizationGroupedByImmzPk(this.locationForm.get('clinicImzQtyList').value);\r\n\r\n for (const imzqyt of newClinicImzQtyList) {\r\n this.locationForm.controls['vouchersDistributed'].setValue(imzqyt.Immzs[0].estimatedQuantity);\r\n }\r\n\r\n this.locationForm.controls['clinicDate'].setValidators(null);\r\n\r\n // let clinicDateCtrl = this.locationFormArray.controls[formIndex].get('clinicDate');\r\n // let startTimeCtrl = this.locationFormArray.controls[formIndex].get('startTime');\r\n // let endTimeCtrl = this.locationFormArray.controls[formIndex].get('endTime');\r\n\r\n this.locationForm.controls['clinicDate'].setValidators(null);\r\n this.locationForm.controls['clinicDate'].setErrors(null);\r\n this.locationForm.controls['clinicDate'].updateValueAndValidity();\r\n this.locationForm.controls['clinicDate'].setValue(null);\r\n\r\n this.locationForm.controls['startTime'].setValidators(null);\r\n this.locationForm.controls['startTime'].setErrors(null);\r\n this.locationForm.controls['startTime'].updateValueAndValidity();\r\n this.locationForm.controls['startTime'].setValue(null);\r\n\r\n this.locationForm.controls['endTime'].setValidators(null);\r\n this.locationForm.controls['endTime'].setErrors(null);\r\n this.locationForm.controls['endTime'].updateValueAndValidity();\r\n this.locationForm.controls['endTime'].setValue(null);\r\n\r\n return;\r\n }\r\n\r\n // Only when No Clinic - Voucher Distribution Only is checked\r\n this.onlyVoucherPaymentMethodSelected = ClinicDetailsUtilities.CheckIfOnlyVoucherPaymentMethodIsSelected(this.locationForm.get('clinicImzQtyList').value);\r\n if (!this.locationForm.value.isNoClinic && this.onlyVoucherPaymentMethodSelected) {\r\n const vouchersDistributedCount = ClinicDetailsUtilities.calculateVouchersDistributedCount(this.locationForm);\r\n this.locationForm.controls['vouchersDistributed'].setValue(0);\r\n }\r\n else if (this.locationForm.value.isNoClinic) {\r\n const vouchersDistributedValue: number = ClinicDetailsUtilities.GetAllEstimatedShotsValue(this.locationForm);\r\n this.locationForm.controls['vouchersDistributed'].setValue(vouchersDistributedValue);\r\n }\r\n\r\n let aggregatedEstimatedQuantity = 0;\r\n //key is the immunization name and value is estimated quantity count (number)\r\n let uniqueImmunizationShotsCount = new Map();\r\n\r\n this.locationForm.value?.clinicImzQtyList?.forEach(immunization => {\r\n if (!isNaN(parseInt(immunization?.estimatedQuantity)) && (parseInt(immunization?.estimatedQuantity) > 0)) {\r\n uniqueImmunizationShotsCount[immunization.immunizationName] = parseInt(immunization?.estimatedQuantity);\r\n }\r\n });\r\n\r\n for (const key in uniqueImmunizationShotsCount) {\r\n if (uniqueImmunizationShotsCount.hasOwnProperty(key)) {\r\n aggregatedEstimatedQuantity += uniqueImmunizationShotsCount[key];\r\n }\r\n }\r\n\r\n const vouchersDistributed = parseInt(this.locationForm.controls.vouchersDistributed?.value ?? 0);\r\n if (shouldValidateVouchersCount && !isNaN(vouchersDistributed)) {\r\n if ((parseInt(this.locationForm.controls.vouchersDistributed?.value ?? 0)) > aggregatedEstimatedQuantity) {\r\n let sumMsg = ErrorMessages['resolve'];\r\n let errMsg = ErrorMessages['vouchersDistributed'];\r\n this.showDialogV2(sumMsg, errMsg);\r\n this.locationForm.controls['vouchersDistributed'].setErrors({ 'incorrect': true });\r\n this.locationForm.controls['vouchersDistributed'].markAsDirty();\r\n this.locationForm.controls['vouchersDistributed'].markAsTouched();\r\n\r\n return;\r\n }\r\n else {\r\n this.locationForm.controls['vouchersDistributed'].setErrors(null);\r\n this.locationForm.controls['vouchersDistributed'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n let paymentIdsForClinic = new Set();\r\n this.locationForm.value?.clinicImzQtyList?.forEach(immunization => {\r\n paymentIdsForClinic.add(immunization.paymentTypeId);\r\n });\r\n\r\n\r\n // if \"Voucher: Corporate to Invoice Employer Directly\" (id = 13) payment method is NOT SELECTED\r\n // then consider the calculatedClinicFee as is\r\n let calculatedClinicFee: number = ClinicDetailsUtilities.calculateClinicFeeForQty(aggregatedEstimatedQuantity);\r\n\r\n // if \"Voucher: Corporate to Invoice Employer Directly\" (id = 13) payment method is SELECTED along with other methods\r\n // then subtract the aggregatedEstimatedQuantity from \"Vouchers Distributed\" value and calculate the fee\r\n if (paymentIdsForClinic?.size > 1 && paymentIdsForClinic.has(13)) {\r\n var updatedQuantity = aggregatedEstimatedQuantity - (this.locationForm.controls.vouchersDistributed.value ?? 0);\r\n calculatedClinicFee = ClinicDetailsUtilities.calculateClinicFeeForQty(updatedQuantity);\r\n }\r\n\r\n // if only the \"Voucher: Corporate to Invoice Employer Directly\" (id = 13) payment method is selected\r\n // then Clinic Fee is 0\r\n if (paymentIdsForClinic?.size == 1 && paymentIdsForClinic.has(13)) {\r\n calculatedClinicFee = 0;\r\n }\r\n\r\n // if \"No Clinic - Voucher Distribution Only\" checkbox is checked\r\n // then clinic fee is 0\r\n if (this.locationForm.controls['isNoClinic'].value ?? false) {\r\n calculatedClinicFee = 0;\r\n }\r\n\r\n // if \"No Clinic Fee\" checkbox is checked\r\n // then clinic fee should be zero\r\n if (this.locationForm.controls['isNoClinicFee'].value ?? false) {\r\n calculatedClinicFee = 0;\r\n }\r\n\r\n this.locationForm.controls['clinicFee'].setValue(calculatedClinicFee);\r\n //reset these values\r\n uniqueImmunizationShotsCount = null;\r\n calculatedClinicFee = null;\r\n aggregatedEstimatedQuantity = null;\r\n }\r\n\r\n private handleConditionForVouchersDistributed() {\r\n let paymentIds = new Set();\r\n this.locationForm.value?.clinicImzQtyList?.forEach(immunization => {\r\n paymentIds.add(immunization.paymentTypeId);\r\n });\r\n\r\n // if Voucher: Corporate to Invoice Employer Directly payment method\r\n // is selected then display vouchers distributed\r\n if (paymentIds.has(13)) {\r\n this.canDisplayVouchersDistributedField = true;\r\n // this.locationForm.controls['vouchersDistributed'].setValidators([Validators.required]);\r\n }\r\n }\r\n\r\n public shouldDisplayFieldAsReadonly(fieldName: string) {\r\n // Based on the existing condition for each control (previously all the conditions are in the html)\r\n // this method returns whether to display the field as readonly or not.\r\n // if location number is less than total clinic count then we will display in readonly mode\r\n\r\n if (\r\n fieldName.toLocaleLowerCase() === 'contactfirstname'\r\n || fieldName.toLocaleLowerCase() === 'contactlastname'\r\n || fieldName.toLocaleLowerCase() === 'contactphone'\r\n || fieldName.toLocaleLowerCase() === 'contactemail'\r\n ) {\r\n if (this.from_local_clinic == true || this.is_reAgreement == true || this.is_reAgreementCommOutreach == true) {\r\n if (this.locationNumber < this.totalClinicsCount) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else if (\r\n fieldName.toLocaleLowerCase() === 'address1'\r\n || fieldName.toLocaleLowerCase() === 'address2'\r\n || fieldName.toLocaleLowerCase() === 'city'\r\n || fieldName.toLocaleLowerCase() === 'zipcode'\r\n ) {\r\n if (this.AllowAdminsToEditDataForRestrictedState() == true || this.from_local_clinic == true || this.is_reAgreement == true || this.is_reAgreementCommOutreach == true) {\r\n if (this.locationNumber < this.totalClinicsCount) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else if (\r\n fieldName.toLocaleLowerCase() === 'state'\r\n ) {\r\n if (this.AllowAdminsToEditDataForRestrictedState() == true || this.from_local_clinic == true || this.is_reAgreement == true || this.is_reAgreementCommOutreach == true) {\r\n if (this.locationNumber < this.totalClinicsCount) {\r\n return true;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n else if (\r\n fieldName.toLocaleLowerCase() === 'fluexpirydate'\r\n || fieldName.toLocaleLowerCase() === 'routineexpirydate'\r\n || fieldName.toLocaleLowerCase() === 'clinicdate'\r\n || fieldName.toLocaleLowerCase() === 'starttime'\r\n || fieldName.toLocaleLowerCase() === 'endtime'\r\n ) {\r\n if (this.from_local_clinic == true || this.is_reAgreement == true) {\r\n if (fieldName.toLocaleLowerCase() === 'clinicdate' || fieldName.toLocaleLowerCase() === 'starttime' || fieldName.toLocaleLowerCase() === 'endtime') {\r\n if (this.locationForm.controls['isNoClinic'].value == 0)\r\n return false;\r\n }\r\n if (this.locationNumber < this.totalClinicsCount) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n public shouldDisplayCheckbox() {\r\n if (this.is_reAgreement && (this.locationNumber >= this.totalClinicsCount)) {\r\n return true;\r\n }\r\n else if (!this.is_reAgreement) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n handleParticipantsChange() {\r\n let estimatedParticipants = this.locationForm.get('estimatedParticipants').value;\r\n var isAdmin = this.ProfileDetails.isAdmin;\r\n const clinicName = this.locationNumberPipe.transform(this.locationNumber + 1);\r\n const errorMessage = ErrorMessages[\"estimatedParticipantsWarning\"].replace('LOCATION', `LOCATION ${clinicName}`);\r\n if (estimatedParticipants < 50) {\r\n if (isAdmin) {\r\n this.showDialogV3(\"Please resolve the below issues to continue further\", errorMessage);\r\n } else {\r\n this.showDialogV3(\"Please resolve the below issues to continue further\", errorMessage);\r\n }\r\n };\r\n if (!environment.disabledFeatures.serviceFee) {\r\n if (this.opportunitie.covidOpportunityType === 1) {\r\n if (!this.locationForm.controls['isNoClinic'].value && this.locationForm.get('estimatedParticipants').value > 0 && this.manualNoClinicFeeChecked === null)\r\n this.handleRsvVaccinceSelection();\r\n };\r\n } //removed service fee changes\r\n this.isAdmin = isAdmin;\r\n }\r\n\r\n getServiceFee() {\r\n if (this.locationForm.controls['isNoClinicFee'].value ||\r\n this.locationForm.controls['isNoClinic'].value == 1\r\n ) {\r\n return environment.NO_SERVICE_FEE;\r\n }\r\n\r\n const estimatedParticipants = this.locationForm.get('estimatedParticipants').value;\r\n if (estimatedParticipants >= 1 && estimatedParticipants <= 100) {\r\n return environment.SERVICE_FEE_1;;\r\n } else if (estimatedParticipants >= 101 && estimatedParticipants <= 200) {\r\n return environment.SERVICE_FEE_2;\r\n } else if (estimatedParticipants > 200) {\r\n return environment.SERVICE_FEE_3;\r\n } else {\r\n return environment.NO_SERVICE_FEE;\r\n }\r\n }\r\n\r\n getAllEstimatedShots() {\r\n const initialValue = 0;\r\n const totalEstimatedShots = this.locationForm.controls.clinicImzQtyList['controls'].reduce((accumulator, currentValue) => Number(accumulator?.controls?.estimatedQuantity?.value) + Number(currentValue?.controls?.estimatedQuantity?.value));\r\n return totalEstimatedShots;\r\n }\r\n\r\n handleRsvVaccinceSelection() {\r\n const clinicImzList = ClinicDetailsUtilities.GetImmunizationGroupedByImmzPk(this.locationForm.get('clinicImzQtyList').value);\r\n if (this.checkVaccineNames(clinicImzList)) {\r\n this.locationForm.patchValue({ isNoClinicFee: 1 });\r\n this.calculateClinicFee(false);\r\n } else {\r\n this.locationForm.patchValue({ isNoClinicFee: 0 });\r\n this.calculateClinicFee(false);\r\n }\r\n }\r\n\r\n\r\n checkVaccineNames(clinicList) {\r\n let isRsv = clinicList.some(imz => Number(imz.immPk) === 249 && imz?.Immzs?.[0]?.immunizationName === \"RSV (ABRYSVO, AREXVY)\" && imz?.Immzs?.[0]?.estimatedQuantity > 0);\r\n let isOther = clinicList.some(imz => imz?.Immzs?.[0]?.immunizationName !== \"RSV (ABRYSVO, AREXVY)\" && imz?.Immzs?.[0]?.estimatedQuantity > 0);\r\n return !clinicList.every(imz => Number(imz.immPk) === 249 && imz?.Immzs?.[0]?.immunizationName === \"RSV (ABRYSVO, AREXVY)\") && clinicList.some(imz => Number(imz.immPk) === 249 && imz?.Immzs?.[0]?.immunizationName === \"RSV (ABRYSVO, AREXVY)\") && isRsv && isOther;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { OutreachProgramService } from '../../services/outreach-program.service';\r\nimport { WalgreenCo } from '../../../../models/contract';\r\nimport { DatePipe } from '@angular/common';\r\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { Util } from '../../../../utility/util';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\n\r\n@Component({\r\n selector: 'app-witness',\r\n templateUrl: './witness.component.html',\r\n styleUrls: ['./witness.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class WitnessComponent implements OnInit {\r\n preparedDate: Date;\r\n witnessInfo1: any;\r\n witnessInfo: WalgreenCo;\r\n witnessForm: FormGroup;\r\n witness_form_cancel: FormGroup;\r\n from_local_clinic: boolean = false;\r\n minDate = new Date();\r\n profile_data: any;\r\n dialogMsg:string ;\r\n dialogSummary:string ;\r\n pharmacyInfoModalDlg:boolean = false;\r\n //voucherExpirationDate : Date = new Date();\r\n usPhoneNoRegEx: RegExp = /^((\\(\\d{3}\\) ?)|(\\d{3}-))?\\d{3}-\\d{4}$/\r\n constructor(private _fb: FormBuilder, private _localContractService: OutreachProgramService,\r\n private _datePipe: DatePipe, private utility: Util) { }\r\n\r\n ngOnInit() {\r\n this.from_local_clinic = SessionDetails.GetfromUserPage();\r\n this.witnessInfo1 = this._localContractService.fetchContractAgreementData();\r\n this.witnessInfo = this.witnessInfo1.walgreenCoInfo;\r\n if (this.witnessInfo == null) {\r\n this.witnessInfo = new WalgreenCo();\r\n }\r\n this.profile_data = SessionDetails.getStoreProfileData();\r\n var userProfile = SessionDetails.GetUserProfile();\r\n if((this.witnessInfo1.isApproved==1||this.witnessInfo1.isApproved==0) &&this.witnessInfo1.isEmailSent==1){\r\n // this means its an amended agreement or rejected agreement\r\n this.preparedDate = new Date();\r\n }\r\n else {\r\n this.preparedDate = this.witnessInfo !== null && this.witnessInfo.preparedDate !== '' ? new Date(this.witnessInfo.preparedDate) : new Date();\r\n }\r\n if(userProfile.email && userProfile.email!=\"\" && !this.witnessInfo.contactEmail && this.witnessInfo.contactEmail == \"\"){\r\n this.witnessInfo.contactEmail = userProfile.email;\r\n }\r\n this.minDate = this.preparedDate;\r\n this.witnessForm = this._fb.group({\r\n name: this._fb.control(this.witnessInfo.name, Validators.required),\r\n title: this._fb.control((this.witnessInfo.title && this.witnessInfo.title != \"\") ? this.witnessInfo.title:userProfile.userRole, Validators.required),\r\n preparedDate: this._fb.control(this.preparedDate, Validators.required),\r\n //districtNumber: this._fb.control((this.witnessInfo.districtNumber == null || this.witnessInfo.districtNumber == \"\") ? this.profile_data[0].districtNumber : this.witnessInfo.districtNumber, Validators.required),\r\n //contactName: this._fb.control((this.witnessInfo.contactName && this.witnessInfo.contactName != \"\") ? this.witnessInfo.contactName:\"\", Validators.required),\r\n contactPhone: this._fb.control((this.witnessInfo.contactPhone && this.witnessInfo.contactPhone != \"\") ? this.witnessInfo.contactPhone:\"\", Validators.required),\r\n contactEmail: this._fb.control((this.witnessInfo.contactEmail && this.witnessInfo.contactEmail != \"\") ? this.witnessInfo.contactEmail:\"\", Validators.required),\r\n });\r\n this.witness_form_cancel = Object.assign([], this.witnessForm);\r\n \r\n //work around to fill the input mask fields\r\n setTimeout(() => {\r\n const maskedInputControl = this.witnessForm.get('contactPhone') as FormControl;\r\n maskedInputControl.setValue(maskedInputControl.value);\r\n });\r\n }\r\n save(): boolean {\r\n this.witnessInfo.preparedDate = this._datePipe.transform(this.preparedDate, \"shortDate\");\r\n // if (!this.isFormValid()) {\r\n // this.utility.validateAllFormFields(this.witnessForm);\r\n // return false;\r\n // } \r\n if (!this.usPhoneNoRegEx.test(this.witnessForm.controls['contactPhone'].value)) { \r\n this.dialogMsg = ErrorMessages['walgreensMandatoryEmail'];\r\n this.dialogSummary = ErrorMessages['errMsg'];\r\n this.pharmacyInfoModalDlg = true;\r\n return false; \r\n }\r\n this._localContractService.setWalgreensWitnessData(this.witnessForm.value);\r\n return true;\r\n }\r\n simpleSave(): boolean { \r\n if (!this.isFormValidForSimpleSave()) { return false; }\r\n this.witnessInfo.preparedDate = this._datePipe.transform(this.preparedDate, \"shortDate\");\r\n this._localContractService.setWalgreensWitnessData(this.witnessForm.value);\r\n return true;\r\n }\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n isFieldValid(field: string) {\r\n if (this.witnessForm.get(field) != null) {\r\n let ret: boolean = !this.witnessForm.get(field).valid && this.witnessForm.get(field).touched;\r\n if (ret) {\r\n return ret;\r\n } else {\r\n if (field.search('name') !== -1 || field.search('title') !== -1) {\r\n let validField: boolean = this.witnessForm.controls[field].value!=null? this.witnessForm.controls[field].value.trim().length > 0:false;\r\n return !validField;\r\n }\r\n // else if (field.search('districtNumber') !== -1) {\r\n // let validNo: number = +this.witnessForm.controls[field].value;\r\n // if (validNo > 0) {\r\n // return false;\r\n // }\r\n // else {\r\n // return true;\r\n // }\r\n // }\r\n }\r\n return false;\r\n }\r\n }\r\n isFormValid() {\r\n let validForm: boolean = true;\r\n if (this.witnessForm.controls['name'].value != null && this.witnessForm.controls['title'].value != null ) {\r\n validForm = this.witnessForm.controls['name'].value.trim().length > 0 && this.witnessForm.controls['title'].value.trim().length > 0\r\n \r\n //let num: number = +this.witnessForm.controls['districtNumber'].value;\r\n //validForm = num > 0 ? validForm && true : validForm && false;\r\n if(!this.witnessForm.valid){\r\n this.utility.validateAllFormFields(this.witnessForm);\r\n return false;\r\n }\r\n // if(!walgreensContactEmailListTokens.some(element=>this.witnessForm.controls['contactEmail'].value.trim().toLowerCase().includes(element.toLowerCase()))){\r\n // this.dialogMsg = ErrorMessages['walgreensMandatoryEmail'];\r\n // this.dialogSummary = ErrorMessages['errMsg'];\r\n // this.pharmacyInfoModalDlg = true;\r\n // return false;\r\n // }\r\n \r\n }\r\n return validForm;\r\n }\r\n isFormValidForSimpleSave() { \r\n let validForm: boolean = false;\r\n if (this.witnessForm.controls['name'].value != null && this.witnessForm.controls['title'].value != null && this.witnessForm.valid) {\r\n validForm = this.witnessForm.controls['name'].value.trim().length >= 0 && this.witnessForm.controls['title'].value.trim().length >= 0;\r\n if(validForm){\r\n if(!this.witnessForm.valid){\r\n this.utility.validateAllFormFields(this.witnessForm);\r\n return false;\r\n }\r\n }\r\n \r\n }\r\n if(!this.witnessForm.valid){\r\n this.utility.validateAllFormFields(this.witnessForm);\r\n return false;\r\n }\r\n return validForm;\r\n }\r\n getPharmacyContactEmail(){\r\n return this.witnessForm.controls['contactEmail'].value.trim();\r\n }\r\n\r\n\r\n onlyNumberKey(event) {\r\n Util.onlyNumbers(event);\r\n }\r\n cancelWitness(): boolean {\r\n var compare_objects = false;\r\n compare_objects = this.utility.compareTwoObjects(this.witness_form_cancel.value, this.witnessForm.value);\r\n return compare_objects;\r\n }\r\n\r\n onExpirationDateSelected(selectedDate: Date) {\r\n this.witnessForm.controls[\"preparedDate\"].setValue(new Date(selectedDate.getFullYear(), selectedDate.getMonth(), selectedDate.getDate(), 12, 30, 55));\r\n }\r\n}\r\n","import { Component, ViewChild, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { Output } from '@angular/core';\r\nimport { BusinesscontactpageComponent } from '../businesscontactpage/businesscontactpage.component';\r\nimport { ApproveagreementComponent } from '../approveagreement/approveagreement.component';\r\nimport { FieldErrorDisplayComponent } from '../../../common/components/field-error-display/field-error-display.component';\r\nimport { ContractapproveService } from '../../services/contractapprove.service';\r\n\r\nimport { ClientInfo } from '../../../../models/client-info';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { universalContractReleaseDate } from '../../../../JSON/UniversalTandC';\r\nimport { getContractComponentName } from '../../../../utility/loadContracts';\r\n\r\n@Component({\r\n selector: 'app-contractapprove',\r\n templateUrl: './contractapprove.component.html',\r\n styleUrls: ['./contractapprove.component.css']\r\n})\r\nexport class ContractapproveComponent implements OnInit {\r\n step: any = 1;\r\n message: string;\r\n client: string;\r\n name: string;\r\n title: string;\r\n englishLanguage: string;\r\n enheader: string;\r\n enattachment: string;\r\n language: string;\r\n showBtnEn: boolean = false;\r\n showBtnSp: boolean = true;\r\n enlanguageSelection: boolean;\r\n splanguageSelection: boolean;\r\n spanishLanguage: string;\r\n headerText: string;\r\n attachment: string;\r\n imz: string;\r\n payment: string;\r\n rates: string;\r\n test: string;\r\n errormessage: string;\r\n currentLanguage: string = 'english';\r\n isInvalidContract = false;\r\n dialogMsg:string ;\r\n display:boolean = false;\r\n showPreUniversalContract: boolean = false;\r\n componentToRenderName : string ='';\r\n routePageName : string ='';\r\n @ViewChild(BusinesscontactpageComponent) business_contact_pgae: BusinesscontactpageComponent;\r\n @ViewChild(ApproveagreementComponent) approve_agreement: ApproveagreementComponent;\r\n @ViewChild(FieldErrorDisplayComponent) field_error_display;\r\n\r\n firstChild: string;\r\n\r\n @Output() serviceDataArrived: EventEmitter = new EventEmitter();\r\n\r\n public heroForm: FormGroup;\r\n constructor(private _apiservice: ContractapproveService, private router: Router, private client_info: ClientInfo) {\r\n }\r\n\r\n ngOnInit() {\r\n \r\n let agreementPk =sessionStorage[\"clinic_agreement_pk\"];\r\n if(agreementPk == null || agreementPk == \"null\" || agreementPk == undefined ){\r\n this.dialogMsg = ErrorMessages['nullClinicAgreementPk'];\r\n this.display = true;\r\n return;\r\n } \r\n \r\n this._apiservice.getContractAgreementApproveData(agreementPk, \"Client\").subscribe((data:any) => { \r\n let contractDataDBSnapShot = data;\r\n \r\n let contractdateApproved = null;\r\n // if((contractDataDBSnapShot && contractDataDBSnapShot.dateApproved)){\r\n // contractdateApproved = new Date(contractDataDBSnapShot.dateApproved);\r\n \r\n // }\r\n // this.showPreUniversalContract = true;\r\n this.componentToRenderName= getContractComponentName(data.dateApproved,'app-approveagreement');\r\n this.routePageName= getContractComponentName(data.dateApproved,'contractapprove-viewcontract');\r\n let clientData = data.clientInfo;\r\n let legalInfo = data.legalNoticeAddressInfo;\r\n if (data.clientInfo != undefined && data.clientInfo != null &&\r\n data.legalNoticeAddressInfo != undefined && data.clientInfo != null) {\r\n this.client_info.address1 = data.legalNoticeAddressInfo.address1;\r\n this.client_info.address2 = data.legalNoticeAddressInfo.address2;\r\n this.client_info.attentionto = data.legalNoticeAddressInfo.attentionTo;\r\n this.client_info.cityname = data.legalNoticeAddressInfo.city;\r\n this.client_info.clientname = data.clientInfo.client;\r\n this.client_info.headername = data.clientInfo.name;\r\n this.client_info.statename = data.legalNoticeAddressInfo.state;\r\n this.client_info.titlename = data.clientInfo.title;\r\n this.client_info.zipcode = data.legalNoticeAddressInfo.zipCode;\r\n this._apiservice.setSelectedClientLegalInfo(this.client_info);\r\n\r\n this.business_contact_pgae.populateUIData();\r\n }\r\n SessionDetails.fromUserPage(false);\r\n if (data.errorS.errorCode == -5) {\r\n this.isInvalidContract = true;\r\n }\r\n else {\r\n if (data.isApproved == true || data.isApproved == 1 || data.isApproved == false || data.isApproved == 0) {\r\n SessionDetails.fromUserPage(true);\r\n // if(this.showPreUniversalContract)\r\n // this.router.navigateByUrl(\"/viewcontract\");\r\n // else\r\n this.router.navigateByUrl(this.routePageName);\r\n\r\n \r\n \r\n }\r\n }\r\n });\r\n }\r\n\r\n GoToStep(step: number) {\r\n \r\n let agreementPk =sessionStorage[\"clinic_agreement_pk\"];\r\n if(agreementPk == null || agreementPk == \"null\" || agreementPk == undefined ){ \r\n return;\r\n } \r\n if (this.OnSave()) {\r\n this.step = step;\r\n }\r\n\r\n }\r\n OnSave() {\r\n if (this.step === 1) {\r\n return this.business_contact_pgae.save()\r\n }\r\n else {\r\n return true;\r\n }\r\n\r\n }\r\n languageChangeToSpanish() {\r\n this.showBtnEn = true;\r\n this.showBtnSp = false;\r\n\r\n if (this.step === 1) {\r\n this.business_contact_pgae.languageChangeToSpanish();\r\n }\r\n if (this.approve_agreement !== undefined)\r\n this.approve_agreement.languageChangeToSpanish();\r\n this.currentLanguage = 'spanish';\r\n }\r\n\r\n languageChangeToEnglish() {\r\n this.showBtnSp = true;\r\n this.showBtnEn = false;\r\n if (this.step === 1) {\r\n this.business_contact_pgae.languageChangeToEnglish();\r\n }\r\n if (this.approve_agreement !== undefined) {\r\n this.approve_agreement.languageChangeToEnglish();\r\n }\r\n this.currentLanguage = 'english';\r\n\r\n }\r\n}\r\n","import { Component, HostListener, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup, NgForm, FormBuilder, FormArray } from '@angular/forms';\r\nimport { STEPS, COSTEPS } from '../../workflow/workflow.model';\r\nimport { WorkflowGuard } from '../../workflow/workflow-guard.service';\r\nimport { ImmunizationsComponent } from '../immunizations/immunizations.component';\r\nimport { LocationsListComponent } from '../contract-locations-list/locations-list.component';\r\nimport { OutreachProgramService } from '../../services/outreach-program.service';\r\nimport { OutReachProgramType } from '../../../../models/OutReachPrograms';\r\nimport { KeyFilterModule, KeyFilter, KEYFILTER_VALIDATOR } from 'primeng/keyfilter';\r\nimport { Router } from '@angular/router';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { Location, DatePipe } from '@angular/common';\r\nimport { AlertService } from '../../../../alert.service';\r\nimport { TimeToDatePipe } from '../../pipes/time-to-date.pipe';\r\nimport { String, StringBuilder } from 'typescript-string-operations';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { OpportunitiesService } from '../../../store/services/opportunities.service';\r\nimport * as moment from 'moment';\r\nimport { environment } from '../../../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-equityevents',\r\n templateUrl: './equityevents.component.html',\r\n styleUrls: ['./equityevents.component.css']\r\n , providers: [WorkflowGuard, DatePipe, TimeToDatePipe]\r\n})\r\nexport class EquityeventsComponent implements OnInit {\r\n @ViewChild(ImmunizationsComponent) imzcmp: ImmunizationsComponent;\r\n @ViewChild(LocationsListComponent) loccmp: LocationsListComponent;\r\n addedImmunizations: any[] = [];\r\n InvoiceInformation: any[] = [];\r\n showHints: boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) == 'yes') ? false : true;\r\n pageName: string = \"equityevent\";\r\n\r\n public contractForm: FormGroup;\r\n step: number = 1;\r\n step_desc: string;\r\n contractData: any;\r\n form: NgForm\r\n errorse: any;\r\n errorstatus: any;\r\n OutReachProgramType: string;\r\n nextBtnTitle: string = 'Next';\r\n validateInvoceInfo: boolean = false;\r\n display: boolean = false;\r\n interimDisplay: boolean = false;\r\n cnfdisplay: boolean = false;\r\n cnfcontinue: boolean = false;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n //displayInventoryWarning: boolean = false;\r\n //displayInventoryWarningOkClicked:boolean = false;\r\n clinicdatavalue: any;\r\n cancel_save: string;\r\n savePopUp: boolean = false;\r\n invoiceInfoPopUp: boolean = false;\r\n clinicType: number = 6;\r\n isLocationsFormValid = true;\r\n startTimeEndTimesStep_desc: string;\r\n showStartTimeEndTimeValid: boolean = false;\r\n isTimeValid: Number = 0;\r\n immunizerWarningAlert: boolean = false;\r\n immunizerWarningOkClicked: boolean = false;\r\n OverrideOrOkTitle: string = \"Override\";\r\n showCancelBtn: boolean = false;\r\n covidVaccineWarningOkClicked = false;\r\n covidVaccineSelected = false;\r\n isAdmin = false;\r\n\r\n constructor(\r\n private _fb: FormBuilder,\r\n private _location: Location,\r\n private _localContractService: OutreachProgramService,\r\n private _workflowGuard: WorkflowGuard,\r\n private router: Router,\r\n private confirmationService: ConfirmationService,\r\n private _alertService: AlertService,\r\n private _datePipe: DatePipe,\r\n private _timeToDatePipe: TimeToDatePipe,\r\n private _opportunitiesService: OpportunitiesService,\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.OutReachProgramType = OutReachProgramType.equityevents;\r\n this._localContractService.clearSelectedImmunizations();\r\n this._localContractService.clearCOClinicLocations();\r\n this.immunizerWarningOkClicked = false;\r\n this.covidVaccineWarningOkClicked = false;\r\n this.isAdmin = false;\r\n //this.displayInventoryWarning = false;\r\n //this.displayInventoryWarningOkClicked = false;\r\n }\r\n\r\n @HostListener('window:beforeunload', ['$event'])\r\n handlePageLeaveNavigation($event: BeforeUnloadEvent): void {\r\n $event.returnValue = true;\r\n }\r\n\r\n GoToStep(step: number) {\r\n this.loccmp;\r\n\r\n if (this.loccmp) {\r\n if (this.loccmp.locations_data1.value.contactPhone.indexOf(\"X\") > -1) {\r\n this.loccmp.locations_data1.controls.contactPhone.setValue(null);\r\n this.loccmp.locations_data1.controls.contactPhone.updateValueAndValidity();\r\n return false;\r\n }\r\n\r\n const locations = this.loccmp.contractForm.controls.locations as FormArray;\r\n\r\n for (const location of locations.controls) {\r\n const locationFormCtrl = location as FormGroup;\r\n if (locationFormCtrl.value.coOutreachTypeId == null || locationFormCtrl.value.coOutreachTypeId == 'null') {\r\n locationFormCtrl.controls['coOutreachTypeId'].setErrors({ incorrect: true });\r\n locations.markAllAsTouched();\r\n }\r\n else {\r\n locationFormCtrl.controls['coOutreachTypeId'].setErrors(null);\r\n }\r\n location.updateValueAndValidity();\r\n }\r\n\r\n // if(!this.loccmp.contractForm.valid && !this.covidVaccineSelected){\r\n // this.loccmp.contractForm.markAllAsTouched();\r\n // return false;\r\n // }\r\n }\r\n let step_desc = this.getStepDesc(step);\r\n this.step_desc = this.getStepDesc(this.step);\r\n if (step < this.step) {\r\n this.step = step;\r\n this.immunizerWarningOkClicked = false;\r\n this.covidVaccineWarningOkClicked = false;\r\n this.isAdmin = false;\r\n step >= 2 ? this.nextBtnTitle = \"Submit\" : this.nextBtnTitle = \"Next\";\r\n // this.displayInventoryWarningOkClicked = false;\r\n this.cacheInEnteredData(this.step_desc);\r\n return;\r\n }\r\n // if (step >= 2&&this.displayInventoryWarningOkClicked) {\r\n\r\n // this.step = 2;\r\n // }\r\n\r\n if (this.OnSave(step)) {\r\n if (this.step_desc != step_desc) {\r\n this.validateInvoceInfo = false;\r\n this.step_desc = this._workflowGuard.verifyWorkFlow(step_desc);\r\n step >= 2 ? this.nextBtnTitle = \"Submit\" : this.nextBtnTitle = \"Next\";\r\n let locSteps = COSTEPS;\r\n this.step = Object.keys(locSteps).findIndex(inx => inx == this.step_desc) + 1;\r\n }\r\n }\r\n }\r\n\r\n getStepDesc(step: number) {\r\n if (step === 1)\r\n return STEPS.immunization;\r\n if (step >= 2)\r\n return STEPS.location;\r\n }\r\n cacheInEnteredData(step_desc: any, currentStep?: number, prevStep?: number) {\r\n\r\n let return_value: boolean = false;\r\n if (this.step_desc === STEPS.immunization) {\r\n return_value = this.imzcmp.simpleSave();\r\n }\r\n else if (this.step_desc === STEPS.location) {\r\n if (this.loccmp != undefined) {\r\n this.loccmp.simpleSave();\r\n if (!this.loccmp.isFormValid()) {\r\n this.isLocationsFormValid = false;\r\n } else {\r\n this.isLocationsFormValid = true;\r\n }\r\n }\r\n }\r\n }\r\n ContinueInvoiceInfo() {\r\n this.invoiceInfoPopUp = false;\r\n this.validateInvoceInfo = true;\r\n this.GoToStep(2);\r\n }\r\n OnSave(curentStep: Number) {\r\n let return_value = false;\r\n let userProfile = SessionDetails.GetUserProfile();\r\n this.isAdmin = userProfile.userRole.toLowerCase() == \"admin\";\r\n if (this.step_desc === STEPS.immunization) {\r\n return_value = this.imzcmp.save(this.OutReachProgramType);\r\n this.addedImmunizations = this._localContractService.getImmunizationsData();\r\n this.InvoiceInformation = this._localContractService.getInvoiceAndVoucherData();\r\n if (this.InvoiceInformation.length > 0) {\r\n let corp = this.addedImmunizations.filter(c => c.paymentTypeId == \"6\");\r\n if (corp.length === 0 && !this.validateInvoceInfo && this.imzcmp.isFormValid()) {\r\n this.step = 1;\r\n this.invoiceInfoPopUp = true;\r\n this.validateInvoceInfo = true;\r\n return false;\r\n }\r\n }\r\n\r\n if (!return_value) {\r\n this.step = 1;\r\n }\r\n // if(this.imzcmp.isFormValid()&&!this.displayInventoryWarningOkClicked&&this._localContractService.checkIfFluImmIsSelected(this.clinicType)){\r\n // this.showdisplayInventoryWarningDialog(\"INVENTORY ALERT\",\"Please ensure you have sufficient vaccine prior to committing to this opportunity.\");\r\n // return false;\r\n // }\r\n }\r\n\r\n // if (this.step_desc === STEPS.location && !this.loccmp.isFormValid()) {\r\n // return false;\r\n // }\r\n\r\n let locString: String[] = [];\r\n if (this.step_desc === STEPS.location) {\r\n if (!this.covidVaccineWarningOkClicked) {\r\n const locations = this.loccmp.contractForm.get('locations') as FormArray;\r\n for (const location of locations.controls) {\r\n const clinicImzQtyList = location.get('clinicImzQtyList') as FormArray;\r\n let clinicDate = location.get('clinicDate').value;\r\n clinicDate = moment(clinicDate);\r\n let startDate = moment(environment.covidVaccineNotAviableDates.startDate, \"DD/MM/YYYY\");\r\n let endDate = moment(environment.covidVaccineNotAviableDates.endDate, \"DD/MM/YYYY\");\r\n for (const clinicImzQty of clinicImzQtyList.controls) {\r\n if (clinicImzQty.get('immunizationName').value.toLocaleLowerCase()?.includes('covid') && (Number(clinicImzQty.get('estimatedQuantity').value) > 0) && (clinicDate.isBetween(startDate, endDate) || clinicDate.isSame(startDate) || clinicDate.isSame(endDate)) && !environment.disabledFeatures.covidWarning) {\r\n this.covidVaccineSelected = true;\r\n this.dialogMsg = ErrorMessages[\"sesionalCovid19Info\"];\r\n this.dialogSummary = \"Alert\";\r\n clinicImzQty.get('estimatedQuantity').setErrors({ 'incorrect': true });\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n } else {\r\n clinicImzQty.get('estimatedQuantity').setErrors(null);\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n if (this.covidVaccineSelected) {\r\n locations.updateValueAndValidity();\r\n return false;\r\n } else {\r\n locations.updateValueAndValidity();\r\n }\r\n }\r\n if (!this.immunizerWarningOkClicked) {\r\n let estimatedImmunizers = 2;\r\n let errorList: string[] = [];\r\n\r\n this.getEstimatedImmunizers(errorList);\r\n if (errorList.length > 0) {\r\n this.showdImmunizerWarningDialog(\"Warning\", ErrorMessages['immunizerWarningMainPara'] + errorList.join().replace(\",\", \"\"));\r\n return false;\r\n }\r\n }\r\n if (this.loccmp.isClinicDateReminderBefore2WksReq(locString)) {\r\n let sumMsg = ErrorMessages['impRmndrFor2Wks'];\r\n let errMsg = ErrorMessages['new_clinicDateReminderBefore2WeeksEN'];\r\n var lowerCaseName = userProfile.userRole.toLowerCase();\r\n this.step = 2;\r\n this.OverrideOrOkTitle = \"OK\";\r\n this.showCancelBtn = false;\r\n this.confirm(sumMsg, errMsg);\r\n return true;\r\n }\r\n\r\n this.isTimeValid = this.loccmp.isStartTimeEndTimeValid();\r\n if (this.isTimeValid) {\r\n this.startTimeEndTimesStep_desc = this.step_desc;\r\n this.dialogSummary = \"Alert\";\r\n this.showStartTimeEndTimeValid = true;\r\n if (this.isTimeValid == 1) {\r\n this.dialogMsg = ErrorMessages['clinicLengthMoreThan8Hrs'];\r\n }\r\n else if (this.isTimeValid == 2) {\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = ErrorMessages['clinicLengthAlert'];\r\n }\r\n else {\r\n this.dialogMsg = \"Please Contact support.\";\r\n }\r\n return false;\r\n }\r\n return_value = this.loccmp.save(this.OutReachProgramType);\r\n if (return_value) {\r\n this._alertService.clear();\r\n if (this.loccmp.isNonNoClinicPresent()) {\r\n this._alertService.info(ErrorMessages['coClinicDateReminderAfter2WeeksEN'], true);\r\n }\r\n\r\n if (this._localContractService.saveEquityEventsData()) {\r\n if (this.loccmp.submitCoData(false)) {\r\n }\r\n }\r\n }\r\n }\r\n return return_value;\r\n }\r\n getEstimatedImmunizers(errorList: string[]) {\r\n\r\n let isCovidVaccineAvailable: boolean = this.addedImmunizations.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n let shots_per_10_min = 4;\r\n // let slotTime = isCovidVaccineAvailable ? 15 : 10;\r\n // isCovidVaccineAvailable?shots_per_10_min=2:shots_per_10_min=4;\r\n\r\n let slotTime = 10;\r\n let shots_per_hour = (60 / slotTime) * shots_per_10_min;\r\n\r\n this.loccmp.contractForm.value.locations.forEach(loc => {\r\n try {\r\n if (loc.startTime != \"\")\r\n try {\r\n loc.startTime = this._datePipe.transform(loc.startTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n if (loc.endTime != \"\") {\r\n try {\r\n loc.endTime = this._datePipe.transform(loc.endTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e); // here the exception is delibarately caught because when you click back, startTime & end\r\n // Time is not correct timeformat. Hence we are ignoring this by catching here.\r\n }\r\n });\r\n for (let count = 0; count < this.loccmp.contractForm.value.locations.length; count++) {\r\n let locClinicDate: Date = new Date(this.loccmp.contractForm.value.locations[count].clinicDate);\r\n let locStartTime = this.loccmp.contractForm.value.locations[count].startTime;\r\n let locEndTime = this.loccmp.contractForm.value.locations[count].endTime;\r\n if (this.loccmp.contractForm.value.locations[count].isNoClinic >= 1 ||\r\n this.loccmp.contractForm.value.locations[count].isNoClinic === '1' ||\r\n this.loccmp.contractForm.value.locations[count].isReassign >= 1 ||\r\n this.loccmp.contractForm.value.locations[count].isReassign === '1') {\r\n continue;\r\n }\r\n let endDate: Date;\r\n if (locEndTime.toString().toLowerCase().search('am') !== -1 || locEndTime.toString().toLowerCase().search('pm') !== -1) {\r\n endDate = this._timeToDatePipe.transform(locClinicDate, locEndTime);\r\n }\r\n else {\r\n endDate = locEndTime;\r\n }\r\n let startDatetmToDt: Date;\r\n if (locStartTime.toString().toLowerCase().search('am') !== -1 || locStartTime.toString().toLowerCase().search('pm') !== -1) {\r\n startDatetmToDt = this._timeToDatePipe.transform(locClinicDate, locStartTime);\r\n }\r\n else {\r\n startDatetmToDt = locStartTime;\r\n }\r\n let locStart: Date = new Date(startDatetmToDt);\r\n let locEnd: Date = new Date(endDate);\r\n let clinicLength = (locEnd.valueOf() - locStart.valueOf()) / (3600 * 1000);\r\n if (clinicLength > 0) {\r\n let clinicLoc = this.loccmp.contractForm.value.locations[count];\r\n let totalImmunizations = clinicLoc.clinicImzQtyList.map(item => item.estimatedQuantity).reduce((acc, current) => Number(acc) + Number(current));\r\n // = clinicLoc.clinicImzQtyList.reduce((accum,current)=>accum+current.estimatedQuantity,0);\r\n let estimatedImmunizers = Math.ceil(totalImmunizations / (shots_per_hour * clinicLength))\r\n if (estimatedImmunizers > 1) {\r\n errorList.push(String.Format(ErrorMessages['immunizerWarning'], clinicLoc.location, estimatedImmunizers))\r\n }\r\n totalImmunizations = 0;\r\n estimatedImmunizers = 0;\r\n }\r\n\r\n }\r\n }\r\n showdImmunizerWarningDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.immunizerWarningAlert = true;\r\n }\r\n showdImmunizerWarningDialogOk() {\r\n this.immunizerWarningAlert = false;\r\n this.immunizerWarningOkClicked = true;;\r\n this.GoToStep(2);\r\n }\r\n controlBtnsDisplay(event) {\r\n this.showCancelBtn = true;\r\n this.OverrideOrOkTitle = \"Override\";\r\n }\r\n editdImmunizerWarning() {\r\n this.immunizerWarningAlert = false;\r\n }\r\n EditTimes() {\r\n this.showStartTimeEndTimeValid = false;\r\n }\r\n ContinueToNextStep() {\r\n this.showStartTimeEndTimeValid = false;\r\n\r\n\r\n if (this.loccmp.save(OutReachProgramType.equityevents)) {\r\n let is_override = false;\r\n if (this.loccmp.submitCoData(is_override)) {\r\n\r\n }\r\n }\r\n else {\r\n this.step = 2;\r\n }\r\n return true;\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n showDialogCancel(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n }\r\n\r\n showInterimDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.interimDisplay = true;\r\n }\r\n\r\n cnfshowDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.cnfdisplay = true;\r\n }\r\n\r\n confirm(hdr: string, msg: string, is_overlap?: boolean) {\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n this.isTimeValid = this.loccmp.isStartTimeEndTimeValid();\r\n if (this.isTimeValid) {\r\n this.showStartTimeEndTimeValid = true;\r\n this.startTimeEndTimesStep_desc = this.step_desc;\r\n this.dialogSummary = \"Alert\";\r\n if (this.isTimeValid == 1) {\r\n this.dialogMsg = ErrorMessages['clinicLengthMoreThan8Hrs'];\r\n\r\n this.dialogSummary = \"Error\";\r\n }\r\n else if (this.isTimeValid == 2) {\r\n this.dialogMsg = ErrorMessages['clinicLengthAlert'];\r\n }\r\n else {\r\n this.dialogMsg = \"Please Contact support.\";\r\n }\r\n return false;\r\n }\r\n if (this.loccmp.save(OutReachProgramType.equityevents)) {\r\n let is_override = (is_overlap) ? true : false;\r\n if (this.loccmp.submitCoData(is_override)) {\r\n this._alertService.clear();\r\n if (this.loccmp.isNonNoClinicPresent()) {\r\n this._alertService.info(ErrorMessages['coClinicDateReminderAfter2WeeksEN'], true);\r\n }\r\n }\r\n }\r\n else {\r\n this.step = 2;\r\n }\r\n return true;\r\n },\r\n reject: () => {\r\n this.step = 2;\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n okClicked() {\r\n this.display = false;\r\n if (this.router) this.router.navigate(['./communityoutreach/storehome']);//TODO\r\n }\r\n\r\n doNotSave() {\r\n this.savePopUp = false;\r\n\r\n const isReAgreement = JSON.parse(sessionStorage.getItem('NewAmendAgreement'));\r\n\r\n if (!isReAgreement) {\r\n const opportunitie_data = JSON.parse(sessionStorage.getItem('opportunitie_data'));\r\n const outreachBusinessPk = opportunitie_data?.outreachEffort?.IP?.outreachBusinessPk;\r\n\r\n if (outreachBusinessPk) {\r\n this._opportunitiesService.updateOutreachStatusToNoOutreach(outreachBusinessPk)\r\n .subscribe(\r\n data => {\r\n if (data == 'success') {\r\n this.router.navigate(['./communityoutreach/storehome']);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n else {\r\n this.router.navigate(['./communityoutreach/storehome']);\r\n }\r\n }\r\n\r\n Continue() {\r\n this.savePopUp = false;\r\n }\r\n\r\n okInterimClicked() {\r\n this.interimDisplay = false;\r\n }\r\n\r\n cancelCommOutReach() {\r\n this.validateInvoceInfo = false;\r\n let return_value = false;\r\n if (this.step == 1) {\r\n return_value = this.imzcmp.cancelImmunization();\r\n if (return_value) {\r\n this.savePopUp = true;\r\n this.showDialogCancel(ErrorMessages['unSavedData'], ErrorMessages['eq_alert']);\r\n }\r\n else {\r\n const isReAgreement = JSON.parse(sessionStorage.getItem('NewAmendAgreement'));\r\n\r\n if (!isReAgreement) {\r\n const opportunitie_data = JSON.parse(sessionStorage.getItem('opportunitie_data'));\r\n const outreachBusinessPk = opportunitie_data?.outreachEffort?.IP?.outreachBusinessPk;\r\n\r\n if (outreachBusinessPk) {\r\n this._opportunitiesService.updateOutreachStatusToNoOutreach(outreachBusinessPk)\r\n .subscribe(\r\n data => {\r\n if (data == 'success') {\r\n this.router.navigate(['./communityoutreach/storehome']);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n else {\r\n this.router.navigate(['./communityoutreach/storehome']);\r\n }\r\n }\r\n }\r\n if (this.step == 2) {\r\n return_value = this.loccmp.cancelLocationData();\r\n if (return_value) {\r\n this.savePopUp = true;\r\n this.showDialogCancel(ErrorMessages['unSavedData'], ErrorMessages['eq_alert']);\r\n }\r\n else {\r\n const isReAgreement = JSON.parse(sessionStorage.getItem('NewAmendAgreement'));\r\n\r\n if (!isReAgreement) {\r\n const opportunitie_data = JSON.parse(sessionStorage.getItem('opportunitie_data'));\r\n const outreachBusinessPk = opportunitie_data?.outreachEffort?.IP?.outreachBusinessPk;\r\n\r\n if (outreachBusinessPk) {\r\n this._opportunitiesService.updateOutreachStatusToNoOutreach(outreachBusinessPk)\r\n .subscribe(\r\n data => {\r\n if (data == 'success') {\r\n this.router.navigate(['./communityoutreach/storehome']);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n else {\r\n this.router.navigate(['./communityoutreach/storehome']);\r\n }\r\n }\r\n }\r\n }\r\n\r\n coSubmitBtnClicked() {\r\n if (this._localContractService.saveInterimCommunityOutreachData(this.step)) {\r\n let sumMsg = ErrorMessages['coSummary'];\r\n let sMsg = ErrorMessages['coSucccess'];\r\n this.showDialog(sumMsg, sMsg);\r\n }\r\n }\r\n\r\n coSaveBtnClicked() {\r\n if (this.step == 1) {\r\n if (this._localContractService.getImmunizationsData() !== '') {\r\n if (this._localContractService.getImmunizationsData().length > 0) {\r\n this.imzcmp.save(this.OutReachProgramType);\r\n }\r\n else {\r\n //log co contact\r\n return;\r\n }\r\n }\r\n else {\r\n //log co contact.\r\n return;\r\n }\r\n }\r\n else if (this.step == 2) {\r\n this.loccmp.save(this.OutReachProgramType);\r\n }\r\n if (this._localContractService.saveInterimCommunityOutreachData(this.step)) {\r\n let sumMsg = ErrorMessages['coSummary'];\r\n let sMsg = ErrorMessages['coSucccess'];\r\n this.showInterimDialog(sumMsg, sMsg);\r\n //this.step = 1;\r\n }\r\n }\r\n // showdisplayInventoryWarningDialog(msgSummary: string, msgDetail: string) {\r\n // this.dialogMsg = msgDetail;\r\n // this.dialogSummary = msgSummary;\r\n // this.displayInventoryWarning = true;\r\n // }\r\n // displayInventoryWarningOk(){\r\n // this.displayInventoryWarning = false;\r\n // this.displayInventoryWarningOkClicked = true;;\r\n // this.GoToStep(2);\r\n // }\r\n\r\n handleCovidVaccineAlertOk() {\r\n this.covidVaccineSelected = false;\r\n }\r\n\r\n handleCovidVaccineAdminConfirmation() {\r\n const locations = this.loccmp.contractForm.get('locations') as FormArray;\r\n this.covidVaccineSelected = false;\r\n this.covidVaccineWarningOkClicked = true;\r\n for (const location of locations.controls) {\r\n const clinicImzQtyList = location.get('clinicImzQtyList') as FormArray;\r\n for (const clinicImzQty of clinicImzQtyList.controls) {\r\n if (clinicImzQty.get('immunizationName').value.toLocaleLowerCase()?.includes('covid')) {\r\n clinicImzQty.get('estimatedQuantity').setErrors(null);\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n locations.updateValueAndValidity();\r\n this.GoToStep(2);\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { OutreachProgramService } from '../../services/outreach-program.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport {\r\n NgForm,\r\n FormGroup,\r\n Validators,\r\n FormBuilder,\r\n FormArray,\r\n FormControl,\r\n} from '@angular/forms';\r\nimport { Message } from 'primeng/api';\r\nimport { OutReachProgramType } from '../../../../models/OutReachPrograms';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { states } from '../../../../JSON/States';\r\nimport { Util } from '../../../../utility/util';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { ClinicalRequirementsImmunizations, ClinicalRequirementsImmunizationsContent, ClinicalRequirementsImmunizationsChkBoxContent, ClinicalRequirementInstruction } from '../../../../config-files/ClinicalRequirements';\r\nimport { String, StringBuilder } from 'typescript-string-operations';\r\nimport { Router } from '@angular/router';\r\nimport { ActionType } from '../../../../utility/enum';\r\nimport { pipe } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-immunizations',\r\n templateUrl: './immunizations.component.html',\r\n styleUrls: ['./immunizations.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class ImmunizationsComponent implements OnInit, OnDestroy {\r\n immunizationForm: FormGroup;\r\n immClinicalRequirements: FormGroup;\r\n clinicImmQtyList: any[] = [];\r\n immunizations: any[];\r\n isInvoiceInformationProvided: boolean = false;\r\n isVoucherNeededDisable: boolean = false;\r\n isAmendAgreement: boolean = false;\r\n isNewAmendAgreement: boolean = false;\r\n isCopay: boolean = false;\r\n boundImmunizations: any[];\r\n selectedImmunization: any;\r\n selectedPaymentType: any;\r\n addedImmunizations: any[] = [];\r\n addedImmunizationsClinicalReqs: any[] = [];\r\n InvoiceInformation: any[] = [];\r\n PaymentTypes: any[] = [];\r\n price: any;\r\n sendInvoiceTo: boolean = false;\r\n contract: any;\r\n message: string;\r\n formq: NgForm;\r\n msgs: Message[] = [];\r\n errorse: any;\r\n errorstatus: any;\r\n states: any[];\r\n isVoucher: any = 0;\r\n isFluType: boolean = false;\r\n copay: any = \"\";\r\n display: boolean = false;\r\n displayDesMisMatchModal: boolean = false;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n today = new Date();\r\n fluvoucherExpirationDate: Date = new Date(this.today.getFullYear() + 1, this.today.getMonth(), this.today.getDate(), 12, 55, 55);\r\n flumaxDateValue: Date = this.fluvoucherExpirationDate;\r\n fluminDateValue: Date = new Date();\r\n routinevoucherExpirationDate: Date = new Date(this.today.getFullYear() + 1, this.today.getMonth(), this.today.getDate(), 12, 55, 55);\r\n covidvoucherExpirationDate: Date = new Date(this.today.getFullYear() + 1, this.today.getMonth(), this.today.getDate(), 12, 55, 55);\r\n isCovidVaccineAvailable: boolean = false;\r\n isCovidVoucherAvailable: boolean = false;\r\n isVoucherAvailable: boolean = false;\r\n contractedOpportunity;\r\n routinemaxDateValue: Date = this.routinevoucherExpirationDate;\r\n routineminDateValue: Date = new Date();\r\n @Input('outReachProgramType')\r\n outReachProgramType: string;\r\n @Input('fromCommunityOutreach') fromCommunityOutreach: boolean = false;\r\n isVoucherFieldNeeded = false;\r\n everGreenValue: any = '';\r\n displayDialog: boolean = false;\r\n paymentType: any;\r\n edit_button: boolean = false;\r\n btnContinue: boolean = true;\r\n btnUpdate: boolean = false;\r\n sortorderCount: number = 0;\r\n immunizationPk: any;\r\n rowIndex: any;\r\n clinic_agreement_pk: any = 0;\r\n validateLocForm: boolean = false;\r\n immunization_data: any[];\r\n immunization_data1: any[];\r\n cancel_check: boolean = false;\r\n ccRegex: RegExp = /^(?:[0-9]+(?:\\.[0-9]{0,2})?)?$/;\r\n usZipCodeRegEx: RegExp = /^\\d{5}$/;\r\n usPhoneNoRegEx: RegExp = /^((\\(\\d{3}\\) ?)|(\\d{3}-))?\\d{3}-\\d{4}$/;\r\n usFaxNoRegEx: RegExp = /^((\\(\\d{3}\\) ?)|(\\d{3}-))?\\d{3}-\\d{4}$/;\r\n showSendInvoiceTodialog = true;\r\n isEditClick = false;\r\n voucherExpirationDate: Date = null;\r\n clinicalRequirementsDiv: boolean = false;\r\n clinicalRequirementInstruction: string = ClinicalRequirementInstruction;\r\n CanAddNewImmunzsModal: boolean = false;\r\n canAddNewImmunzsSelected: boolean = false;\r\n CanAddNewImmunzsModalContinue: boolean = false;\r\n @Output() clinicSubmit: EventEmitter = new EventEmitter();\r\n isAmendAgreementForCommOutreach: boolean;\r\n isApiCallSucceed: boolean = false;\r\n canDisplayExpiryDates = false;\r\n isDirectPaymentOrVoucher: boolean = false;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private _localContractService: OutreachProgramService,\r\n private router: Router,\r\n private utility: Util,\r\n private datePipe: DatePipe,\r\n private spinner: NgxSpinnerService\r\n ) {\r\n let date = new Date();\r\n this.fluvoucherExpirationDate = new Date(date.getFullYear() + 1, date.getMonth(), date.getDate(), 12, 55, 55);\r\n this.flumaxDateValue = this.fluvoucherExpirationDate;\r\n this.fluminDateValue = date;\r\n this.routinevoucherExpirationDate = new Date(date.getFullYear() + 1, date.getMonth(), date.getDate(), 12, 55, 55);\r\n this.routineminDateValue = date;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (sessionStorage.getItem('Old_immunizationForm') !== null) {\r\n sessionStorage.removeItem('Old_immunizationForm');\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n //\r\n let date = new Date();\r\n this.routinevoucherExpirationDate = new Date(date.getFullYear() + 1, date.getMonth(), date.getDate(), 12, 55, 55);\r\n\r\n this.routinemaxDateValue = new Date(this.routinevoucherExpirationDate);\r\n this.routinemaxDateValue.setDate(this.routinemaxDateValue.getDate() + 1);\r\n\r\n\r\n window.scroll({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n\r\n this.spinner.show();\r\n this.formControls();\r\n this._localContractService.clearSelectedInvoiceAndVouchersData();\r\n this.clinic_agreement_pk = SessionDetails.GetAgreementPK();\r\n if (this.clinic_agreement_pk === null || this.clinic_agreement_pk === undefined || this.clinic_agreement_pk === \"null\") {\r\n this.spinner.hide();\r\n return;\r\n }\r\n if (this.outReachProgramType === OutReachProgramType.communityoutreach) {\r\n this.isVoucherFieldNeeded = false;\r\n }\r\n let clinicAgreementPk: number = this.clinic_agreement_pk;\r\n if (this.outReachProgramType === OutReachProgramType.communityoutreach && sessionStorage[\"AmendAgreementForCommOutreach\"] != \"true\") {\r\n clinicAgreementPk = 0;\r\n }\r\n\r\n if (sessionStorage[\"AmendAgreement\"] && sessionStorage[\"AmendAgreement\"] === \"true\") {\r\n this.isAmendAgreement = true;\r\n }\r\n\r\n if (sessionStorage[\"AmendAgreementForCommOutreach\"] && sessionStorage[\"AmendAgreementForCommOutreach\"] === \"true\") {\r\n this.isAmendAgreementForCommOutreach = true;\r\n }\r\n\r\n if (sessionStorage[\"NewAmendAgreement\"] && sessionStorage[\"NewAmendAgreement\"] === \"true\") {\r\n this.isNewAmendAgreement = true;\r\n }\r\n\r\n this._localContractService.getImmunizationsList(clinicAgreementPk, 1).subscribe((data: any) => {\r\n if (this.fromCommunityOutreach) {\r\n\r\n this.boundImmunizations = data.immunizationList.filter(item => item.isActive == true && item.paymentTypeName.toLowerCase() != \"off-site: corporate to invoice employer directly\");\r\n //bug 122\r\n this.boundImmunizations = this.boundImmunizations.filter(item => item.isActive == true && item.immunizationName.toLowerCase() != \"covid19 vaccine voucher\");\r\n this.boundImmunizations = this.boundImmunizations.filter(item => item.isActive == true && item.paymentTypeId !== 13);\r\n }\r\n else {\r\n this.boundImmunizations = data.immunizationList.filter(item => item.isActive == true);\r\n }\r\n this.immunizations = this.boundImmunizations;\r\n\r\n this.contractedOpportunity = SessionDetails.GetopportunitiesData();\r\n\r\n // we need to get contract details only for Contract not for CO.\r\n if (this.outReachProgramType == OutReachProgramType.contracts) {\r\n this.spinner.show();\r\n setTimeout(() => {\r\n this.getContractAgreementData(this.clinic_agreement_pk, this.isNewAmendAgreement);\r\n }, 3000)\r\n //this.spinner.hide();\r\n }\r\n else if (this.outReachProgramType == OutReachProgramType.communityoutreach) {\r\n\r\n this._localContractService.getContractAgreementData(this.clinic_agreement_pk, this.isNewAmendAgreement).subscribe((data: any) => {\r\n if (this.isAmendAgreementForCommOutreach) {\r\n this.spinner.hide();\r\n for (var i = 0; i < data.clinicImmunizationList.length; i++) {\r\n data.clinicImmunizationList[i].isSaved = true;\r\n }\r\n if (this.addedImmunizations.length <= 0) {\r\n this.addedImmunizations = data.clinicImmunizationList;\r\n } else {\r\n this.addedImmunizations = this._localContractService.getImmunizationsData();\r\n }\r\n this.setClinicalRequirementFlags();\r\n\r\n this._localContractService.SetIscanceled(false);\r\n this._localContractService.setCOSelectedImmunizations(data.clinicImmunizationList);\r\n\r\n }\r\n\r\n // old logic\r\n this.addedImmunizations = this._localContractService.getImmunizationsData();\r\n if (this.outReachProgramType == OutReachProgramType.communityoutreach && sessionStorage[\"AmendAgreementForCommOutreach\"] == \"true\") {\r\n this.addedImmunizations = this._localContractService.getCOSelectedImmunizations();\r\n }\r\n this._localContractService.SetIscanceled(false);\r\n if (this.outReachProgramType == OutReachProgramType.communityoutreach) {\r\n this.immunization_data = Object.assign([], this._localContractService.getCOSelectedImmunizations());\r\n } else {\r\n this.immunization_data = Object.assign([], this._localContractService.getSelectedImmunizations());\r\n }\r\n if (this.addedImmunizations != null) {\r\n this.addedImmunizations.forEach(rec => {\r\n // handling of true verb getting from service so that data is populate correctly.\r\n rec.isTaxExempt >= 1 || rec.isTaxExempt === true ? rec.isTaxExempt = 1 : rec.isTaxExempt = 0;\r\n rec.isCopay >= 1 || rec.isCopay === true ? rec.isCopay = 1 : rec.isCopay = 0;\r\n rec.isVoucherNeeded >= 1 || rec.isVoucherNeeded === true ? rec.isVoucherNeeded = 1 : rec.isVoucherNeeded = 0;\r\n const index = this.boundImmunizations.findIndex(item => item.immunizationId == rec.immunizationPk && item.paymentTypeId == rec.paymentTypeId)\r\n if (index > -1) {\r\n this.boundImmunizations.splice(index, 1);\r\n }\r\n });\r\n }\r\n this.displayInvoiceInfo();\r\n this.setClinicalRequirementFlags();\r\n this.spinner.hide();\r\n });\r\n\r\n }\r\n else if (this.outReachProgramType == OutReachProgramType.equityevents) {\r\n\r\n\r\n this._localContractService.getContractAgreementData(this.clinic_agreement_pk, this.isNewAmendAgreement).subscribe((data: any) => {\r\n if (this.isAmendAgreementForCommOutreach) {\r\n this.spinner.hide();\r\n\r\n for (var i = 0; i < data.clinicImmunizationList.length; i++) {\r\n data.clinicImmunizationList[i].isSaved = true;\r\n }\r\n if (this.addedImmunizations.length <= 0) {\r\n this.addedImmunizations = data.clinicImmunizationList;\r\n } else {\r\n this.addedImmunizations = this._localContractService.getImmunizationsData();\r\n }\r\n this.setClinicalRequirementFlags();\r\n\r\n this._localContractService.SetIscanceled(false);\r\n this._localContractService.setCOSelectedImmunizations(data.clinicImmunizationList);\r\n\r\n }\r\n\r\n // old logic\r\n this.addedImmunizations = this._localContractService.getImmunizationsData();\r\n if (this.outReachProgramType == OutReachProgramType.equityevents && sessionStorage[\"AmendAgreementForCommOutreach\"] == \"true\") {\r\n\r\n this.addedImmunizations = this._localContractService.getCOSelectedImmunizations();\r\n }\r\n this._localContractService.SetIscanceled(false);\r\n if (this.outReachProgramType == OutReachProgramType.equityevents) {\r\n this.immunization_data = Object.assign([], this._localContractService.getCOSelectedImmunizations());\r\n } else {\r\n this.immunization_data = Object.assign([], this._localContractService.getSelectedImmunizations());\r\n }\r\n if (this.addedImmunizations != null) {\r\n this.addedImmunizations.forEach(rec => {\r\n // handling of true verb getting from service so that data is populate correctly.\r\n rec.isTaxExempt >= 1 || rec.isTaxExempt === true ? rec.isTaxExempt = 1 : rec.isTaxExempt = 0;\r\n rec.isCopay >= 1 || rec.isCopay === true ? rec.isCopay = 1 : rec.isCopay = 0;\r\n rec.isVoucherNeeded >= 1 || rec.isVoucherNeeded === true ? rec.isVoucherNeeded = 1 : rec.isVoucherNeeded = 0;\r\n const index = this.boundImmunizations.findIndex(item => item.immunizationId == rec.immunizationPk && item.paymentTypeId == rec.paymentTypeId)\r\n if (index > -1) {\r\n this.boundImmunizations.splice(index, 1);\r\n }\r\n });\r\n }\r\n this.displayInvoiceInfo();\r\n this.setClinicalRequirementFlags();\r\n this.spinner.hide();\r\n });\r\n\r\n }\r\n if (!this.isAmendAgreementForCommOutreach)\r\n //this.spinner.hide();\r\n this.isApiCallSucceed = true;\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n return false;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n }\r\n });\r\n\r\n this.states = states;\r\n }\r\n\r\n public get OutReachProgramType(): typeof OutReachProgramType {\r\n return OutReachProgramType;\r\n }\r\n\r\n setClinicalRequirementFlags() {\r\n this.addedImmunizations.forEach(imm => {\r\n\r\n let immunizationChkBxPresent = this.getIndexFromClinicaReqArray(imm.immunizationName);\r\n if (ClinicalRequirementsImmunizations.indexOf(imm.immunizationName) > -1) {\r\n this.clinicalRequirementsDiv = true;\r\n }\r\n if (immunizationChkBxPresent === -1) {\r\n let validationsReqd: boolean = false;\r\n let immClinicalRequirementsText: string = '';\r\n let immClinicalRequirementsChkBxText: string = '';\r\n\r\n if (ClinicalRequirementsImmunizations.indexOf(imm.immunizationName) > -1) {\r\n validationsReqd = true;\r\n immClinicalRequirementsText = ClinicalRequirementsImmunizationsContent[imm.immunizationName];\r\n immClinicalRequirementsChkBxText = ClinicalRequirementsImmunizationsChkBoxContent[imm.immunizationName];\r\n }\r\n\r\n let cliniclReqFA: FormArray = this.immunizationForm.controls['clinicalReqs'];\r\n const fg = this.formBuilder.group({\r\n immunizationId: this.formBuilder.control(imm.immunizationId, null),\r\n immunizationName: this.formBuilder.control(imm.immunizationName, null),\r\n isClinicalReqd: this.formBuilder.control(imm.isClinicalReqd != true ? null : imm.isClinicalReqd, validationsReqd ? [Validators.required] : null)\r\n });\r\n cliniclReqFA.push(fg);\r\n this.addedImmunizationsClinicalReqs.push({\r\n \"immunizationId\": imm.immunizationId,\r\n \"immunizationName\": imm.immunizationName,\r\n \"immunizationSpanishName\": imm.immunizationSpanishName,\r\n \"isClinicalReqd\": imm.isClinicalReqd,\r\n \"immClinicalRequirementsText\": immClinicalRequirementsText,\r\n \"immClinicalRequirementsChkBxText\": immClinicalRequirementsChkBxText\r\n });\r\n }\r\n });\r\n }\r\n\r\n displayInvoiceInfo() {\r\n if (this.addedImmunizations.length > 0) {\r\n let corp = [];\r\n if (this.addedImmunizations.filter(c => c.paymentTypeId == \"13\").length != 0) {\r\n corp = this.addedImmunizations.filter(c => c.paymentTypeId == \"13\");\r\n this.isVoucherFieldNeeded = true;\r\n this.isVoucher = true;\r\n }\r\n else {\r\n corp = this.addedImmunizations.filter(c => c.paymentTypeId == \"6\" || c.paymentTypeId == \"7\" || c.paymentTypeId == \"11\");\r\n this.isVoucherFieldNeeded = false;\r\n this.isVoucher = true;\r\n }\r\n this.addedImmunizations.forEach((element) => {\r\n element.isVoucher = '1'\r\n });\r\n\r\n if (corp.length > 0) {\r\n let routineExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') == -1)\r\n let flueExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') != -1)\r\n let date = new Date();\r\n let routinevoucherExpirationDate;\r\n let fluvoucherExpirationDate;\r\n let covidvoucherExpirationDate;\r\n const default_routine_covid_exp_date = new Date(date.getFullYear() + 1, date.getMonth(), date.getDate(), 18, 55, 55);\r\n const default_flu_exp_date = new Date(date.getFullYear() + 1, 3, 1, 12, 55, 55);\r\n\r\n this.isCovidVaccineAvailable = corp.filter(c => c.immunizationName.toLowerCase().search('covid') !== -1).length > 0;\r\n this.isCovidVoucherAvailable = this.isCovidVaccineAvailable && corp.filter(c => c.immunizationName.toLowerCase().search('voucher') !== -1).length > 0;\r\n\r\n if (routineExpDateLst.length > 0) {\r\n routinevoucherExpirationDate = new Date(routineExpDateLst[0].voucherExpirationDate);\r\n covidvoucherExpirationDate = new Date(routineExpDateLst[0].voucherExpirationDate);\r\n }\r\n else {\r\n if (sessionStorage.getItem('Old_immunizationForm')) {\r\n const oldImmunizationFormValue = JSON.parse(sessionStorage.getItem('Old_immunizationForm'));\r\n routinevoucherExpirationDate = oldImmunizationFormValue.routineexpirationDate ? oldImmunizationFormValue.routineexpirationDate : default_routine_covid_exp_date;\r\n covidvoucherExpirationDate = oldImmunizationFormValue.fluexpirationDate ? oldImmunizationFormValue.fluexpirationDate : default_routine_covid_exp_date;\r\n }\r\n else {\r\n routinevoucherExpirationDate = default_routine_covid_exp_date;\r\n covidvoucherExpirationDate = default_routine_covid_exp_date;\r\n }\r\n }\r\n\r\n if (flueExpDateLst.length > 0) {\r\n fluvoucherExpirationDate = new Date(flueExpDateLst[0].voucherExpirationDate);\r\n }\r\n else {\r\n if (date.getMonth() == 0 || date.getMonth() == 1 || date.getMonth() == 2) {\r\n fluvoucherExpirationDate = new Date(date.getFullYear(), 3, 1, 12, 55, 55);\r\n }\r\n else {\r\n if (sessionStorage.getItem('Old_immunizationForm')) {\r\n const oldImmunizationFormValue = JSON.parse(sessionStorage.getItem('Old_immunizationForm'));\r\n fluvoucherExpirationDate = oldImmunizationFormValue?.fluexpirationDate ? oldImmunizationFormValue?.fluexpirationDate : default_flu_exp_date;\r\n }\r\n else {\r\n fluvoucherExpirationDate = default_flu_exp_date;\r\n }\r\n }\r\n }\r\n\r\n if (corp != null && corp.length > 0 && this.outReachProgramType === OutReachProgramType.contracts) {\r\n\r\nif(corp.filter(item => item.paymentTypeId == 13).length == 0 && corp.filter(item => item.paymentTypeId == 6).length == 0){\r\n this.isDirectPaymentOrVoucher = false;\r\n this.removeFieldValidation();\r\n this.showSendInvoiceTodialog = false;}\r\nelse\r\n{\r\n\r\n this.isDirectPaymentOrVoucher = true;\r\n\r\n}\r\n if(this.isDirectPaymentOrVoucher == true)\r\n {\r\n this.showSendInvoiceTodialog = false;\r\n this.isInvoiceInformationProvided = true;\r\n this.InvoiceInformation.push({\r\n \"paymentTypeId\": corp[0].paymentTypeId,\r\n \"sendInvoiceTo\": corp[0].sendInvoiceTo,\r\n \"name\": corp[0].name,\r\n \"phone\": corp[0].phone,\r\n \"fax\": corp[0].fax,\r\n \"email\": corp[0].email,\r\n \"address1\": corp[0].address1,\r\n \"address2\": corp[0].address2,\r\n \"city\": corp[0].city,\r\n \"isTaxExempt\": corp[0].isTaxExempt,\r\n \"state\": corp[0].state,\r\n \"zip\": corp[0].zip,\r\n \"isCopay\": corp[0].isCopay,\r\n \"copayValue\": corp[0].copayValue,\r\n \"isVoucherNeeded\": this.isVoucherFieldNeeded ? '1' : '0',\r\n \"fluvoucherExpirationDate\": this.isVoucherFieldNeeded == true ? fluvoucherExpirationDate : null,\r\n \"routinevoucherExpirationDate\": this.isVoucherFieldNeeded == true ? routinevoucherExpirationDate : null,\r\n \"covidvoucherExpirationDate\": this.isVoucherFieldNeeded == true ? covidvoucherExpirationDate : null,\r\n });\r\n\r\n }\r\n \r\n }\r\n if (this.InvoiceInformation.length > 0) {\r\n this._localContractService.setInvoiceAndVoucherData(this.InvoiceInformation);\r\n\r\n if (this.isVoucherFieldNeeded) {\r\n this.canDisplayExpiryDates = true;\r\n }\r\n\r\n this.immunizationForm.controls['name'].setValue(corp[0].name);\r\n this.immunizationForm.controls['phone'].setValue(corp[0].phone);\r\n this.immunizationForm.controls['fax'].setValue(corp[0].fax);\r\n this.immunizationForm.controls['email1'].setValue(corp[0].email);\r\n this.immunizationForm.controls['email2'].setValue(corp[0].email);\r\n this.immunizationForm.controls['address1'].setValue(corp[0].address1);\r\n this.immunizationForm.controls['address2'].setValue(corp[0].address2);\r\n this.immunizationForm.controls['city'].setValue(corp[0].city);\r\n this.immunizationForm.controls['state'].setValue(corp[0].state);\r\n this.immunizationForm.controls['zip'].setValue(corp[0].zip);\r\n this.immunizationForm.controls['isTaxExempt'].setValue(corp[0].isTaxExempt);\r\n this.immunizationForm.controls['isVoucherNeeded'].setValue(this.isVoucherFieldNeeded ? '1' : '0');\r\n this.immunizationForm.controls['copayValue'].setValue(corp[0].copayValue);\r\n this.immunizationForm.controls['isCopay'].setValue(corp[0].isCopay);\r\n this.immunizationForm.controls['fluexpirationDate'].setValue(new Date(fluvoucherExpirationDate));\r\n this.immunizationForm.controls['routineexpirationDate'].setValue(new Date(routinevoucherExpirationDate));\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n getContractAgreementData(clinic_agreement_pk, isNewAmendAgreement) {\r\n this._localContractService.fetchContractAgreementData$().subscribe((data: any) => {\r\n\r\n for (var i = 0; i < data.clinicImmunizationList.length; i++) {\r\n data.clinicImmunizationList[i].isSaved = true;\r\n }\r\n if (this.addedImmunizations.length <= 0) {\r\n this.addedImmunizations = data.clinicImmunizationList;\r\n } else {\r\n //\r\n this.addedImmunizations = this._localContractService.getImmunizationsData();\r\n }\r\n this.setClinicalRequirementFlags();\r\n\r\n this._localContractService.SetIscanceled(false);\r\n this.immunization_data = Object.assign([], this._localContractService.getSelectedImmunizations());\r\n this._localContractService.setImmunizationsData(data.clinicImmunizationList);\r\n\r\n if (data.isStoreBusinessClinicAdded) {\r\n sessionStorage[\"isStoreBusinessClinicAdded\"] = \"true\";\r\n }\r\n if (this.addedImmunizations != null) {\r\n this.addedImmunizations.forEach(rec => {\r\n // handling of true verb getting from service so that data is populate correctly.\r\n rec.isTaxExempt >= 1 || rec.isTaxExempt === true ? rec.isTaxExempt = 1 : rec.isTaxExempt = 0;\r\n rec.isCopay >= 1 || rec.isCopay === true ? rec.isCopay = 1 : rec.isCopay = 0;\r\n rec.isVoucherNeeded >= 1 || rec.isVoucherNeeded === true ? rec.isVoucherNeeded = 1 : rec.isVoucherNeeded = 0;\r\n const index = this.boundImmunizations.findIndex(item => item.immunizationId == rec.immunizationPk && item.paymentTypeId == rec.paymentTypeId)\r\n\r\n // const ind = this.boundImmunizations.findIndex(item => item.immunizationId == this.selectedPaymentType[0].immunizationId && item.paymentTypeId == this.selectedPaymentType[0].paymentTypeId);\r\n\r\n if (index > -1) {\r\n this.boundImmunizations.splice(index, 1);\r\n }\r\n });\r\n\r\n\r\n if (sessionStorage[\"AmendAgreement\"] && sessionStorage[\"AmendAgreement\"] === \"true\") {\r\n if (this.addedImmunizations.length > 0) {\r\n sessionStorage[\"OldImmunizations\"] = JSON.stringify(this.addedImmunizations);\r\n this.clinicImmQtyList = [];\r\n data.clinicList.forEach((loc, index) => {\r\n loc.clinicImzQtyList.forEach(ele => {\r\n ele.clinicPk = null;\r\n this.clinicImmQtyList.push(ele);\r\n });\r\n });\r\n\r\n if (this.clinicImmQtyList.length > 0) {\r\n sessionStorage[\"clinicList\"] = JSON.stringify(this.clinicImmQtyList);\r\n }\r\n\r\n let corp = this.addedImmunizations.filter(c => c.paymentTypeId == \"13\");\r\n if (corp.length > 0 && corp[0].isVoucherNeeded)\r\n this.isVoucherNeededDisable = true;\r\n }\r\n }\r\n }\r\n this.displayInvoiceInfo();\r\n\r\n this.spinner.hide();\r\n this.isApiCallSucceed = true;\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n return false;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n formControls() {\r\n if (this.outReachProgramType === OutReachProgramType.communityoutreach) {\r\n this.immunizationForm = this.formBuilder.group({\r\n immunizationSelected: ['', Validators.required],\r\n paymentsSelected: ['', Validators.required],\r\n name: ['', null],\r\n phone: ['', null],\r\n fax: ['', null],\r\n address1: ['', null],\r\n address2: [null, null],\r\n email1: [null, null],\r\n email2: [null, null],\r\n city: [null, null],\r\n state: ['', null],\r\n zip: ['', null],\r\n isTaxExempt: ['', null],\r\n isCopay: ['', null],\r\n copayValue: ['', null],\r\n isVoucherNeeded: ['', null],\r\n fluexpirationDate: [this.fluvoucherExpirationDate, null],\r\n routineexpirationDate: [this.routinevoucherExpirationDate, null],\r\n // covidexpirationDate: [this.routinevoucherExpirationDate, null],\r\n clinicalReqs: this.formBuilder.array([])\r\n });\r\n } \r\n else if (this.outReachProgramType === OutReachProgramType.equityevents) {\r\n this.immunizationForm = this.formBuilder.group({\r\n immunizationSelected: ['', Validators.required],\r\n paymentsSelected: ['', Validators.required],\r\n name: ['', null],\r\n phone: ['', null],\r\n fax: ['', null],\r\n address1: ['', null],\r\n address2: [null, null],\r\n email1: [null, null],\r\n email2: [null, null],\r\n city: [null, null],\r\n state: ['', null],\r\n zip: ['', null],\r\n isTaxExempt: ['', null],\r\n isCopay: ['', null],\r\n copayValue: ['', null],\r\n isVoucherNeeded: ['', null],\r\n fluexpirationDate: [this.fluvoucherExpirationDate, null],\r\n routineexpirationDate: [this.routinevoucherExpirationDate, null],\r\n // covidexpirationDate: [this.routinevoucherExpirationDate, null],\r\n clinicalReqs: this.formBuilder.array([])\r\n });\r\n }\r\n else {\r\n this.immunizationForm = this.formBuilder.group({\r\n immunizationSelected: ['', Validators.required],\r\n paymentsSelected: ['', Validators.required],\r\n // everGreen: [this._localContractService.getEverGreenData(), Validators.required],\r\n everGreen: [''],\r\n name: [null, Validators.required],\r\n phone: [null, Validators.required],\r\n fax: ['', Validators.required],\r\n address1: ['', Validators.required],\r\n address2: [null, null],\r\n email1: [null, Validators.required],\r\n email2: [null, Validators.required],\r\n city: [null, Validators.required],\r\n state: ['', Validators.required],\r\n zip: [null, Validators.required],\r\n isTaxExempt: ['', Validators.required],\r\n isCopay: ['', null],\r\n copayValue: ['', null],\r\n isVoucherNeeded: ['', null],\r\n fluexpirationDate: [this.fluvoucherExpirationDate, null],\r\n routineexpirationDate: [this.routinevoucherExpirationDate, null],\r\n // covidexpirationDate: [this.routinevoucherExpirationDate, null],\r\n clinicalReqs: this.formBuilder.array([])\r\n });\r\n }\r\n }\r\n\r\n ImmChanged(immunizationId: any) {\r\n //\r\n this.immunizationForm.controls['paymentsSelected'].setValue('');\r\n this.price = '';\r\n this.PaymentTypes = [];\r\n this.paymentType = '0';\r\n this.sortorderCount = 2;\r\n var re = /COVID19/gi;\r\n //\r\n\r\n this.PaymentTypes = this.boundImmunizations.filter(p => p.immunizationId == immunizationId);\r\n\r\n this.PaymentTypes.forEach((element) => {\r\n if (element.paymentTypeName == 'Off-Site: Corporate to Invoice Employer Directly') {\r\n\r\n element.SortOrder = 1\r\n }\r\n else if (element.paymentTypeName == 'Voucher: Corporate to Invoice Employer Directly') {\r\n element.SortOrder = 2\r\n }\r\n else {\r\n element.SortOrder = this.sortorderCount + 1\r\n\r\n }\r\n\r\n\r\n });\r\n\r\n\r\n let isCovidVaccineAvailable: number = this.PaymentTypes.filter(item => item.immunizationName.search(re) >= 0).length;\r\n let isFluVaccineAvailable = this.PaymentTypes.filter(item => item.immunizationName.toLowerCase().search(/flu/) >= 0).length;\r\n let isRoutineuVaccineAvailable = this.PaymentTypes.filter(item => item.immunizationName.toLowerCase().search(/flu/) == -1 && item.immunizationName.search(re) == -1).length;\r\n let isPfizerVaccineAvailable = this.PaymentTypes.filter(item => item.immunizationName.search(/Pfizer/) >= 0).length;\r\n let isModernaVaccineAvailable = this.PaymentTypes.filter(item => item.immunizationName.search(/Moderna/) >= 0).length;\r\n let isCovidVoucher = this.PaymentTypes.filter(item => item.immunizationName.includes('Vaccine Voucher')).length;\r\n let isJohnson = this.PaymentTypes.filter(item => item.immunizationName.includes('Johnson')).length;\r\n\r\n let isTYPHOID = this.PaymentTypes.filter(item => item.immunizationName.includes('TYPHOID (Live - Vivotif Typhoid)')).length;\r\n\r\n if (this.addedImmunizations.length > 0) {\r\n\r\n isCovidVaccineAvailable += this.addedImmunizations.filter(item => item.immunizationName.search(re) >= 0).length;\r\n this.isCovidVoucherAvailable = this.isCovidVoucherAvailable ? this.isCovidVoucherAvailable : this.isCovidVaccineAvailable && isCovidVoucher > 0;\r\n isFluVaccineAvailable += this.addedImmunizations.filter(item => item.immunizationName.toLowerCase().search(/flu/) >= 0).length;\r\n isRoutineuVaccineAvailable += this.addedImmunizations.filter(item => item.immunizationName.toLowerCase().search(/flu/) == -1 && item.immunizationName.search(re) == -1).length;\r\n isPfizerVaccineAvailable += this.addedImmunizations.filter(item => item.immunizationName.search(/Pfizer/) >= 0).length;\r\n isModernaVaccineAvailable += this.addedImmunizations.filter(item => item.immunizationName.search(/Moderna/) >= 0).length;\r\n isJohnson += this.addedImmunizations.filter(item => item.immunizationName.includes('Johnson')).length;\r\n }\r\n\r\n if (isCovidVaccineAvailable <= 0) {\r\n //this.PaymentTypes = this.PaymentTypes.filter(p=>p.paymentTypeName !=='HRSA (Uninsured)' && p.paymentTypeName != 'Off-Site: Corporate to Invoice Employer Directly'); //Temporarily remove the \"Off-Site: Corporate to Invoice Employer Directly\"\r\n if (isRoutineuVaccineAvailable > 0)\r\n this.PaymentTypes = this.PaymentTypes.filter(p => p.paymentTypeName !== 'HRSA (Uninsured)'); //Temporarily remove the \"Off-Site: Corporate to Invoice Employer Directly\"\r\n else {\r\n this.PaymentTypes = this.PaymentTypes.filter(p => p.paymentTypeName !== 'HRSA (Uninsured)'); //Temporarily remove the \"Off-Site: Corporate to Invoice Employer Directly\"\r\n }\r\n }\r\n if (isCovidVaccineAvailable > 0) {\r\n this.PaymentTypes = this.PaymentTypes.filter(p => p.paymentTypeName !== 'HRSA (Uninsured)');\r\n }\r\n if (isCovidVoucher > 0) {\r\n this.PaymentTypes = this.PaymentTypes.filter(p => p.paymentTypeName == 'Off-Site: Corporate to Invoice Employer Directly');\r\n }\r\n\r\n // if(isTYPHOID>0)\r\n // {\r\n\r\n // this.PaymentTypes = this.PaymentTypes.filter(p=>p.paymentTypeName !=='Corporate to Invoice Employer Directly'); \r\n // }\r\n\r\n if (this.outReachProgramType !== OutReachProgramType.equityevents) {\r\n this.PaymentTypes = this.PaymentTypes.filter(p => p.paymentTypeName !== 'WAG Free Flu Voucher');\r\n }\r\n else if (this.outReachProgramType == OutReachProgramType.equityevents && immunizationId != '31') {\r\n this.PaymentTypes = this.PaymentTypes.filter(p => p.paymentTypeName !== 'WAG Free Flu Voucher');\r\n }\r\n\r\n this.immunizationForm.controls['immunizationSelected'].updateValueAndValidity();\r\n this.immunizationForm.controls['paymentsSelected'].updateValueAndValidity();\r\n }\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n checkUIValidations(ctrlName: string, index: number) {\r\n return {\r\n 'has-error': this.isClinicalReqsFieldValid(ctrlName, index),\r\n 'has-feedback': this.isClinicalReqsFieldValid(ctrlName, index)\r\n };\r\n }\r\n isFieldValid(field: string) {\r\n if (this.immunizationForm.get(field) != null)\r\n return !this.immunizationForm.get(field).valid && this.immunizationForm.get(field).touched;\r\n }\r\n isClinicalReqsFieldValid(ctrlName: string, index: number) {\r\n let isClinicalReqd = false;\r\n let clinicalReqsFA: FormArray = (this.immunizationForm.controls['clinicalReqs']);\r\n if (clinicalReqsFA.length > 0) {\r\n let fg: FormGroup = ((clinicalReqsFA.controls[index]));\r\n isClinicalReqd = !fg.get(ctrlName).valid && fg.get(ctrlName).touched;\r\n }\r\n return isClinicalReqd;\r\n }\r\n PmtChanged(paymentTypeId: any) {\r\n\r\n this.paymentType = paymentTypeId;\r\n if (paymentTypeId != 0) {\r\n if (paymentTypeId == 6 || paymentTypeId == '6') {\r\n this.price = (this.PaymentTypes.filter(p => p.paymentTypeId == paymentTypeId)[0].directBillPrice);\r\n }\r\n else if (paymentTypeId == 13 || paymentTypeId == '13') {\r\n if (this.PaymentTypes.filter(p => p.paymentTypeId == paymentTypeId)[0].voucherBillPrice != undefined) {\r\n this.price = (this.PaymentTypes.filter(p => p.paymentTypeId == paymentTypeId)[0].voucherBillPrice);\r\n }\r\n else {\r\n this.price = (this.PaymentTypes.filter(p => p.paymentTypeId == paymentTypeId)[0].price);\r\n }\r\n }\r\n else {\r\n this.price = (this.PaymentTypes.filter(p => p.paymentTypeId == paymentTypeId)[0].price);\r\n }\r\n\r\n if (this.price == null) {\r\n this.price = \"N/A\";\r\n }\r\n\r\n //if(paymentTypeId==6 || paymentTypeId ==13 || paymentTypeId=='6' || paymentTypeId =='13')\r\n // {\r\n // }\r\n this.sendInvoiceTo = true;\r\n this.isVoucher = 1; //added by Rukesh\r\n\r\n this.selectedPaymentType = this.PaymentTypes.filter(p => p.paymentTypeId == paymentTypeId)\r\n }\r\n else {\r\n this.price = \"\";\r\n this.sendInvoiceTo = false;\r\n }\r\n this.immunizationForm.controls['immunizationSelected'].updateValueAndValidity();\r\n this.immunizationForm.controls['paymentsSelected'].updateValueAndValidity();\r\n }\r\n addimmunizationData() {\r\n //\r\n this.edit_button = false;\r\n if (this.selectedPaymentType != undefined && this.selectedPaymentType[0] !== undefined && this.selectedPaymentType[0].immunizationId > 0 && this.sendInvoiceTo) {\r\n\r\n if (this.immunizationForm.value.email1 != null && this.immunizationForm.value.email2 != null) {\r\n if (this.immunizationForm.value.email1.toLowerCase() != this.immunizationForm.value.email2.toLowerCase()) {\r\n let dtlMsg = ErrorMessages['noMatchingEmails'];\r\n let err = ErrorMessages['errMsg'];\r\n return;\r\n }\r\n }\r\n }\r\n\r\n if (this.sendInvoiceTo && this.isVoucher === 1) {\r\n if (this.selectedPaymentType[0].immunizationName.toLowerCase().search('flu') === -1) {\r\n this.voucherExpirationDate = this.immunizationForm.value.routineexpirationDate;\r\n }\r\n else if (this.selectedPaymentType[0].immunizationName.toLowerCase().search('flu') === -1 && !this.isCovidVaccineAvailable) {\r\n this.voucherExpirationDate = this.immunizationForm.value.routineexpirationDate;\r\n }\r\n else {\r\n this.voucherExpirationDate = this.immunizationForm.value.fluexpirationDate;\r\n }\r\n }\r\n\r\n if (this.selectedPaymentType == undefined) {\r\n if (this.addedImmunizations.length > 0) {\r\n let isInvoiceExist = false;\r\n let isVoucherExist = false;\r\n console.log(this.addedImmunizations);\r\n\r\n let filterData = this.addedImmunizations.find(x => x.paymentTypeName.toLowerCase().search('voucher'));\r\n if (this.addedImmunizations.find(x => x.paymentTypeId == 13) != undefined) {\r\n let count = this.addedImmunizations.find(x => x.paymentTypeId == 13);\r\n if (count != null)\r\n isVoucherExist = true;\r\n\r\n }\r\n else {\r\n isVoucherExist = false;\r\n }\r\n\r\n if (this.addedImmunizations.find(x => x.paymentTypeId == 6).paymentTypeId == 6 ) {\r\n isInvoiceExist = true;\r\n }\r\n \r\n //\r\n if (!isVoucherExist && isInvoiceExist) {\r\n // alert(\"Invoice exist\");\r\n let corp = this.addedImmunizations.filter(c => c.paymentTypeId == \"13\");\r\n if (corp != null && corp.length > 0) {\r\n\r\n this.showSendInvoiceTodialog = false;\r\n this.isInvoiceInformationProvided = true;\r\n this.InvoiceInformation = [];\r\n this.InvoiceInformation.push({\r\n \"paymentTypeId\": corp[0].paymentTypeId,\r\n \"sendInvoiceTo\": corp[0].sendInvoiceTo,\r\n \"name\": corp[0].name,\r\n \"phone\": corp[0].phone,\r\n \"fax\": corp[0].fax,\r\n \"email\": corp[0].email,\r\n \"address1\": corp[0].address1,\r\n \"address2\": corp[0].address2,\r\n \"city\": corp[0].city,\r\n \"isTaxExempt\": corp[0].isTaxExempt,\r\n \"state\": corp[0].state,\r\n \"zip\": corp[0].zip,\r\n \"isCopay\": corp[0].isCopay,\r\n \"copayValue\": corp[0].copayValue,\r\n \"isVoucherNeeded\": false,\r\n \"fluvoucherExpirationDate\": null,\r\n \"routinevoucherExpirationDate\": null,\r\n \"covidvoucherExpirationDate\": null,\r\n });\r\n }\r\n this.isVoucherNeededDisable = true;\r\n if (this.InvoiceInformation.length > 0) {\r\n this._localContractService.setInvoiceAndVoucherData(this.InvoiceInformation);\r\n }\r\n }\r\n }\r\n }\r\n else if (this.selectedPaymentType[0] !== undefined && this.selectedPaymentType[0].immunizationId > 0) {\r\n this.selectedPaymentType.forEach(element => {\r\n if (element.paymentTypeName.toLowerCase().search('voucher') > -1) {\r\n this.isVoucherAvailable = true;\r\n }\r\n });\r\n\r\n this.isCovidVoucherAvailable = this.isCovidVoucherAvailable ? this.isCovidVoucherAvailable : this.isCovidVaccineAvailable && this.selectedPaymentType[0].immunizationName.toLowerCase().search('voucher') > -1;\r\n if (this.selectedPaymentType[0].immunizationName.toLowerCase().search('flu') === -1 &&\r\n this.isCovidVaccineAvailable && this.isCovidVoucherAvailable) {\r\n this.voucherExpirationDate = this.immunizationForm.value.routineexpirationDate;\r\n }\r\n if (this.selectedPaymentType && this.selectedPaymentType[0] !== undefined && this.selectedPaymentType[0] !== null) {\r\n let cliniclReqFA: FormArray = this.immunizationForm.controls['clinicalReqs'];\r\n let validationsReqd: boolean = false;\r\n let immClinicalRequirementsText: string = '';\r\n let immClinicalRequirementsChkBxText: string = '';\r\n if (ClinicalRequirementsImmunizations.indexOf(this.selectedPaymentType[0].immunizationName) > -1) {\r\n validationsReqd = true;\r\n immClinicalRequirementsText = ClinicalRequirementsImmunizationsContent[this.selectedPaymentType[0].immunizationName];\r\n immClinicalRequirementsChkBxText = ClinicalRequirementsImmunizationsChkBoxContent[this.selectedPaymentType[0].immunizationName];\r\n }\r\n\r\n if (!(this.addedImmunizations.find(imm => imm.immunizationName == this.selectedPaymentType[0].immunizationName) != null)) {\r\n const fg = this.formBuilder.group({\r\n immunizationId: this.formBuilder.control(this.selectedPaymentType[0].immunizationId, null),\r\n immunizationName: this.formBuilder.control(this.selectedPaymentType[0].immunizationName, null),\r\n isClinicalReqd: this.formBuilder.control(null, validationsReqd ? [Validators.required] : null)\r\n });\r\n cliniclReqFA.push(fg);\r\n if (!this.addedImmunizationsClinicalReqs.some(clinicalReqs => clinicalReqs.immunizationId == this.selectedPaymentType[0].immunizationId)) {\r\n this.addedImmunizationsClinicalReqs.push({\r\n \"immunizationId\": this.selectedPaymentType[0].immunizationId,\r\n \"immunizationName\": this.selectedPaymentType[0].immunizationName,\r\n \"immunizationSpanishName\": this.selectedPaymentType[0].immunizationSpanishName,\r\n \"isClinicalReqd\": null,\r\n \"immClinicalRequirementsText\": immClinicalRequirementsText,\r\n \"immClinicalRequirementsChkBxText\": immClinicalRequirementsChkBxText\r\n });\r\n }\r\n }\r\n }\r\n\r\n let is_voucher_needed_imz = this.InvoiceInformation.filter(item => item.sendInvoiceTo == 1);\r\n //alert(this.selectedPaymentType[0].voucherBillPrice);\r\n\r\n if (!this.addedImmunizations.some(immunization => immunization.immunizationPk == this.selectedPaymentType[0].immunizationId\r\n && immunization.paymentTypeId == this.selectedPaymentType[0].paymentTypeId)) {\r\n this.addedImmunizations.push({\r\n \"immunizationPk\": this.selectedPaymentType[0].immunizationId,\r\n \"immunizationName\": this.selectedPaymentType[0].immunizationName,\r\n \"immunizationAbvNameEN\": this.selectedPaymentType[0].immunizationAbvNameEN,\r\n \"immunizationSpanishName\": this.selectedPaymentType[0].immunizationSpanishName,\r\n \"paymentTypeId\": this.selectedPaymentType[0].paymentTypeId,\r\n \"paymentTypeName\": this.selectedPaymentType[0].paymentTypeName,\r\n \"paymentTypeSpanishName\": this.selectedPaymentType[0].paymentTypeSpanishName,\r\n \"price\": (this.selectedPaymentType[0].price == null || this.selectedPaymentType[0].price == \"N/A\" || this.selectedPaymentType[0].price == undefined) ? -1 : this.selectedPaymentType[0].paymentTypeId == \"6\" ? this.selectedPaymentType[0].directBillPrice : this.selectedPaymentType[0].price,\r\n \"directBillPrice\": (this.selectedPaymentType[0].directBillPrice == null || this.selectedPaymentType[0].directBillPrice == \"N/A\" || this.selectedPaymentType[0].directBillPrice == undefined) ? -1 : this.selectedPaymentType[0].paymentTypeId == \"6\" ? this.selectedPaymentType[0].directBillPrice : this.selectedPaymentType[0].price,\r\n \"showprice\": (this.selectedPaymentType[0].price == null || this.selectedPaymentType[0].price == \"N/A\" || this.selectedPaymentType[0].price < 0) ? 0 : 1,\r\n \"sendInvoiceTo\": this.sendInvoiceTo ? 1 : 0,\r\n \"name\": this.sendInvoiceTo ? this.immunizationForm.value.name : null,\r\n \"phone\": this.sendInvoiceTo ? this.immunizationForm.value.phone : null,\r\n \"fax\": this.sendInvoiceTo ? this.immunizationForm.value.fax : null,\r\n \"email\": this.sendInvoiceTo ? this.immunizationForm.value.email1 : null,\r\n \"address1\": this.sendInvoiceTo ? this.immunizationForm.value.address1 : null,\r\n \"address2\": this.sendInvoiceTo ? this.immunizationForm.value.address2 : null,\r\n \"city\": this.sendInvoiceTo ? this.immunizationForm.value.city : null,\r\n \"isTaxExempt\": this.sendInvoiceTo && this.selectedPaymentType[0].paymentTypeId == 6 || this.selectedPaymentType[0].paymentTypeId == 13 ? +this.immunizationForm.value.isTaxExempt : null,\r\n \"state\": this.sendInvoiceTo ? this.immunizationForm.value.state : null,\r\n \"zip\": this.sendInvoiceTo ? this.immunizationForm.value.zip : null,\r\n \"isCopay\": this.sendInvoiceTo && this.selectedPaymentType[0].paymentTypeId == 6 ? +this.immunizationForm.value.isCopay : null,\r\n \"copayValue\": (this.sendInvoiceTo && this.immunizationForm.value.isCopay == '1' ?\r\n +this.immunizationForm.value.copayValue : null), //this.outReachProgramType != OutReachProgramType.communityoutreach ?\r\n \"isVoucherNeeded\": this.sendInvoiceTo && this.selectedPaymentType[0].paymentTypeId == 13 ? + this.immunizationForm.value.isVoucherNeeded || (is_voucher_needed_imz.length > 0 && is_voucher_needed_imz[0].isVoucherNeeded) : null,\r\n \"voucherExpirationDate\": this.sendInvoiceTo && this.isVoucher == 1 ? this.voucherExpirationDate.toLocaleDateString('en-US') : null,\r\n \"isClinicalReqd\": null,\r\n \"clinicalReqdApprovedBy\": null,\r\n \"clinicalReqApprovedDate\": null,\r\n \"voucherBillPrice\": (this.selectedPaymentType[0].voucherBillPrice == null || this.selectedPaymentType[0].voucherBillPrice == \"N/A\" || this.selectedPaymentType[0].voucherBillPrice == undefined) ? this.price : this.selectedPaymentType[0].paymentTypeId == \"13\" ? this.selectedPaymentType[0].voucherBillPrice : this.selectedPaymentType[0].voucherBillPrice,\r\n \"isVoucher\": (this.selectedPaymentType[0].paymentTypeId == \"13\" ? '1' : '0')\r\n });\r\n }\r\n\r\n if (this.showSendInvoiceTodialog) {\r\n this.isInvoiceInformationProvided = true;\r\n\r\n if (this.InvoiceInformation.length == 0) {\r\n this.InvoiceInformation.push({\r\n \"paymentTypeId\": this.selectedPaymentType[0].paymentTypeId,\r\n \"sendInvoiceTo\": this.sendInvoiceTo ? 1 : 0,\r\n \"name\": this.sendInvoiceTo ? this.immunizationForm.value.name : null,\r\n \"phone\": this.sendInvoiceTo ? this.immunizationForm.value.phone : null,\r\n \"fax\": this.sendInvoiceTo ? this.immunizationForm.value.fax : null,\r\n \"email\": this.sendInvoiceTo ? this.immunizationForm.value.email1 : null,\r\n \"address1\": this.sendInvoiceTo ? this.immunizationForm.value.address1 : null,\r\n \"address2\": this.sendInvoiceTo ? this.immunizationForm.value.address2 : null,\r\n \"city\": this.sendInvoiceTo ? this.immunizationForm.value.city : null,\r\n \"isTaxExempt\": this.sendInvoiceTo && this.selectedPaymentType[0].paymentTypeId === 6 || this.selectedPaymentType[0].paymentTypeId === 13 ? +this.immunizationForm.value.isTaxExempt : null,\r\n \"state\": this.sendInvoiceTo ? this.immunizationForm.value.state : null,\r\n \"zip\": this.sendInvoiceTo ? this.immunizationForm.value.zip : null,\r\n \"isCopay\": this.sendInvoiceTo && this.selectedPaymentType[0].paymentTypeId === 6 || this.selectedPaymentType[0].paymentTypeId === 13 ? +this.immunizationForm.value.isCopay : null,\r\n \"copayValue\": (this.sendInvoiceTo && this.immunizationForm.value.isCopay === '1' ?\r\n + this.immunizationForm.value.copayValue : null), //this.outReachProgramType !== OutReachProgramType.communityoutreach ?\r\n \"isVoucherNeeded\": this.sendInvoiceTo && this.selectedPaymentType[0].paymentTypeId === 6 || this.selectedPaymentType[0].paymentTypeId === 13 ? +this.immunizationForm.value.isVoucherNeeded : this.isVoucherAvailable,\r\n \"fluvoucherExpirationDate\": this.sendInvoiceTo && this.isVoucher === 1 ? this.immunizationForm.value.fluexpirationDate : null,\r\n \"routinevoucherExpirationDate\": this.sendInvoiceTo && this.isVoucher === 1 ? this.immunizationForm.value.routineexpirationDate : null,\r\n // \"covidvoucherExpirationDate\": this.sendInvoiceTo && this.isVoucher === 1 ? this.immunizationForm.value.covidexpirationDate : null,\r\n });\r\n }\r\n }\r\n\r\n if (!this.showSendInvoiceTodialog && this.InvoiceInformation.length > 0) {\r\n let IsVoucherData = this.InvoiceInformation.filter(item => item.isVoucherNeeded == 1);\r\n this.selectedPaymentType.forEach(element => {\r\n if (element.paymentTypeName.toLowerCase().search('voucher') > -1) {\r\n this.isVoucherAvailable = true;\r\n /** refresh data */\r\n\r\n let corp = this.addedImmunizations.filter(c => c.paymentTypeId == \"6\" || c.paymentTypeId == \"13\");\r\n if (corp.length > 0) {\r\n //\r\n let routineExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') == -1)\r\n let flueExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') != -1)\r\n this.isCovidVaccineAvailable = corp.filter(c => c.immunizationName.toLowerCase().search('covid') !== -1).length > 0;\r\n this.isCovidVoucherAvailable = this.isCovidVaccineAvailable && corp.filter(c => c.immunizationName.toLowerCase().search('voucher') !== -1).length > 0;\r\n let date = new Date();\r\n let routinevoucherExpirationDate;\r\n let fluvoucherExpirationDate;\r\n let covidvoucherExpirationDate;\r\n if (routineExpDateLst.length > 0) {\r\n routinevoucherExpirationDate = new Date(routineExpDateLst[0].voucherExpirationDate);\r\n covidvoucherExpirationDate = new Date(routineExpDateLst[0].voucherExpirationDate);\r\n }\r\n else {\r\n routinevoucherExpirationDate = new Date(date.getFullYear() + 1, date.getMonth(), date.getDate(), 18, 55, 55);\r\n covidvoucherExpirationDate = new Date(date.getFullYear() + 1, date.getMonth(), date.getDate(), 18, 55, 55);\r\n }\r\n if (flueExpDateLst.length > 0) {\r\n //\r\n fluvoucherExpirationDate = new Date(flueExpDateLst[0].voucherExpirationDate);\r\n if (fluvoucherExpirationDate == null) {\r\n if (date.getMonth() == 0 || date.getMonth() == 1 || date.getMonth() == 2) {\r\n fluvoucherExpirationDate = new Date(date.getFullYear(), 3, 1, 12, 55, 55);\r\n }\r\n else {\r\n fluvoucherExpirationDate = new Date(date.getFullYear() + 1, 3, 1, 12, 55, 55);\r\n }\r\n }\r\n }\r\n else {\r\n //\r\n if (date.getMonth() == 0 || date.getMonth() == 1 || date.getMonth() == 2) {\r\n fluvoucherExpirationDate = new Date(date.getFullYear(), 3, 1, 12, 55, 55);\r\n }\r\n else {\r\n fluvoucherExpirationDate = new Date(date.getFullYear() + 1, 3, 1, 12, 55, 55);\r\n }\r\n }\r\n\r\n if (corp != null && corp.length > 0) {\r\n this.showSendInvoiceTodialog = false;\r\n this.isInvoiceInformationProvided = true;\r\n this.InvoiceInformation = [];\r\n this.InvoiceInformation.push({\r\n \"paymentTypeId\": corp[0].paymentTypeId,\r\n \"sendInvoiceTo\": corp[0].sendInvoiceTo,\r\n \"name\": corp[0].name,\r\n \"phone\": corp[0].phone,\r\n \"fax\": corp[0].fax,\r\n \"email\": corp[0].email,\r\n \"address1\": corp[0].address1,\r\n \"address2\": corp[0].address2,\r\n \"city\": corp[0].city,\r\n \"isTaxExempt\": corp[0].isTaxExempt,\r\n \"state\": corp[0].state,\r\n \"zip\": corp[0].zip,\r\n \"isCopay\": corp[0].isCopay,\r\n \"copayValue\": corp[0].copayValue,\r\n \"isVoucherNeeded\": this.isVoucherAvailable,\r\n \"fluvoucherExpirationDate\": fluvoucherExpirationDate,\r\n \"routinevoucherExpirationDate\": routinevoucherExpirationDate,\r\n \"covidvoucherExpirationDate\": covidvoucherExpirationDate,\r\n });\r\n }\r\n\r\n if (this.InvoiceInformation.length > 0) {\r\n //\r\n this._localContractService.setInvoiceAndVoucherData(this.InvoiceInformation);\r\n }\r\n }\r\n }\r\n });\r\n\r\n this.addedImmunizations.filter(x => x.paymentTypeId == this.paymentType).forEach(im => {\r\n im.sendInvoiceTo = this.InvoiceInformation[0].sendInvoiceTo,\r\n im.name = this.InvoiceInformation[0].name,\r\n im.phone = this.InvoiceInformation[0].phone,\r\n im.fax = this.InvoiceInformation[0].fax,\r\n im.email = this.InvoiceInformation[0].email,\r\n im.address1 = this.InvoiceInformation[0].address1,\r\n im.address2 = this.InvoiceInformation[0].address2,\r\n im.city = this.InvoiceInformation[0].city,\r\n im.isTaxExempt = this.InvoiceInformation[0].isTaxExempt,\r\n im.state = this.InvoiceInformation[0].state,\r\n im.zip = this.InvoiceInformation[0].zip,\r\n im.isCopay = this.InvoiceInformation[0].isCopay,\r\n im.copayValue = this.InvoiceInformation[0].copayValue,\r\n im.isVoucherNeeded = this.isVoucherAvailable\r\n im.voucherExpirationDate = (im.immunizationName.toLowerCase().search('flu') == -1) ? this.InvoiceInformation[0]?.routinevoucherExpirationDate?.toLocaleDateString('en-US') : this.InvoiceInformation[0]?.fluvoucherExpirationDate?.toLocaleDateString('en-US');\r\n });\r\n }\r\n\r\n if (this.selectedPaymentType[0] !== undefined && this.selectedPaymentType[0].paymentTypeId == '6' || this.selectedPaymentType[0].paymentTypeId == '13') {\r\n this.edit_button = true;\r\n this.sendInvoiceTo = false;\r\n //this.clearImmFormFields();\r\n }\r\n }\r\n else {\r\n this.msgs = [];\r\n let dtlMsg = ErrorMessages['ContractCOImmunizationError'];\r\n let err = ErrorMessages['errMsg'];\r\n let crpInvEr = ErrorMessages['CorporateInvoiceError'];\r\n this.sendInvoiceTo ? this.msgs.push({ severity: 'error', summary: err, detail: crpInvEr }) :\r\n this.msgs.push({ severity: 'error', summary: err, detail: dtlMsg });\r\n }\r\n\r\n if (this.selectedPaymentType != 0 && this.selectedPaymentType != undefined) {\r\n const ind = this.boundImmunizations.findIndex(item => item.immunizationId == this.selectedPaymentType[0].immunizationId\r\n && item.paymentTypeId == this.selectedPaymentType[0].paymentTypeId);\r\n\r\n this.boundImmunizations.splice(ind, 1);\r\n this.immunizationForm.controls['immunizationSelected'].updateValueAndValidity();\r\n this.immunizationForm.controls['paymentsSelected'].updateValueAndValidity();\r\n\r\n this._localContractService.SetIscanceled(true);\r\n // if(this.paymentType==='6' || this.paymentType=='13'){\r\n this.showSendInvoiceTodialog = false;\r\n // }\r\n\r\n this.addedImmunizations.forEach((immunization) => {\r\n immunization.address1 = this.immunizationForm.value.address1;\r\n immunization.address2 = this.immunizationForm.value.address2;\r\n immunization.city = this.immunizationForm.value.city;\r\n immunization.copayValue = this.immunizationForm.value.copayValue;\r\n immunization.email = this.immunizationForm.value.email1;\r\n immunization.fax = this.immunizationForm.value.fax;\r\n immunization.isCopay = this.immunizationForm.value.isCopay;\r\n immunization.isTaxExempt = this.immunizationForm.value.isTaxExempt;\r\n immunization.isVoucherNeeded = this.immunizationForm.value.isVoucherNeeded;\r\n immunization.name = this.immunizationForm.value.name;\r\n immunization.phone = this.immunizationForm.value.phone;\r\n immunization.state = this.immunizationForm.value.state;\r\n immunization.zip = this.immunizationForm.value.zip;\r\n });\r\n\r\n this.InvoiceInformation.forEach((invoice) => {\r\n invoice.address1 = this.immunizationForm.value.address1;\r\n invoice.address2 = this.immunizationForm.value.address2;\r\n invoice.city = this.immunizationForm.value.city;\r\n invoice.copayValue = this.immunizationForm.value.copayValue;\r\n invoice.email = this.immunizationForm.value.email1;\r\n invoice.fax = this.immunizationForm.value.fax;\r\n invoice.isCopay = this.immunizationForm.value.isCopay;\r\n invoice.isTaxExempt = this.immunizationForm.value.isTaxExempt;\r\n invoice.isVoucherNeeded = this.immunizationForm.value.isVoucherNeeded;\r\n invoice.name = this.immunizationForm.value.name;\r\n invoice.phone = this.immunizationForm.value.phone;\r\n invoice.state = this.immunizationForm.value.state;\r\n invoice.zip = this.immunizationForm.value.zip;\r\n });\r\n\r\n this._localContractService.setImmunizationsData(this.addedImmunizations);\r\n if (this.InvoiceInformation.length > 0) {\r\n this._localContractService.setInvoiceAndVoucherData(this.InvoiceInformation);\r\n }\r\n }\r\n\r\n }\r\n\r\n addFieldValue() {\r\n\r\n if (this.outReachProgramType != OutReachProgramType.contracts) {\r\n this.showSendInvoiceTodialog = false;\r\n }\r\n\r\n if (this.outReachProgramType == OutReachProgramType.communityoutreach) {\r\n this.immunizationForm.controls['isVoucherNeeded'].setValidators(null);\r\n this.immunizationForm.controls['isVoucherNeeded'].setErrors(null);\r\n this.immunizationForm.controls['isVoucherNeeded'].updateValueAndValidity();\r\n\r\n this.immunizationForm.controls['fluexpirationDate'].setValidators(null);\r\n this.immunizationForm.controls['fluexpirationDate'].setErrors(null);\r\n this.immunizationForm.controls['fluexpirationDate'].updateValueAndValidity();\r\n\r\n this.immunizationForm.controls['routineexpirationDate'].setValidators(null);\r\n this.immunizationForm.controls['routineexpirationDate'].setErrors(null);\r\n this.immunizationForm.controls['routineexpirationDate'].updateValueAndValidity();\r\n }\r\n else if (this.outReachProgramType == OutReachProgramType.equityevents) {\r\n this.immunizationForm.controls['isVoucherNeeded'].setValidators(null);\r\n this.immunizationForm.controls['isVoucherNeeded'].setErrors(null);\r\n this.immunizationForm.controls['isVoucherNeeded'].updateValueAndValidity();\r\n\r\n this.immunizationForm.controls['fluexpirationDate'].setValidators(null);\r\n this.immunizationForm.controls['fluexpirationDate'].setErrors(null);\r\n this.immunizationForm.controls['fluexpirationDate'].updateValueAndValidity();\r\n\r\n this.immunizationForm.controls['routineexpirationDate'].setValidators(null);\r\n this.immunizationForm.controls['routineexpirationDate'].setErrors(null);\r\n this.immunizationForm.controls['routineexpirationDate'].updateValueAndValidity();\r\n }\r\n if (this.selectedPaymentType && this.selectedPaymentType[0] != undefined && this.selectedPaymentType[0] !== null) {\r\n this.immunizationPk = this.selectedPaymentType[0].immunizationId;\r\n }\r\n\r\n if (this.selectedPaymentType && ClinicalRequirementsImmunizations.indexOf(this.selectedPaymentType[0].immunizationName) > -1) {\r\n this.clinicalRequirementsDiv = true;\r\n }\r\n //\r\n let immunization = this.addedImmunizations.filter(item => (item.immunizationPk == this.immunizationPk && item.paymentTypeId == 13));\r\n\r\n this.isVoucher = 1;\r\n this.isCopay = false;\r\n let date = new Date();\r\n\r\n // following is the condition when selected immunization IS NOT A FLU VACCINE\r\n if (this.selectedPaymentType && this.selectedPaymentType[0].immunizationName.toLowerCase().search('flu') == -1) {\r\n\r\n if (\r\n this.selectedPaymentType\r\n && this.selectedPaymentType[0].immunizationName.toLowerCase().search('covid') > -1\r\n ) {\r\n this.isCovidVaccineAvailable = true;\r\n this.isCovidVoucherAvailable = this.isCovidVaccineAvailable && this.selectedPaymentType && this.selectedPaymentType[0].immunizationName.toLowerCase().search('voucher') > -1;\r\n }\r\n\r\n if (\r\n (immunization != undefined || immunization != null)\r\n && (immunization[0] != undefined || immunization[0] != null)\r\n && (immunization[0].fluvoucherExpirationDate != null || immunization[0].routinevoucherExpirationDate != undefined)\r\n ) {\r\n this.routinevoucherExpirationDate = new Date(immunization[0].routinevoucherExpirationDate);\r\n this.covidvoucherExpirationDate = new Date(immunization[0].covidvoucherExpirationDate);\r\n }\r\n else {\r\n this.routinevoucherExpirationDate = new Date(date.getFullYear() + 1, date.getMonth(), date.getDate(), 18, 55, 55);\r\n this.covidvoucherExpirationDate = new Date(date.getFullYear() + 1, date.getMonth(), date.getDate(), 18, 55, 55);\r\n }\r\n\r\n this.isFluType = false;\r\n }\r\n // following is the condition when selected immunization IS A FLU VACCINE\r\n else if (this.selectedPaymentType && this.selectedPaymentType[0].immunizationName.toLowerCase().search('flu') != -1) {\r\n\r\n if (date.getMonth() == 0 || date.getMonth() == 1 || date.getMonth() == 2) {\r\n if (\r\n (immunization != undefined || immunization != null)\r\n && (immunization[0] != undefined || immunization[0] != null)\r\n && (immunization[0].fluvoucherExpirationDate != null || immunization[0].fluvoucherExpirationDate != undefined)\r\n ) {\r\n this.fluvoucherExpirationDate = new Date(immunization[0].fluvoucherExpirationDate);\r\n }\r\n else {\r\n this.fluvoucherExpirationDate = new Date(date.getFullYear(), 3, 1, 12, 55, 55);\r\n }\r\n }\r\n else {\r\n if (\r\n (immunization != undefined || immunization != null)\r\n && (immunization[0] != undefined || immunization[0] != null)\r\n && (immunization[0].fluvoucherExpirationDate != null || immunization[0].fluvoucherExpirationDate != undefined)\r\n ) {\r\n this.fluvoucherExpirationDate = new Date(immunization[0].fluvoucherExpirationDate);\r\n }\r\n else {\r\n this.fluvoucherExpirationDate = new Date(date.getFullYear() + 1, 3, 1, 12, 55, 55);\r\n }\r\n }\r\n\r\n this.isFluType = true;\r\n }\r\n\r\n this.flumaxDateValue = this.fluvoucherExpirationDate;\r\n this.fluminDateValue = date;\r\n this.immunizationForm.controls['fluexpirationDate'].setValue(this.fluvoucherExpirationDate);\r\n this.routinemaxDateValue = this.routinevoucherExpirationDate;\r\n this.routineminDateValue = date;\r\n if (!this.immunizationForm.get('routineexpirationDate')?.value && this.immunizationForm.get('routineexpirationDate')?.value !== this.routinevoucherExpirationDate) //need to verify why it is happening if we set the same value this making the value empty\r\n this.immunizationForm.controls['routineexpirationDate'].setValue(this.routinevoucherExpirationDate);\r\n\r\n if (\r\n (!this.selectedImmunization || this.selectedImmunization == 0)\r\n && (!this.selectedPaymentType || this.selectedPaymentType?.length == 0)\r\n ) {\r\n let dtlMsg = ErrorMessages['contractImmunizationOption'];\r\n let err = ErrorMessages['errMsg'];\r\n this.showDialog(err, dtlMsg);\r\n this.utility.validateAllFormFields(this.immunizationForm);\r\n return;\r\n }\r\n\r\n this.addimmunizationData(); // this adds the data to local DS. \r\n\r\n if (this.paymentType == '13') {\r\n this.immunizationForm.controls['isVoucherNeeded'].setValue('1');\r\n this.isVoucherNeededDisable = true;\r\n this.handleVoucher('1');\r\n }\r\n else {\r\n if (this.immunizationForm.controls['isVoucherNeeded']?.value != '1' || this.immunizationForm.controls['isVoucherNeeded']?.value != 1) {\r\n this.immunizationForm.controls['isVoucherNeeded'].setValue('0');\r\n }\r\n this.isVoucherNeededDisable = true;\r\n //this.handleVoucher('0');\r\n }\r\n\r\n this.immunizationForm.controls['immunizationSelected'].setValue('');\r\n this.immunizationForm.controls['paymentsSelected'].setValue('');\r\n this.immunizationForm.updateValueAndValidity();\r\n this.price = '';\r\n // data with 'Old_immunizationForm' key will be added to session storage \r\n // when user changes 'Flu Voucher Expiration' or 'Routine Voucher Expiration' dates\r\n\r\n // if we don't have 'Old_immunizationForm' key then consider the default dates\r\n // else use the dates from the 'Old_immunizationForm' json stored in session storage\r\n if (!sessionStorage.getItem('Old_immunizationForm')) {\r\n this.InvoiceInformation.forEach(info => {\r\n if (!info.routinevoucherExpirationDate) {\r\n info.routinevoucherExpirationDate = this.routinevoucherExpirationDate;\r\n }\r\n\r\n if (!info.fluvoucherExpirationDate) {\r\n info.fluvoucherExpirationDate = this.fluvoucherExpirationDate;\r\n }\r\n });\r\n\r\n this.addedImmunizations.forEach(immunization => {\r\n if (immunization.immunizationName?.search('flu') != -1) {\r\n immunization.voucherExpirationDate = this.fluvoucherExpirationDate;\r\n }\r\n else {\r\n immunization.voucherExpirationDate = this.routinevoucherExpirationDate;\r\n }\r\n });\r\n }\r\n else {\r\n const oldImmunizationFormData = JSON.parse(sessionStorage.getItem('Old_immunizationForm'));\r\n const routineVoucherExpDate = new Date(oldImmunizationFormData.routineexpirationDate);\r\n const fluvoucherExpDate = new Date(oldImmunizationFormData.fluexpirationDate);\r\n\r\n this.immunizationForm.get('routineexpirationDate').setValue(routineVoucherExpDate);\r\n this.immunizationForm.get('fluexpirationDate').setValue(fluvoucherExpDate);\r\n\r\n this.InvoiceInformation.forEach(info => {\r\n if (!info.routinevoucherExpirationDate) {\r\n info.routinevoucherExpirationDate = routineVoucherExpDate;\r\n }\r\n\r\n if (!info.fluvoucherExpirationDate) {\r\n info.fluvoucherExpirationDate = fluvoucherExpDate;\r\n }\r\n });\r\n\r\n this.addedImmunizations.forEach(immunization => {\r\n if (immunization.immunizationName?.search('flu') != -1) {\r\n immunization.voucherExpirationDate = fluvoucherExpDate;\r\n }\r\n else {\r\n immunization.voucherExpirationDate = routineVoucherExpDate;\r\n }\r\n });\r\n }\r\n\r\n if (this.addedImmunizations.length) {\r\n this.immunizationForm.controls['immunizationSelected'].setErrors(null);\r\n this.immunizationForm.controls['immunizationSelected'].setValidators(null);\r\n this.immunizationForm.controls['paymentsSelected'].setErrors(null);\r\n this.immunizationForm.controls['paymentsSelected'].setValidators(null);\r\n this.immunizationForm.updateValueAndValidity();\r\n\r\n this.canDisplayExpiryDates = this.addedImmunizations.some(immunization => immunization.paymentTypeId == 13 || immunization.paymentTypeId == '13');\r\n }\r\n\r\n if (\r\n (this.outReachProgramType == OutReachProgramType.contracts || this.outReachProgramType == OutReachProgramType.communityoutreach || this.outReachProgramType == OutReachProgramType.equityevents)\r\n && this.selectedPaymentType\r\n && this.selectedPaymentType[0].immunizationName.includes('COVID')\r\n ) {\r\n this.showDialog(ErrorMessages['clinicDetailsErrHeader'], ErrorMessages['COVIDManufacturerReminder']);\r\n }\r\n\r\n if(this.addedImmunizations.filter(item => item.paymentTypeId == 13).length == 0 && this.addedImmunizations.filter(item => item.paymentTypeId == 6).length == 0){\r\n this.isDirectPaymentOrVoucher = false;\r\n this.removeFieldValidation();\r\n \r\n }\r\n else if(this.addedImmunizations.filter(item => item.paymentTypeId == 13).length > 0 || this.addedImmunizations.filter(item => item.paymentTypeId == 6).length > 0)\r\n {\r\n this.isDirectPaymentOrVoucher = true;\r\n\r\n let cliniclReqFA: FormArray = this.immunizationForm.controls['clinicalReqs'];\r\n if(immunization.length > 0)\r\n {\r\n this.immunizationForm =\r\n this.formBuilder.group({\r\n immunizationSelected: ['', null],\r\n paymentsSelected: ['', null],\r\n name: [immunization[0].name, Validators.required],\r\n phone: [immunization[0].phone, Validators.required],\r\n fax: [immunization[0].fax, null],\r\n address1: [immunization[0].address1, Validators.required],\r\n address2: [immunization[0].address2, null],\r\n email1: [immunization[0].email.toLowerCase(), Validators.email],\r\n email2: [immunization[0].email.toLowerCase(), Validators.email],\r\n city: [immunization[0].city, Validators.required],\r\n state: [immunization[0].state, Validators.required],\r\n zip: [immunization[0].zip, Validators.required],\r\n isTaxExempt: [immunization[0].isTaxExempt, Validators.required],\r\n isCopay: [immunization[0].isCopay, Validators.required],// == 'Yes'\r\n copayValue: [immunization[0].isCopay == '1' ? immunization[0].copayValue : '', this.immunizationForm.value.isCopay == '1' ? Validators.required : null],\r\n isVoucherNeeded: [immunization[0].isVoucherNeeded == true ? '1' : 0, Validators.required],\r\n fluexpirationDate: [new Date(immunization[0].fluvoucherExpirationDate), (this.immunizationForm.value.isVoucherNeeded == '1' || this.immunizationForm.value.isVoucherNeeded == 1) ? Validators.required : null],\r\n routineexpirationDate: [new Date(immunization[0].routinevoucherExpirationDate), (this.immunizationForm.value.isVoucherNeeded == '1' || this.immunizationForm.value.isVoucherNeeded == 1) ? Validators.required : null],\r\n // covidexpirationDate: [new Date(immunization[0].covidvoucherExpirationDate), (this.immunizationForm.value.isVoucherNeeded == '1' || this.immunizationForm.value.isVoucherNeeded == 1)&&this.isCovidVaccineAvailable===true ? Validators.required : null],\r\n clinicalReqs: this.addedImmunizations.length > 0 ? cliniclReqFA : this.formBuilder.array([])\r\n });\r\n }\r\n else if(this.immunizationForm.controls['name'].value!=null && this.immunizationForm.controls['name'].value!='')\r\n {\r\n this.isDirectPaymentOrVoucher = true;\r\n }\r\n else\r\n {\r\n this.isDirectPaymentOrVoucher = true;\r\n let isvoucherRequire = 0;\r\n\r\n if(this.addedImmunizations.filter(item => item.paymentTypeId == 13).length > 0)\r\n {\r\n\r\n isvoucherRequire = 1;\r\n }\r\n else\r\n {\r\n isvoucherRequire = 0;\r\n }\r\n\r\n this.immunizationForm = this.formBuilder.group({\r\n immunizationSelected: ['', Validators.required],\r\n paymentsSelected: ['', Validators.required],\r\n // everGreen: [this._localContractService.getEverGreenData(), Validators.required],\r\n everGreen: [''],\r\n name: [null, Validators.required],\r\n phone: [null, Validators.required],\r\n fax: ['', Validators.required],\r\n address1: ['', Validators.required],\r\n address2: [null, null],\r\n email1: [null, Validators.required],\r\n email2: [null, Validators.required],\r\n city: [null, Validators.required],\r\n state: ['', Validators.required],\r\n zip: [null, Validators.required],\r\n isTaxExempt: ['', Validators.required],\r\n isCopay: ['', null],\r\n copayValue: ['', null],\r\n isVoucherNeeded: [isvoucherRequire, null],\r\n fluexpirationDate: [this.fluvoucherExpirationDate, null],\r\n routineexpirationDate: [this.routinevoucherExpirationDate, null],\r\n // covidexpirationDate: [this.routinevoucherExpirationDate, null],\r\n clinicalReqs: this.formBuilder.array([])\r\n });\r\n\r\n }\r\n\r\n \r\n }\r\n else\r\n {\r\n\r\n this.isDirectPaymentOrVoucher = true;\r\n this.formControls();\r\n }\r\n \r\n \r\n\r\n }\r\n\r\n removeFieldValidation(){\r\n this.immunizationForm = this.formBuilder.group({\r\n immunizationSelected: ['', Validators.required],\r\n paymentsSelected: ['', Validators.required],\r\n name: ['', null],\r\n phone: ['', null],\r\n fax: ['', null],\r\n address1: ['', null],\r\n address2: [null, null],\r\n email1: [null, null],\r\n email2: [null, null],\r\n city: [null, null],\r\n state: ['', null],\r\n zip: ['', null],\r\n isTaxExempt: ['', null],\r\n isCopay: ['', null],\r\n copayValue: ['', null],\r\n isVoucherNeeded: ['', null],\r\n fluexpirationDate: [this.fluvoucherExpirationDate, null],\r\n routineexpirationDate: [this.routinevoucherExpirationDate, null],\r\n // covidexpirationDate: [this.routinevoucherExpirationDate, null],\r\n clinicalReqs: this.formBuilder.array([])\r\n });\r\n\r\n }\r\n\r\n clearFormFields() {\r\n this.immunizationForm.value.immunizationSelected = '';\r\n this.immunizationForm.value.paymentsSelected = '';\r\n\r\n let cliniclReqFA: FormArray = this.immunizationForm.controls['clinicalReqs'];\r\n this.price = \"\";\r\n if (this.outReachProgramType === OutReachProgramType.communityoutreach) {\r\n this.immunizationForm = this.formBuilder.group({\r\n immunizationSelected: ['', this.addedImmunizations.length > 0 ? null : Validators.required],\r\n paymentsSelected: ['', this.addedImmunizations.length > 0 ? null : Validators.required],\r\n name: [null, null],\r\n phone: [null, null],\r\n fax: ['', null],\r\n address1: ['', null],\r\n address2: [null, null],\r\n email1: [null, null],\r\n email2: [null, null],\r\n city: [null, null],\r\n state: ['', null],\r\n zip: [null, null],\r\n isTaxExempt: ['', null],\r\n isCopay: ['', null],\r\n copayValue: ['', null],\r\n isVoucherNeeded: ['', null],\r\n fluexpirationDate: [this.fluvoucherExpirationDate, null],\r\n routineexpirationDate: [this.routinevoucherExpirationDate, null],\r\n // covidexpirationDate: [this.routinevoucherExpirationDate, null],\r\n clinicalReqs: this.addedImmunizations.length > 0 ? cliniclReqFA : this.formBuilder.array([])\r\n });\r\n }\r\n else if (this.outReachProgramType === OutReachProgramType.equityevents) {\r\n this.immunizationForm = this.formBuilder.group({\r\n immunizationSelected: ['', this.addedImmunizations.length > 0 ? null : Validators.required],\r\n paymentsSelected: ['', this.addedImmunizations.length > 0 ? null : Validators.required],\r\n everGreen: [this._localContractService.getEverGreenData()],\r\n name: [null, null],\r\n phone: [null, null],\r\n fax: ['', null],\r\n address1: ['', null],\r\n address2: [null, null],\r\n email1: [null, null],\r\n email2: [null, null],\r\n city: [null, null],\r\n state: ['', null],\r\n zip: [null, null],\r\n isTaxExempt: ['', null],\r\n isCopay: ['', null],\r\n copayValue: ['', null],\r\n isVoucherNeeded: ['', null],\r\n fluexpirationDate: [this.fluvoucherExpirationDate, null],\r\n routineexpirationDate: [this.routinevoucherExpirationDate, null],\r\n // covidexpirationDate: [this.routinevoucherExpirationDate, null],\r\n clinicalReqs: this.addedImmunizations.length > 0 ? cliniclReqFA : this.formBuilder.array([])\r\n });\r\n }\r\n else {\r\n this.immunizationForm = this.formBuilder.group({\r\n immunizationSelected: ['', this.addedImmunizations.length > 0 ? null : Validators.required],\r\n paymentsSelected: ['', this.addedImmunizations.length > 0 ? null : Validators.required],\r\n everGreen: [this._localContractService.getEverGreenData()],\r\n name: [null, null],\r\n phone: [null, null],\r\n fax: ['', null],\r\n address1: ['', null],\r\n address2: [null, null],\r\n email1: [null, null],\r\n email2: [null, null],\r\n city: [null, null],\r\n state: ['', null],\r\n zip: [null, null],\r\n isTaxExempt: ['', null],\r\n isCopay: ['', null],\r\n copayValue: ['', null],\r\n isVoucherNeeded: ['', null],\r\n fluexpirationDate: [this.fluvoucherExpirationDate, null],\r\n routineexpirationDate: [this.routinevoucherExpirationDate, null],\r\n // covidexpirationDate: [this.routinevoucherExpirationDate, null],\r\n clinicalReqs: this.addedImmunizations.length > 0 ? cliniclReqFA : this.formBuilder.array([])\r\n });\r\n }\r\n }\r\n\r\n clearImmFormFields() {\r\n this.clearFormFields();\r\n }\r\n\r\n closeCTI() {\r\n this.sendInvoiceTo = false;\r\n //this.clearFormFields();\r\n }\r\n\r\n deleteFieldValue(item: any) {\r\n \r\n let immunization = this.addedImmunizations;\r\n let index = immunization.findIndex(p => p.immunizationPk == item.immunizationPk && p.paymentTypeId == item.paymentTypeId);\r\n\r\n this.boundImmunizations.push({\r\n \"immunizationId\": immunization[index].immunizationPk,\r\n \"immunizationName\": immunization[index].immunizationName,\r\n \"immunizationSpanishName\": immunization[index].immunizationSpanishName,\r\n \"paymentTypeId\": immunization[index].paymentTypeId,\r\n \"paymentTypeName\": immunization[index].paymentTypeName,\r\n \"paymentTypeSpanishName\": immunization[index].paymentTypeSpanishName,\r\n \"price\": immunization[index].price,\r\n //\"directBillPrice\":immunization[index].directBillPrice,\r\n \"directBillPrice\": immunization[index].paymentTypeId == \"6\" ? immunization[index].price : immunization[index].directBillPrice,\r\n \"sendInvoiceTo\": immunization[index].sendInvoiceTo,\r\n \"showprice\": immunization[index].showprice,\r\n \"address1\": immunization[index].address1,\r\n \"address2\": immunization[index].address2,\r\n \"city\": immunization[index].city,\r\n \"copayValue\": immunization[index].copayValue,\r\n \"email\": immunization[index].email,\r\n \"isCopay\": immunization[index].isCopay,\r\n \"isTaxExempt\": immunization[index].isTaxExempt,\r\n \"isVoucherNeeded\": immunization[index].isVoucherNeeded,\r\n \"name\": immunization[index].name,\r\n \"phone\": immunization[index].phone,\r\n \"fax\": immunization[index].fax,\r\n \"state\": immunization[index].state,\r\n \"voucherExpirationDate\": immunization[index].voucherExpirationDate,\r\n \"zip\": immunization[index].zip\r\n });\r\n\r\n this.addedImmunizations.splice(index, 1);\r\n\r\n // check if the immunization with voucher payment type is getting removed AND we dont have any other voucher payment types\r\n // if yes then we should not display expiration dates and make voucher needed as No\r\n if ((item.paymentTypeId == 13 || item.paymentTypeId == '13') && !this.addedImmunizations.some(immunization => immunization.paymentTypeId == 13 || immunization.paymentTypeId == '13')) {\r\n this.canDisplayExpiryDates = false;\r\n this.immunizationForm.controls['isVoucherNeeded'].setValue('0');\r\n }\r\n\r\n if (this.addedImmunizations.length && this.InvoiceInformation.length) {\r\n this.addedImmunizations.forEach((immunization) => {\r\n immunization.isVoucherNeeded = this.immunizationForm.value.isVoucherNeeded;\r\n });\r\n\r\n this.InvoiceInformation.forEach((invoice) => {\r\n invoice.isVoucherNeeded = this.immunizationForm.value.isVoucherNeeded;\r\n });\r\n }\r\n\r\n if (this.addedImmunizations.length <= 0) {\r\n this._localContractService.SetIscanceled(false);\r\n }\r\n this.clinicalRequirementsDiv = false;\r\n\r\n this.immunizationForm.controls['immunizationSelected'].updateValueAndValidity();\r\n this.immunizationForm.controls['paymentsSelected'].updateValueAndValidity();\r\n const clinicalRequirementsIndex = ClinicalRequirementsImmunizations.findIndex(reqImmunization => reqImmunization === item.immunizationName);\r\n\r\n if (clinicalRequirementsIndex !== -1) {\r\n this.addedImmunizationsClinicalReqs.splice(clinicalRequirementsIndex, 1);\r\n }\r\n\r\n this.addedImmunizations.forEach(element => {\r\n if (element.paymentTypeName.toLowerCase().search('voucher') > -1) {\r\n this.isVoucherAvailable = true;\r\n }\r\n else {\r\n this.isVoucherAvailable = false;\r\n }\r\n\r\n // if(this.isVoucherAvailable == false){\r\n // this.addimmunizationData(); \r\n // }\r\n });\r\n\r\n const clinicalReqsFormArray = this.immunizationForm.controls.clinicalReqs as FormArray;\r\n const clinicalReqCtrlValues: any[] = this.immunizationForm.controls.clinicalReqs.value;\r\n const clinicalReqsCtrls = clinicalReqsFormArray.controls;\r\n\r\n const ctrlIndexToBeRemoved = clinicalReqsCtrls.findIndex(ctrl => ctrl.value.immunizationName === item.immunizationName);\r\n const valueIndexToBeRemoved = clinicalReqCtrlValues.findIndex(ctrlValue => ctrlValue.immunizationName === item.immunizationName);\r\n\r\n if ((valueIndexToBeRemoved !== -1) && (ctrlIndexToBeRemoved !== -1)) {\r\n this.immunizationForm.controls.clinicalReqs.value.splice(valueIndexToBeRemoved, 1);\r\n clinicalReqsCtrls.splice(valueIndexToBeRemoved, 1);\r\n }\r\n\r\n //this.formControls();\r\n this.setClinicalRequirementFlags();\r\n this.selectedPaymentType = 0;\r\n this.selectedImmunization = 0;\r\n this.PaymentTypes = [];\r\n this.price = \"\";\r\n this.paymentType = '0'\r\n\r\n if (this.addedImmunizations.length == 0) {\r\n this.InvoiceInformation = [];\r\n this.showSendInvoiceTodialog = true;\r\n this.isInvoiceInformationProvided = false;\r\n this.isVoucher = 0;\r\n }\r\n\r\n this.closeCTI();\r\n this.validateLocForm = true;\r\n\r\n //\r\n if(immunization.filter(item => item.paymentTypeId == 13).length == 0 && immunization.filter(item => item.paymentTypeId == 6).length == 0){\r\n this.isDirectPaymentOrVoucher = false;\r\n this.removeFieldValidation();\r\n }\r\n else\r\n {\r\n\r\n this.isDirectPaymentOrVoucher = true;\r\n }\r\n }\r\n resetValidationForInvoiceForm()\r\n {\r\n this.immunizationForm = this.formBuilder.group({\r\n immunizationSelected: ['', Validators.required],\r\n paymentsSelected: ['', Validators.required],\r\n name: ['', null],\r\n phone: ['', null],\r\n fax: ['', null],\r\n address1: ['', null],\r\n address2: [null, null],\r\n email1: [null, null],\r\n email2: [null, null],\r\n city: [null, null],\r\n state: ['', null],\r\n zip: ['', null],\r\n isTaxExempt: ['', null],\r\n isCopay: ['', null],\r\n copayValue: ['', null],\r\n isVoucherNeeded: ['', null],\r\n fluexpirationDate: [this.fluvoucherExpirationDate, null],\r\n routineexpirationDate: [this.routinevoucherExpirationDate, null],\r\n // covidexpirationDate: [this.routinevoucherExpirationDate, null],\r\n clinicalReqs: this.formBuilder.array([])\r\n });\r\n }\r\n getIndexFromClinicaReqArray(element: string) {\r\n let formGrpIndex: number = -1;\r\n let cliniclReqFA: FormArray = this.immunizationForm.controls['clinicalReqs'];\r\n for (let index = 0; index < cliniclReqFA.length; index++) {\r\n let formGrp: FormGroup = cliniclReqFA.controls[index];\r\n // there should be one formgroup with this immunization name\r\n if (formGrp.controls['immunizationName'].value === element) {\r\n formGrpIndex = index;\r\n break;\r\n }\r\n }\r\n return formGrpIndex;\r\n }\r\n\r\n onfluClinicDateSelected(selectedDate: Date) {\r\n const updatedFluExpDate = new Date(selectedDate.getFullYear(), selectedDate.getMonth(), selectedDate.getDate());\r\n const updatedflu = updatedFluExpDate.toLocaleDateString('en-US');\r\n this.immunizationForm.controls[\"fluexpirationDate\"].setValue(updatedflu);\r\n\r\n this.addedImmunizations.forEach(immunization => {\r\n if (immunization.immunizationName?.includes('flu')) {\r\n immunization.voucherExpirationDate = updatedflu;\r\n }\r\n });\r\n }\r\n\r\n onroutineClinicDateSelected(selectedDate: Date) {\r\n const updatedRoutineExpDate = new Date(selectedDate.getFullYear(), selectedDate.getMonth(), selectedDate.getDate());\r\n const updatedroutine = updatedRoutineExpDate.toLocaleDateString('en-US');\r\n this.immunizationForm.controls[\"routineexpirationDate\"].setValue(updatedroutine);\r\n\r\n this.addedImmunizations.forEach(immunization => {\r\n if (immunization.immunizationName?.search('flu') == -1) {\r\n immunization.voucherExpirationDate = updatedroutine;\r\n }\r\n });\r\n SessionDetails.SetImmunizationdata(this.immunizationForm.value);\r\n }\r\n\r\n onCovidClinicDateSelected(selectedDate: Date) {\r\n this.immunizationForm.controls[\"covidexpirationDate\"].setValue(new Date(selectedDate.getFullYear(), selectedDate.getMonth(), selectedDate.getDate(), 18, 55, 55));\r\n }\r\n\r\n handleCopay(copayValue: any) {\r\n this.isCopay = copayValue == '1';\r\n if (copayValue == '1') {\r\n this.immunizationForm.controls['copayValue'].setValidators([Validators.required]);\r\n this.immunizationForm.controls['copayValue'].updateValueAndValidity();\r\n } else {\r\n this.immunizationForm.controls['copayValue'].setValidators(null);\r\n this.immunizationForm.controls['copayValue'].setErrors(null);\r\n this.immunizationForm.controls['copayValue'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n handleVoucher(voucherneeded: any) {\r\n let immunization = this.addedImmunizations.filter(item => (item.immunizationPk == this.immunizationPk && item.paymentTypeId == 6));\r\n\r\n if (voucherneeded == '1') {\r\n\r\n // this.isCovidVaccineAvailable = false;\r\n\r\n if (this.addedImmunizations.length > 0 && immunization[0] && immunization[0].immunizationName.toLowerCase().search('covid') > -1) {\r\n this.isCovidVaccineAvailable = true;\r\n this.isCovidVoucherAvailable = this.isCovidVoucherAvailable && immunization[0].immunizationName.toLowerCase().search('voucher') > -1;\r\n }\r\n else if (this.selectedPaymentType[0] && this.selectedPaymentType[0].immunizationName.toLowerCase().search('covid') > -1) {\r\n this.isCovidVaccineAvailable = true;\r\n this.isCovidVoucherAvailable = this.isCovidVoucherAvailable && this.selectedPaymentType[0].immunizationName.toLowerCase().search('voucher') > -1;\r\n }\r\n this.isVoucher = 1;\r\n let date = new Date();\r\n if ((immunization != undefined || immunization != null)\r\n && (immunization[0] != undefined || immunization[0] != null)\r\n && (immunization[0].routinevoucherExpirationDate != null || immunization[0].routinevoucherExpirationDate != undefined)) {\r\n this.routinevoucherExpirationDate = new Date(immunization[0].routinevoucherExpirationDate);\r\n this.covidvoucherExpirationDate = new Date(immunization[0].routinevoucherExpirationDate);\r\n } else {\r\n this.routinevoucherExpirationDate = new Date(date.getFullYear() + 1, date.getMonth(), date.getDate(), 12, 55, 55);\r\n this.covidvoucherExpirationDate = new Date(date.getFullYear() + 1, date.getMonth(), date.getDate(), 12, 55, 55);\r\n }\r\n if (date.getMonth() == 0 || date.getMonth() == 1 || (date.getMonth() == 2 && date.getDate() >= 1 && date.getDate() <= 31)) {\r\n if ((immunization != undefined || immunization != null)\r\n && (immunization[0] != undefined || immunization[0] != null)\r\n && (immunization[0].fluvoucherExpirationDate != null || immunization[0].fluvoucherExpirationDate != undefined)) {\r\n this.fluvoucherExpirationDate = new Date(immunization[0].voucherExpirationDate);\r\n } else {\r\n this.fluvoucherExpirationDate = new Date(date.getFullYear(), 3, 1, 12, 55, 55);\r\n }\r\n }\r\n else {\r\n if ((immunization != undefined || immunization != null)\r\n && (immunization[0] != undefined || immunization[0] != null)\r\n && (immunization[0].fluvoucherExpirationDate != null || immunization[0].fluvoucherExpirationDate != undefined)) {\r\n this.fluvoucherExpirationDate = new Date(immunization[0].voucherExpirationDate);\r\n } else {\r\n this.fluvoucherExpirationDate = new Date(date.getFullYear() + 1, 3, 1, 12, 55, 55);\r\n }\r\n }\r\n this.flumaxDateValue = this.fluvoucherExpirationDate;\r\n this.fluminDateValue = date;\r\n this.immunizationForm.controls['fluexpirationDate'].patchValue(this.fluvoucherExpirationDate);\r\n this.routinemaxDateValue = this.routinevoucherExpirationDate;\r\n this.routineminDateValue = date;\r\n this.immunizationForm.controls['routineexpirationDate'].patchValue(this.routinevoucherExpirationDate);\r\n // this.immunizationForm.controls['covidexpirationDate'].setValue(this.covidvoucherExpirationDate);\r\n }\r\n else {\r\n this.isVoucher = 0;\r\n //this.isCovidVoucherAvailable = false;\r\n }\r\n\r\n if (this.addedImmunizations.length && this.InvoiceInformation.length) {\r\n this.addedImmunizations.forEach((immunization) => {\r\n immunization.isVoucherNeeded = this.immunizationForm.value.isVoucherNeeded;\r\n });\r\n\r\n this.InvoiceInformation.forEach((invoice) => {\r\n invoice.isVoucherNeeded = this.immunizationForm.value.isVoucherNeeded;\r\n });\r\n }\r\n }\r\n\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n ClosedisplayDesMisMatchModal() {\r\n this.displayDesMisMatchModal = false;\r\n }\r\n CloseAddImmnzsModal() {\r\n\r\n this.CanAddNewImmunzsModal = false;\r\n this.canAddNewImmunzsSelected = true;\r\n // sessionStorage[\"canAddNewImmunzsSelected\"] = \"true\";\r\n }\r\n\r\n ContinueToStepTwo() {\r\n\r\n this.canAddNewImmunzsSelected = false;\r\n this.CanAddNewImmunzsModal = false;\r\n this.CanAddNewImmunzsModalContinue = true;\r\n this.clinicSubmit.emit(2);\r\n }\r\n\r\n showMismatchDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.displayDesMisMatchModal = true;\r\n }\r\n\r\n CheckCanAddNewImmunzs() {\r\n\r\n let isFluVaccineAvailable = this.addedImmunizations.filter(item => item.immunizationName.toLowerCase().search(/flu/) >= 0).length > 0;\r\n let isRoutineuVaccineAvailable = this.addedImmunizations.filter(item => item.immunizationName.toLowerCase().search(/flu/) == -1).length > 0;\r\n\r\n if (isFluVaccineAvailable && isRoutineuVaccineAvailable) {\r\n this.CanAddNewImmunzsModalContinue = true;\r\n return \"false\";\r\n }\r\n else if (isFluVaccineAvailable && !isRoutineuVaccineAvailable) {\r\n return \"routine\";\r\n\r\n }\r\n else if (!isFluVaccineAvailable && isRoutineuVaccineAvailable) {\r\n return \"flu\";\r\n }\r\n else {\r\n return \"false\";\r\n }\r\n\r\n\r\n }\r\n\r\n radioCheck(radioChecked: any) {\r\n this.everGreenValue = radioChecked;\r\n this._localContractService.setEverGreenData(this.everGreenValue);\r\n }\r\n\r\n save(outReachPrgType?: string): boolean {\r\n if (this.addedImmunizations.length > 0) {\r\n this.setFormCtrlsValidations(\"immunizationSelected\");\r\n this.setFormCtrlsValidations(\"paymentsSelected\");\r\n }\r\n\r\n if (this.immunizationForm.valid && this.addedImmunizations.length > 0 && (this.outReachProgramType === OutReachProgramType.communityoutreach || this.outReachProgramType === OutReachProgramType.equityevents)) {\r\n if (!this.checkVoucherExpiryDatescompliance()) {\r\n return false;\r\n }\r\n // if (!this.checkDesigantionMismatch()) {\r\n // return false;\r\n // }\r\n this.setclinicalReqsFlagsFromUI();\r\n this._localContractService.setCOSelectedImmunizations(this.addedImmunizations);\r\n this._localContractService.setCOCancelSelectedImmunizations(this.addedImmunizations);\r\n return true;\r\n }\r\n else if (this.immunizationForm.valid && this.addedImmunizations.length > 0) { //&& this._localContractService.getEverGreenData() != ''\r\n if (!this.checkVoucherExpiryDatescompliance()) {\r\n return false;\r\n }\r\n // if (!this.checkDesigantionMismatch()) {\r\n // return false;\r\n // }\r\n this.setclinicalReqsFlagsFromUI();\r\n this._localContractService.setSelectedImmunizations(this.addedImmunizations);\r\n this._localContractService.setCancelSelectedImmunizations(this.addedImmunizations);\r\n let result = this.CheckCanAddNewImmunzs();\r\n if (result != \"false\") {\r\n if (this.CanAddNewImmunzsModalContinue)\r\n return true;\r\n\r\n if (result == 'flu') {\r\n this.dialogMsg = ErrorMessages['CanAddFluImms'];\r\n this.dialogSummary = ErrorMessages['clinicDetailsErrHeader'];\r\n this.CanAddNewImmunzsModal = true;\r\n }\r\n else {\r\n this.dialogMsg = ErrorMessages['CanAddRoutineImms'];\r\n this.dialogSummary = ErrorMessages['clinicDetailsErrHeader'];\r\n this.CanAddNewImmunzsModal = true;\r\n }\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n else {\r\n this.msgs = [];\r\n let dtlMsg = ErrorMessages['MandatoryFields'];\r\n if (this.addedImmunizations.length <= 0) {\r\n dtlMsg = ErrorMessages['Atleast1Immunization'];\r\n }\r\n else {\r\n if ((this.immunizationForm.controls['immunizationSelected'].valid && !this.immunizationForm.controls['paymentsSelected'].valid)) {\r\n this.setFormCtrlsValidations(\"immunizationSelected\");\r\n }\r\n else if (!this.immunizationForm.controls['immunizationSelected'].valid && this.immunizationForm.controls['paymentsSelected'].valid) {\r\n this.setFormCtrlsValidations(\"paymentsSelected\");\r\n }\r\n else {\r\n this.setFormCtrlsValidations(\"immunizationSelected\");\r\n this.setFormCtrlsValidations(\"paymentsSelected\");\r\n var clReqsFA = (this.immunizationForm.controls['clinicalReqs']);\r\n let clReqList: string = '';\r\n let clReqListCount: number = 0;\r\n for (let index = 0; index < clReqsFA.length; ++index) {\r\n let fg: FormGroup = clReqsFA.controls[index];\r\n if (ClinicalRequirementsImmunizations.indexOf(fg.controls['immunizationName'].value) > -1 && (\r\n\r\n fg.controls['isClinicalReqd'].value != true)) {\r\n fg.controls['isClinicalReqd'].setValue(null);\r\n fg.controls['isClinicalReqd'].setValidators([Validators.required]);\r\n fg.controls['isClinicalReqd'].updateValueAndValidity();\r\n if (clReqListCount > 0) {\r\n clReqList += \" and \" + fg.controls['immunizationName'].value;\r\n }\r\n else {\r\n clReqList = fg.controls['immunizationName'].value;\r\n }\r\n clReqListCount++;\r\n }\r\n fg.updateValueAndValidity();\r\n if (clReqList != '') {\r\n dtlMsg = String.Format(ErrorMessages['clinicalRequirementsError'], clReqList)\r\n }\r\n\r\n }\r\n }\r\n }\r\n let err = ErrorMessages['errMsg'];\r\n this.showDialog(err, dtlMsg);\r\n this.utility.validateAllFormFields(this.immunizationForm);\r\n return false;\r\n }\r\n }\r\n\r\n setFormCtrlsValidations(frmCtrlName, setToNull = true) {\r\n this.immunizationForm.controls[frmCtrlName].setValidators(null);\r\n this.immunizationForm.controls[frmCtrlName].setErrors(null);\r\n this.immunizationForm.controls[frmCtrlName].updateValueAndValidity();\r\n }\r\n\r\n updateValidations(index, checked) {\r\n if (!checked) {\r\n let clinicalReqsFA: FormArray = (this.immunizationForm.controls['clinicalReqs']);\r\n if (clinicalReqsFA.length > 0) {\r\n let fg: FormGroup = ((clinicalReqsFA.controls[index]));\r\n if (fg.controls['isClinicalReqd'].value != true) {\r\n fg.controls['isClinicalReqd'].setValue(null);\r\n }\r\n fg.controls['isClinicalReqd'].setValidators([Validators.required]);\r\n if (this.addedImmunizations.length > 0) {\r\n this.setFormCtrlsValidations(\"immunizationSelected\");\r\n this.setFormCtrlsValidations(\"paymentsSelected\");\r\n }\r\n }\r\n clinicalReqsFA.updateValueAndValidity();\r\n }\r\n else {\r\n const clinicalReqsFormArray = this.immunizationForm.controls.clinicalReqs as FormArray;\r\n const selectedClinicalReqsCtrl = clinicalReqsFormArray.controls[index];\r\n let a = selectedClinicalReqsCtrl.get('isClinicalReqd');\r\n selectedClinicalReqsCtrl.get('isClinicalReqd').setValue(checked);\r\n this.immunizationForm.updateValueAndValidity();\r\n }\r\n\r\n this.setclinicalReqsFlagsFromUI();\r\n }\r\n setclinicalReqsFlagsFromUI() {\r\n this.addedImmunizations.forEach(imm => {\r\n if (ClinicalRequirementsImmunizations.indexOf(imm.immunizationName) > -1) {\r\n let chkBxIndex: number = this.getIndexFromClinicaReqArray(imm.immunizationName);\r\n if (chkBxIndex > -1) {\r\n let fg: FormGroup = ((this.immunizationForm.controls['clinicalReqs']).controls[chkBxIndex]);\r\n imm.isClinicalReqd = fg.controls['isClinicalReqd'].value;\r\n if (imm.isClinicalReqd != true) {\r\n fg.controls['isClinicalReqd'].setValue(null);\r\n fg.controls['isClinicalReqd'].setValidators(Validators.required);\r\n }\r\n if (imm.isClinicalReqd == true) {\r\n imm.clinicalReqdApprovedBy = SessionDetails.GetUserProfile().userPk;\r\n imm.clinicalReqApprovedDate = new Date();\r\n }\r\n else {\r\n imm.clinicalReqdApprovedBy = null;\r\n imm.clinicalReqApprovedDate = null;\r\n }\r\n }\r\n else {\r\n imm.isClinicalReqd = null;\r\n }\r\n }\r\n else {\r\n imm.isClinicalReqd = null;\r\n }\r\n });\r\n }\r\n simpleSave(outReachPrgType?: string): boolean {\r\n this.immunizationForm.controls['immunizationSelected'].updateValueAndValidity();\r\n this.immunizationForm.controls['paymentsSelected'].updateValueAndValidity();\r\n if ((this.immunizationForm.controls['immunizationSelected'].valid && !this.immunizationForm.controls['paymentsSelected'].valid) ||\r\n (!this.immunizationForm.controls['immunizationSelected'].valid && this.immunizationForm.controls['paymentsSelected'].valid)) {\r\n return false;\r\n }\r\n if (this.outReachProgramType === OutReachProgramType.communityoutreach || this.outReachProgramType === OutReachProgramType.equityevents) { //this.addedImmunizations.length > 0 &&\r\n this.setclinicalReqsFlagsFromUI();\r\n this._localContractService.setCOSelectedImmunizations(this.addedImmunizations);\r\n return true;\r\n }\r\n else { //&& this._localContractService.getEverGreenData() != '' if (this.addedImmunizations.length > 0)\r\n this.setclinicalReqsFlagsFromUI();\r\n this._localContractService.setSelectedImmunizations(this.addedImmunizations);\r\n return true;\r\n }\r\n }\r\n\r\n displayDialogCC() {\r\n this.selectedPaymentType = 0;\r\n this.selectedImmunization = 0;\r\n this.clearImmFormFields();\r\n this.PaymentTypes = [];\r\n this.price = \"\";\r\n this.displayDialog = false;\r\n }\r\n\r\n editCorporateToInvoice(index: any) {\r\n\r\n\r\n\r\n //\r\n this.showSendInvoiceTodialog = true;\r\n this.isEditClick = true;\r\n this.rowIndex = index;\r\n this.btnContinue = false;\r\n this.btnUpdate = true;\r\n\r\n\r\n console.log(this.InvoiceInformation);\r\n let immunization: any = [];\r\n if (this.InvoiceInformation.filter(item => (item.paymentTypeId == 13)).length > 0) {\r\n\r\n immunization = this.InvoiceInformation.filter(item => (item.paymentTypeId == 13));\r\n }\r\n else {\r\n\r\n immunization = this.InvoiceInformation.filter(item => (item.paymentTypeId == 6));\r\n }\r\n\r\n // item.paymentTypeId == 6 ||\r\n this.isCopay = immunization[0].isCopay == '1';\r\n this.isVoucher = immunization[0].isVoucherNeeded == '1';\r\n this.sendInvoiceTo = true;\r\n this.displayDialog = true;\r\n let date = new Date();\r\n this.routinemaxDateValue = new Date(date.getFullYear() + 1, date.getMonth(), date.getDate(), 12, 55, 55);\r\n\r\n if (date.getMonth() == 0 || date.getMonth() == 1 || date.getMonth() == 2) {\r\n immunization[0].maxDateValue = new Date(date.getFullYear(), 3, 1, 12, 55, 55);\r\n this.flumaxDateValue = new Date(date.getFullYear(), 3, 1, 12, 55, 55);\r\n } else {\r\n immunization[0].maxDateValue = new Date(date.getFullYear() + 1, 3, 1, 12, 55, 55);\r\n this.flumaxDateValue = new Date(date.getFullYear() + 1, 3, 1, 12, 55, 55);\r\n }\r\n //\r\n immunization[0].minDateValue = date;\r\n let cliniclReqFA: FormArray = this.immunizationForm.controls['clinicalReqs'];\r\n this.immunizationForm =\r\n this.formBuilder.group({\r\n immunizationSelected: ['', null],\r\n paymentsSelected: ['', null],\r\n name: [immunization[0].name, Validators.required],\r\n phone: [immunization[0].phone, Validators.required],\r\n fax: [immunization[0].fax, null],\r\n address1: [immunization[0].address1, Validators.required],\r\n address2: [immunization[0].address2, null],\r\n email1: [immunization[0].email.toLowerCase(), Validators.email],\r\n email2: [immunization[0].email.toLowerCase(), Validators.email],\r\n city: [immunization[0].city, Validators.required],\r\n state: [immunization[0].state, Validators.required],\r\n zip: [immunization[0].zip, Validators.required],\r\n isTaxExempt: [immunization[0].isTaxExempt, Validators.required],\r\n isCopay: [immunization[0].isCopay, Validators.required],// == 'Yes'\r\n copayValue: [immunization[0].isCopay == '1' ? immunization[0].copayValue : '', this.immunizationForm.value.isCopay == '1' ? Validators.required : null],\r\n isVoucherNeeded: [immunization[0].isVoucherNeeded == true ? '1' : 0, Validators.required],\r\n fluexpirationDate: [new Date(immunization[0].fluvoucherExpirationDate), (this.immunizationForm.value.isVoucherNeeded == '1' || this.immunizationForm.value.isVoucherNeeded == 1) ? Validators.required : null],\r\n routineexpirationDate: [new Date(immunization[0].routinevoucherExpirationDate), (this.immunizationForm.value.isVoucherNeeded == '1' || this.immunizationForm.value.isVoucherNeeded == 1) ? Validators.required : null],\r\n // covidexpirationDate: [new Date(immunization[0].covidvoucherExpirationDate), (this.immunizationForm.value.isVoucherNeeded == '1' || this.immunizationForm.value.isVoucherNeeded == 1)&&this.isCovidVaccineAvailable===true ? Validators.required : null],\r\n clinicalReqs: this.addedImmunizations.length > 0 ? cliniclReqFA : this.formBuilder.array([])\r\n });\r\n }\r\n\r\n checkVoucherExpiryDatesValidity(immunizationName: string, immunizationPk: number, selectedDate: string) {\r\n\r\n let isVoucherValid: boolean = true;\r\n let isVaccineFluType: boolean = false;\r\n isVaccineFluType = immunizationName.toLowerCase().search('flu') !== -1 ? true : false;\r\n\r\n if (isVaccineFluType) {\r\n this.addedImmunizations.forEach(im => {\r\n\r\n if (\r\n (im.isVoucherNeeded === '1' || im.isVoucherNeeded === 1) && (im.sendInvoiceTo === '1' || im.sendInvoiceTo === 1) && im.immunizationName.toLowerCase().search('flu') !== -1 && im.immunizationPk !== immunizationPk\r\n ) {\r\n let imzDate: string = this.datePipe.transform(im.voucherExpirationDate, \"MM/dd/yyyy\");\r\n if (selectedDate.search(imzDate) === -1) {\r\n isVoucherValid = false;\r\n return isVoucherValid;\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n this.addedImmunizations.forEach(im => {\r\n\r\n if (\r\n (im.isVoucherNeeded === '1' || im.isVoucherNeeded === 1) && (im.sendInvoiceTo === '1' || im.sendInvoiceTo === 1) && im.immunizationName.toLowerCase().search('flu') == -1 && im.immunizationPk !== immunizationPk\r\n ) {\r\n let imzDate: string = this.datePipe.transform(im.voucherExpirationDate, \"MM/dd/yyyy\");\r\n if (selectedDate.search(imzDate) === -1) {\r\n isVoucherValid = false;\r\n return isVoucherValid;\r\n }\r\n }\r\n });\r\n }\r\n return isVoucherValid;\r\n }\r\n\r\n checkVoucherExpiryDatescompliance(): boolean {\r\n let dtlMsg: string = '';\r\n try {\r\n this.addedImmunizations.forEach(im => {\r\n if (im.isVoucherNeeded == 1 || im.isVoucherNeeded == true) {\r\n if (!this.checkVoucherExpiryDatesValidity(im.immunizationName, im.immunizationPk,\r\n this.datePipe.transform(im.voucherExpirationDate, \"MM/dd/yyyy\"))) {\r\n\r\n if (im.immunizationName.toLowerCase().search('flu') !== -1) {\r\n dtlMsg = ErrorMessages['fluVoucherExpiryInValid'];\r\n } else {\r\n dtlMsg = ErrorMessages['routineVoucherExpiryInValid'];\r\n }\r\n\r\n throw false;\r\n }\r\n }\r\n });\r\n } catch (e) {\r\n let err = ErrorMessages['resolve'];\r\n this.showDialog(err, dtlMsg);\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n checkDesigantionMismatch(): boolean {\r\n let dtlMsg: string = '';\r\n try {\r\n if (this.addedImmunizations.findIndex(x => x.immunizationName.includes(\"COVID\")) > -1 && !this.contractedOpportunity.isCovidOpportunity) {\r\n if (this.outReachProgramType == OutReachProgramType.communityoutreach || sessionStorage[\"AmendAgreement\"] == \"true\") {\r\n dtlMsg = ErrorMessages['DesignationMisMatchCovidCommOR'];\r\n }\r\n else {\r\n dtlMsg = ErrorMessages['DesignationMisMatchCovid'];\r\n }\r\n throw false;\r\n }\r\n if (this.addedImmunizations.findIndex(x => x.immunizationName.includes(\"COVID\")) == -1 && !this.contractedOpportunity.isFluOpportunity) {\r\n if (this.outReachProgramType == OutReachProgramType.communityoutreach || sessionStorage[\"AmendAgreement\"] == \"true\") {\r\n dtlMsg = ErrorMessages['DesignationMisMatchFluCommOR'];\r\n }\r\n else {\r\n dtlMsg = ErrorMessages['DesignationMisMatchFlu'];\r\n }\r\n\r\n throw false;\r\n }\r\n }\r\n catch (e) {\r\n let err = ErrorMessages['errMsg'];\r\n this.showMismatchDialog(err, dtlMsg);\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n NavigateToStore() {\r\n\r\n SessionDetails.SetActionType(ActionType.editOportunity);\r\n this.router.navigateByUrl('/communityoutreach/opportunity');\r\n }\r\n\r\n cancelImmunization(): boolean {\r\n var compare_objects = false;\r\n this.cancel_check = this._localContractService.getIsCancel();\r\n compare_objects = this.cancel_check;// this.utility.compareTwoObjects(this.immunization_data, this.addedImmunizations);\r\n return compare_objects;\r\n }\r\n\r\n checkIfAnyImmunizationsAdded() {\r\n if (this.addedImmunizations.length > 0) {\r\n return true;\r\n } else {\r\n this.utility.validateAllFormFields(this.immunizationForm);\r\n return false;\r\n }\r\n }\r\n\r\n public isFormValid(): boolean {\r\n return this.immunizationForm.valid;\r\n }\r\n\r\n validateName(event) {\r\n if (event) {\r\n if (this.addedImmunizations.length && this.InvoiceInformation.length) {\r\n this.addedImmunizations.forEach((immunization) => {\r\n immunization.name = this.immunizationForm.value.name;\r\n });\r\n\r\n this.InvoiceInformation.forEach((invoice) => {\r\n invoice.name = this.immunizationForm.value.name;\r\n });\r\n }\r\n\r\n this.canAddImmunizationData();\r\n }\r\n }\r\n\r\n validatePhone(event) {\r\n if (event) {\r\n if ((this.immunizationForm.value.phone).indexOf(\"X\") > -1) {\r\n this.immunizationForm.controls['phone'].setValue(null);\r\n this.immunizationForm.controls['phone'].updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.immunizationForm);\r\n let dtlMsg = ErrorMessages['MandatoryFields'];\r\n let err = ErrorMessages['errMsg'];\r\n this.showDialog(err, dtlMsg);\r\n return false;\r\n }\r\n\r\n if (!this.usPhoneNoRegEx.test(this.immunizationForm.value.phone)) {\r\n let dtlMsg = ErrorMessages['invalidPhoneNo'];\r\n let err = ErrorMessages['errMsg'];\r\n this.showDialog(err, dtlMsg);\r\n return;\r\n }\r\n\r\n if (this.addedImmunizations.length && this.InvoiceInformation.length) {\r\n this.addedImmunizations.forEach((immunization) => {\r\n immunization.phone = this.immunizationForm.value.phone;\r\n });\r\n\r\n this.InvoiceInformation.forEach((invoice) => {\r\n invoice.phone = this.immunizationForm.value.phone;\r\n });\r\n }\r\n\r\n this.canAddImmunizationData();\r\n }\r\n }\r\n\r\n validateFax(event) {\r\n if (event) {\r\n if (this.immunizationForm.value.fax && !this.usFaxNoRegEx.test(this.immunizationForm.value.fax)) {\r\n this.immunizationForm.controls.fax.setValue(null);\r\n this.immunizationForm.controls.fax.updateValueAndValidity();\r\n let dtlMsg = ErrorMessages['invalidFaxNo'];\r\n let err = ErrorMessages['errMsg'];\r\n this.showDialog(err, dtlMsg);\r\n return;\r\n }\r\n\r\n if (this.addedImmunizations.length && this.InvoiceInformation.length) {\r\n this.addedImmunizations.forEach((immunization) => {\r\n immunization.fax = this.immunizationForm.value.fax;\r\n });\r\n\r\n this.InvoiceInformation.forEach((invoice) => {\r\n invoice.fax = this.immunizationForm.value.fax;\r\n });\r\n }\r\n\r\n this.canAddImmunizationData();\r\n }\r\n }\r\n\r\n validateEmail(event) {\r\n if (event) {\r\n if (this.immunizationForm.controls['email1'].value.toLowerCase()\r\n !== this.immunizationForm.controls['email2'].value.toLowerCase()) {\r\n let dtlMsg = ErrorMessages['VerifyEmail'];\r\n let err = ErrorMessages['errMsg'];\r\n this.showDialog(err, dtlMsg);\r\n return;\r\n }\r\n\r\n if (this.addedImmunizations.length && this.InvoiceInformation.length) {\r\n this.addedImmunizations.forEach((immunization) => {\r\n immunization.email = this.immunizationForm.value.email1;\r\n });\r\n\r\n this.InvoiceInformation.forEach((invoice) => {\r\n invoice.email = this.immunizationForm.value.email1;\r\n });\r\n }\r\n this.canAddImmunizationData();\r\n }\r\n }\r\n\r\n validateAddress1(event) {\r\n if (event) {\r\n if (this.addedImmunizations.length && this.InvoiceInformation.length) {\r\n this.addedImmunizations.forEach((immunization) => {\r\n immunization.address1 = this.immunizationForm.value.address1;\r\n });\r\n\r\n this.InvoiceInformation.forEach((invoice) => {\r\n invoice.address1 = this.immunizationForm.value.address1;\r\n });\r\n }\r\n this.canAddImmunizationData();\r\n }\r\n }\r\n\r\n validateAddress2(event) {\r\n if (event) {\r\n if (this.addedImmunizations.length && this.InvoiceInformation.length) {\r\n this.addedImmunizations.forEach((immunization) => {\r\n immunization.address2 = this.immunizationForm.value.address2;\r\n });\r\n\r\n this.InvoiceInformation.forEach((invoice) => {\r\n invoice.address2 = this.immunizationForm.value.address2;\r\n });\r\n }\r\n this.canAddImmunizationData();\r\n }\r\n }\r\n\r\n validateCity(event) {\r\n if (event) {\r\n if (this.addedImmunizations.length && this.InvoiceInformation.length) {\r\n this.addedImmunizations.forEach((immunization) => {\r\n immunization.city = this.immunizationForm.value.city;\r\n });\r\n\r\n this.InvoiceInformation.forEach((invoice) => {\r\n invoice.city = this.immunizationForm.value.city;\r\n });\r\n }\r\n this.canAddImmunizationData();\r\n }\r\n }\r\n\r\n validateState(event) {\r\n if (event) {\r\n if (this.addedImmunizations.length && this.InvoiceInformation.length) {\r\n this.addedImmunizations.forEach((immunization) => {\r\n immunization.state = this.immunizationForm.value.state;\r\n });\r\n\r\n this.InvoiceInformation.forEach((invoice) => {\r\n invoice.state = this.immunizationForm.value.state;\r\n });\r\n }\r\n this.canAddImmunizationData();\r\n }\r\n }\r\n\r\n validateCopay(event) {\r\n if (event) {\r\n if ((this.immunizationForm.value.isCopay == '1' || this.immunizationForm.value.isCopay == 1) && !this.ccRegex.test(this.immunizationForm.value.copayValue)) {\r\n let dtlMsg = ErrorMessages['dotNotAllowedCharacter'];\r\n let err = ErrorMessages['errMsg'];\r\n this.showDialog(err, dtlMsg);\r\n return;\r\n }\r\n this.canAddImmunizationData();\r\n }\r\n }\r\n\r\n validateZipCode(event) {\r\n if (event) {\r\n if (!this.usZipCodeRegEx.test(this.immunizationForm.value.zip)) {\r\n let dtlMsg = ErrorMessages['invalidZipCode'];\r\n let err = ErrorMessages['errMsg'];\r\n this.showDialog(err, dtlMsg);\r\n return;\r\n }\r\n\r\n if (this.addedImmunizations.length && this.InvoiceInformation.length) {\r\n this.addedImmunizations.forEach((immunization) => {\r\n immunization.zip = this.immunizationForm.value.zip;\r\n });\r\n\r\n this.InvoiceInformation.forEach((invoice) => {\r\n invoice.zip = this.immunizationForm.value.zip;\r\n });\r\n }\r\n this.canAddImmunizationData();\r\n }\r\n }\r\n\r\n validateTaxExempt(event) {\r\n if (event) {\r\n if (this.addedImmunizations.length && this.InvoiceInformation.length) {\r\n this.addedImmunizations.forEach((immunization) => {\r\n immunization.isTaxExempt = this.immunizationForm.value.isTaxExempt;\r\n });\r\n\r\n this.InvoiceInformation.forEach((invoice) => {\r\n invoice.isTaxExempt = this.immunizationForm.value.isTaxExempt;\r\n });\r\n }\r\n this.canAddImmunizationData();\r\n }\r\n }\r\n\r\n canAddImmunizationData() {\r\n\r\n const nameCtrlValid = this.immunizationForm.controls['name'].valid;\r\n const phoneCtrlValid = this.immunizationForm.controls['phone'].valid;\r\n const faxCtrlValid = this.immunizationForm.controls['fax'].valid;\r\n const email1CtrlValid = this.immunizationForm.controls['email1'].valid;\r\n const email2CtrlValid = this.immunizationForm.controls['email2'].valid;\r\n const address1CtrlValid = this.immunizationForm.controls['address1'].valid;\r\n const address2CtrlValid = this.immunizationForm.controls['address2'].valid;\r\n const cityCtrlValid = this.immunizationForm.controls['city'].valid;\r\n const stateCtrlValid = this.immunizationForm.controls['state'].valid;\r\n const zipCtrlValid = this.immunizationForm.controls['zip'].valid;\r\n const isTaxExemptCtrlValid = this.immunizationForm.controls['isTaxExempt'].valid;\r\n\r\n const isFormValid = nameCtrlValid && phoneCtrlValid && faxCtrlValid && email1CtrlValid && email2CtrlValid\r\n && address1CtrlValid && address2CtrlValid && cityCtrlValid && stateCtrlValid && zipCtrlValid && isTaxExemptCtrlValid\r\n\r\n if (isFormValid) {\r\n // this.selectedImmunization = this.selectedImmunizationValue;\r\n // this.selectedPaymentType = this.selectedPaymentTypeValue;\r\n this.addimmunizationData();\r\n this.selectedImmunization = 0;\r\n this.selectedPaymentType = 0;\r\n }\r\n }\r\n}","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormArray, FormGroup, NgForm } from '@angular/forms';\r\nimport { OutreachProgramService } from '../../services/outreach-program.service';\r\nimport { ImmunizationsComponent } from '../../components/immunizations/immunizations.component';\r\nimport { LocationsListComponent } from '../../components/contract-locations-list/locations-list.component';\r\nimport { WitnessComponent } from '../../components/contract-pharmacy-info/witness.component';\r\nimport { WorkflowGuard } from '../../workflow/workflow-guard.service';\r\nimport { STEPS } from '../../workflow/workflow.model';\r\nimport { OutReachProgramType } from '../../../../models/OutReachPrograms';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { Router } from '@angular/router';\r\nimport { String } from 'typescript-string-operations';\r\nimport { Location, DatePipe } from '@angular/common';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { AlertService } from '../../../../alert.service';\r\nimport { WorkflowService } from '../../workflow/workflow.service';\r\nimport { TimeToDatePipe } from '../../pipes/time-to-date.pipe';\r\nimport { universalContractReleaseDate } from '../../../../../app/JSON/UniversalTandC';\r\nimport { getContractComponentName } from '../../../../utility/loadContracts';\r\nimport * as moment from 'moment';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { ClinicDetailsUtilities } from '../../../../../app/utility/clinicDetailsUtilities';\r\n@Component({\r\n selector: 'app-contract',\r\n templateUrl: './contract.component.html',\r\n styleUrls: ['./contract.component.css'],\r\n providers: [WorkflowGuard, TimeToDatePipe, DatePipe]\r\n})\r\nexport class ContractComponent implements OnInit {\r\n @ViewChild(ImmunizationsComponent) imzcmp: ImmunizationsComponent;\r\n @ViewChild(LocationsListComponent) loccmp: LocationsListComponent;\r\n @ViewChild(WitnessComponent) witcmp: WitnessComponent;\r\n\r\n addedImmunizations: any[] = [];\r\n InvoiceInformation: any[] = [];\r\n validateInvoceInfo: boolean = false;\r\n invoiceInfoPopUp: boolean = false;\r\n cancel_check: boolean = false;\r\n contractDataDBSnapShot: any;\r\n showHints: boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) == 'yes') ? false : true;\r\n pageName: string = ((sessionStorage.getItem(\"AmendAgreement\")) == 'true') ? 'amendcontract' : 'contract';\r\n\r\n step: number = 1;\r\n step_desc: string;\r\n contractData: any;\r\n form: NgForm\r\n errorse: any;\r\n errorstatus: any;\r\n OutReachProgramType: string;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n //displayInventoryWarning: boolean = false;\r\n //displayInventoryWarningOkClicked:boolean = true;\r\n immunizerWarningAlert: boolean = false;\r\n immunizerWarningOkClicked: boolean = false;\r\n cancel_save: string;\r\n savePopUp: boolean = false;\r\n isLocationsFormValid: boolean = false;\r\n isPharmacyFormValid: boolean = false;\r\n isPharmacyFormValidResp;\r\n startTimeEndTimesStep_desc: string;\r\n showStartTimeEndTimeValid: boolean = false;\r\n isTimeValid: Number = 0;\r\n OverrideOrOkTitle: string = \"Override\";\r\n showCancelBtn: boolean = false;\r\n inNoclinicPopUp: boolean = false;\r\n showPreUniversalContract: boolean = false;\r\n componentToRenderName: string = '';\r\n covidVaccineSelected = false;\r\n covidVaccineAdminConfirmation = false;\r\n covidVaccineWarningOkClicked = false;\r\n isAdmin = false;\r\n estimatedParticipantsError = false;\r\n showEstimatedParticipantsWarning = false;\r\n estimatedParticipantsAdminConfirmation = false;\r\n showParticipantsShotsMismatchWarning = false;\r\n immunizationShotsParticipantsMismatchError = false;\r\n immunizationShotsParticipantsMismatchAdminConfirmation = false;\r\n\r\n constructor(\r\n private _localContractService: OutreachProgramService,\r\n private _workflowGuard: WorkflowGuard,\r\n private confirmationService: ConfirmationService,\r\n private _location: Location, private router: Router,\r\n private spinner: NgxSpinnerService,\r\n private _alertService: AlertService,\r\n private workflowService: WorkflowService,\r\n private _timeToDatePipe: TimeToDatePipe,\r\n private _datePipe: DatePipe,\r\n ) {\r\n this.OutReachProgramType = OutReachProgramType.contracts;\r\n }\r\n\r\n ngOnInit() {\r\n this.spinner.show();\r\n window.scroll({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n this._localContractService.clearSelectedImmunizations();\r\n this._localContractService.clearClinicLocations();\r\n this._localContractService.getContractAgreement().subscribe(data => this.contractData = data);\r\n this.OutReachProgramType = OutReachProgramType.contracts;\r\n //this.displayInventoryWarning = false;\r\n //this.displayInventoryWarningOkClicked = false;\r\n this.immunizerWarningOkClicked = false;\r\n this.covidVaccineAdminConfirmation = false;\r\n this.covidVaccineWarningOkClicked = false;\r\n this.estimatedParticipantsError = false;\r\n this.showEstimatedParticipantsWarning = false;\r\n this.estimatedParticipantsAdminConfirmation = false;\r\n this.showParticipantsShotsMismatchWarning = false;\r\n this.immunizationShotsParticipantsMismatchError = false;\r\n this.immunizationShotsParticipantsMismatchAdminConfirmation = false;\r\n this.isAdmin = false;\r\n this.getContractAgreementData();\r\n\r\n // this._alertService.info(ErrorMessages['localContractsVerbiage'],false);\r\n }\r\n ContinueInvoiceInfo() {\r\n this.invoiceInfoPopUp = false;\r\n this.validateInvoceInfo = true;\r\n this.GoToStep(2);\r\n }\r\n getContractAgreementData() {\r\n let agreementPk = SessionDetails.GetAgreementPK();\r\n if (agreementPk == null || agreementPk == \"null\" || agreementPk == undefined) {\r\n this.showDialog(ErrorMessages['clientError'], ErrorMessages['nullClinicAgreementPk']);\r\n this.spinner.hide();\r\n return;\r\n }\r\n let ammendAgreement = false;\r\n if (sessionStorage[\"AmendAgreement\"] && sessionStorage[\"AmendAgreement\"] === \"true\") {\r\n ammendAgreement = true;\r\n };\r\n this._localContractService.getContractAgreementData(agreementPk, ammendAgreement).subscribe((data: any) => {\r\n this.contractDataDBSnapShot = data;\r\n\r\n let contractdateApproved = null;\r\n this.componentToRenderName = getContractComponentName(this.contractDataDBSnapShot.dateApproved, 'app-agreement');\r\n // if((this.contractDataDBSnapShot && this.contractDataDBSnapShot.dateApproved))\r\n // {\r\n\r\n // contractdateApproved = new Date(this.contractDataDBSnapShot.dateApproved);\r\n // let uniContractReleaseDate:Date = new Date (universalContractReleaseDate);\r\n // if(contractdateApproved < uniContractReleaseDate){\r\n // this.showPreUniversalContract = true;\r\n // }\r\n // }\r\n // else\r\n // {\r\n // this.showPreUniversalContract = false;\r\n // }\r\n\r\n SessionDetails.opportunitiesData(data.opportunityInfo);\r\n\r\n if (data.parentClinicAgreementId && data.parentClinicAgreementId > 0) {\r\n sessionStorage[\"AmendAgreement\"] = \"true\";\r\n }\r\n\r\n this.spinner.hide();\r\n if (this.contractDataDBSnapShot.isEmailSent != null &&\r\n (this.contractDataDBSnapShot.isEmailSent == true || this.contractDataDBSnapShot.isEmailSent == 1) &&\r\n (this.contractDataDBSnapShot.isApproved == null || this.contractDataDBSnapShot.isApproved == 0 || this.contractDataDBSnapShot.isApproved == false)) {\r\n this.workflowService.validateStep(STEPS.immunization);\r\n this.workflowService.validateStep(STEPS.location);\r\n this.workflowService.validateStep(STEPS.witness);\r\n this.step = 4;\r\n this.GoToStep(4);\r\n }\r\n\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n return false;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n GoToStep(step: number) {\r\n // if(!this.enableContractEditStatus()){\r\n // return;\r\n // }\r\n if (sessionStorage.getItem('Old_immunizationForm') !== null) {\r\n sessionStorage.removeItem('Old_immunizationForm');\r\n }\r\n\r\n this.spinner.show();\r\n if (this.step_desc == 'location' && this.loccmp && this.loccmp.locations_data1) {\r\n if (this.loccmp.locations_data1.value.contactPhone && this.loccmp.locations_data1.value.contactPhone.indexOf(\"X\") > -1) {\r\n this.loccmp.locations_data1.controls.contactPhone.setValue(null);\r\n this.loccmp.locations_data1.controls.contactPhone.updateValueAndValidity();\r\n return false;\r\n }\r\n }\r\n\r\n let agreementPk = SessionDetails.GetAgreementPK();\r\n if (agreementPk == null || agreementPk == \"null\" || agreementPk == undefined) {\r\n return;\r\n }\r\n let step_desc = this.getStepDesc(step);\r\n this.step_desc = this.getStepDesc(this.step);\r\n if (step < this.step) {\r\n this.cacheInEnteredData(this.step_desc);\r\n this.step = step;\r\n this.step_desc = step_desc;\r\n //this.displayInventoryWarningOkClicked = false;\r\n this.immunizerWarningOkClicked = false;\r\n this.covidVaccineAdminConfirmation = false;\r\n this.covidVaccineWarningOkClicked = false;\r\n this.estimatedParticipantsError = false;\r\n this.showEstimatedParticipantsWarning = false;\r\n this.estimatedParticipantsAdminConfirmation = false;\r\n this.showParticipantsShotsMismatchWarning = false;\r\n this.immunizationShotsParticipantsMismatchError = false;\r\n this.immunizationShotsParticipantsMismatchAdminConfirmation = false;\r\n this.isAdmin = false;\r\n this.spinner.hide();\r\n return;\r\n }\r\n if (this.OnSave(step_desc, step, this.step)) {\r\n if (this.step_desc != step_desc) {\r\n this.validateInvoceInfo = false;\r\n this.step_desc = this._workflowGuard.verifyWorkFlow(step_desc);\r\n this.step = Object.keys(STEPS).findIndex(inx => inx == this.step_desc) + 1;\r\n }\r\n }\r\n this.spinner.hide();\r\n }\r\n\r\n getStepDesc(step: number) {\r\n if (step === 1)\r\n return STEPS.immunization;\r\n if (step === 2)\r\n return STEPS.location;\r\n if (step === 3)\r\n return STEPS.witness;\r\n if (step === 4)\r\n return STEPS.review;\r\n }\r\n\r\n cacheInEnteredData(step_desc: any, currentStep?: number, prevStep?: number) {\r\n let return_value: boolean = false;\r\n if (this.step_desc === STEPS.immunization) {\r\n return_value = this.imzcmp.simpleSave();\r\n }\r\n else if (this.step_desc === STEPS.location) {\r\n if (this.loccmp != undefined) {\r\n this.loccmp.simpleSave();\r\n\r\n if (!this.loccmp.isFormValid() && !this.loccmp.isDateTimeConflictPresent && this.loccmp.userApprovedGt250 &&\r\n this.loccmp.userApprovedLt25 && this._localContractService.getValidationsRequiredStatus()) {\r\n this.isLocationsFormValid = false;\r\n } else {\r\n this.isLocationsFormValid = true;\r\n }\r\n\r\n }\r\n }\r\n else if (this.step_desc === STEPS.witness) {\r\n if (this.witcmp != undefined) {\r\n this.witcmp.simpleSave();\r\n if (!this.witcmp.isFormValid()) {\r\n this.isPharmacyFormValid = false;\r\n } else {\r\n this.isPharmacyFormValid = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n OnSave(step_desc: any, currentStep: number, prevStep: number) {\r\n let return_value = false;\r\n let userProfile = SessionDetails.GetUserProfile();\r\n this.isAdmin = userProfile.userRole.toLowerCase() == \"admin\";\r\n if (this.step_desc === STEPS.immunization) {\r\n return_value = this.imzcmp.save();\r\n this.addedImmunizations = this._localContractService.getImmunizationsData();\r\n this.InvoiceInformation = this._localContractService.getInvoiceAndVoucherData();\r\n // if(this.addedImmunizations.length>0&& this.InvoiceInformation.length>0 ){\r\n // let corp=this.addedImmunizations.filter(c=>c.paymentTypeId==\"6\" || c.paymentTypeId==\"13\");\r\n // if(corp.length===0 && !this.validateInvoceInfo && this.imzcmp.isFormValid())\r\n // {\r\n // this.step = 1;\r\n // this.invoiceInfoPopUp=true;\r\n // this.validateInvoceInfo=true;\r\n // return false;\r\n // }\r\n // }\r\n\r\n // if(this.imzcmp.isFormValid() && !this.displayInventoryWarningOkClicked&&this._localContractService.checkIfFluImmIsSelected()){\r\n // this.showdisplayInventoryWarningDialog(\"INVENTORY ALERT\",\"Please ensure you have sufficient vaccine prior to committing to this opportunity.\");\r\n // return false;\r\n // }\r\n\r\n }\r\n if (this.step_desc === STEPS.location) {\r\n\r\n // assigning hidden payment methods estimated quantity\r\n let locations = this.loccmp.contractForm.value.locations;\r\n\r\n locations.forEach((element, index) => {\r\n let frmar: FormArray = this.loccmp.contractForm.get('locations') as FormArray;\r\n let frmGrp = frmar.controls[index] as FormGroup;\r\n let clinicImzQtyListArr: any = frmar.controls[index].get('clinicImzQtyList') as FormArray;\r\n const voucherPaymentOnly = ClinicDetailsUtilities.CheckOnlyVoucherPaymentIsSelected(frmar.controls[index].get('clinicImzQtyList').value);\r\n const Noclinic = Number(frmar.controls[index].get('isNoClinic').value);\r\n if (voucherPaymentOnly && Noclinic)\r\n this.handleVoucherPaymentMethod();\r\n\r\n const estimatedParticipants = frmar.controls[index].get('estimatedParticipants').value;\r\n if (estimatedParticipants != null && estimatedParticipants < 50 && !this.estimatedParticipantsAdminConfirmation && !voucherPaymentOnly && Noclinic == 0) {\r\n this.estimatedParticipantsError = true;\r\n frmar.controls[index].get('estimatedParticipants').setErrors({ 'incorrect': true });\r\n frmar.controls[index].get('estimatedParticipants').markAsDirty();\r\n frmar.controls[index].get('estimatedParticipants').markAsTouched();\r\n frmar.controls[index].updateValueAndValidity();\r\n } else {\r\n frmar.controls[index].get('estimatedParticipants').setErrors(null);\r\n frmar.controls[index].get('estimatedParticipants').markAsDirty();\r\n frmar.controls[index].get('estimatedParticipants').markAsTouched();\r\n frmar.controls[index].updateValueAndValidity();\r\n }\r\n const uniqueImmPks = [...new Set(element.clinicImzQtyList.map(item => item.immunizationPk))];\r\n uniqueImmPks.forEach(item => {\r\n let immzs = element.clinicImzQtyList.filter(p => p.immunizationPk == item);\r\n immzs.forEach((element, index) => {\r\n if (index > 0) {\r\n element.estimatedQuantity = 0;\r\n }\r\n });\r\n\r\n let formArr = clinicImzQtyListArr.controls.filter(p => p.controls.immunizationPk.value == item);\r\n formArr.forEach((element, index) => {\r\n if (index > 0) {\r\n element.patchValue({\r\n estimatedQuantity: 0\r\n });\r\n }\r\n });\r\n });\r\n });\r\n this.handleParticipantsShotsMismatch();\r\n if (this.immunizationShotsParticipantsMismatchError) return false;\r\n if (this.estimatedParticipantsError) {\r\n this.handleParticipantsChange(locations);\r\n return false;\r\n }\r\n\r\n if (this.loccmp != undefined) {\r\n if (!this.covidVaccineWarningOkClicked) {\r\n const locations = this.loccmp.contractForm.get('locations') as FormArray;\r\n for (const location of locations.controls) {\r\n const clinicImzQtyList = location.get('clinicImzQtyList') as FormArray;\r\n let clinicDate = location.get('clinicDate').value;\r\n clinicDate = moment(clinicDate);\r\n let startDate = moment(environment.covidVaccineNotAviableDates.startDate, \"DD/MM/YYYY\");\r\n let endDate = moment(environment.covidVaccineNotAviableDates.endDate, \"DD/MM/YYYY\");\r\n for (const clinicImzQty of clinicImzQtyList.controls) {\r\n if (clinicImzQty.get('immunizationName').value.toLocaleLowerCase()?.includes('covid') && (Number(clinicImzQty.get('estimatedQuantity').value) > 0) && (clinicDate.isBetween(startDate, endDate) || clinicDate.isSame(startDate) || clinicDate.isSame(endDate)) && !environment.disabledFeatures.covidWarning) {\r\n this.covidVaccineSelected = true;\r\n this.dialogMsg = ErrorMessages[\"sesionalCovid19Info\"];\r\n this.dialogSummary = \"Alert\";\r\n clinicImzQty.get('estimatedQuantity').setErrors({ 'incorrect': true });\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n } else {\r\n clinicImzQty.get('estimatedQuantity').setErrors(null);\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n if (this.covidVaccineSelected) {\r\n locations.updateValueAndValidity();\r\n return false;\r\n } else {\r\n locations.updateValueAndValidity();\r\n }\r\n }\r\n if (!this.loccmp.isFormValid()) {\r\n const locations = this.loccmp.contractForm.get('locations') as FormArray;\r\n for (const location of locations.controls) {\r\n const clinicImzQtyList = location.get('clinicImzQtyList') as FormArray;\r\n for (const clinicImzQty of clinicImzQtyList.controls) {\r\n if (!clinicImzQty.value.estimatedQuantity?.toString()?.length) {\r\n clinicImzQty.get('estimatedQuantity').setErrors({ 'incorrect': true });\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n locations.updateValueAndValidity();\r\n return false;\r\n }\r\n }\r\n if (!this.immunizerWarningOkClicked) {\r\n let estimatedImmunizers = 2;\r\n let errorList: string[] = [];\r\n\r\n this.getEstimatedImmunizers(errorList);\r\n if (errorList.length > 0) {\r\n this.showdImmunizerWarningDialog(\"Warning\", ErrorMessages['immunizerWarningMainPara'] + errorList.join().replace(\",\", \"\"));\r\n return false;\r\n }\r\n }\r\n let locString: String[] = [];\r\n if (this.loccmp.isClinicDateReminderBefore2WksReq(locString)) {\r\n let sumMsg = ErrorMessages['impRmndrFor2Wks'];\r\n let errMsg = ErrorMessages['new_clinicDateReminderBefore2WeeksEN'];\r\n var lowerCaseName = userProfile.userRole.toLowerCase();\r\n // if (lowerCaseName == \"director\" ||\r\n // lowerCaseName == \"supervisor\" || lowerCaseName == \"regionalvp\" ||\r\n // lowerCaseName == \"regionaldirector\" || lowerCaseName == \"admin\" ||\r\n // lowerCaseName == \"regional vice president\" ||\r\n // lowerCaseName == \"regional healthcare director\" ||\r\n // lowerCaseName == \"healthcare supervisor\" \r\n // || lowerCaseName == \"director - rx and retail ops\" || lowerCaseName == \"district manager\") {\r\n this.step = 2;\r\n this.dialogSummary = sumMsg;\r\n this.OverrideOrOkTitle = \"OK\";\r\n this.showCancelBtn = false;\r\n this.confirm(sumMsg, errMsg, step_desc);\r\n return false;\r\n // }\r\n // else {\r\n // errMsg = ErrorMessages['clinicDateReminderBefore2WeeksEN'];\r\n // this.showDialog(sumMsg, errMsg);\r\n // this.step = 2;\r\n // return false;\r\n // }\r\n }\r\n this.isTimeValid = this.loccmp.isStartTimeEndTimeValid();\r\n if (this.isTimeValid) {\r\n this.startTimeEndTimesStep_desc = step_desc;\r\n this.showStartTimeEndTimeValid = true;\r\n this.dialogSummary = \"Alert\";\r\n if (this.isTimeValid == 1)\r\n this.dialogMsg = ErrorMessages['clinicLengthMoreThan8Hrs'];\r\n else if (this.isTimeValid == 2) {\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = ErrorMessages['clinicLengthAlert'];\r\n }\r\n else {\r\n this.dialogMsg = \"Please Contact support\";\r\n }\r\n return false;\r\n }\r\n let isNoclinc: string = '';\r\n\r\n let isNoclinicPopUp = false;\r\n locations.forEach(element => {\r\n let covidVaccine = element.clinicImzQtyList.filter(p => p.immunizationName.includes('COVID19 Vaccine (')).length > 0;\r\n let isVoucherOnly = element.clinicImzQtyList.filter(item => item.immunizationName.includes('Vaccine Voucher')).length > 0;\r\n let vaccines = element.clinicImzQtyList.filter(p => p.immunizationName.includes('COVID19 Vaccine ('));\r\n let vaccineNonzero = false;\r\n if (covidVaccine) {\r\n vaccineNonzero = vaccines[0].estimatedQuantity == \"0\" ? false : true;\r\n if (!vaccineNonzero && vaccines.length > 1)\r\n vaccineNonzero = vaccines[1].estimatedQuantity == \"0\" ? false : true;\r\n }\r\n if (covidVaccine && isVoucherOnly && element.isNoClinic == 1 && vaccineNonzero) {\r\n isNoclinc += element.location + ', ';\r\n isNoclinicPopUp = true;\r\n }\r\n });\r\n if (isNoclinicPopUp) {\r\n this.inNoclinicPopUp = true;\r\n this.dialogMsg = String.Format(\"{0} has non-voucher products with estimated shots. Either uncheck the 'No Clinic – Voucher Distribution Only' setup option or set the Estimated Shots for vaccines to '0'.\", isNoclinc.slice(0, -2));\r\n return false;\r\n }\r\n return_value = this.loccmp.save();\r\n if (return_value == true) {\r\n this._alertService.clear();\r\n if (this.loccmp.isNonNoClinicPresent()) {\r\n this._alertService.info(ErrorMessages['clinicDateReminderAfter2WeeksEN'], false);\r\n }\r\n }\r\n }\r\n if (this.step_desc === STEPS.witness) {\r\n if (this.witcmp != undefined) {\r\n\r\n if (!this.witcmp.isFormValid()) {\r\n this.isPharmacyFormValid = false;\r\n } else {\r\n if (SessionDetails.GetUserProfile().email.toLowerCase() != this.witcmp.getPharmacyContactEmail().toLowerCase()) {\r\n this.validatePortalEmail();\r\n return false;\r\n }\r\n else {\r\n return_value = this.witcmp.save();\r\n this.isPharmacyFormValid = true;\r\n }\r\n }\r\n }\r\n }\r\n if (currentStep > prevStep + 1) {\r\n //user has navigated one step further due to previous iteration.\r\n for (let count = prevStep; count <= currentStep; count++) {\r\n switch (count) {\r\n case 1:\r\n if (!this.imzcmp.checkIfAnyImmunizationsAdded() || !this.imzcmp.isFormValid()) {\r\n this.step = 1;\r\n return false;\r\n }\r\n break;\r\n case 2:\r\n if (this.imzcmp != null && this.imzcmp != undefined) {\r\n if (this.imzcmp.validateLocForm || !this.isLocationsFormValid || this._localContractService.getValidationsRequiredStatus()) {\r\n this.step = 2;\r\n this.imzcmp.validateLocForm = false;\r\n return false;\r\n }\r\n } else if (this._localContractService.getValidationsRequiredStatus()) {\r\n this.step = 2;\r\n this.imzcmp.validateLocForm = false;\r\n return false;\r\n }\r\n break;\r\n case 3:\r\n if (!this.isPharmacyFormValid) {\r\n this.step = 3;\r\n return false;\r\n }\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n return return_value;\r\n }\r\n EditTimes() {\r\n this.showStartTimeEndTimeValid = false;\r\n }\r\n ContinueToNextStep() {\r\n this.showStartTimeEndTimeValid = false;\r\n if (this.loccmp.save()) {\r\n if (this.step_desc != this.startTimeEndTimesStep_desc) {\r\n this.step_desc = this._workflowGuard.verifyWorkFlow(this.startTimeEndTimesStep_desc);\r\n this.step = Object.keys(STEPS).findIndex(inx => inx == this.step_desc) + 1;\r\n }\r\n }\r\n else {\r\n this.step = 2;\r\n return false;\r\n }\r\n return true;\r\n }\r\n validatePortalEmail() {\r\n this.spinner.show();\r\n this._localContractService.validatePortalEmail(this.witcmp.getPharmacyContactEmail().toLowerCase()).subscribe(data => {\r\n this.spinner.hide();\r\n if (data == true) {\r\n this.witcmp.save();\r\n this.isPharmacyFormValid = true;\r\n this.step_desc = this._workflowGuard.verifyWorkFlow(\"review\");\r\n this.step = Object.keys(STEPS).findIndex(inx => inx == this.step_desc) + 1;\r\n this.GoToStep(4);\r\n }\r\n else {\r\n this.showDialog(\"Error\", ErrorMessages['validatePortalEmailError']);\r\n }\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n break;\r\n }\r\n }\r\n );\r\n }\r\n\r\n okClicked() {\r\n this.display = false;\r\n }\r\n\r\n saveBtnClicked() {\r\n this.spinner.show();\r\n let return_value = false;\r\n if (this.step_desc === STEPS.immunization || this.step <= 1) {\r\n if (this.imzcmp != undefined && this.imzcmp.immunizationForm.valid) {\r\n return_value = this.imzcmp.simpleSave();\r\n }\r\n else {\r\n this.imzcmp.immunizationForm.markAllAsTouched();\r\n }\r\n }\r\n if (this.step_desc === STEPS.location || this.step == 2) {\r\n if (!this.loccmp.locations_data1.valid) {\r\n this.spinner.hide();\r\n const locations = this.loccmp.contractForm.controls.locations as FormArray;\r\n for (const location of locations.controls) {\r\n location.setErrors({ incorrect: true });\r\n location.markAllAsTouched();\r\n }\r\n return false;\r\n }\r\n\r\n if (this.loccmp != undefined) {\r\n return_value = this.loccmp.simpleSave();\r\n }\r\n }\r\n if (this.step_desc === STEPS.witness || this.step >= 3)\r\n if (this.witcmp != undefined) {\r\n\r\n return_value = this.witcmp.simpleSave();\r\n }\r\n if (!return_value) {\r\n this.spinner.hide();\r\n return false;\r\n }\r\n this.saveInteriumAgreementData(false);\r\n return return_value;\r\n }\r\n\r\n saveInteriumAgreementData(is_overlap?: boolean) {\r\n\r\n this._localContractService.saveInterimAgreementData(SessionDetails.GetStoreId(), 1, is_overlap).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case '0':\r\n case 0:\r\n this.showDialog(ErrorMessages['contract'], ErrorMessages['contractSaved']);\r\n this._localContractService.SetIscanceled(false);\r\n break;\r\n case -4:\r\n case '-4':\r\n this.showCancelBtn = true;\r\n this.OverrideOrOkTitle = \"Override\";\r\n this.confirmOverlap(ErrorMessages['eventDateTimeConflict'],\r\n String.Format(\"{0}

{1}\", data.errorS.errorMessage, ErrorMessages['eventDateTimeConflictErrText']));\r\n this._localContractService.SetIscanceled(true);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n this._localContractService.SetIscanceled(true);\r\n break;\r\n }\r\n\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n\r\n // showdisplayInventoryWarningDialog(msgSummary: string, msgDetail: string) {\r\n // this.dialogMsg = msgDetail;\r\n // this.dialogSummary = msgSummary;\r\n // this.displayInventoryWarning = true;\r\n // }\r\n showdImmunizerWarningDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.immunizerWarningAlert = true;\r\n }\r\n // displayInventoryWarningOk(){\r\n // this.displayInventoryWarning = false;\r\n // this.displayInventoryWarningOkClicked = true;;\r\n // this.GoToStep(2);\r\n // }\r\n showdImmunizerWarningDialogOk() {\r\n this.immunizerWarningAlert = false;\r\n this.immunizerWarningOkClicked = true;;\r\n this.GoToStep(3);\r\n }\r\n editdImmunizerWarning() {\r\n this.immunizerWarningAlert = false;\r\n }\r\n getEstimatedImmunizers(errorList: string[]) {\r\n let isCovidVaccineAvailable: boolean = this.addedImmunizations.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n\r\n // fix for 794\r\n let shots_per_10_min = 4;\r\n // let slotTime = isCovidVaccineAvailable ? 15 : 10;\r\n // isCovidVaccineAvailable?shots_per_10_min=2:shots_per_10_min=4;\r\n let slotTime = 10;\r\n let shots_per_hour = (60 / slotTime) * shots_per_10_min;\r\n\r\n this.loccmp.contractForm.value.locations.forEach(loc => {\r\n try {\r\n if (loc.startTime != \"\")\r\n try {\r\n loc.startTime = this._datePipe.transform(loc.startTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n if (loc.endTime != \"\") {\r\n try {\r\n loc.endTime = this._datePipe.transform(loc.endTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e); // here the exception is delibarately caught because when you click back, startTime & end\r\n // Time is not correct timeformat. Hence we are ignoring this by catching here.\r\n }\r\n });\r\n for (let count = 0; count < this.loccmp.contractForm.value.locations.length; count++) {\r\n let locClinicDate: Date = new Date(this.loccmp.contractForm.value.locations[count].clinicDate);\r\n let locStartTime = this.loccmp.contractForm.value.locations[count].startTime;\r\n let locEndTime = this.loccmp.contractForm.value.locations[count].endTime;\r\n if (this.loccmp.contractForm.value.locations[count].isNoClinic >= 1 ||\r\n this.loccmp.contractForm.value.locations[count].isNoClinic === '1' ||\r\n this.loccmp.contractForm.value.locations[count].isReassign >= 1 ||\r\n this.loccmp.contractForm.value.locations[count].isReassign === '1') {\r\n continue;\r\n }\r\n let endDate: Date;\r\n if (locEndTime.toString().toLowerCase().search('am') !== -1 || locEndTime.toString().toLowerCase().search('pm') !== -1) {\r\n endDate = this._timeToDatePipe.transform(locClinicDate, locEndTime);\r\n }\r\n else {\r\n endDate = locEndTime;\r\n }\r\n let startDatetmToDt: Date;\r\n if (locStartTime.toString().toLowerCase().search('am') !== -1 || locStartTime.toString().toLowerCase().search('pm') !== -1) {\r\n startDatetmToDt = this._timeToDatePipe.transform(locClinicDate, locStartTime);\r\n }\r\n else {\r\n startDatetmToDt = locStartTime;\r\n }\r\n let locStart: Date = new Date(startDatetmToDt);\r\n let locEnd: Date = new Date(endDate);\r\n let clinicLength = (locEnd.valueOf() - locStart.valueOf()) / (3600 * 1000);\r\n if (clinicLength > 0) {\r\n let clinicLoc = this.loccmp.contractForm.value.locations[count];\r\n let totalImmunizations = clinicLoc.clinicImzQtyList.map(item => item.estimatedQuantity).reduce((acc, current) => Number(acc) + Number(current));\r\n // = clinicLoc.clinicImzQtyList.reduce((accum,current)=>accum+current.estimatedQuantity,0);\r\n let estimatedImmunizers = Math.ceil(totalImmunizations / (shots_per_hour * clinicLength))\r\n if (estimatedImmunizers > 1) {\r\n errorList.push(String.Format(ErrorMessages['immunizerWarning'], clinicLoc.location, estimatedImmunizers))\r\n }\r\n totalImmunizations = 0;\r\n estimatedImmunizers = 0;\r\n }\r\n\r\n }\r\n }\r\n\r\n confirm(hdr: string, msg: string, step_desc: any) {\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n // TO fix the button switches to \"Override\" issue in ip contract.\r\n //this.OverrideOrOkTitle = \"Override\";\r\n this.showCancelBtn = true;\r\n this.isTimeValid = this.loccmp.isStartTimeEndTimeValid();\r\n\r\n if (this.isTimeValid) {\r\n this.startTimeEndTimesStep_desc = step_desc;\r\n this.dialogSummary = \"Alert\";\r\n this.showStartTimeEndTimeValid = true;\r\n if (this.isTimeValid == 1)\r\n this.dialogMsg = ErrorMessages['clinicLengthMoreThan8Hrs'];\r\n else if (this.isTimeValid == 2) {\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = ErrorMessages['clinicLengthAlert'];\r\n }\r\n else {\r\n this.dialogMsg = \"Please Contact support\";\r\n }\r\n return false;\r\n }\r\n if (this.loccmp.save()) {\r\n if (this.step_desc != step_desc) {\r\n this.step_desc = this._workflowGuard.verifyWorkFlow(step_desc);\r\n this.step = Object.keys(STEPS).findIndex(inx => inx == this.step_desc) + 1;\r\n }\r\n this._alertService.clear();\r\n if (this.loccmp.isNonNoClinicPresent()) {\r\n this._alertService.info(ErrorMessages['clinicDateReminderAfter2WeeksEN'], true);\r\n }\r\n }\r\n else {\r\n this.step = 2;\r\n return false;\r\n }\r\n return true;\r\n },\r\n reject: () => {\r\n this.step = 2;\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n confirmOverlap(hdr: string, msg: string) {\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n this.saveInteriumAgreementData(true);\r\n return true;\r\n },\r\n reject: () => {\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n cancelContract() {\r\n this.validateInvoceInfo = false;\r\n let return_value = false;\r\n if (this.step_desc === STEPS.immunization || this.step <= 1) {\r\n if (this.imzcmp != undefined) {\r\n return_value = this.imzcmp.cancelImmunization();\r\n }\r\n if (return_value) {\r\n this.savePopUp = true;\r\n this.showDialogCancel(ErrorMessages['unSavedData'], ErrorMessages['contract_alert']);\r\n }\r\n else {\r\n this._location.back();\r\n }\r\n }\r\n if (this.step_desc === STEPS.location || this.step === 2) {\r\n\r\n this.cancel_check = this._localContractService.getIsCancel();\r\n return_value = this.loccmp.cancelLocationData();\r\n if (return_value && this.cancel_check) {\r\n this.savePopUp = true;\r\n this.showDialogCancel(ErrorMessages['unSavedData'], ErrorMessages['contract_alert']);\r\n }\r\n else {\r\n this._location.back();\r\n }\r\n }\r\n if (this.step_desc === STEPS.witness || this.step >= 3)\r\n if (this.witcmp != undefined) {\r\n this.cancel_check = this._localContractService.getIsCancel();\r\n return_value = this.witcmp.cancelWitness();\r\n if (return_value && this.cancel_check) {\r\n this.savePopUp = true;\r\n this.showDialogCancel(ErrorMessages['unSavedData'], ErrorMessages['contract_alert']);\r\n }\r\n else {\r\n this._location.back();\r\n }\r\n }\r\n\r\n if (sessionStorage.getItem('Old_immunizationForm') !== null) {\r\n sessionStorage.removeItem('Old_immunizationForm');\r\n }\r\n }\r\n\r\n doNotSave() {\r\n this.savePopUp = false;\r\n if (this.router) {\r\n if (sessionStorage[\"AmendAgreement\"] && sessionStorage[\"AmendAgreement\"] == \"true\")\r\n this.router.navigate(['./communityoutreach/LocalClinicProgramDetails']);\r\n else\r\n this.router.navigate(['./communityoutreach/storehome']);\r\n }\r\n }\r\n\r\n Continue() {\r\n this.savePopUp = false;\r\n }\r\n\r\n showDialogCancel(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n }\r\n\r\n enableContractEditStatus() {\r\n if (this.contractDataDBSnapShot != null && this.contractDataDBSnapShot != undefined) {\r\n if (this.contractDataDBSnapShot.isEmailSent != null &&\r\n (this.contractDataDBSnapShot.isEmailSent == true || this.contractDataDBSnapShot.isEmailSent == 1) &&\r\n this.contractDataDBSnapShot.isApproved == null) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n showHideSaveBtnStatus() {\r\n\r\n if (this.contractDataDBSnapShot != null && this.contractDataDBSnapShot != undefined) {\r\n if (this.contractDataDBSnapShot.isEmailSent != null &&\r\n (this.contractDataDBSnapShot.isEmailSent == 1) &&\r\n (this.contractDataDBSnapShot.isApproved === null || this.contractDataDBSnapShot.isApproved === 1 || this.contractDataDBSnapShot.isApproved === 0)) {\r\n return false;\r\n }\r\n }\r\n if (sessionStorage[\"AmendAgreement\"] != null) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n calculateNextStep(step: any) {\r\n let step_desc = this.getStepDesc(step);\r\n this.step_desc = this._workflowGuard.verifyWorkFlow(step_desc);\r\n this.step = 3;\r\n\r\n }\r\n inNoclinicConfirm() {\r\n this.inNoclinicPopUp = false;\r\n //this.isNoclinicChecked = false;\r\n }\r\n\r\n handleCovidVaccineAlertOk() {\r\n this.covidVaccineSelected = false;\r\n }\r\n\r\n handleCovidVaccineAdminConfirmation() {\r\n const locations = this.loccmp.contractForm.get('locations') as FormArray;\r\n this.covidVaccineSelected = false;\r\n this.covidVaccineWarningOkClicked = true;\r\n this.immunizationShotsParticipantsMismatchAdminConfirmation = false;\r\n this.estimatedParticipantsAdminConfirmation = false;\r\n for (const location of locations.controls) {\r\n const clinicImzQtyList = location.get('clinicImzQtyList') as FormArray;\r\n for (const clinicImzQty of clinicImzQtyList.controls) {\r\n if (clinicImzQty.get('immunizationName').value.toLocaleLowerCase()?.includes('covid')) {\r\n clinicImzQty.get('estimatedQuantity').setErrors(null);\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n locations.updateValueAndValidity();\r\n this.GoToStep(3);\r\n }\r\n\r\n handleEstimatedParticipantsAdminConfirmation() {\r\n const locations = this.loccmp.contractForm.value.locations;\r\n this.showEstimatedParticipantsWarning = false;\r\n this.estimatedParticipantsAdminConfirmation = true;\r\n this.estimatedParticipantsError = false;\r\n this.covidVaccineWarningOkClicked = false;\r\n locations.forEach((element, index) => {\r\n let frmar: FormArray = this.loccmp.contractForm.get('locations') as FormArray;\r\n frmar.controls[index].get('estimatedParticipants').setErrors(null);\r\n frmar.controls[index].get('estimatedParticipants').markAsDirty();\r\n frmar.controls[index].get('estimatedParticipants').markAsTouched();\r\n frmar.controls[index].updateValueAndValidity();\r\n });\r\n this.GoToStep(3);\r\n }\r\n\r\n handleParticipantsChange(loccmp) {\r\n let locationList = [];\r\n let clinicsList = \"\";\r\n loccmp.forEach((element, index) => {\r\n locationList.push(loccmp[index].location);\r\n })\r\n loccmp.forEach(clinic => {\r\n if (clinic.estimatedParticipants < 50 && clinic.estimatedParticipants != null && clinic.isNoClinic == 0) {\r\n clinicsList += clinic.location + \", \";\r\n }\r\n });\r\n const errorMessage = ErrorMessages[\"estimatedParticipantsWarning\"].replace('LOCATION', `LOCATION ${clinicsList}`);\r\n this.showEstimatedParticipantsWarning = true;\r\n this.dialogSummary = \"Please resolve the below issues to continue further\";\r\n this.dialogMsg = errorMessage;\r\n }\r\n\r\n handleParticipantsShotsMismatch() {\r\n const locations = this.loccmp.contractForm.get('locations') as FormArray;\r\n for (const location of locations.controls) {\r\n let estimatedParticipants = Number(location.get('estimatedParticipants').value);\r\n const clinicImzQtyList = location.get('clinicImzQtyList') as FormArray;\r\n for (const clinicImzQty of clinicImzQtyList.controls) {\r\n const estimatedShots = Number(clinicImzQty.get('estimatedQuantity')?.value);\r\n if (estimatedShots > estimatedParticipants && !this.immunizationShotsParticipantsMismatchAdminConfirmation) {\r\n this.showParticipantsShotsMismatchWarning = true;\r\n this.immunizationShotsParticipantsMismatchError = true;\r\n this.dialogMsg = ErrorMessages[\"estimatedShotsWarning\"];\r\n this.dialogSummary = \"Please resolve the below issues to continue further\";\r\n clinicImzQty.get('estimatedQuantity').setErrors({ 'incorrect': true });\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n return;\r\n } else {\r\n clinicImzQty.get('estimatedQuantity').setErrors(null);\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n }\r\n\r\n handleParticipantsShotsMismatchAdminConfirmation() {\r\n this.showParticipantsShotsMismatchWarning = false;\r\n this.immunizationShotsParticipantsMismatchError = false;\r\n this.immunizationShotsParticipantsMismatchAdminConfirmation = true;\r\n const locations = this.loccmp.contractForm.get('locations') as FormArray;\r\n for (const location of locations.controls) {\r\n const clinicImzQtyList = location.get('clinicImzQtyList') as FormArray;\r\n for (const clinicImzQty of clinicImzQtyList.controls) {\r\n clinicImzQty.get('estimatedQuantity').setErrors(null);\r\n clinicImzQty.get('estimatedQuantity').markAsDirty();\r\n clinicImzQty.get('estimatedQuantity').markAsTouched();\r\n clinicImzQty.updateValueAndValidity();\r\n }\r\n }\r\n locations.updateValueAndValidity();\r\n this.GoToStep(3);\r\n // this.dialogSummary = \"Please resolve the below issues to continue further\";\r\n // this.dialogMsg = ErrorMessages['estimatedShotsWarning'];\r\n }\r\n\r\n getAllEstimatedShots(locationForm) {\r\n const totalEstimatedShots = locationForm.controls.clinicImzQtyList['controls'].reduce((accumulator, currentValue) => Number(accumulator?.controls?.estimatedQuantity?.value) + Number(currentValue?.controls?.estimatedQuantity?.value));\r\n return totalEstimatedShots;\r\n }\r\n\r\n handleVoucherPaymentMethod() {\r\n const locations = this.loccmp.contractForm.get('locations') as FormArray;\r\n for (const location of locations.controls) {\r\n location.patchValue({ \"estimatedParticipants\": 0 })\r\n const clinicImzQtyList = location.get('clinicImzQtyList') as FormArray;\r\n for (const clinicImzQty of clinicImzQtyList.controls) {\r\n clinicImzQty.patchValue({ \"estimatedQuantity\": 0 });\r\n }\r\n }\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-maintenance',\r\n templateUrl: './maintenance.component.html',\r\n styleUrls: ['./maintenance.component.css']\r\n})\r\nexport class MaintenanceComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Util } from '../../../../utility/util';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { String } from 'typescript-string-operations';\r\n@Component({\r\n selector: 'app-thankyou',\r\n templateUrl: './thankyou.component.html',\r\n styleUrls: ['./thankyou.component.css']\r\n})\r\nexport class ThankyouComponent implements OnInit {\r\n storeState: string = '';\r\n hasPrefilledForms: boolean = false;\r\n pdfVarFormEn: string = '';\r\n pdfVarFormEsp: string = '';\r\n voucherNeeded: boolean = false;\r\n isRestrictedState: boolean = false;\r\n corporateInvoice: boolean = false;\r\n cashPaid: boolean = false;\r\n submitInsurance: boolean = false;\r\n isCovidClinic:boolean = false;\r\n medicalInsurance: boolean = false;\r\n pharmacyInsurance: boolean = false;\r\n isShowPDF: boolean = false;\r\n header_title:string='';\r\n messageData: any;\r\n Message1: string = '';\r\n Message2: string = '';\r\n Message3: string = '';\r\n thankyou:boolean=false;\r\n torgthankyou:boolean=false;\r\n rhdthankyou:boolean=false;\r\n torgthankyouReject:boolean = false;\r\n iconImage:boolean=false;\r\n contractThankYouInfo=null;\r\n\r\n approveRejectCancellation:boolean = false;\r\n approveRejectCancellationText:string = \"\";\r\n isCovid: boolean;\r\n txtStandard: string = 'Next Steps';\r\n constructor(router:Router,titleService:Title, private utility: Util) {\r\n router.events.subscribe(event => {\r\n if(event instanceof NavigationEnd) {\r\n let title = this.getTitle(router.routerState, router.routerState.root).join();\r\n titleService.setTitle(title);\r\n if(title==\"rhdthankyou\" || title==\"Walgreens Community Outreach Thank You\" || title==\"torgthankyouReject\"){\r\n this.iconImage=true;\r\n }\r\n if(title==\"Walgreens Community Outreach\")\r\n this.thankyou = true;\r\n else if(title==\"Walgreens Community Outreach Thank You\")\r\n sessionStorage[\"Reject\"]=='null'?this.torgthankyou = true:this.torgthankyouReject=true;\r\n }\r\n });\r\n }\r\n ngOnInit() {\r\n let thankuData = this.contractThankYouInfo = SessionDetails.GetThankUDetails();\r\n let approveRejectCancellation = sessionStorage[\"CancellationToken\"];\r\n this.hasPrefilledForms = thankuData.hasPrefilledForms;\r\n this.storeState = SessionDetails.GetState();\r\n if(this.storeState == null){\r\n this.storeState = thankuData.storeState;\r\n }\r\n if(this.storeState&& this.storeState.length<=0){\r\n this.storeState = SessionDetails.GetState(); \r\n }\r\n this.pdfVarFormEn = thankuData.covidOpportunityType == 1 ? \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/CP LTCF Patient Registration Guide.pdf\" : thankuData.pdfVarFormEn;\r\n this.pdfVarFormEsp = thankuData.covidOpportunityType == 1 ? \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/LTCF Admin Patient Insurance Consent and Assessment Guide.pdf\" : thankuData.pdfVarFormEsp;\r\n this.voucherNeeded = thankuData.voucherNeeded;\r\n this.isRestrictedState = thankuData.isRestrictedState;\r\n this.corporateInvoice = thankuData.corporateInvoice;\r\n this.submitInsurance = thankuData.submitInsurance;\r\n this.isCovidClinic = thankuData.covidOpportunityType == 1 ? true : false;\r\n this.isCovid = thankuData.isCovidOpportunity;\r\n // if(thankuData.covidOpportunityType == 2){\r\n // this.txtStandard += ' for COVID-19 Clinics';\r\n // }\r\n if (this.hasPrefilledForms) {\r\n this.isShowPDF = true;\r\n }\r\n // if (!this.corporateInvoice) {\r\n //this.Message1 = \"Patient registration (including Insurance), consent, and Pre-Vaccination Assessment is required for each participant before receiving an immunization. This will be completed digitally using the Walgreens Digital Clinic Platform. Starting this process as soon as possible will allow participants to be immunized more efficiently.\";\r\n if(this.isCovidClinic){\r\n this.Message1 = \"Patient registration (including Insurance), consent, and Pre-Vaccination Assessment is required for each participant before receiving an immunization. This will be completed digitally using the Walgreens Digital Clinic Platform. Starting this process as soon as possible will allow participants to be immunized more efficiently.\";\r\n }\r\n else {\r\n this.Message1 = \"A completed Vaccine Administration Record (VAR) form will be required for each participant before receiving an Immunization. Making these available prior to the clinic will allow participants to be immunized more efficiently.\";\r\n }\r\n // }\r\n if (this.corporateInvoice&&!this.isCovidClinic) {\r\n this.Message2 = \"Walgreens corporate office will directly bill the invoice contact entered on the contract one month after the clinic has been conducted. This will be delivered electronically in a secure email format.\";\r\n }\r\n if (this.submitInsurance&&!this.isCovidClinic) {\r\n this.Message3 = \"Please ask all participants to provide a photocopy of their insurance card for processing purposes.\";\r\n }\r\n \r\n if(approveRejectCancellation!=null && approveRejectCancellation != undefined){\r\n this.approveRejectCancellation = true;\r\n this.thankyou = false;\r\n sessionStorage.removeItem(\"CancellationToken\");\r\n let wagContactInfo = SessionDetails.getWagsContactInfo();\r\n switch(Number(approveRejectCancellation)){ \r\n case 2:\r\n if(wagContactInfo != undefined && wagContactInfo != null){\r\n this.approveRejectCancellationText = String.Format(ErrorMessages['approveRejectCancellationText'],wagContactInfo.contactName, wagContactInfo.contactPhone, wagContactInfo.contactEmail);\r\n }\r\n else {\r\n this.approveRejectCancellationText = ErrorMessages['approveRejectCancellationTextNoContactInfo'];\r\n }\r\n break;\r\n default:\r\n if(wagContactInfo != undefined && wagContactInfo != null){\r\n this.approveRejectCancellationText = String.Format(ErrorMessages['approveRejectCancellationText'],wagContactInfo.contactName, wagContactInfo.contactPhone, wagContactInfo.contactEmail);\r\n }\r\n else {\r\n this.approveRejectCancellationText = ErrorMessages['approveRejectCancellationTextNoContactInfo'];\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n getTitle(state, parent) {\r\n var data = [];\r\n if(parent && parent.snapshot.data && parent.snapshot.data.title) {\r\n data.push(parent.snapshot.data.title);\r\n }\r\n if(state && parent) {\r\n data.push(... this.getTitle(state, state.firstChild(parent)));\r\n }\r\n return data;\r\n }\r\n print(){ \r\n let title:string = \"Walgreens Community Off-site Agreement\";\r\n if(this.torgthankyou){\r\n title = \"Limited Use License Agreement\";\r\n }\r\n this.utility.print(\"approveContract\",title ,SessionDetails.GetThankUDetails().printContents);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormArray, FormControl } from '@angular/forms';\r\nimport * as _ from \"lodash\";\r\nimport { Util } from '../../../../utility/util';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { UnsubscribeEmailData } from '../../../../models/UnsubscribeEmailData';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { UnsubscribeService } from '../../services/unsubscribe.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-unsubscribe',\r\n templateUrl: './unsubscribe.component.html',\r\n styleUrls: ['./unsubscribe.component.css']\r\n})\r\nexport class UnsubscribeComponent implements OnInit {\r\n templateName: any;\r\n emailId: string;\r\n isShown: boolean = false;\r\n alertMessage: string = `Sorry to hear you're thinking of leaving us.`;\r\n successMessage: string;\r\n\r\n\r\n constructor(private route: ActivatedRoute, private unsubscribeService : UnsubscribeService) {\r\n this.isShown = true;\r\n }\r\n ngOnInit() {\r\n this.isShown = false;\r\n this.route.queryParamMap.subscribe(queryParams => {\r\n this.templateName = queryParams.get(\"templateName\");\r\n this.emailId = queryParams.get(\"emailId\");\r\n this.successMessage = `If you would no longer like to receive email notifications at ${this.emailId || \"\"} from the Walgreens Community Outreach Program, click the Unsubscribe button below.`;\r\n })\r\n }\r\n\r\n\r\n\r\n unsubscribeemail() {\r\n\r\n\r\n // here need to pass templateName and EmailId as String List\r\n \r\n var inputData = new UnsubscribeEmailData();\r\n inputData.EmailId = this.emailId;\r\n inputData.TemplateName = this.templateName;\r\n\r\n\r\n this.unsubscribeService.UnsubscribeEmailGroup(inputData).subscribe((data) => {\r\n if (data == 'Unsubscribed') {\r\n this.isShown = true;\r\n this.alertMessage = 'Unsubscribe successful';\r\n this.successMessage = 'Your email has been successfully unsubscribed from this list!';\r\n }\r\n else {\r\n this.alertMessage = 'Unsubscribe Failed';\r\n }\r\n\r\n });\r\n\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ContractapproveService } from '../../services/contractapprove.service';\r\nimport { ClientInfo } from '../../../../models/client-info';\r\nimport { String, StringBuilder } from 'typescript-string-operations';\r\nimport { ContractData, Client, WalgreenCo, LegalNoticeAddress, Clinic, LanguageVariables } from '../../../../models/contract';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { Util } from '../../../../utility/util';\r\nimport { DatePipe, Location } from '@angular/common';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ThankyouData } from '../../../../models/thankyouData';\r\nimport { universalContractReleaseDate } from '../../../../JSON/UniversalTandC';\r\n\r\n@Component({\r\n selector: 'app-viewcontract-agreement-2022',\r\n templateUrl: './viewcontract-agreement.component-2022.html',\r\n styleUrls: ['./viewcontract-agreement.component-2022.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class ViewcontractAgreementComponent2022 implements OnInit {\r\n InvoiceInformation: any = [];\r\n displayInvoiceAndVoucher: boolean = false;\r\n getData: any;\r\n jsonData: string;\r\n currentUser = [];\r\n userRecords = [];\r\n aggrementData: any;\r\n clinicAgreement: ContractData = new ContractData();\r\n immunizationInformation = [];\r\n immunizationInformation1: string;\r\n clinicInformation = [];\r\n clientInformation: Client = new Client();\r\n legalNoticeAddressInfo: LegalNoticeAddress = new LegalNoticeAddress();\r\n walGreensInfo: WalgreenCo = new WalgreenCo();\r\n items: any;\r\n paymentCheck: boolean;\r\n clientName: string;\r\n currentLanguage: string = 'english';\r\n @Input() client: string;\r\n @Input() childMessage: string;\r\n spanishLanguage: string;\r\n headerText: string;\r\n attachment: string;\r\n message: string;\r\n imz: string;\r\n payment: string;\r\n rates: string;\r\n englishLanguage: string;\r\n enheader: string;\r\n enattachment: string;\r\n language: string;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n success_message: boolean = false;\r\n showBtnEn: boolean = false;\r\n showBtnSp: boolean = true;\r\n enlanguageSelection: boolean;\r\n splanguageSelection: boolean;\r\n json: string;\r\n legal_notice: string;\r\n today: any;\r\n attentionTo: string;\r\n client_information: any[];\r\n legal_information: any[];\r\n from_email: boolean = false;\r\n client_info: ClientInfo = new ClientInfo();\r\n table1: string = '';\r\n attn: string;\r\n isCovidVaccineAvailable: boolean = false;\r\n /////////////////////////////////////////// LANGUAGE Variables ///////////////////////\r\n languageVariables = new LanguageVariables();\r\n\r\n multipleEmailAddrss: string = '';\r\n editAgreeMnt: string = '';\r\n saveAgreeMnt: string = '';\r\n cancelTxt: string = '';\r\n noteTxt: string = '';\r\n fluExpiryDateTxt: string = '';\r\n routineExpiryDateTxt: string = '';\r\n estShots: string = '';\r\n sendInvoiceTo: string = '';\r\n isTaxExempt: string = '';\r\n isCopay: string = '';\r\n voucherNeeded: string = '';\r\n voucherExpiry: string = '';\r\n copayValue: string = '';\r\n approvedOrRejectedBy: string = \"\";\r\n sendAgreeMnt: string = \"\";\r\n from_clinic_details: boolean = false;\r\n approveContract: FormGroup;\r\n isSelected: boolean = false;\r\n covidOpportunityType: number;\r\n privateClinicFees: string;\r\n isCovidVoucher: boolean = false;\r\n showPreUniversalContract: boolean = false;\r\n siteMinimum: number = 25;\r\n ImzVcnName: any;\r\n PaymtBillMethod: any;\r\n VoucherRates: any;\r\n OffSiteClinicRates: any;\r\n businessName: any;\r\n isShow3dot3: boolean = true;\r\n isShowsingleStarTAndC2: boolean = true;\r\n\r\n constructor(\r\n private _apiservice: ContractapproveService, \r\n private router: Router,\r\n private utility: Util, \r\n private _fb: FormBuilder, \r\n private clientInfo: ClientInfo,\r\n private _datePipe: DatePipe, \r\n private _location: Location, \r\n private spinner: NgxSpinnerService\r\n ) {\r\n this.today = new Date();\r\n this.client_info = this.clientInfo;\r\n }\r\n\r\n private selectedLink: string;\r\n\r\n setradio(e: string): void {\r\n this.selectedLink = e;\r\n }\r\n // isSelected(name: string): boolean {\r\n // if (!this.selectedLink) {\r\n // return false;\r\n // }\r\n // return (this.selectedLink === name);\r\n // }\r\n ngOnInit() {\r\n this.isSelected = false;\r\n this.approveContract = this._fb.group({\r\n email_signature: this._fb.control('', null),\r\n user_notes: this._fb.control('', null),\r\n radioBtn: this._fb.control('', null),\r\n email: this._fb.control('', null)\r\n });\r\n this.from_clinic_details = SessionDetails.GetfromLocalclinics();\r\n this.from_email = SessionDetails.GetfromUserPage();\r\n let cpk = sessionStorage[\"clinic_agreement_pk\"];\r\n if (cpk == null || cpk == undefined) {\r\n this.showDialog(ErrorMessages['clientError'], ErrorMessages['nullClinicAgreementPk']);\r\n this.spinner.hide();\r\n return;\r\n }\r\n this._apiservice.getContractAgreementApproveData(cpk).subscribe((data: any) => {\r\n if(data && data.dateApproved && data.dateApproved < '2022-06-29')\r\n {\r\n this.isShow3dot3 = false;\r\n }\r\n if(data && data.dateApproved && data.dateApproved.toString() > '2022-08-19')\r\n {\r\n this.isShowsingleStarTAndC2 = false;\r\n }\r\n this.spinner.hide();\r\n this.clinicAgreement = data;\r\n this.businessName = data.opportunityInfo.businessName;\r\n this.approvedOrRejectedBy = data.approvedOrRejectedBy;\r\n if (data.isApproved) {\r\n this.approveContract.controls['radioBtn'].setValue(\"1\");\r\n }\r\n else if (!data.isApproved && data.isApproved != null) {\r\n this.approveContract.controls['radioBtn'].setValue(\"2\");\r\n this.isSelected = true;\r\n }\r\n\r\n this.approveContract.controls['user_notes'].setValue(data.notes);\r\n this.approveContract.controls['email_signature'].setValue(data.signature);\r\n this.userRecords = this.clinicAgreement.clinicImmunizationList;\r\n this.GetClinicInformation();\r\n this.GetImmunizationformation();\r\n this.GetClientAndLegalInformation();\r\n this.GetWalgreensCOformation();\r\n this.changeLanguage();\r\n this.displayInvoiceInfo();\r\n this.covidOpportunityType = data.opportunityInfo.covidOpportunityType;\r\n this.privateClinicFees = data.opportunityInfo.privateClinicFees ? data.opportunityInfo.privateClinicFees : \"8.5\";\r\n let covidVaccine = this.userRecords.filter(p => p.immunizationName.includes('COVID19 Vaccine (')).length > 0;\r\n //let CovidVoucher = this.userRecords.filter(item=>item.immunizationName.includes('Vaccine Voucher')).length > 0;\r\n if (covidVaccine) {\r\n this.isCovidVoucher = true;\r\n }\r\n // else{\r\n // this.isCovidVoucher = true;\r\n // }\r\n this.siteMinimum = this.covidOpportunityType == 1 ? 15 : 25;\r\n },\r\n err => {\r\n this.spinner.hide();\r\n // switch (err) {\r\n // case 500:\r\n // this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n // break;\r\n // case 400:\r\n // this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n // break;\r\n // default:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n // break;\r\n // }\r\n });\r\n this.changeLanguage();\r\n }\r\n\r\n getPaymentTypes(imz) { \r\n let paymentTypes = '';\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk);\r\n immzs.forEach((element, index, array) => {\r\n paymentTypes += `

`\r\n paymentTypes += element.paymentTypeName;\r\n if (index !== (array.length - 1)) {\r\n paymentTypes += ',';\r\n }\r\n paymentTypes += `

`\r\n });\r\n return paymentTypes;\r\n }\r\n\r\n getImmzPrices(imz) { \r\n let price = '';\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk);\r\n immzs.forEach((element, index, array) => {\r\n if (element.paymentTypeId != '13' && element.paymentTypeId != '11') {\r\n price += '$';\r\n let priceEx = element.price;\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose'\r\n if (index + 1 != array.length) {\r\n price += ', ';\r\n }\r\n }\r\n });\r\n // let isCashPaidByEmpExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7).length > 0;\r\n // if (isCashPaidByEmpExists) {\r\n // price = '$';\r\n // let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7)[0].price;\r\n // price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n // price += ' per dose'\r\n // }\r\n return price;\r\n }\r\n\r\n getImmzPricesForVoucher(imz) {\r\n let price;\r\n let isRecordExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13).length > 0;\r\n if (isRecordExists) {\r\n price = '$';\r\n let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13)[0].price;\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose'\r\n }\r\n return price;\r\n }\r\n\r\n displayInvoiceInfo() {\r\n if (this.userRecords != null) {\r\n let corp = this.userRecords.filter(c => Number(c.paymentTypeId) == 13);\r\n let routineExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') === -1)\r\n let flueExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') !== -1)\r\n let covidExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('covid') !== -1);\r\n if (corp !== null && corp.length > 0) {\r\n this.displayInvoiceAndVoucher = true;\r\n this.InvoiceInformation.push({\r\n \"paymentTypeId\": corp[0].paymentTypeId,\r\n \"sendInvoiceTo\": corp[0].sendInvoiceTo,\r\n \"name\": corp[0].name,\r\n \"phone\": corp[0].phone,\r\n \"fax\": corp[0].fax,\r\n \"email\": corp[0].email,\r\n \"address1\": corp[0].address1,\r\n \"address2\": corp[0].address2,\r\n \"city\": corp[0].city,\r\n \"isTaxExempt\": corp[0].isTaxExempt,\r\n \"state\": corp[0].state,\r\n \"zip\": corp[0].zip,\r\n \"isCopay\": corp[0].isCopay,\r\n \"copayValue\": corp[0].copayValue,\r\n \"isVoucherNeeded\": corp[0].isVoucherNeeded,\r\n \"fluvoucherExpirationDate\": flueExpDateLst.length > 0 ? flueExpDateLst[0].voucherExpirationDate : null,\r\n \"routinevoucherExpirationDate\": routineExpDateLst.length > 0 ? routineExpDateLst[0].voucherExpirationDate : null,\r\n \"covidvoucherExpirationDate\": covidExpDateLst.length > 0 ? covidExpDateLst[0].voucherExpirationDate : null\r\n });\r\n }\r\n }\r\n\r\n }\r\n GetClientLegalInfo() {\r\n this.client_info = this._apiservice.getSelectedClientLegalInfo();\r\n }\r\n languageChangeToSpanish() {\r\n this.showBtnEn = true;\r\n this.showBtnSp = false;\r\n this.enlanguageSelection = false;\r\n this.splanguageSelection = true;\r\n let contractdateApproved = null;\r\n if ((this.clinicAgreement && this.clinicAgreement.dateApproved)) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n else if ((this.clinicAgreement && this.clinicAgreement.dateCreated)) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateCreated);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n let data: any = this._apiservice.languageChange(2022,this.isCovidVaccineAvailable, !this.showPreUniversalContract, this.showPreUniversalContract);\r\n if (data) {\r\n this.spanishLanguage = data.spanish;\r\n this.headerText = data.header;\r\n this.attachment = data.attachmentheader;\r\n this.imz = data.imzsp;\r\n this.payment = data.paymentsp;\r\n this.rates = data.ratessp;\r\n\r\n this.ImzVcnName = data.ImzVcnNameSp;\r\n this.PaymtBillMethod = data.PaymtBillMethodSp;\r\n this.VoucherRates = data.VoucherRatesSp;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesSp;\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsSP;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextSP;\r\n\r\n this.languageVariables.businessName = data.clientsp;\r\n this.languageVariables.name = data.namesp;\r\n this.languageVariables.eSignature = data.eSignatureSP;\r\n this.languageVariables.date = data.dateSP;\r\n this.languageVariables.district = data.districtSP;\r\n this.languageVariables.dose = data.doseSP;\r\n\r\n this.languageVariables.title = data.titlesp;\r\n this.attentionTo = data.attentionsp;\r\n this.languageVariables.address1 = data.address1sp;\r\n this.languageVariables.address2 = data.address2sp;\r\n this.languageVariables.city = data.citysp;\r\n this.languageVariables.state = data.statesp;\r\n this.languageVariables.zip = data.zipcodesp;\r\n //this.legal_notice = data.legalsp;\r\n //this.client_info = data.clientinfosp;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntSP;\r\n this.languageVariables.approveText = data.approveTextSP;\r\n this.languageVariables.electrSign = data.electrSignSP;\r\n this.languageVariables.notes = data.notesSP;\r\n this.languageVariables.pageTitle = data.pageTitleSP;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffSP;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineSP;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientSP;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensSP;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1SP;\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2SP;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesSP;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingSP;\r\n this.languageVariables.profJudgementText = data.profJudgementTextSP;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngSP;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextSP;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesSP;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingSP;\r\n this.languageVariables.vouchersText = data.vouchersTextSP;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationSP;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsSP;\r\n this.languageVariables.important = data.importantSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.contractYearText1SP);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.influenzaSeasonText1SP);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextSP;\r\n this.languageVariables.siteMin = data.siteMinSP;\r\n this.languageVariables.siteAvg = data.siteAvgSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextSP, data.contractYearText2SP, data.contractYearText2SP);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluSP, data.influenzaSeasonText2SP, data.influenzaSeasonText2SP);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextSP;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingSP;\r\n this.languageVariables.paymentHd = data.paymentSP;\r\n this.languageVariables.paymentText = data.paymentTextSP;\r\n this.languageVariables.latePayment = data.latePaymentSP;\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesSP;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextSP;\r\n this.languageVariables.latePaymentText = data.latePaymentTextSP;\r\n this.languageVariables.costIncrease = data.costIncreaseSP; \r\n this.languageVariables.costIncreasetext = data.costIncreasetextSP; \r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsSP;\r\n this.languageVariables.termAndTerm = data.termAndTermSP;\r\n this.languageVariables.termAndTermText = data.termAndTermTextSP;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationSP;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextSP;\r\n this.languageVariables.waiver = data.waiverSP;\r\n this.languageVariables.waiverText = data.waiverTextSP;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifySP;\r\n this.languageVariables.insurance = data.insuranceSP;\r\n this.languageVariables.insuranceText = data.insuranceTextSP;\r\n this.languageVariables.indemnification = data.indemnificationSP;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let universalContractReleasedate = data.universalContractReleaseDate ? new Date(data.universalContractReleaseDate) : null;\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (this.isCovidVaccineAvailable == true && (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate)) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsSP;\r\n this.languageVariables.confidentiality = data.confidentialitySP;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1SP;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialitySP;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextSP;\r\n this.languageVariables.phi = data.phiSP;\r\n this.languageVariables.phiAb = data.phiAbSP;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2SP;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextSP;\r\n\r\n this.languageVariables.Advertising = data.AdvertisingSP;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextSP;\r\n this.languageVariables.frcMaj = data.frcMajSP;\r\n this.languageVariables.frcMajText = data.frcMajTextSP;\r\n this.languageVariables.compliance = data.complianceSP;\r\n this.languageVariables.complianceText = data.complianceTextSP;\r\n this.languageVariables.assignment = data.assignmentSP;\r\n this.languageVariables.assignmentText = data.assignmentTextSP;\r\n this.languageVariables.notices = data.noticesSP;\r\n this.languageVariables.noticesText = data.noticesTextSP;\r\n this.languageVariables.entireAgr = data.entireAgrSP;\r\n this.languageVariables.entireAgrText = data.entireAgrTextSP;\r\n this.languageVariables.counterPart = data.counterPartsHeadingSP;\r\n this.languageVariables.counterPartsText = data.counterPartsTextSP;\r\n\r\n this.languageVariables.rights = data.rightsSP;\r\n this.languageVariables.approve = data.approveSP;\r\n this.languageVariables.reject = data.rejectSP;\r\n this.languageVariables.submit = data.submitSP;\r\n this.languageVariables.cancel = data.cancelSP;\r\n this.languageVariables.printAgreementTxt = data.printAgreementSP;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n this.languageVariables.clinicLocation = data.clinicLocationSP;\r\n this.languageVariables.location = data.locationSP;\r\n this.languageVariables.time = data.timeSP;\r\n this.languageVariables.clinicDate = data.clinicDateSP;\r\n this.languageVariables.clinicTime = data.clinicTimeSP;\r\n this.languageVariables.contact = data.contactSP;\r\n this.languageVariables.phone = data.phoneSP;\r\n this.languageVariables.email = data.emailSP;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToSP;\r\n\r\n this.multipleEmailAddrss = data.multipleEmailAddressSP;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementSP;\r\n this.editAgreeMnt = data.editAgreementSP;\r\n this.saveAgreeMnt = data.saveAgreementSP;\r\n this.cancelTxt = data.cancelSP;\r\n this.noteTxt = data.noteTextSP;\r\n this.table1 = data.table1SP;\r\n this.attn = this.attentionTo;\r\n this.fluExpiryDateTxt = data.fluExpiryDateSP;\r\n this.routineExpiryDateTxt = data.routineExpiryDateSP;\r\n this.estShots = data.estShotsSP;\r\n this.sendInvoiceTo = data.sendInvoiceToSP;\r\n this.isTaxExempt = data.isTaxExemptSP;\r\n this.isCopay = data.isCopaySP;\r\n this.voucherNeeded = data.voucherNeededSP;\r\n this.voucherExpiry = data.voucherExpirySP;\r\n this.copayValue = data.copayValueSP;\r\n }\r\n }\r\n languageChangeToEnglish() {\r\n \r\n this.showBtnSp = true;\r\n this.showBtnEn = false;\r\n this.splanguageSelection = false;\r\n this.enlanguageSelection = true;\r\n let contractdateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n else if ((this.clinicAgreement && this.clinicAgreement.dateCreated)) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateCreated);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n let data: any = this._apiservice.languageChange(2022,this.isCovidVaccineAvailable, !this.showPreUniversalContract, this.showPreUniversalContract);\r\n if (data) {\r\n let uniContractReleaseDate: Date = new Date(data.universalContractReleaseDate);\r\n this.englishLanguage = data.english;\r\n //this.enheader = data.englishheader;\r\n this.enattachment = data.englishattachment;\r\n this.imz = data.imzen;\r\n this.payment = data.payen;\r\n this.rates = data.ratesen;\r\n\r\n this.ImzVcnName = data.ImzVcnNameSp;\r\n this.PaymtBillMethod = data.PaymtBillMethodSp;\r\n this.VoucherRates = data.VoucherRatesSp;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesSp;\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsEN;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextEN;\r\n\r\n this.languageVariables.businessName = data.clienten;\r\n this.languageVariables.name = data.nameen;\r\n this.languageVariables.eSignature = data.eSignatureEN;\r\n this.languageVariables.date = data.dateEN;\r\n this.languageVariables.district = data.districtEN;\r\n\r\n this.languageVariables.title = data.titleen;\r\n this.attentionTo = data.attentionen;\r\n this.languageVariables.address1 = data.address1en;\r\n this.languageVariables.address2 = data.address2en;\r\n this.languageVariables.city = data.cityen;\r\n this.languageVariables.state = data.stateen;\r\n this.languageVariables.zip = data.zipcodeen;\r\n //this.legal_notice = data.legalsp;\r\n //this.client_info = data.clientinfosp;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntEN;\r\n this.languageVariables.approveText = data.approveTextEN;\r\n this.languageVariables.electrSign = data.electrSignEN;\r\n this.languageVariables.notes = data.notesEN;\r\n this.languageVariables.pageTitle = data.pageTitleEN;\r\n this.languageVariables.email = data.emailEN;\r\n this.languageVariables.dose = data.doseEN;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffEN;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineEN;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientEN;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensEN;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1EN\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2EN;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesEN;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingEN;\r\n this.languageVariables.profJudgementText = data.profJudgementTextEN;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngEN;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextEN;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesEN;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingEN;\r\n this.languageVariables.vouchersText = data.vouchersTextEN;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationEN;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsEN;\r\n this.languageVariables.important = data.importantEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.contractYearText1EN);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.influenzaSeasonText1EN);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextEN;\r\n this.languageVariables.siteMin = data.siteMinEN;\r\n this.languageVariables.siteAvg = data.siteAvgEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextEN, data.contractYearText2EN, data.contractYearText2EN);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluEN, data.influenzaSeasonText2EN, data.influenzaSeasonText2EN);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextEN;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingEN;\r\n this.languageVariables.paymentHd = data.paymentEN;\r\n this.languageVariables.singleStarTAndC = data.singleStarTAndC;\r\n this.languageVariables.singleStarTAndC2 = data.singleStarTAndC2;\r\n this.languageVariables.article2Text = data.article2Text;\r\n if (this.checkIfCovidImmForCorpInvoiceSelected()) {\r\n this.enheader = this.showPreUniversalContract ? data.directBillEnglishheader : data.englishheader;\r\n this.languageVariables.paymentText = !this.showPreUniversalContract ? data.paymentTextEN : data.paymentTextDirectBillEN;\r\n }\r\n else {\r\n this.enheader = data.englishheader;\r\n this.languageVariables.paymentText = data.paymentTextEN;\r\n }\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesEN;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextEN;\r\n this.languageVariables.latePayment = data.latePaymentEN;\r\n this.languageVariables.latePaymentText = data.latePaymentTextEN;\r\n this.languageVariables.costIncrease = data.costIncreaseEN; \r\n this.languageVariables.costIncreasetext = data.costIncreasetextEN; \r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsEN;\r\n this.languageVariables.termAndTerm = data.termAndTermEN;\r\n this.languageVariables.termAndTermText = data.termAndTermTextEN;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationEN;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextEN;\r\n this.languageVariables.waiver = data.waiverEN;\r\n this.languageVariables.waiverText = data.waiverTextEN;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifyEN;\r\n this.languageVariables.insurance = data.insuranceEN;\r\n this.languageVariables.insuranceText = data.insuranceTextEN;\r\n this.languageVariables.indemnification = data.indemnificationEN;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (this.isCovidVaccineAvailable == true && (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate)) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsEN;\r\n this.languageVariables.confidentiality = data.confidentialityEN;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1EN;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialityEN;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextEN;\r\n this.languageVariables.phi = data.phiEN;\r\n this.languageVariables.phiAb = data.phiAbEN;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2EN;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextEN;\r\n this.languageVariables.Advertising = data.AdvertisingEN;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextEN;\r\n this.languageVariables.frcMaj = data.frcMajEN;\r\n this.languageVariables.frcMajText = data.frcMajTextEN;\r\n this.languageVariables.compliance = data.complianceEN;\r\n this.languageVariables.complianceText = data.complianceTextEN;\r\n this.languageVariables.assignment = data.assignmentEN;\r\n this.languageVariables.assignmentText = data.assignmentTextEN;\r\n this.languageVariables.notices = data.noticesEN;\r\n this.languageVariables.noticesText = data.noticesTextEN;\r\n this.languageVariables.entireAgr = data.entireAgrEN;\r\n this.languageVariables.entireAgrText = data.entireAgrTextEN;\r\n this.languageVariables.counterPart = data.counterPartsHeadingEN;\r\n this.languageVariables.counterPartsText = data.counterPartsTextEN;\r\n\r\n this.languageVariables.rights = data.rightsEN;\r\n this.languageVariables.approve = data.approveEN;\r\n this.languageVariables.reject = data.rejectEN;\r\n this.languageVariables.submit = data.submitEN;\r\n this.languageVariables.cancel = data.cancelEN;\r\n this.languageVariables.printAgreementTxt = data.printAgreementEN;\r\n\r\n this.languageVariables.clinicLocation = data.clinicLocationEN;\r\n this.languageVariables.location = data.locationEN;\r\n this.languageVariables.time = data.timeEN;\r\n this.languageVariables.clinicDate = data.clinicDateEN;\r\n this.languageVariables.clinicTime = data.clinicTimeEN;\r\n this.languageVariables.contact = data.contactEN;\r\n this.languageVariables.phone = data.phoneEN;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToEN;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n this.multipleEmailAddrss = data.multipleEmailAddressEN;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementEN;\r\n this.editAgreeMnt = data.editAgreementEN;\r\n this.saveAgreeMnt = data.saveAgreementEN;\r\n this.cancelTxt = data.cancelEN;\r\n this.noteTxt = data.noteTextEN;\r\n this.table1 = data.table1EN;\r\n this.attn = data.attnEN;\r\n this.fluExpiryDateTxt = data.fluExpiryDateEN;\r\n this.routineExpiryDateTxt = data.routineExpiryDateEN;\r\n this.estShots = data.estShotsEN;\r\n this.sendInvoiceTo = data.sendInvoiceToEN;\r\n this.isTaxExempt = data.isTaxExemptEN;\r\n this.isCopay = data.isCopayEN;\r\n this.voucherNeeded = data.voucherNeededEN;\r\n this.voucherExpiry = data.voucherExpiryEN;\r\n this.copayValue = data.copayValueEN;\r\n\r\n }\r\n\r\n this.language = \"TRANSLATE TO ENGLISH\";\r\n }\r\n public GetClinicInformation() {\r\n this.clinicInformation = this.clinicAgreement.clinicList;\r\n this.clinicInformation.forEach(cl => {\r\n if (cl.clinicDate) {\r\n let dateString = cl.clinicDate.substring(0, cl.clinicDate.indexOf('T'));\r\n let dateSplitTokens = dateString.split('-');\r\n var dt = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n cl.clinicDate = dt;\r\n }\r\n });\r\n }\r\n\r\n public GetImmunizationformation() {\r\n for (let i = 0; i < this.clinicAgreement.clinicList.length; i++) {\r\n this.immunizationInformation = this.clinicAgreement.clinicList[i].clinicImzQtyList;\r\n }\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicList[0].clinicImzQtyList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n }\r\n\r\n public GetClientAndLegalInformation() {\r\n \r\n if (this.clinicAgreement.clientInfo === null || this.clinicAgreement.clientInfo === undefined) {\r\n this.clientInformation = new Client();\r\n }\r\n if (this.clinicAgreement.clientInfo !== null && this.clinicAgreement.clientInfo !== undefined) {\r\n this.clientInformation = this.clinicAgreement.clientInfo;\r\n\r\n if (this.clinicAgreement.clientInfo.reviewedDate === null || this.clinicAgreement.clientInfo.reviewedDate === undefined) {\r\n let today = new Date();\r\n this.clientInformation = new Client();\r\n this.clientInformation.reviewedDate = this._datePipe.transform(today, \"MM/dd/yyyy\");\r\n }\r\n }\r\n if (this.clinicAgreement.legalNoticeAddressInfo === null || this.clinicAgreement.legalNoticeAddressInfo === undefined) {\r\n this.legalNoticeAddressInfo = new LegalNoticeAddress();\r\n }\r\n if (this.clinicAgreement.legalNoticeAddressInfo !== null && this.clinicAgreement.legalNoticeAddressInfo !== undefined) {\r\n this.legalNoticeAddressInfo = this.clinicAgreement.legalNoticeAddressInfo;\r\n }\r\n\r\n }\r\n\r\n public GetWalgreensCOformation() {\r\n this.walGreensInfo = this.clinicAgreement.walgreenCoInfo != null ? this.clinicAgreement.walgreenCoInfo : new WalgreenCo();\r\n\r\n }\r\n\r\n thankYou() {\r\n this.router.navigate(['/thankyou']);\r\n }\r\n\r\n printAgreement() {\r\n this.utility.print(\"approveContract\", \"Walgreens Community Off-site Agreement\");\r\n }\r\n changeLanguage() {\r\n if (this.currentLanguage.toLowerCase() === 'spanish') {\r\n this.languageChangeToSpanish();\r\n } else {\r\n this.languageChangeToEnglish();\r\n }\r\n }\r\n cancelView() {\r\n if (this.from_email) {\r\n this.router.navigate(['/communityoutreach/storehome']);\r\n }\r\n else {\r\n this._location.back();\r\n }\r\n }\r\n\r\n checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location: Clinic): boolean {\r\n return this._apiservice.checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location) && Number(location.isNoClinic) >= 1;\r\n }\r\n checkIfFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfNonFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfNonFluImmForCorpInvoiceSelected();\r\n }\r\n getVoucherExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getRoutineExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n okClicked() {\r\n this.display = false;\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = \"Contract Alert\";\r\n this.display = true;\r\n }\r\n\r\n sendEmail() {\r\n this.approveContract.controls['email'].setValidators([Validators.required]);\r\n this.approveContract.controls['email'].updateValueAndValidity();\r\n if (this.approveContract.valid) {\r\n\r\n if (!this.utility.validateEmail(this.approveContract.value.email)) {\r\n let sumMsg = ErrorMessages['errMsg'];\r\n let sMsg = ErrorMessages['emailList'];\r\n this.showDialogForMail(sumMsg, sMsg, false);\r\n return;\r\n }\r\n this.spinner.show();\r\n\r\n this.clinicAgreement.businessUserEmails = this.approveContract.value.email;\r\n this.clinicAgreement.contractPostedByUser = 'Walgreens User'\r\n this.makeValidBooleans();\r\n this._apiservice.saveAgreementData(SessionDetails.GetStoreId(), 1, this.clinicAgreement).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case '0':\r\n case 0:\r\n this.showDialogForMail(ErrorMessages['contract'], ErrorMessages['contractEmailSent'], true);\r\n break;\r\n case -4:\r\n case '-4':\r\n this.showDialogForMail(ErrorMessages['contractAlert'], data.errorS.errorMessage, false);\r\n break;\r\n default:\r\n this.showDialogForMail(ErrorMessages['contract'], data.errorS.errorMessage, false);\r\n break;\r\n }\r\n\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialogForMail(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n case 400:\r\n this.showDialogForMail(ErrorMessages['clientError'], err.json().Message, false);\r\n break;\r\n default:\r\n this.showDialogForMail(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n }\r\n\r\n });\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n\r\n }\r\n\r\n makeValidBooleans() {\r\n this.clinicAgreement.clinicImmunizationList.forEach(im => {\r\n if (im.sendInvoiceTo <= 0) {\r\n im.isTaxExempt = null;\r\n im.isCopay = null;\r\n im.isVoucherNeeded = null;\r\n } else {\r\n im.isTaxExempt >= 1 ? im.isTaxExempt = 1 : im.isTaxExempt = 0;\r\n im.isCopay >= 1 ? im.isCopay = 1 : im.isCopay = 0;\r\n im.isVoucherNeeded >= 1 ? im.isVoucherNeeded = 1 : im.isVoucherNeeded = 0;\r\n im.copayValue = +im.copayValue;\r\n if (im.voucherExpirationDate !== null && im.voucherExpirationDate !== undefined && im.voucherExpirationDate !== '') {\r\n im.voucherExpirationDate = this._datePipe.transform(im.voucherExpirationDate, \"MM/dd/yyyy\");\r\n }\r\n }\r\n });\r\n this.clinicAgreement.clinicList.forEach(cl => {\r\n cl.isNoClinic >= 1 ? cl.isNoClinic = 1 : cl.isNoClinic = 0;\r\n cl.isReassign >= 1 ? cl.isReassign = 1 : cl.isReassign = 0;\r\n cl.isCurrent >= 1 ? cl.isCurrent = 1 : cl.isCurrent = 0;\r\n\r\n if (cl.clinicDate === null || cl.clinicDate === undefined || cl.clinicDate === '') {\r\n cl.clinicDate = null;\r\n } else {\r\n cl.clinicDate = this._datePipe.transform(cl.clinicDate, \"MM/dd/yyyy\");\r\n }\r\n });\r\n }\r\n\r\n showDialogForMail(msgSummary: string, msgDetail: string, success_message: boolean) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n this.success_message = success_message;\r\n }\r\n\r\n isFieldValid(field: string) {\r\n return !this.approveContract.get(field).valid && this.approveContract.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n showCancelBtn() {\r\n return this._apiservice.getShowViewCancelBtn();\r\n }\r\n checkIfNonFluImmIsSelected(): boolean {\r\n\r\n let added_immunizations = this.clinicAgreement.clinicImmunizationList\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.immunizationName.toLowerCase().search('flu') === -1) {\r\n throw true;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n checkIfCovidImmForCorpInvoiceSelected() {\r\n\r\n let added_immunizations = this.clinicAgreement.clinicImmunizationList;\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.paymentTypeId == '6'\r\n && rec.immunizationName.toLowerCase().search('flu') == -1 && rec.immunizationName.toLowerCase().search('covid') !== -1) {\r\n throw true;\r\n // && (rec.sendInvoiceTo === 1 || Number(rec.sendInvoiceTo) === 1) &&\r\n // (rec.isVoucherNeeded === 1 || Number(rec.isVoucherNeeded) === 1)\r\n }\r\n // else if(rec.paymentTypeId==6 && rec.sendInvoiceTo===true && rec.immunizationName.toLowerCase().search('flu') == -1){\r\n // this.hasNonFluImmSelected = true;\r\n // }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n thankYouPage() {\r\n let responseClinicAgreement: any = this.clinicAgreement;\r\n let corporateInvoice: any = false;\r\n let submitInsurance: any = false;\r\n let voucherNeeded: any = false;\r\n\r\n for (var i = 0; i < responseClinicAgreement.clinicImmunizationList.length; i++) {\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 6) {\r\n corporateInvoice = true;\r\n }\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 8) {\r\n submitInsurance = true;\r\n }\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 9) {\r\n submitInsurance = true;\r\n }\r\n }\r\n var thankuData = new ThankyouData();\r\n thankuData.hasPrefilledForms = responseClinicAgreement.contractThankYou.hasPrefilledForms;\r\n thankuData.storeState = responseClinicAgreement.contractThankYou.storeState;\r\n thankuData.pdfVarFormEn = responseClinicAgreement.contractThankYou.pdfVarFormEn;\r\n thankuData.pdfVarFormEsp = responseClinicAgreement.contractThankYou.pdfVarFormEsp;\r\n thankuData.voucherNeeded = voucherNeeded;//Need to check\r\n thankuData.isRestrictedState = false;//need to check\r\n thankuData.corporateInvoice = corporateInvoice;\r\n thankuData.submitInsurance = submitInsurance;\r\n thankuData.isCovidClinic = this.isCovidVaccineAvailable;\r\n thankuData.printContents = document.getElementById('approveContract').innerHTML;\r\n thankuData.isCovidOpportunity = this.isCovidVaccineAvailable;\r\n thankuData.covidOpportunityType = this.covidOpportunityType;\r\n SessionDetails.setThankUDetails(thankuData);\r\n this.router.navigate(['/thankyou']);\r\n }\r\n checkToPrintAsterisk(immAbvName: string, immName: string): boolean {\r\n let bRet: boolean = false;\r\n if (immAbvName && immAbvName.search(/Two Dose/gi) >= 0) {\r\n bRet = true;\r\n }\r\n return bRet;\r\n }\r\n checkForDoubleAsteriskRates(): boolean {\r\n return this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/Dose/gi) >= 0).length > 0;\r\n }\r\n\r\n getCovidExpiryDate(): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1 && imz.immunizationName.toLowerCase().search('covid') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n}\r\n","import { Component, OnInit, Input, ChangeDetectorRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ContractapproveService } from '../../services/contractapprove.service';\r\nimport { ClientInfo } from '../../../../models/client-info';\r\nimport { String, StringBuilder } from 'typescript-string-operations';\r\nimport { ContractData, Client, WalgreenCo, LegalNoticeAddress, Clinic, LanguageVariables } from '../../../../models/contract';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { Util } from '../../../../utility/util';\r\nimport { DatePipe, Location } from '@angular/common';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ThankyouData } from '../../../../models/thankyouData';\r\nimport { universalContractReleaseDate } from '../../../../JSON/UniversalTandC';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-viewcontract-agreement-2023',\r\n templateUrl: './viewcontract-agreement.component-2023.html',\r\n styleUrls: ['./viewcontract-agreement.component-2023.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class ViewcontractAgreementComponent2023 implements OnInit {\r\n InvoiceInformation: any = [];\r\n \r\n displayInvoiceAndVoucher: boolean = false;\r\n getData: any;\r\n jsonData: string;\r\n currentUser = [];\r\n userRecords = [];\r\n aggrementData: any;\r\n clinicAgreement: ContractData = new ContractData();\r\n immunizationInformation = [];\r\n immunizationInformation1: string;\r\n clinicInformation = [];\r\n clientInformation: Client = new Client();\r\n legalNoticeAddressInfo: LegalNoticeAddress = new LegalNoticeAddress();\r\n walGreensInfo: WalgreenCo = new WalgreenCo();\r\n items: any;\r\n paymentCheck: boolean;\r\n clientName: string;\r\n currentLanguage: string = 'english';\r\n @Input() client: string;\r\n @Input() childMessage: string;\r\n spanishLanguage: string;\r\n headerText: string;\r\n attachment: string;\r\n message: string;\r\n imz: string;\r\n payment: string;\r\n rates: string;\r\n englishLanguage: string;\r\n enheader: string;\r\n enattachment: string;\r\n language: string;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n success_message: boolean = false;\r\n showBtnEn: boolean = false;\r\n showBtnSp: boolean = true;\r\n enlanguageSelection: boolean;\r\n splanguageSelection: boolean;\r\n json: string;\r\n legal_notice: string;\r\n today: any;\r\n attentionTo: string;\r\n client_information: any[];\r\n legal_information: any[];\r\n from_email: boolean = false;\r\n client_info: ClientInfo = new ClientInfo();\r\n table1: string = '';\r\n attn: string;\r\n isCovidVaccineAvailable: boolean = false;\r\n enattachmentArticleII:string;\r\n estimatedParticpants: number;\r\n /////////////////////////////////////////// LANGUAGE Variables ///////////////////////\r\n languageVariables = new LanguageVariables();\r\n\r\n multipleEmailAddrss: string = '';\r\n editAgreeMnt: string = '';\r\n saveAgreeMnt: string = '';\r\n cancelTxt: string = '';\r\n noteTxt: string = '';\r\n fluExpiryDateTxt: string = '';\r\n routineExpiryDateTxt: string = '';\r\n estShots: string = '';\r\n sendInvoiceTo: string = '';\r\n isTaxExempt: string = '';\r\n isCopay: string = '';\r\n voucherNeeded: string = '';\r\n voucherExpiry: string = '';\r\n copayValue: string = '';\r\n approvedOrRejectedBy: string = \"\";\r\n sendAgreeMnt: string = \"\";\r\n from_clinic_details: boolean = false;\r\n approveContract: FormGroup;\r\n isSelected: boolean = false;\r\n covidOpportunityType: number;\r\n privateClinicFees: string;\r\n isCovidVoucher: boolean = false;\r\n showPreUniversalContract: boolean = false;\r\n siteMinimum: number = 25;\r\n ImzVcnName: any;\r\n PaymtBillMethod: any;\r\n VoucherRates: any;\r\n OffSiteClinicRates: any;\r\n businessName: any;\r\n isShow3dot3: boolean = true;\r\n isShowsingleStarTAndC2: boolean = true;\r\n dataServiceCalled:boolean =false;\r\n isClinicNoFeesDisbaled: boolean= false;\r\n articleNoFeeIIEN : string;\r\n hasServiceAgreement: boolean = false;\r\n hasServiceAgreementAccepted: boolean = false;\r\n \r\n constructor(\r\n private _apiservice: ContractapproveService, \r\n private router: Router,\r\n private utility: Util, \r\n private _fb: FormBuilder, \r\n private clientInfo: ClientInfo,\r\n private _datePipe: DatePipe, \r\n private _location: Location, \r\n private spinner: NgxSpinnerService,\r\n private _ref: ChangeDetectorRef\r\n\r\n ) {\r\n this.today = new Date();\r\n this.client_info = this.clientInfo;\r\n }\r\n\r\n private selectedLink: string;\r\n\r\n setradio(e: string): void {\r\n this.selectedLink = e;\r\n }\r\n // isSelected(name: string): boolean {\r\n // if (!this.selectedLink) {\r\n // return false;\r\n // }\r\n // return (this.selectedLink === name);\r\n // }\r\n ngOnInit() {\r\n\r\n \r\n console.log(\"Step 1:\" + new Date());\r\n \r\n this.isSelected = false;\r\n this.approveContract = this._fb.group({\r\n email_signature: this._fb.control('', null),\r\n user_notes: this._fb.control('', null),\r\n radioBtn: this._fb.control('', null),\r\n email: this._fb.control('', null)\r\n });\r\n this.from_clinic_details = SessionDetails.GetfromLocalclinics();\r\n this.from_email = SessionDetails.GetfromUserPage();\r\n let cpk = sessionStorage[\"clinic_agreement_pk\"];\r\n if (cpk == null || cpk == undefined) {\r\n console.log(\"Step:2\" + new Date());\r\n this.showDialog(ErrorMessages['clientError'], ErrorMessages['nullClinicAgreementPk']);\r\n this.spinner.hide();\r\n return;\r\n }\r\n console.log(\"Step:3 \" + cpk);\r\n \r\n this._apiservice.getContractAgreementApproveData(cpk)\r\n .pipe(\r\n catchError(\r\n err => { \r\n this.showDialog(ErrorMessages['clientError'], err.json().Message); \r\n return of(null);\r\n }\r\n\r\n )\r\n\r\n )\r\n .subscribe((data: any) => {\r\n this.spinner.show();\r\n if(data)\r\n {\r\n this.dataServiceCalled =true;\r\n console.log(\"Step 4:\" + new Date()); \r\n this.clinicAgreement = data;\r\n this.businessName = data.opportunityInfo.businessName;\r\n this.approvedOrRejectedBy = data.approvedOrRejectedBy;\r\n if (data.isApproved) {\r\n this.approveContract.controls['radioBtn'].setValue(\"1\");\r\n }\r\n else if (!data.isApproved && data.isApproved != null) {\r\n this.approveContract.controls['radioBtn'].setValue(\"2\");\r\n this.isSelected = true;\r\n }\r\n\r\n this.approveContract.controls['user_notes'].setValue(data.notes);\r\n this.approveContract.controls['email_signature'].setValue(data.signature);\r\n this.userRecords = this.clinicAgreement.clinicImmunizationList;\r\n this.GetClinicInformation();\r\n this.GetImmunizationformation();\r\n this.GetClientAndLegalInformation();\r\n this.GetWalgreensCOformation();\r\n this.changeLanguage();\r\n this.displayInvoiceInfo();\r\n this.covidOpportunityType = data.opportunityInfo.covidOpportunityType;\r\n this.privateClinicFees = data.opportunityInfo.privateClinicFees ? data.opportunityInfo.privateClinicFees : \"8.5\";\r\n let covidVaccine = this.userRecords.filter(p => p.immunizationName.includes('COVID19 Vaccine (')).length > 0; \r\n if (covidVaccine) {\r\n this.isCovidVoucher = true;\r\n } \r\n this.siteMinimum = this.covidOpportunityType == 1 ? 15 : 25;\r\n this.hasServiceAgreement = this.clinicAgreement?.clinicList?.some(clinic => \r\n {\r\n if(clinic.hasOwnProperty(\"isNoClinic\") && clinic.hasOwnProperty(\"isNoClinicFee\")) {\r\n return !clinic?.isNoClinic && !clinic?.isNoClinicFee;\r\n } else if(clinic.hasOwnProperty(\"isNoClinic\")) {\r\n return !clinic?.isNoClinic\r\n } else if(clinic.hasOwnProperty(\"isNoClinicFee\")) {\r\n return !clinic?.isNoClinicFee;\r\n } else {\r\n return false;\r\n }\r\n });\r\n this.hasServiceAgreementAccepted = this.clinicAgreement.hasServiceAgreementAccepted;\r\n this.spinner.hide();\r\n this._ref.detectChanges();}\r\n },\r\n err => { \r\n this.showDialog(ErrorMessages['clientError'], err.json().Message); \r\n });\r\n this.changeLanguage();\r\n if(!this.dataServiceCalled)\r\n {\r\n setTimeout(() => {\r\n \r\n this._apiservice.getContractAgreementApproveData(cpk)\r\n .pipe(\r\n catchError(\r\n err => { \r\n this.showDialog(ErrorMessages['clientError'], err.json().Message); \r\n return of(null);\r\n }\r\n \r\n )\r\n \r\n )\r\n .subscribe((data: any) => {\r\n this.spinner.show();\r\n if(data)\r\n {\r\n this.dataServiceCalled =true;\r\n console.log(\"Step 4:\" + new Date()); \r\n this.clinicAgreement = data;\r\n this.businessName = data.opportunityInfo.businessName;\r\n this.approvedOrRejectedBy = data.approvedOrRejectedBy;\r\n if (data.isApproved) {\r\n this.approveContract.controls['radioBtn'].setValue(\"1\");\r\n }\r\n else if (!data.isApproved && data.isApproved != null) {\r\n this.approveContract.controls['radioBtn'].setValue(\"2\");\r\n this.isSelected = true;\r\n }\r\n \r\n this.approveContract.controls['user_notes'].setValue(data.notes);\r\n this.approveContract.controls['email_signature'].setValue(data.signature);\r\n this.userRecords = this.clinicAgreement.clinicImmunizationList;\r\n this.GetClinicInformation();\r\n this.GetImmunizationformation();\r\n this.GetClientAndLegalInformation();\r\n this.GetWalgreensCOformation();\r\n this.changeLanguage();\r\n this.displayInvoiceInfo();\r\n this.covidOpportunityType = data.opportunityInfo.covidOpportunityType;\r\n this.privateClinicFees = data.opportunityInfo.privateClinicFees ? data.opportunityInfo.privateClinicFees : \"8.5\";\r\n let covidVaccine = this.userRecords.filter(p => p.immunizationName.includes('COVID19 Vaccine (')).length > 0; \r\n if (covidVaccine) {\r\n this.isCovidVoucher = true;\r\n } \r\n this.siteMinimum = this.covidOpportunityType == 1 ? 15 : 25;\r\n this.hasServiceAgreement = this.clinicAgreement?.clinicList?.some(clinic => \r\n {\r\n if(clinic.hasOwnProperty(\"isNoClinic\") && clinic.hasOwnProperty(\"isNoClinicFee\")) {\r\n return !clinic?.isNoClinic && !clinic?.isNoClinicFee;\r\n } else if(clinic.hasOwnProperty(\"isNoClinic\")) {\r\n return !clinic?.isNoClinic\r\n } else if(clinic.hasOwnProperty(\"isNoClinicFee\")) {\r\n return !clinic?.isNoClinicFee;\r\n } else {\r\n return false;\r\n }\r\n });\r\n this.hasServiceAgreementAccepted = this.clinicAgreement.hasServiceAgreementAccepted;\r\n this.spinner.hide();\r\n this._ref.detectChanges();}\r\n },\r\n err => { \r\n this.showDialog(ErrorMessages['clientError'], err.json().Message); \r\n });\r\n this.changeLanguage();\r\n\r\n }, 1000);\r\n \r\n }\r\n } \r\n\r\n\r\n \r\n\r\n getPaymentTypes(imz) {\r\n let paymentTypes = '';\r\n const order = ['Voucher: Corporate to Invoice Employer Directly', 'Off-site: Corporate to Invoice Employer Directly', 'Cash Paid by Employee', 'Submit Claims to Insurance'];\r\n \r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk).sort(\r\n (a, b) => a.paymentTypeName.localeCompare(b.paymentTypeName)\r\n // (a,b)=> a.paymentTypeId-b.paymentTypeId\r\n );\r\n immzs.forEach((element, index, array) => {\r\n // paymentTypes += `

`\r\n paymentTypes += element.paymentTypeName;\r\n if (index !== (array.length - 1)) {\r\n paymentTypes += ',
';\r\n }\r\n // paymentTypes += `

`\r\n });\r\n return paymentTypes;\r\n }\r\n\r\n getImmzPrices(imz) { \r\n let price = '';\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk).sort(\r\n (a, b) => a.paymentTypeName.localeCompare(b.paymentTypeName)\r\n );\r\n immzs.forEach((element, index, array) => {\r\n // if (element.paymentTypeId != '13' && element.paymentTypeId != '11') {\r\n if(element.paymentTypeName==='Submit Claims to Insurance')\r\n {\r\n\r\n price += 'n/a';\r\n price += ',
';\r\n }\r\n else{\r\n price += '$';\r\n let priceEx = element.price;\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose'\r\n if (index + 1 != array.length) {\r\n price += ',
';\r\n }\r\n\r\n }\r\n\r\n \r\n // }\r\n });\r\n // let isCashPaidByEmpExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7).length > 0;\r\n // if (isCashPaidByEmpExists) {\r\n // price = '$';\r\n // let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7)[0].price;\r\n // price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n // price += ' per dose'\r\n // }\r\n return price;\r\n }\r\n getImmzPricesForVoucher(imz) {\r\n let price;\r\n let isRecordExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13).length > 0;\r\n if (isRecordExists) {\r\n price = '$';\r\n let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13)[0].price;\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose'\r\n }\r\n return price;\r\n }\r\n\r\n displayInvoiceInfo() {\r\n if (this.userRecords != null) {\r\n let corp = this.userRecords.filter(c => Number(c.paymentTypeId) == 13);\r\n let routineExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') === -1)\r\n let flueExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') !== -1)\r\n let covidExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('covid') !== -1);\r\n if (corp !== null && corp.length > 0) {\r\n\r\n if(this.InvoiceInformation==null || this.InvoiceInformation.length==0 )\r\n {\r\n this.displayInvoiceAndVoucher = true;\r\n this.InvoiceInformation.push({\r\n \"paymentTypeId\": corp[0].paymentTypeId,\r\n \"sendInvoiceTo\": corp[0].sendInvoiceTo,\r\n \"name\": corp[0].name,\r\n \"phone\": corp[0].phone,\r\n \"fax\": corp[0].fax,\r\n \"email\": corp[0].email,\r\n \"address1\": corp[0].address1,\r\n \"address2\": corp[0].address2,\r\n \"city\": corp[0].city,\r\n \"isTaxExempt\": corp[0].isTaxExempt,\r\n \"state\": corp[0].state,\r\n \"zip\": corp[0].zip,\r\n \"isCopay\": corp[0].isCopay,\r\n \"copayValue\": corp[0].copayValue,\r\n \"isVoucherNeeded\": corp[0].isVoucherNeeded,\r\n \"fluvoucherExpirationDate\": flueExpDateLst.length > 0 ? flueExpDateLst[0].voucherExpirationDate : null,\r\n \"routinevoucherExpirationDate\": routineExpDateLst.length > 0 ? routineExpDateLst[0].voucherExpirationDate : null,\r\n \"covidvoucherExpirationDate\": covidExpDateLst.length > 0 ? covidExpDateLst[0].voucherExpirationDate : null\r\n });\r\n }\r\n \r\n }\r\n }\r\n\r\n }\r\n GetClientLegalInfo() {\r\n this.client_info = this._apiservice.getSelectedClientLegalInfo();\r\n }\r\n languageChangeToSpanish() {\r\n this.showBtnEn = true;\r\n this.showBtnSp = false;\r\n this.enlanguageSelection = false;\r\n this.splanguageSelection = true;\r\n let contractdateApproved = null;\r\n if ((this.clinicAgreement && this.clinicAgreement.dateApproved)) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n else if ((this.clinicAgreement && this.clinicAgreement.dateCreated)) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateCreated);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n let data: any = this._apiservice.languageChange(2023,this.isCovidVaccineAvailable, !this.showPreUniversalContract, this.showPreUniversalContract);\r\n if (data) {\r\n this.spanishLanguage = data.spanish;\r\n this.headerText = data.header;\r\n this.attachment = data.attachmentheader;\r\n this.imz = data.imzsp;\r\n this.payment = data.paymentsp;\r\n this.rates = data.ratessp;\r\n\r\n this.ImzVcnName = data.ImzVcnNameSp;\r\n this.PaymtBillMethod = data.PaymtBillMethodSp;\r\n this.VoucherRates = data.VoucherRatesSp;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesSp;\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsEN;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextEN;\r\n\r\n this.languageVariables.businessName = data.clientsp;\r\n this.languageVariables.name = data.namesp;\r\n this.languageVariables.eSignature = data.eSignatureSP;\r\n this.languageVariables.date = data.dateSP;\r\n this.languageVariables.district = data.districtSP;\r\n this.languageVariables.dose = data.doseSP;\r\n\r\n this.languageVariables.title = data.titlesp;\r\n this.attentionTo = data.attentionsp;\r\n this.languageVariables.address1 = data.address1sp;\r\n this.languageVariables.address2 = data.address2sp;\r\n this.languageVariables.city = data.citysp;\r\n this.languageVariables.state = data.statesp;\r\n this.languageVariables.zip = data.zipcodesp;\r\n //this.legal_notice = data.legalsp;\r\n //this.client_info = data.clientinfosp;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntSP;\r\n this.languageVariables.approveText = data.approveTextSP;\r\n this.languageVariables.electrSign = data.electrSignSP;\r\n this.languageVariables.notes = data.notesSP;\r\n this.languageVariables.pageTitle = data.pageTitleSP;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffSP;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineSP;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientSP;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensSP;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1SP;\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2SP;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesSP;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingSP;\r\n this.languageVariables.profJudgementText = data.profJudgementTextSP;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngSP;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextSP;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesSP;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingSP;\r\n this.languageVariables.vouchersText = data.vouchersTextSP;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationSP;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsSP;\r\n this.languageVariables.important = data.importantSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.contractYearText1SP);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.influenzaSeasonText1SP);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextSP;\r\n this.languageVariables.siteMin = data.siteMinSP;\r\n this.languageVariables.siteAvg = data.siteAvgSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextSP, data.contractYearText2SP, data.contractYearText2SP);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluSP, data.influenzaSeasonText2SP, data.influenzaSeasonText2SP);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextSP;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingSP;\r\n this.languageVariables.paymentHd = data.paymentSP;\r\n this.languageVariables.paymentText = data.paymentTextSP;\r\n this.languageVariables.latePayment = data.latePaymentSP;\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesSP;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextSP;\r\n this.languageVariables.latePaymentText = data.latePaymentTextSP;\r\n this.languageVariables.costIncrease = data.costIncreaseSP; \r\n this.languageVariables.costIncreasetext = data.costIncreasetextSP; \r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsSP;\r\n this.languageVariables.termAndTerm = data.termAndTermSP;\r\n this.languageVariables.termAndTermText = data.termAndTermTextSP;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationSP;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextSP;\r\n this.languageVariables.waiver = data.waiverSP;\r\n this.languageVariables.waiverText = data.waiverTextSP;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifySP;\r\n this.languageVariables.insurance = data.insuranceSP;\r\n this.languageVariables.insuranceText = data.insuranceTextSP;\r\n this.languageVariables.indemnification = data.indemnificationSP;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let universalContractReleasedate = data.universalContractReleaseDate ? new Date(data.universalContractReleaseDate) : null;\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (this.isCovidVaccineAvailable == true && (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate)) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsSP;\r\n this.languageVariables.confidentiality = data.confidentialitySP;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1SP;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialitySP;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextSP;\r\n this.languageVariables.phi = data.phiSP;\r\n this.languageVariables.phiAb = data.phiAbSP;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2SP;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextSP;\r\n\r\n this.languageVariables.Advertising = data.AdvertisingSP;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextSP;\r\n this.languageVariables.frcMaj = data.frcMajSP;\r\n this.languageVariables.frcMajText = data.frcMajTextSP;\r\n this.languageVariables.compliance = data.complianceSP;\r\n this.languageVariables.complianceText = data.complianceTextSP;\r\n this.languageVariables.assignment = data.assignmentSP;\r\n this.languageVariables.assignmentText = data.assignmentTextSP;\r\n this.languageVariables.notices = data.noticesSP;\r\n this.languageVariables.noticesText = data.noticesTextSP;\r\n this.languageVariables.entireAgr = data.entireAgrSP;\r\n this.languageVariables.entireAgrText = data.entireAgrTextSP;\r\n this.languageVariables.counterPart = data.counterPartsHeadingSP;\r\n this.languageVariables.counterPartsText = data.counterPartsTextSP;\r\n\r\n this.languageVariables.rights = data.rightsSP;\r\n this.languageVariables.approve = data.approveSP;\r\n this.languageVariables.reject = data.rejectSP;\r\n this.languageVariables.submit = data.submitSP;\r\n this.languageVariables.cancel = data.cancelSP;\r\n this.languageVariables.printAgreementTxt = data.printAgreementSP;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n this.languageVariables.clinicLocation = data.clinicLocationSP;\r\n this.languageVariables.location = data.locationSP;\r\n this.languageVariables.time = data.timeSP;\r\n this.languageVariables.clinicDate = data.clinicDateSP;\r\n this.languageVariables.clinicTime = data.clinicTimeSP;\r\n this.languageVariables.contact = data.contactSP;\r\n this.languageVariables.phone = data.phoneSP;\r\n this.languageVariables.email = data.emailSP;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToSP;\r\n\r\n this.multipleEmailAddrss = data.multipleEmailAddressSP;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementSP;\r\n this.editAgreeMnt = data.editAgreementSP;\r\n this.saveAgreeMnt = data.saveAgreementSP;\r\n this.cancelTxt = data.cancelSP;\r\n this.noteTxt = data.noteTextSP;\r\n this.table1 = data.table1SP;\r\n this.attn = this.attentionTo;\r\n this.fluExpiryDateTxt = data.fluExpiryDateSP;\r\n this.routineExpiryDateTxt = data.routineExpiryDateSP;\r\n this.estShots = data.estShotsSP;\r\n this.sendInvoiceTo = data.sendInvoiceToSP;\r\n this.isTaxExempt = data.isTaxExemptSP;\r\n this.isCopay = data.isCopaySP;\r\n this.voucherNeeded = data.voucherNeededSP;\r\n this.voucherExpiry = data.voucherExpirySP;\r\n this.copayValue = data.copayValueSP;\r\n }\r\n }\r\n languageChangeToEnglish() {\r\n \r\n this.showBtnSp = true;\r\n this.showBtnEn = false;\r\n this.splanguageSelection = false;\r\n this.enlanguageSelection = true;\r\n let contractdateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n else if ((this.clinicAgreement && this.clinicAgreement.dateCreated)) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateCreated);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n let data: any = this._apiservice.languageChange(2023,this.isCovidVaccineAvailable, !this.showPreUniversalContract, this.showPreUniversalContract);\r\n if (data) {\r\n let uniContractReleaseDate: Date = new Date(data.universalContractReleaseDate);\r\n this.englishLanguage = data.english;\r\n //this.enheader = data.englishheader;\r\n this.enattachment = data.englishattachment;\r\n this.enattachmentArticleII = data.articleIIEN;\r\n this.articleNoFeeIIEN = data.articleNoFeeIIEN;\r\n this.imz = data.imzen;\r\n this.payment = data.payen;\r\n this.rates = data.ratesen;\r\n\r\n this.ImzVcnName = data.ImzVcnNameEn;\r\n this.PaymtBillMethod = data.PaymtBillMethodEn;\r\n this.VoucherRates = data.VoucherRatesSp;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesSp;\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsEN;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextEN;\r\n\r\n this.languageVariables.businessName = data.clienten;\r\n this.languageVariables.name = data.nameen;\r\n this.languageVariables.eSignature = data.eSignatureEN;\r\n this.languageVariables.date = data.dateEN;\r\n this.languageVariables.district = data.districtEN;\r\n\r\n this.languageVariables.title = data.titleen;\r\n this.attentionTo = data.attentionen;\r\n this.languageVariables.address1 = data.address1en;\r\n this.languageVariables.address2 = data.address2en;\r\n this.languageVariables.city = data.cityen;\r\n this.languageVariables.state = data.stateen;\r\n this.languageVariables.zip = data.zipcodeen;\r\n //this.legal_notice = data.legalsp;\r\n //this.client_info = data.clientinfosp;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntEN;\r\n this.languageVariables.approveText = data.approveTextEN;\r\n this.languageVariables.electrSign = data.electrSignEN;\r\n this.languageVariables.notes = data.notesEN;\r\n this.languageVariables.pageTitle = data.pageTitleEN;\r\n this.languageVariables.email = data.emailEN;\r\n this.languageVariables.dose = data.doseEN;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffEN;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineEN;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientEN;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensEN;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1EN\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2EN;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesEN;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingEN;\r\n this.languageVariables.profJudgementText = data.profJudgementTextEN;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngEN;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextEN;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesEN;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingEN;\r\n this.languageVariables.vouchersText = data.vouchersTextEN;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationEN;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsEN;\r\n this.languageVariables.important = data.importantEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.contractYearText1EN);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.influenzaSeasonText1EN);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextEN;\r\n this.languageVariables.siteMin = data.siteMinEN;\r\n this.languageVariables.siteAvg = data.siteAvgEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextEN, data.contractYearText2EN, data.contractYearText2EN);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluEN, data.influenzaSeasonText2EN, data.influenzaSeasonText2EN);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextEN;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingEN;\r\n this.languageVariables.paymentHd = data.paymentEN;\r\n this.languageVariables.singleStarTAndC = data.singleStarTAndC;\r\n this.languageVariables.singleStarTAndC2 = data.singleStarTAndC2;\r\n this.languageVariables.article2Text = data.article2Text;\r\n if (this.checkIfCovidImmForCorpInvoiceSelected()) {\r\n this.enheader = this.showPreUniversalContract ? data.directBillEnglishheader : data.englishheader;\r\n this.languageVariables.paymentText = !this.showPreUniversalContract ? data.paymentTextEN : data.paymentTextDirectBillEN;\r\n }\r\n else {\r\n this.enheader = data.englishheader;\r\n this.languageVariables.paymentText = data.paymentTextEN;\r\n }\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesEN;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextEN;\r\n this.languageVariables.latePayment = data.latePaymentEN;\r\n this.languageVariables.latePaymentText = data.latePaymentTextEN;\r\n this.languageVariables.costIncrease = data.costIncreaseEN; \r\n this.languageVariables.costIncreasetext = data.costIncreasetextEN; \r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsEN;\r\n this.languageVariables.termAndTerm = data.termAndTermEN;\r\n this.languageVariables.termAndTermText = data.termAndTermTextEN;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationEN;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextEN;\r\n this.languageVariables.waiver = data.waiverEN;\r\n this.languageVariables.waiverText = data.waiverTextEN;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifyEN;\r\n this.languageVariables.insurance = data.insuranceEN;\r\n this.languageVariables.insuranceText = data.insuranceTextEN;\r\n this.languageVariables.indemnification = data.indemnificationEN;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (this.isCovidVaccineAvailable == true && (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate)) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsEN;\r\n this.languageVariables.confidentiality = data.confidentialityEN;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1EN;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialityEN;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextEN;\r\n this.languageVariables.phi = data.phiEN;\r\n this.languageVariables.phiAb = data.phiAbEN;\r\n this.languageVariables.confidentialityP2 = data.confidentialityTextEN;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextEN;\r\n this.languageVariables.Advertising = data.AdvertisingEN;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextEN;\r\n this.languageVariables.frcMaj = data.frcMajEN;\r\n this.languageVariables.frcMajText = data.frcMajTextEN;\r\n this.languageVariables.compliance = data.complianceEN;\r\n this.languageVariables.complianceText = data.complianceTextEN;\r\n this.languageVariables.assignment = data.assignmentEN;\r\n this.languageVariables.assignmentText = data.assignmentTextEN;\r\n this.languageVariables.notices = data.noticesEN;\r\n this.languageVariables.noticesText = data.noticesTextEN;\r\n this.languageVariables.entireAgr = data.entireAgrEN;\r\n this.languageVariables.entireAgrText = data.entireAgrTextEN;\r\n this.languageVariables.counterPart = data.counterPartsHeadingEN;\r\n this.languageVariables.counterPartsText = data.counterPartsTextEN;\r\n\r\n this.languageVariables.rights = data.rightsEN;\r\n this.languageVariables.approve = data.approveEN;\r\n this.languageVariables.reject = data.rejectEN;\r\n this.languageVariables.submit = data.submitEN;\r\n this.languageVariables.cancel = data.cancelEN;\r\n this.languageVariables.printAgreementTxt = data.printAgreementEN;\r\n\r\n this.languageVariables.clinicLocation = data.clinicLocationEN;\r\n this.languageVariables.location = data.locationEN;\r\n this.languageVariables.time = data.timeEN;\r\n this.languageVariables.clinicDate = data.clinicDateEN;\r\n this.languageVariables.clinicTime = data.clinicTimeEN;\r\n this.languageVariables.contact = data.contactEN;\r\n this.languageVariables.phone = data.phoneEN;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToEN;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n this.multipleEmailAddrss = data.multipleEmailAddressEN;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementEN;\r\n this.editAgreeMnt = data.editAgreementEN;\r\n this.saveAgreeMnt = data.saveAgreementEN;\r\n this.cancelTxt = data.cancelEN;\r\n this.noteTxt = data.noteTextEN;\r\n this.table1 = data.table1EN;\r\n this.attn = data.attnEN;\r\n this.fluExpiryDateTxt = data.fluExpiryDateEN;\r\n this.routineExpiryDateTxt = data.routineExpiryDateEN;\r\n this.estShots = data.estShotsEN;\r\n this.sendInvoiceTo = data.sendInvoiceToEN;\r\n this.isTaxExempt = data.isTaxExemptEN;\r\n this.isCopay = data.isCopayEN;\r\n this.voucherNeeded = data.voucherNeededEN;\r\n this.voucherExpiry = data.voucherExpiryEN;\r\n this.copayValue = data.copayValueEN;\r\n \r\n }\r\n\r\n this.language = \"TRANSLATE TO ENGLISH\";\r\n }\r\n public GetClinicInformation() {\r\nconsole.log(this.clinicAgreement.clinicList);\r\n\r\n this.clinicInformation = this.clinicAgreement.clinicList;\r\n this.isClinicNoFeesDisbaled = this.clinicInformation.some(imzqty => imzqty.clinicFee !=undefined && imzqty.clinicFee !=null && imzqty.clinicFee > 0 )\r\n this.clinicInformation.forEach(cl => {\r\n if (cl.clinicDate) {\r\n let dateString = cl.clinicDate.substring(0, cl.clinicDate.indexOf('T'));\r\n let dateSplitTokens = dateString.split('-');\r\n var dt = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n cl.clinicDate = dt;\r\n }\r\n });\r\n }\r\n\r\n public GetImmunizationformation() {\r\n for (let i = 0; i < this.clinicAgreement.clinicList.length; i++) {\r\n this.immunizationInformation = this.clinicAgreement.clinicList[i].clinicImzQtyList;\r\n }\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicList[0].clinicImzQtyList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n\r\n // if(this.clinicAgreement.clinicList.length>0)\r\n // {\r\n\r\n // this.estimatedParticpants = this.clinicAgreement.clinicList[0].estimatedParticipants\r\n // }\r\n }\r\n\r\n public GetClientAndLegalInformation() {\r\n \r\n if (this.clinicAgreement.clientInfo === null || this.clinicAgreement.clientInfo === undefined) {\r\n this.clientInformation = new Client();\r\n }\r\n if (this.clinicAgreement.clientInfo !== null && this.clinicAgreement.clientInfo !== undefined) {\r\n this.clientInformation = this.clinicAgreement.clientInfo;\r\n\r\n if (this.clinicAgreement.clientInfo.reviewedDate === null || this.clinicAgreement.clientInfo.reviewedDate === undefined) {\r\n let today = new Date();\r\n this.clientInformation = new Client();\r\n this.clientInformation.reviewedDate = this._datePipe.transform(today, \"MM/dd/yyyy\");\r\n }\r\n }\r\n if (this.clinicAgreement.legalNoticeAddressInfo === null || this.clinicAgreement.legalNoticeAddressInfo === undefined) {\r\n this.legalNoticeAddressInfo = new LegalNoticeAddress();\r\n }\r\n if (this.clinicAgreement.legalNoticeAddressInfo !== null && this.clinicAgreement.legalNoticeAddressInfo !== undefined) {\r\n this.legalNoticeAddressInfo = this.clinicAgreement.legalNoticeAddressInfo;\r\n }\r\n\r\n }\r\n\r\n public GetWalgreensCOformation() {\r\n this.walGreensInfo = this.clinicAgreement.walgreenCoInfo != null ? this.clinicAgreement.walgreenCoInfo : new WalgreenCo();\r\n\r\n }\r\n\r\n thankYou() {\r\n this.router.navigate(['/thankyou']);\r\n }\r\n\r\n printAgreement() {\r\n this.utility.print(\"approveContract\", \"Walgreens Community Off-site Agreement\");\r\n }\r\n changeLanguage() {\r\n if (this.currentLanguage.toLowerCase() === 'spanish') {\r\n this.languageChangeToSpanish();\r\n } else {\r\n this.languageChangeToEnglish();\r\n }\r\n }\r\n cancelView() {\r\n if (this.from_email) {\r\n this.router.navigate(['/communityoutreach/storehome']);\r\n }\r\n else {\r\n this._location.back();\r\n }\r\n }\r\n\r\n checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location: Clinic): boolean {\r\n return this._apiservice.checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location) && Number(location.isNoClinic) >= 1;\r\n }\r\n checkIfFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfNonFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfNonFluImmForCorpInvoiceSelected();\r\n }\r\n getVoucherExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getRoutineExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n okClicked() {\r\n this.display = false;\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = \"Contract Alert\";\r\n this.display = true;\r\n }\r\n\r\n sendEmail() {\r\n this.approveContract.controls['email'].setValidators([Validators.required]);\r\n this.approveContract.controls['email'].updateValueAndValidity();\r\n if (this.approveContract.valid) {\r\n\r\n if (!this.utility.validateEmail(this.approveContract.value.email)) {\r\n let sumMsg = ErrorMessages['errMsg'];\r\n let sMsg = ErrorMessages['emailList'];\r\n this.showDialogForMail(sumMsg, sMsg, false);\r\n return;\r\n }\r\n this.spinner.show();\r\n\r\n this.clinicAgreement.businessUserEmails = this.approveContract.value.email;\r\n this.clinicAgreement.contractPostedByUser = 'Walgreens User'\r\n this.makeValidBooleans();\r\n this._apiservice.saveAgreementData(SessionDetails.GetStoreId(), 1, this.clinicAgreement).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case '0':\r\n case 0:\r\n this.showDialogForMail(ErrorMessages['contract'], ErrorMessages['contractEmailSent'], true);\r\n break;\r\n case -4:\r\n case '-4':\r\n this.showDialogForMail(ErrorMessages['contractAlert'], data.errorS.errorMessage, false);\r\n break;\r\n default:\r\n this.showDialogForMail(ErrorMessages['contract'], data.errorS.errorMessage, false);\r\n break;\r\n }\r\n\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialogForMail(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n case 400:\r\n this.showDialogForMail(ErrorMessages['clientError'], err.json().Message, false);\r\n break;\r\n default:\r\n this.showDialogForMail(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n }\r\n\r\n });\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n\r\n }\r\n\r\n makeValidBooleans() {\r\n this.clinicAgreement.clinicImmunizationList.forEach(im => {\r\n if (im.sendInvoiceTo <= 0) {\r\n im.isTaxExempt = null;\r\n im.isCopay = null;\r\n im.isVoucherNeeded = null;\r\n } else {\r\n im.isTaxExempt >= 1 ? im.isTaxExempt = 1 : im.isTaxExempt = 0;\r\n im.isCopay >= 1 ? im.isCopay = 1 : im.isCopay = 0;\r\n im.isVoucherNeeded >= 1 ? im.isVoucherNeeded = 1 : im.isVoucherNeeded = 0;\r\n im.copayValue = +im.copayValue;\r\n if (im.voucherExpirationDate !== null && im.voucherExpirationDate !== undefined && im.voucherExpirationDate !== '') {\r\n im.voucherExpirationDate = this._datePipe.transform(im.voucherExpirationDate, \"MM/dd/yyyy\");\r\n }\r\n }\r\n });\r\n this.clinicAgreement.clinicList.forEach(cl => {\r\n cl.isNoClinic >= 1 ? cl.isNoClinic = 1 : cl.isNoClinic = 0;\r\n cl.isReassign >= 1 ? cl.isReassign = 1 : cl.isReassign = 0;\r\n cl.isCurrent >= 1 ? cl.isCurrent = 1 : cl.isCurrent = 0;\r\n\r\n if (cl.clinicDate === null || cl.clinicDate === undefined || cl.clinicDate === '') {\r\n cl.clinicDate = null;\r\n } else {\r\n cl.clinicDate = this._datePipe.transform(cl.clinicDate, \"MM/dd/yyyy\");\r\n }\r\n });\r\n }\r\n\r\n showDialogForMail(msgSummary: string, msgDetail: string, success_message: boolean) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n this.success_message = success_message;\r\n }\r\n\r\n isFieldValid(field: string) {\r\n return !this.approveContract.get(field).valid && this.approveContract.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n showCancelBtn() {\r\n return this._apiservice.getShowViewCancelBtn();\r\n }\r\n checkIfNonFluImmIsSelected(): boolean {\r\n\r\n let added_immunizations = this.clinicAgreement.clinicImmunizationList\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.immunizationName.toLowerCase().search('flu') === -1) {\r\n throw true;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n checkIfCovidImmForCorpInvoiceSelected() {\r\n\r\n let added_immunizations = this.clinicAgreement.clinicImmunizationList;\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.paymentTypeId == '6'\r\n && rec.immunizationName.toLowerCase().search('flu') == -1 && rec.immunizationName.toLowerCase().search('covid') !== -1) {\r\n throw true;\r\n // && (rec.sendInvoiceTo === 1 || Number(rec.sendInvoiceTo) === 1) &&\r\n // (rec.isVoucherNeeded === 1 || Number(rec.isVoucherNeeded) === 1)\r\n }\r\n // else if(rec.paymentTypeId==6 && rec.sendInvoiceTo===true && rec.immunizationName.toLowerCase().search('flu') == -1){\r\n // this.hasNonFluImmSelected = true;\r\n // }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n thankYouPage() {\r\n let responseClinicAgreement: any = this.clinicAgreement;\r\n let corporateInvoice: any = false;\r\n let submitInsurance: any = false;\r\n let voucherNeeded: any = false;\r\n\r\n for (var i = 0; i < responseClinicAgreement.clinicImmunizationList.length; i++) {\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 6) {\r\n corporateInvoice = true;\r\n }\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 8) {\r\n submitInsurance = true;\r\n }\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 9) {\r\n submitInsurance = true;\r\n }\r\n }\r\n var thankuData = new ThankyouData();\r\n thankuData.hasPrefilledForms = responseClinicAgreement.contractThankYou.hasPrefilledForms;\r\n thankuData.storeState = responseClinicAgreement.contractThankYou.storeState;\r\n thankuData.pdfVarFormEn = responseClinicAgreement.contractThankYou.pdfVarFormEn;\r\n thankuData.pdfVarFormEsp = responseClinicAgreement.contractThankYou.pdfVarFormEsp;\r\n thankuData.voucherNeeded = voucherNeeded;//Need to check\r\n thankuData.isRestrictedState = false;//need to check\r\n thankuData.corporateInvoice = corporateInvoice;\r\n thankuData.submitInsurance = submitInsurance;\r\n thankuData.isCovidClinic = this.isCovidVaccineAvailable;\r\n thankuData.printContents = document.getElementById('approveContract').innerHTML;\r\n thankuData.isCovidOpportunity = this.isCovidVaccineAvailable;\r\n thankuData.covidOpportunityType = this.covidOpportunityType;\r\n SessionDetails.setThankUDetails(thankuData);\r\n this.router.navigate(['/thankyou']);\r\n }\r\n checkToPrintAsterisk(immAbvName: string, immName: string): boolean {\r\n let bRet: boolean = false;\r\n if (immAbvName && immAbvName.search(/Two Dose/gi) >= 0) {\r\n bRet = true;\r\n }\r\n return bRet;\r\n }\r\n checkForDoubleAsteriskRates(): boolean {\r\n return this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/Dose/gi) >= 0).length > 0;\r\n }\r\n\r\n getCovidExpiryDate(): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1 && imz.immunizationName.toLowerCase().search('covid') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, ChangeDetectorRef, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ContractapproveService } from '../../services/contractapprove.service';\r\nimport { ClientInfo } from '../../../../models/client-info';\r\nimport { String, StringBuilder } from 'typescript-string-operations';\r\nimport { ContractData, Client, WalgreenCo, LegalNoticeAddress, Clinic, LanguageVariables } from '../../../../models/contract';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { Util } from '../../../../utility/util';\r\nimport { DatePipe, Location } from '@angular/common';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ThankyouData } from '../../../../models/thankyouData';\r\nimport { universalContractReleaseDate } from '../../../../JSON/UniversalTandC';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { ClinicDetailsUtilities } from '../../../../utility/clinicDetailsUtilities';\r\n\r\n@Component({\r\n selector: 'app-viewcontract-agreement-2024',\r\n templateUrl: './viewcontract-agreement-2024.component.html',\r\n styleUrls: ['./viewcontract-agreement-2024.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class ViewcontractAgreement2024Component implements OnInit {\r\n InvoiceInformation: any = [];\r\n\r\n displayInvoiceAndVoucher: boolean = false;\r\n getData: any;\r\n jsonData: string;\r\n currentUser = [];\r\n userRecords = [];\r\n aggrementData: any;\r\n clinicAgreement: ContractData = new ContractData();\r\n immunizationInformation = [];\r\n immunizationInformation1: string;\r\n clinicInformation = [];\r\n clientInformation: Client = new Client();\r\n legalNoticeAddressInfo: LegalNoticeAddress = new LegalNoticeAddress();\r\n walGreensInfo: WalgreenCo = new WalgreenCo();\r\n items: any;\r\n paymentCheck: boolean;\r\n clientName: string;\r\n currentLanguage: string = 'english';\r\n @Input() client: string;\r\n @Input() childMessage: string;\r\n @ViewChild('serviceAgreementAccepted', { static: false }) serviceAgreementAccepted: ElementRef;\r\n spanishLanguage: string;\r\n headerText: string;\r\n attachment: string;\r\n message: string;\r\n imz: string;\r\n payment: string;\r\n rates: string;\r\n englishLanguage: string;\r\n enheader: string;\r\n enattachment: string;\r\n language: string;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n success_message: boolean = false;\r\n showBtnEn: boolean = false;\r\n showBtnSp: boolean = true;\r\n enlanguageSelection: boolean;\r\n splanguageSelection: boolean;\r\n json: string;\r\n legal_notice: string;\r\n today: any;\r\n attentionTo: string;\r\n client_information: any[];\r\n legal_information: any[];\r\n from_email: boolean = false;\r\n client_info: ClientInfo = new ClientInfo();\r\n table1: string = '';\r\n attn: string;\r\n isCovidVaccineAvailable: boolean = false;\r\n enattachmentArticleII: string;\r\n estimatedParticpants: number;\r\n agreementmessage: string = '';\r\n /////////////////////////////////////////// LANGUAGE Variables ///////////////////////\r\n languageVariables = new LanguageVariables();\r\n\r\n multipleEmailAddrss: string = '';\r\n editAgreeMnt: string = '';\r\n saveAgreeMnt: string = '';\r\n cancelTxt: string = '';\r\n noteTxt: string = '';\r\n fluExpiryDateTxt: string = '';\r\n routineExpiryDateTxt: string = '';\r\n estShots: string = '';\r\n sendInvoiceTo: string = '';\r\n isTaxExempt: string = '';\r\n isCopay: string = '';\r\n voucherNeeded: string = '';\r\n voucherExpiry: string = '';\r\n copayValue: string = '';\r\n approvedOrRejectedBy: string = \"\";\r\n sendAgreeMnt: string = \"\";\r\n from_clinic_details: boolean = false;\r\n approveContract: FormGroup;\r\n isSelected: boolean = false;\r\n covidOpportunityType: number;\r\n privateClinicFees: string;\r\n isCovidVoucher: boolean = false;\r\n showPreUniversalContract: boolean = false;\r\n siteMinimum: number = 25;\r\n ImzVcnName: any;\r\n PaymtBillMethod: any;\r\n VoucherRates: any;\r\n OffSiteClinicRates: any;\r\n businessName: any;\r\n isShow3dot3: boolean = true;\r\n isShowsingleStarTAndC2: boolean = true;\r\n dataServiceCalled: boolean = false;\r\n isClinicNoFeesDisbaled: boolean = false;\r\n articleNoFeeIIEN: string;\r\n hasServiceAgreement: boolean = false;\r\n hasServiceAgreementAccepted: boolean = false;\r\n hasServiceFeefeatureDisabled = environment.disabledFeatures.serviceFee;\r\n isPreviousClinic: number | null;\r\n isInvoiceInfoNeedToDisplay: boolean = false;\r\n\r\n constructor(\r\n private _apiservice: ContractapproveService,\r\n private router: Router,\r\n private utility: Util,\r\n private _fb: FormBuilder,\r\n private clientInfo: ClientInfo,\r\n private _datePipe: DatePipe,\r\n private _location: Location,\r\n private spinner: NgxSpinnerService,\r\n private _ref: ChangeDetectorRef,\r\n\r\n ) {\r\n this.today = new Date();\r\n this.client_info = this.clientInfo;\r\n }\r\n\r\n private selectedLink: string;\r\n\r\n setradio(e: string): void {\r\n this.selectedLink = e;\r\n }\r\n // isSelected(name: string): boolean {\r\n // if (!this.selectedLink) {\r\n // return false;\r\n // }\r\n // return (this.selectedLink === name);\r\n // }\r\n ngOnInit() {\r\n\r\n console.log(\"Step 1:\" + new Date());\r\n\r\n this.isSelected = false;\r\n this.approveContract = this._fb.group({\r\n email_signature: this._fb.control('', null),\r\n user_notes: this._fb.control('', null),\r\n radioBtn: this._fb.control('', null),\r\n email: this._fb.control('', null)\r\n });\r\n this.from_clinic_details = SessionDetails.GetfromLocalclinics();\r\n this.from_email = SessionDetails.GetfromUserPage();\r\n let cpk = sessionStorage[\"clinic_agreement_pk\"];\r\n if (cpk == null || cpk == undefined) {\r\n console.log(\"Step:2\" + new Date());\r\n this.showDialog(ErrorMessages['clientError'], ErrorMessages['nullClinicAgreementPk']);\r\n this.spinner.hide();\r\n return;\r\n }\r\n console.log(\"Step:3 \" + cpk);\r\n\r\n this._apiservice.getContractAgreementApproveData(cpk)\r\n .pipe(\r\n catchError(\r\n err => {\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n return of(null);\r\n }\r\n\r\n )\r\n\r\n )\r\n .subscribe((data: any) => {\r\n this.spinner.show();\r\n if (data) {\r\n this.dataServiceCalled = true;\r\n console.log(\"Step 4:\" + new Date());\r\n this.clinicAgreement = data;\r\n this.businessName = data.opportunityInfo.businessName;\r\n this.approvedOrRejectedBy = data.approvedOrRejectedBy;\r\n if (data.isApproved) {\r\n this.approveContract.controls['radioBtn'].setValue(\"1\");\r\n }\r\n else if (!data.isApproved && data.isApproved != null) {\r\n this.approveContract.controls['radioBtn'].setValue(\"2\");\r\n this.isSelected = true;\r\n }\r\n\r\n this.approveContract.controls['user_notes'].setValue(data.notes);\r\n this.approveContract.controls['email_signature'].setValue(data.signature);\r\n this.userRecords = this.clinicAgreement.clinicImmunizationList;\r\n this.isPreviousClinic = Number(ClinicDetailsUtilities.getisPreviousClinic(this.clinicAgreement.clinicList));\r\n this.GetClinicInformation();\r\n this.GetImmunizationformation();\r\n this.GetClientAndLegalInformation();\r\n this.GetWalgreensCOformation();\r\n this.changeLanguage();\r\n this.displayInvoiceInfo();\r\n this.covidOpportunityType = data.opportunityInfo.covidOpportunityType;\r\n const aggrementDate = new Date(this.clinicAgreement.dateCreated);\r\n this.privateClinicFees = data.opportunityInfo.privateClinicFees ? data.opportunityInfo.privateClinicFees : \"8.5\";\r\n let covidVaccine = this.userRecords.filter(p => p.immunizationName.includes('COVID19 Vaccine (')).length > 0;\r\n if (covidVaccine) {\r\n this.isCovidVoucher = true;\r\n }\r\n this.siteMinimum = this.covidOpportunityType == 1 ? 15 : 25;\r\n this.hasServiceAgreement = this.clinicAgreement?.clinicList?.some(clinic => {\r\n if (clinic.hasOwnProperty(\"isNoClinic\") && clinic.hasOwnProperty(\"isNoClinicFee\")) {\r\n if (aggrementDate > new Date(environment.serviceFeeAgreement.agreementDate)) {\r\n this.agreementmessage = environment.serviceFeeAgreement.servicefeeupdateMessage;\r\n return !clinic?.isNoClinic && !clinic?.isNoClinicFee;\r\n }\r\n else {\r\n this.agreementmessage = environment.serviceFeeAgreement.servicefeeMessage;\r\n return !clinic?.isNoClinic && !clinic?.isNoClinicFee;\r\n }\r\n } else if (clinic.hasOwnProperty(\"isNoClinic\")) {\r\n if (aggrementDate > new Date(environment.serviceFeeAgreement.agreementDate)) {\r\n this.agreementmessage = environment.serviceFeeAgreement.servicefeeupdateMessage;\r\n return !clinic?.isNoClinic\r\n } else {\r\n this.agreementmessage = environment.serviceFeeAgreement.servicefeeMessage;\r\n return !clinic?.isNoClinic\r\n }\r\n } else if (clinic.hasOwnProperty(\"isNoClinicFee\")) {\r\n if (aggrementDate > new Date(environment.serviceFeeAgreement.agreementDate)) {\r\n this.agreementmessage = environment.serviceFeeAgreement.servicefeeupdateMessage;\r\n return !clinic?.isNoClinic\r\n } else {\r\n this.agreementmessage = environment.serviceFeeAgreement.servicefeeMessage;\r\n return !clinic?.isNoClinicFee;\r\n }\r\n } else {\r\n return false;\r\n }\r\n });\r\n this.hasServiceAgreementAccepted = this.clinicAgreement.hasServiceAgreementAccepted;\r\n this.spinner.hide();\r\n this._ref.detectChanges();\r\n }\r\n },\r\n err => {\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n });\r\n this.changeLanguage();\r\n if (!this.dataServiceCalled) {\r\n setTimeout(() => {\r\n\r\n this._apiservice.getContractAgreementApproveData(cpk)\r\n .pipe(\r\n catchError(\r\n err => {\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n return of(null);\r\n }\r\n\r\n )\r\n\r\n )\r\n .subscribe((data: any) => {\r\n this.spinner.show();\r\n if (data) {\r\n this.dataServiceCalled = true;\r\n console.log(\"Step 4:\" + new Date());\r\n this.clinicAgreement = data;\r\n this.businessName = data.opportunityInfo.businessName;\r\n this.approvedOrRejectedBy = data.approvedOrRejectedBy;\r\n if (data.isApproved) {\r\n this.approveContract.controls['radioBtn'].setValue(\"1\");\r\n }\r\n else if (!data.isApproved && data.isApproved != null) {\r\n this.approveContract.controls['radioBtn'].setValue(\"2\");\r\n this.isSelected = true;\r\n }\r\n\r\n this.approveContract.controls['user_notes'].setValue(data.notes);\r\n this.approveContract.controls['email_signature'].setValue(data.signature);\r\n this.userRecords = this.clinicAgreement.clinicImmunizationList;\r\n this.isPreviousClinic = Number(ClinicDetailsUtilities.getisPreviousClinic(this.clinicAgreement.clinicList));\r\n this.GetClinicInformation();\r\n this.GetImmunizationformation();\r\n this.GetClientAndLegalInformation();\r\n this.GetWalgreensCOformation();\r\n this.changeLanguage();\r\n this.displayInvoiceInfo();\r\n this.covidOpportunityType = data.opportunityInfo.covidOpportunityType;\r\n this.privateClinicFees = data.opportunityInfo.privateClinicFees ? data.opportunityInfo.privateClinicFees : \"8.5\";\r\n let covidVaccine = this.userRecords.filter(p => p.immunizationName.includes('COVID19 Vaccine (')).length > 0;\r\n if (covidVaccine) {\r\n this.isCovidVoucher = true;\r\n }\r\n this.siteMinimum = this.covidOpportunityType == 1 ? 15 : 25;\r\n this.hasServiceAgreement = this.clinicAgreement?.clinicList?.some(clinic => {\r\n if (clinic.hasOwnProperty(\"isNoClinic\") && clinic.hasOwnProperty(\"isNoClinicFee\")) {\r\n return !clinic?.isNoClinic && !clinic?.isNoClinicFee;\r\n } else if (clinic.hasOwnProperty(\"isNoClinic\")) {\r\n return !clinic?.isNoClinic\r\n } else if (clinic.hasOwnProperty(\"isNoClinicFee\")) {\r\n return !clinic?.isNoClinicFee;\r\n } else {\r\n return false;\r\n }\r\n });\r\n this.hasServiceAgreementAccepted = this.clinicAgreement.hasServiceAgreementAccepted;\r\n this.spinner.hide();\r\n this._ref.detectChanges();\r\n }\r\n },\r\n err => {\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n });\r\n this.changeLanguage();\r\n\r\n }, 1000);\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n getPaymentTypes(imz) {\r\n let paymentTypes = '';\r\n const order = ['Voucher: Corporate to Invoice Employer Directly', 'Off-site: Corporate to Invoice Employer Directly', 'Cash Paid by Employee', 'Submit Claims to Insurance'];\r\n\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk).sort(\r\n (a, b) => a.paymentTypeName.localeCompare(b.paymentTypeName)\r\n // (a,b)=> a.paymentTypeId-b.paymentTypeId\r\n );\r\n immzs.forEach((element, index, array) => {\r\n // paymentTypes += `

`\r\n paymentTypes += element.paymentTypeName;\r\n if (index !== (array.length - 1)) {\r\n paymentTypes += ',
';\r\n }\r\n // paymentTypes += `

`\r\n });\r\n return paymentTypes;\r\n }\r\n\r\n getImmzPrices(imz) {\r\n let price = '';\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk).sort(\r\n (a, b) => a.paymentTypeName.localeCompare(b.paymentTypeName)\r\n );\r\n immzs.forEach((element, index, array) => {\r\n // if (element.paymentTypeId != '13' && element.paymentTypeId != '11') {\r\n // if (element.paymentTypeName === 'Submit Claims to Insurance' && imz.IsPreviousClinic) {\r\n\r\n // price += 'n/a';\r\n // price += ',
';\r\n // }\r\n // else {\r\n let priceEx = element.price;\r\n if (priceEx < 0) {\r\n price += 'n/a'\r\n } else {\r\n price += '$';\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose'\r\n }\r\n if (index + 1 != array.length) {\r\n price += ',
';\r\n }\r\n\r\n // }\r\n\r\n\r\n // }\r\n });\r\n // let isCashPaidByEmpExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7).length > 0;\r\n // if (isCashPaidByEmpExists) {\r\n // price = '$';\r\n // let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 7)[0].price;\r\n // price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n // price += ' per dose'\r\n // }\r\n return price;\r\n }\r\n getImmzPricesForVoucher(imz) {\r\n let price;\r\n let isRecordExists = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13).length > 0;\r\n if (isRecordExists) {\r\n price = '$';\r\n let priceEx = this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationPk == imz.immunizationPk && +p.paymentTypeId == 13)[0].price;\r\n price += (Math.round(priceEx * 100) / 100).toFixed(2);\r\n price += ' per dose'\r\n }\r\n return price;\r\n }\r\n\r\n displayInvoiceInfo() {\r\n if (this.userRecords != null) {\r\n let corp = this.userRecords?.[0];\r\n corp.isVoucherNeeded = this.userRecords.some((record) => record.isVoucherNeeded === true || Number(record.isVoucherNeeded) === 1);\r\n this.userRecords.forEach(c => c.paymentTypeId == \"13\" ? this.displayInvoiceAndVoucher = true : this.displayInvoiceAndVoucher = false)\r\n let routineExpDateLst = this.userRecords.filter(c => c.immunizationName.toLowerCase().search('flu') === -1)\r\n let flueExpDateLst = this.userRecords.filter(c => c.immunizationName.toLowerCase().search('flu') !== -1)\r\n let covidExpDateLst = this.userRecords.filter(c => c.immunizationName.toLowerCase().search('covid') !== -1);\r\n if (corp !== null && Object.keys(corp).length > 0) {\r\n\r\n if (this.InvoiceInformation == null || this.InvoiceInformation.length == 0) {\r\n this.InvoiceInformation.push({\r\n \"paymentTypeId\": corp.paymentTypeId,\r\n \"sendInvoiceTo\": corp.sendInvoiceTo,\r\n \"name\": corp.name,\r\n \"phone\": corp.phone,\r\n \"fax\": corp.fax,\r\n \"email\": corp.email,\r\n \"address1\": corp.address1,\r\n \"address2\": corp.address2,\r\n \"city\": corp.city,\r\n \"isTaxExempt\": corp.isTaxExempt,\r\n \"state\": corp.state,\r\n \"zip\": corp.zip,\r\n \"isCopay\": corp.isCopay,\r\n \"copayValue\": corp.copayValue,\r\n \"isVoucherNeeded\": corp.isVoucherNeeded,\r\n \"fluvoucherExpirationDate\": flueExpDateLst.length > 0 ? flueExpDateLst[0].voucherExpirationDate : null,\r\n \"routinevoucherExpirationDate\": routineExpDateLst.length > 0 ? routineExpDateLst[0].voucherExpirationDate : null,\r\n \"covidvoucherExpirationDate\": covidExpDateLst.length > 0 ? covidExpDateLst[0].voucherExpirationDate : null\r\n });\r\n }\r\n\r\n }\r\n }\r\n\r\n }\r\n GetClientLegalInfo() {\r\n this.client_info = this._apiservice.getSelectedClientLegalInfo();\r\n }\r\n languageChangeToSpanish() {\r\n this.showBtnEn = true;\r\n this.showBtnSp = false;\r\n this.enlanguageSelection = false;\r\n this.splanguageSelection = true;\r\n let contractdateApproved = null;\r\n if ((this.clinicAgreement && this.clinicAgreement.dateApproved)) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n else if ((this.clinicAgreement && this.clinicAgreement.dateCreated)) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateCreated);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n let data: any = this._apiservice.languageChange(2024, this.isCovidVaccineAvailable, !this.showPreUniversalContract, this.showPreUniversalContract);\r\n if (data) {\r\n this.spanishLanguage = data.spanish;\r\n this.headerText = data.header;\r\n this.attachment = data.attachmentheader;\r\n this.imz = data.imzsp;\r\n this.payment = data.paymentsp;\r\n this.rates = data.ratessp;\r\n\r\n this.ImzVcnName = data.ImzVcnNameSp;\r\n this.PaymtBillMethod = data.PaymtBillMethodSp;\r\n this.VoucherRates = data.VoucherRatesSp;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesSp;\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsEN;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextEN;\r\n\r\n this.languageVariables.businessName = data.clientsp;\r\n this.languageVariables.name = data.namesp;\r\n this.languageVariables.eSignature = data.eSignatureSP;\r\n this.languageVariables.date = data.dateSP;\r\n this.languageVariables.district = data.districtSP;\r\n this.languageVariables.dose = data.doseSP;\r\n\r\n this.languageVariables.title = data.titlesp;\r\n this.attentionTo = data.attentionsp;\r\n this.languageVariables.address1 = data.address1sp;\r\n this.languageVariables.address2 = data.address2sp;\r\n this.languageVariables.city = data.citysp;\r\n this.languageVariables.state = data.statesp;\r\n this.languageVariables.zip = data.zipcodesp;\r\n //this.legal_notice = data.legalsp;\r\n //this.client_info = data.clientinfosp;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntSP;\r\n this.languageVariables.approveText = data.approveTextSP;\r\n this.languageVariables.electrSign = data.electrSignSP;\r\n this.languageVariables.notes = data.notesSP;\r\n this.languageVariables.pageTitle = data.pageTitleSP;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffSP;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineSP;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientSP;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensSP;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1SP;\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2SP;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesSP;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingSP;\r\n this.languageVariables.profJudgementText = data.profJudgementTextSP;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngSP;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextSP;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesSP;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingSP;\r\n this.languageVariables.vouchersText = data.vouchersTextSP;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationSP;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsSP;\r\n this.languageVariables.important = data.importantSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.contractYearText1SP);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.influenzaSeasonText1SP);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextSP;\r\n this.languageVariables.siteMin = data.siteMinSP;\r\n this.languageVariables.siteAvg = data.siteAvgSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextSP, data.contractYearText2SP, data.contractYearText2SP);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluSP, data.influenzaSeasonText2SP, data.influenzaSeasonText2SP);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextSP;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingSP;\r\n this.languageVariables.paymentHd = data.paymentSP;\r\n this.languageVariables.paymentText = data.paymentTextSP;\r\n this.languageVariables.latePayment = data.latePaymentSP;\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesSP;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextSP;\r\n this.languageVariables.latePaymentText = data.latePaymentTextSP;\r\n this.languageVariables.costIncrease = data.costIncreaseSP;\r\n this.languageVariables.costIncreasetext = data.costIncreasetextSP;\r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsSP;\r\n this.languageVariables.termAndTerm = data.termAndTermSP;\r\n this.languageVariables.termAndTermText = data.termAndTermTextSP;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationSP;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextSP;\r\n this.languageVariables.waiver = data.waiverSP;\r\n this.languageVariables.waiverText = data.waiverTextSP;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifySP;\r\n this.languageVariables.insurance = data.insuranceSP;\r\n this.languageVariables.insuranceText = data.insuranceTextSP;\r\n this.languageVariables.indemnification = data.indemnificationSP;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let universalContractReleasedate = data.universalContractReleaseDate ? new Date(data.universalContractReleaseDate) : null;\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (this.isCovidVaccineAvailable == true && (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate)) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsSP;\r\n this.languageVariables.confidentiality = data.confidentialitySP;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1SP;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialitySP;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextSP;\r\n this.languageVariables.phi = data.phiSP;\r\n this.languageVariables.phiAb = data.phiAbSP;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2SP;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextSP;\r\n\r\n this.languageVariables.Advertising = data.AdvertisingSP;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextSP;\r\n this.languageVariables.frcMaj = data.frcMajSP;\r\n this.languageVariables.frcMajText = data.frcMajTextSP;\r\n this.languageVariables.compliance = data.complianceSP;\r\n this.languageVariables.complianceText = data.complianceTextSP;\r\n this.languageVariables.assignment = data.assignmentSP;\r\n this.languageVariables.assignmentText = data.assignmentTextSP;\r\n this.languageVariables.notices = data.noticesSP;\r\n this.languageVariables.noticesText = data.noticesTextSP;\r\n this.languageVariables.entireAgr = data.entireAgrSP;\r\n this.languageVariables.entireAgrText = data.entireAgrTextSP;\r\n this.languageVariables.counterPart = data.counterPartsHeadingSP;\r\n this.languageVariables.counterPartsText = data.counterPartsTextSP;\r\n\r\n this.languageVariables.rights = data.rightsSP;\r\n this.languageVariables.approve = data.approveSP;\r\n this.languageVariables.reject = data.rejectSP;\r\n this.languageVariables.submit = data.submitSP;\r\n this.languageVariables.cancel = data.cancelSP;\r\n this.languageVariables.printAgreementTxt = data.printAgreementSP;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n this.languageVariables.clinicLocation = data.clinicLocationSP;\r\n this.languageVariables.location = data.locationSP;\r\n this.languageVariables.time = data.timeSP;\r\n this.languageVariables.clinicDate = data.clinicDateSP;\r\n this.languageVariables.clinicTime = data.clinicTimeSP;\r\n this.languageVariables.contact = data.contactSP;\r\n this.languageVariables.phone = data.phoneSP;\r\n this.languageVariables.email = data.emailSP;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToSP;\r\n\r\n this.multipleEmailAddrss = data.multipleEmailAddressSP;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementSP;\r\n this.editAgreeMnt = data.editAgreementSP;\r\n this.saveAgreeMnt = data.saveAgreementSP;\r\n this.cancelTxt = data.cancelSP;\r\n this.noteTxt = data.noteTextSP;\r\n this.table1 = data.table1SP;\r\n this.attn = this.attentionTo;\r\n this.fluExpiryDateTxt = data.fluExpiryDateSP;\r\n this.routineExpiryDateTxt = data.routineExpiryDateSP;\r\n this.estShots = data.estShotsSP;\r\n this.sendInvoiceTo = data.sendInvoiceToSP;\r\n this.isTaxExempt = data.isTaxExemptSP;\r\n this.isCopay = data.isCopaySP;\r\n this.voucherNeeded = data.voucherNeededSP;\r\n this.voucherExpiry = data.voucherExpirySP;\r\n this.copayValue = data.copayValueSP;\r\n }\r\n }\r\n languageChangeToEnglish() {\r\n\r\n this.showBtnSp = true;\r\n this.showBtnEn = false;\r\n this.splanguageSelection = false;\r\n this.enlanguageSelection = true;\r\n let contractdateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n else if ((this.clinicAgreement && this.clinicAgreement.dateCreated)) {\r\n contractdateApproved = new Date(this.clinicAgreement.dateCreated);\r\n let uniContractReleaseDate: Date = new Date(universalContractReleaseDate);\r\n if (contractdateApproved < uniContractReleaseDate) {\r\n this.showPreUniversalContract = true;\r\n }\r\n }\r\n let data: any = this._apiservice.languageChange(2024, this.isCovidVaccineAvailable, !this.showPreUniversalContract, this.showPreUniversalContract, Boolean(this.isPreviousClinic));\r\n if (data) {\r\n let uniContractReleaseDate: Date = new Date(data.universalContractReleaseDate);\r\n this.englishLanguage = data.english;\r\n //this.enheader = data.englishheader;\r\n this.enattachment = data.englishattachment;\r\n this.enattachmentArticleII = data.articleIIEN;\r\n this.articleNoFeeIIEN = data.articleNoFeeIIEN;\r\n this.imz = data.imzen;\r\n this.payment = data.payen;\r\n this.rates = data.ratesen;\r\n\r\n this.ImzVcnName = data.ImzVcnNameEn;\r\n this.PaymtBillMethod = data.PaymtBillMethodEn;\r\n this.VoucherRates = data.VoucherRatesSp;\r\n this.OffSiteClinicRates = data.OffSiteClinicRatesSp;\r\n\r\n this.languageVariables.thirdPartyRights = data.thirdPartyRightsEN;\r\n this.languageVariables.thirdPartyRightsText = data.thirdPartyRightsTextEN;\r\n\r\n this.languageVariables.businessName = data.clienten;\r\n this.languageVariables.name = data.nameen;\r\n this.languageVariables.eSignature = data.eSignatureEN;\r\n this.languageVariables.date = data.dateEN;\r\n this.languageVariables.district = data.districtEN;\r\n\r\n this.languageVariables.title = data.titleen;\r\n this.attentionTo = data.attentionen;\r\n this.languageVariables.address1 = data.address1en;\r\n this.languageVariables.address2 = data.address2en;\r\n this.languageVariables.city = data.cityen;\r\n this.languageVariables.state = data.stateen;\r\n this.languageVariables.zip = data.zipcodeen;\r\n //this.legal_notice = data.legalsp;\r\n //this.client_info = data.clientinfosp;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntEN;\r\n this.languageVariables.approveText = data.approveTextEN;\r\n this.languageVariables.electrSign = data.electrSignEN;\r\n this.languageVariables.notes = data.notesEN;\r\n this.languageVariables.pageTitle = data.pageTitleEN;\r\n this.languageVariables.email = data.emailEN;\r\n this.languageVariables.dose = data.doseEN;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffEN;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineEN;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientEN;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensEN;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1EN\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2EN;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesEN;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingEN;\r\n this.languageVariables.profJudgementText = data.profJudgementTextEN;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngEN;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextEN;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesEN;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingEN;\r\n this.languageVariables.vouchersText = data.vouchersTextEN;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationEN;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsEN;\r\n this.languageVariables.important = data.importantEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.contractYearText1EN);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.influenzaSeasonText1EN);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextEN;\r\n this.languageVariables.siteMin = data.siteMinEN;\r\n this.languageVariables.siteAvg = data.siteAvgEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextEN, data.contractYearText2EN, data.contractYearText2EN);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluEN, data.influenzaSeasonText2EN, data.influenzaSeasonText2EN);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextEN;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingEN;\r\n this.languageVariables.paymentHd = data.paymentEN;\r\n this.languageVariables.singleStarTAndC = data.singleStarTAndC;\r\n this.languageVariables.singleStarTAndC2 = data.singleStarTAndC2;\r\n this.languageVariables.article2Text = data.article2Text;\r\n if (this.checkIfCovidImmForCorpInvoiceSelected()) {\r\n this.enheader = this.showPreUniversalContract ? data.directBillEnglishheader : data.englishheader;\r\n this.languageVariables.paymentText = !this.showPreUniversalContract ? data.paymentTextEN : data.paymentTextDirectBillEN;\r\n }\r\n else {\r\n this.enheader = data.englishheader;\r\n this.languageVariables.paymentText = data.paymentTextEN;\r\n }\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesEN;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextEN;\r\n this.languageVariables.latePayment = data.latePaymentEN;\r\n this.languageVariables.latePaymentText = data.latePaymentTextEN;\r\n this.languageVariables.costIncrease = data.costIncreaseEN;\r\n this.languageVariables.costIncreasetext = data.costIncreasetextEN;\r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsEN;\r\n this.languageVariables.termAndTerm = data.termAndTermEN;\r\n this.languageVariables.termAndTermText = data.termAndTermTextEN;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationEN;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextEN;\r\n this.languageVariables.waiver = data.waiverEN;\r\n this.languageVariables.waiverText = data.waiverTextEN;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifyEN;\r\n this.languageVariables.insurance = data.insuranceEN;\r\n this.languageVariables.insuranceText = data.insuranceTextEN;\r\n this.languageVariables.indemnification = data.indemnificationEN;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let dateApproved = null;\r\n if (this.clinicAgreement && this.clinicAgreement.dateApproved) {\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n }\r\n if (this.isCovidVaccineAvailable == true && (dateApproved === null || dateApproved >= indemnificationTAndCChangedDate)) {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsEN;\r\n this.languageVariables.confidentiality = data.confidentialityEN;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1EN;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialityEN;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextEN;\r\n this.languageVariables.phi = data.phiEN;\r\n this.languageVariables.phiAb = data.phiAbEN;\r\n this.languageVariables.confidentialityP2 = data.confidentialityTextEN;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextEN;\r\n this.languageVariables.Advertising = data.AdvertisingEN;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextEN;\r\n this.languageVariables.frcMaj = data.frcMajEN;\r\n this.languageVariables.frcMajText = data.frcMajTextEN;\r\n this.languageVariables.compliance = data.complianceEN;\r\n this.languageVariables.complianceText = data.complianceTextEN;\r\n this.languageVariables.assignment = data.assignmentEN;\r\n this.languageVariables.assignmentText = data.assignmentTextEN;\r\n this.languageVariables.notices = data.noticesEN;\r\n this.languageVariables.noticesText = data.noticesTextEN;\r\n this.languageVariables.entireAgr = data.entireAgrEN;\r\n this.languageVariables.entireAgrText = data.entireAgrTextEN;\r\n this.languageVariables.counterPart = data.counterPartsHeadingEN;\r\n this.languageVariables.counterPartsText = data.counterPartsTextEN;\r\n\r\n this.languageVariables.rights = data.rightsEN;\r\n this.languageVariables.approve = data.approveEN;\r\n this.languageVariables.reject = data.rejectEN;\r\n this.languageVariables.submit = data.submitEN;\r\n this.languageVariables.cancel = data.cancelEN;\r\n this.languageVariables.printAgreementTxt = data.printAgreementEN;\r\n\r\n this.languageVariables.clinicLocation = data.clinicLocationEN;\r\n this.languageVariables.location = data.locationEN;\r\n this.languageVariables.time = data.timeEN;\r\n this.languageVariables.clinicDate = data.clinicDateEN;\r\n this.languageVariables.clinicTime = data.clinicTimeEN;\r\n this.languageVariables.contact = data.contactEN;\r\n this.languageVariables.phone = data.phoneEN;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToEN;\r\n this.languageVariables.clinicFee = data.clinicFee;\r\n this.multipleEmailAddrss = data.multipleEmailAddressEN;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementEN;\r\n this.editAgreeMnt = data.editAgreementEN;\r\n this.saveAgreeMnt = data.saveAgreementEN;\r\n this.cancelTxt = data.cancelEN;\r\n this.noteTxt = data.noteTextEN;\r\n this.table1 = data.table1EN;\r\n this.attn = data.attnEN;\r\n this.fluExpiryDateTxt = data.fluExpiryDateEN;\r\n this.routineExpiryDateTxt = data.routineExpiryDateEN;\r\n this.estShots = data.estShotsEN;\r\n this.sendInvoiceTo = data.sendInvoiceToEN;\r\n this.isTaxExempt = data.isTaxExemptEN;\r\n this.isCopay = data.isCopayEN;\r\n this.voucherNeeded = data.voucherNeededEN;\r\n this.voucherExpiry = data.voucherExpiryEN;\r\n this.copayValue = data.copayValueEN;\r\n this.languageVariables.participants = data.participants;\r\n }\r\n\r\n this.language = \"TRANSLATE TO ENGLISH\";\r\n }\r\n public GetClinicInformation() {\r\n console.log(this.clinicAgreement.clinicList);\r\n\r\n this.clinicInformation = this.clinicAgreement.clinicList;\r\n this.isClinicNoFeesDisbaled = this.clinicInformation.some(imzqty => imzqty.clinicFee != undefined && imzqty.clinicFee != null && imzqty.clinicFee > 0)\r\n this.clinicInformation.forEach(cl => {\r\n if (cl.clinicDate) {\r\n let dateString = cl.clinicDate.substring(0, cl.clinicDate.indexOf('T'));\r\n let dateSplitTokens = dateString.split('-');\r\n var dt = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n cl.clinicDate = dt;\r\n }\r\n });\r\n }\r\n\r\n public GetImmunizationformation() {\r\n for (let i = 0; i < this.clinicAgreement.clinicList.length; i++) {\r\n \r\n this.immunizationInformation = this.clinicAgreement.clinicList[i].clinicImzQtyList;\r\n }\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicList[0].clinicImzQtyList.filter(p => p.immunizationName.search(/COVID19/gi) >= 0).length > 0;\r\n\r\n\r\n if(this.immunizationInformation.filter(item => item.paymentTypeId == 13).length > 0 || this.immunizationInformation.filter(item => item.paymentTypeId == 6).length > 0){\r\n this.isInvoiceInfoNeedToDisplay=true;\r\n }\r\n else if(this.clinicAgreement.clinicList.filter(item => item.IsPreviousClinic == 1).length >0)\r\n {\r\n this.isInvoiceInfoNeedToDisplay=true;\r\n }\r\n else{\r\n this.isInvoiceInfoNeedToDisplay =false;\r\n }\r\n\r\n \r\n\r\n // if(this.clinicAgreement.clinicList.length>0)\r\n // {\r\n\r\n // this.estimatedParticpants = this.clinicAgreement.clinicList[0].estimatedParticipants\r\n // }\r\n }\r\n\r\n public GetClientAndLegalInformation() {\r\n\r\n if (this.clinicAgreement.clientInfo === null || this.clinicAgreement.clientInfo === undefined) {\r\n this.clientInformation = new Client();\r\n }\r\n if (this.clinicAgreement.clientInfo !== null && this.clinicAgreement.clientInfo !== undefined) {\r\n this.clientInformation = this.clinicAgreement.clientInfo;\r\n\r\n if (this.clinicAgreement.clientInfo.reviewedDate === null || this.clinicAgreement.clientInfo.reviewedDate === undefined) {\r\n let today = new Date();\r\n this.clientInformation = new Client();\r\n this.clientInformation.reviewedDate = this._datePipe.transform(today, \"MM/dd/yyyy\");\r\n }\r\n }\r\n if (this.clinicAgreement.legalNoticeAddressInfo === null || this.clinicAgreement.legalNoticeAddressInfo === undefined) {\r\n this.legalNoticeAddressInfo = new LegalNoticeAddress();\r\n }\r\n if (this.clinicAgreement.legalNoticeAddressInfo !== null && this.clinicAgreement.legalNoticeAddressInfo !== undefined) {\r\n this.legalNoticeAddressInfo = this.clinicAgreement.legalNoticeAddressInfo;\r\n }\r\n\r\n }\r\n\r\n public GetWalgreensCOformation() {\r\n this.walGreensInfo = this.clinicAgreement.walgreenCoInfo != null ? this.clinicAgreement.walgreenCoInfo : new WalgreenCo();\r\n\r\n }\r\n\r\n thankYou() {\r\n this.router.navigate(['/thankyou']);\r\n }\r\n\r\n printAgreement() {\r\n this.utility.print(\"approveContract\", \"Walgreens Community Off-site Agreement\", null, this.serviceAgreementAccepted);\r\n }\r\n changeLanguage() {\r\n if (this.currentLanguage.toLowerCase() === 'spanish') {\r\n this.languageChangeToSpanish();\r\n } else {\r\n this.languageChangeToEnglish();\r\n }\r\n }\r\n cancelView() {\r\n if (this.from_email) {\r\n this.router.navigate(['/communityoutreach/storehome']);\r\n }\r\n else {\r\n this._location.back();\r\n }\r\n }\r\n\r\n checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location: Clinic): boolean {\r\n return this._apiservice.checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location) && Number(location.isNoClinic) >= 1;\r\n }\r\n checkIfFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfNonFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfNonFluImmForCorpInvoiceSelected();\r\n }\r\n getVoucherExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getRoutineExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n okClicked() {\r\n this.display = false;\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = \"Contract Alert\";\r\n this.display = true;\r\n }\r\n\r\n sendEmail() {\r\n this.approveContract.controls['email'].setValidators([Validators.required]);\r\n this.approveContract.controls['email'].updateValueAndValidity();\r\n if (this.approveContract.valid) {\r\n\r\n if (!this.utility.validateEmail(this.approveContract.value.email)) {\r\n let sumMsg = ErrorMessages['errMsg'];\r\n let sMsg = ErrorMessages['emailList'];\r\n this.showDialogForMail(sumMsg, sMsg, false);\r\n return;\r\n }\r\n this.spinner.show();\r\n\r\n this.clinicAgreement.businessUserEmails = this.approveContract.value.email;\r\n this.clinicAgreement.contractPostedByUser = 'Walgreens User'\r\n this.makeValidBooleans();\r\n this._apiservice.saveAgreementData(SessionDetails.GetStoreId(), 1, this.clinicAgreement).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case '0':\r\n case 0:\r\n this.showDialogForMail(ErrorMessages['contract'], ErrorMessages['contractEmailSent'], true);\r\n break;\r\n case -4:\r\n case '-4':\r\n this.showDialogForMail(ErrorMessages['contractAlert'], data.errorS.errorMessage, false);\r\n break;\r\n default:\r\n this.showDialogForMail(ErrorMessages['contract'], data.errorS.errorMessage, false);\r\n break;\r\n }\r\n\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialogForMail(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n case 400:\r\n this.showDialogForMail(ErrorMessages['clientError'], err.json().Message, false);\r\n break;\r\n default:\r\n this.showDialogForMail(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n }\r\n\r\n });\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n\r\n }\r\n\r\n makeValidBooleans() {\r\n this.clinicAgreement.clinicImmunizationList.forEach(im => {\r\n if (im.sendInvoiceTo <= 0) {\r\n im.isTaxExempt = null;\r\n im.isCopay = null;\r\n im.isVoucherNeeded = null;\r\n } else {\r\n im.isTaxExempt >= 1 ? im.isTaxExempt = 1 : im.isTaxExempt = 0;\r\n im.isCopay >= 1 ? im.isCopay = 1 : im.isCopay = 0;\r\n im.isVoucherNeeded >= 1 ? im.isVoucherNeeded = 1 : im.isVoucherNeeded = 0;\r\n im.copayValue = +im.copayValue;\r\n if (im.voucherExpirationDate !== null && im.voucherExpirationDate !== undefined && im.voucherExpirationDate !== '') {\r\n im.voucherExpirationDate = this._datePipe.transform(im.voucherExpirationDate, \"MM/dd/yyyy\");\r\n }\r\n }\r\n });\r\n this.clinicAgreement.clinicList.forEach(cl => {\r\n cl.isNoClinic >= 1 ? cl.isNoClinic = 1 : cl.isNoClinic = 0;\r\n cl.isReassign >= 1 ? cl.isReassign = 1 : cl.isReassign = 0;\r\n cl.isCurrent >= 1 ? cl.isCurrent = 1 : cl.isCurrent = 0;\r\n\r\n if (cl.clinicDate === null || cl.clinicDate === undefined || cl.clinicDate === '') {\r\n cl.clinicDate = null;\r\n } else {\r\n cl.clinicDate = this._datePipe.transform(cl.clinicDate, \"MM/dd/yyyy\");\r\n }\r\n });\r\n }\r\n\r\n showDialogForMail(msgSummary: string, msgDetail: string, success_message: boolean) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n this.success_message = success_message;\r\n }\r\n\r\n isFieldValid(field: string) {\r\n return !this.approveContract.get(field).valid && this.approveContract.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n showCancelBtn() {\r\n return this._apiservice.getShowViewCancelBtn();\r\n }\r\n checkIfNonFluImmIsSelected(): boolean {\r\n\r\n let added_immunizations = this.clinicAgreement.clinicImmunizationList\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.immunizationName.toLowerCase().search('flu') === -1) {\r\n throw true;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n checkIfCovidImmForCorpInvoiceSelected() {\r\n\r\n let added_immunizations = this.clinicAgreement.clinicImmunizationList;\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.paymentTypeId == '6'\r\n && rec.immunizationName.toLowerCase().search('flu') == -1 && rec.immunizationName.toLowerCase().search('covid') !== -1) {\r\n throw true;\r\n // && (rec.sendInvoiceTo === 1 || Number(rec.sendInvoiceTo) === 1) &&\r\n // (rec.isVoucherNeeded === 1 || Number(rec.isVoucherNeeded) === 1)\r\n }\r\n // else if(rec.paymentTypeId==6 && rec.sendInvoiceTo===true && rec.immunizationName.toLowerCase().search('flu') == -1){\r\n // this.hasNonFluImmSelected = true;\r\n // }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n thankYouPage() {\r\n let responseClinicAgreement: any = this.clinicAgreement;\r\n let corporateInvoice: any = false;\r\n let submitInsurance: any = false;\r\n let voucherNeeded: any = false;\r\n\r\n for (var i = 0; i < responseClinicAgreement.clinicImmunizationList.length; i++) {\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 6) {\r\n corporateInvoice = true;\r\n }\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 8) {\r\n submitInsurance = true;\r\n }\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 9) {\r\n submitInsurance = true;\r\n }\r\n }\r\n var thankuData = new ThankyouData();\r\n thankuData.hasPrefilledForms = responseClinicAgreement.contractThankYou.hasPrefilledForms;\r\n thankuData.storeState = responseClinicAgreement.contractThankYou.storeState;\r\n thankuData.pdfVarFormEn = responseClinicAgreement.contractThankYou.pdfVarFormEn;\r\n thankuData.pdfVarFormEsp = responseClinicAgreement.contractThankYou.pdfVarFormEsp;\r\n thankuData.voucherNeeded = voucherNeeded;//Need to check\r\n thankuData.isRestrictedState = false;//need to check\r\n thankuData.corporateInvoice = corporateInvoice;\r\n thankuData.submitInsurance = submitInsurance;\r\n thankuData.isCovidClinic = this.isCovidVaccineAvailable;\r\n thankuData.printContents = document.getElementById('approveContract').innerHTML;\r\n thankuData.isCovidOpportunity = this.isCovidVaccineAvailable;\r\n thankuData.covidOpportunityType = this.covidOpportunityType;\r\n SessionDetails.setThankUDetails(thankuData);\r\n this.router.navigate(['/thankyou']);\r\n }\r\n checkToPrintAsterisk(immAbvName: string, immName: string): boolean {\r\n let bRet: boolean = false;\r\n if (immAbvName && immAbvName.search(/Two Dose/gi) >= 0) {\r\n bRet = true;\r\n }\r\n return bRet;\r\n }\r\n checkForDoubleAsteriskRates(): boolean {\r\n return this.clinicAgreement.clinicImmunizationList.filter(p => p.immunizationName.search(/Dose/gi) >= 0).length > 0;\r\n }\r\n\r\n getCovidExpiryDate(): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1 && imz.immunizationName.toLowerCase().search('covid') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ContractapproveService } from '../../services/contractapprove.service';\r\nimport { ClientInfo } from '../../../../models/client-info';\r\nimport { String, StringBuilder } from 'typescript-string-operations';\r\nimport { ContractData, Client, WalgreenCo, LegalNoticeAddress, Clinic, LanguageVariables } from '../../../../models/contract';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { Util } from '../../../../utility/util';\r\nimport { DatePipe, Location } from '@angular/common';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ThankyouData } from '../../../../models/thankyouData';\r\nimport { universalContractReleaseDate } from '../../../../JSON/UniversalTandC';\r\n\r\n@Component({\r\n selector: 'app-viewcontract-agreement',\r\n templateUrl: './viewcontract-agreement.component.html',\r\n styleUrls: ['./viewcontract-agreement.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class ViewcontractAgreementComponent implements OnInit {\r\n InvoiceInformation: any = [];\r\n displayInvoiceAndVoucher: boolean = false;\r\n getData: any;\r\n jsonData: string;\r\n currentUser = [];\r\n userRecords = [];\r\n aggrementData: any;\r\n clinicAgreement: ContractData = new ContractData();\r\n immunizationInformation = [];\r\n immunizationInformation1: string;\r\n clinicInformation = [];\r\n clientInformation: Client = new Client();\r\n legalNoticeAddressInfo: LegalNoticeAddress = new LegalNoticeAddress();\r\n walGreensInfo: WalgreenCo = new WalgreenCo();\r\n items: any;\r\n paymentCheck: boolean;\r\n clientName: string;\r\n currentLanguage: string = 'english';\r\n @Input() client: string;\r\n @Input() childMessage: string;\r\n spanishLanguage: string;\r\n headerText: string;\r\n attachment: string;\r\n message: string;\r\n imz: string;\r\n payment: string;\r\n rates: string;\r\n englishLanguage: string;\r\n enheader: string;\r\n enattachment: string;\r\n language: string;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n success_message: boolean = false;\r\n showBtnEn: boolean = false;\r\n showBtnSp: boolean = true;\r\n enlanguageSelection: boolean;\r\n splanguageSelection: boolean;\r\n json: string;\r\n legal_notice: string;\r\n today: any;\r\n attentionTo: string;\r\n client_information: any[];\r\n legal_information: any[];\r\n from_email: boolean = false;\r\n client_info: ClientInfo = new ClientInfo();\r\n table1: string = '';\r\n attn: string;\r\n isCovidVaccineAvailable:boolean = false;\r\n /////////////////////////////////////////// LANGUAGE Variables ///////////////////////\r\n languageVariables = new LanguageVariables();\r\n\r\n multipleEmailAddrss: string = '';\r\n editAgreeMnt: string = '';\r\n saveAgreeMnt: string = '';\r\n cancelTxt: string = '';\r\n noteTxt: string = '';\r\n fluExpiryDateTxt: string = '';\r\n routineExpiryDateTxt: string = '';\r\n estShots: string = '';\r\n sendInvoiceTo: string = '';\r\n isTaxExempt: string = '';\r\n isCopay: string = '';\r\n voucherNeeded: string = '';\r\n voucherExpiry: string = '';\r\n copayValue: string = '';\r\n approvedOrRejectedBy: string = \"\";\r\n sendAgreeMnt: string = \"\";\r\n from_clinic_details: boolean = false;\r\n approveContract: FormGroup;\r\n isSelected: boolean = false;\r\n covidOpportunityType: number;\r\n privateClinicFees:string;\r\n isCovidVoucher: boolean = false;\r\n showPreUniversalContract:boolean = false;\r\n siteMinimum:number = 25;\r\n showOldUniversalContract: boolean;\r\n constructor(private _apiservice: ContractapproveService, private router: Router,\r\n private utility: Util, private _fb: FormBuilder, private clientInfo: ClientInfo,\r\n private _datePipe: DatePipe, private _location: Location, private spinner: NgxSpinnerService) {\r\n this.today = new Date();\r\n this.client_info = this.clientInfo;\r\n }\r\n\r\n private selectedLink: string;\r\n\r\n setradio(e: string): void {\r\n this.selectedLink = e;\r\n }\r\n // isSelected(name: string): boolean {\r\n // if (!this.selectedLink) {\r\n // return false;\r\n // }\r\n // return (this.selectedLink === name);\r\n // }\r\n ngOnInit() {\r\n this.isSelected = false;\r\n this.approveContract = this._fb.group({\r\n email_signature: this._fb.control('', null),\r\n user_notes: this._fb.control('', null),\r\n radioBtn: this._fb.control('', null),\r\n email: this._fb.control('', null)\r\n });\r\n this.from_clinic_details = SessionDetails.GetfromLocalclinics();\r\n this.from_email = SessionDetails.GetfromUserPage();\r\n let cpk = sessionStorage[\"clinic_agreement_pk\"];\r\n if (cpk == null || cpk == undefined) {\r\n this.showDialog(ErrorMessages['clientError'], ErrorMessages['nullClinicAgreementPk']);\r\n this.spinner.hide();\r\n return;\r\n }\r\n this._apiservice.getContractAgreementApproveData(cpk).subscribe((data:any) => {\r\n this.spinner.hide();\r\n this.clinicAgreement = data;\r\n this.approvedOrRejectedBy = data.approvedOrRejectedBy;\r\n if (data.isApproved) {\r\n this.approveContract.controls['radioBtn'].setValue(\"1\");\r\n }\r\n else if (!data.isApproved && data.isApproved != null) {\r\n this.approveContract.controls['radioBtn'].setValue(\"2\");\r\n this.isSelected = true;\r\n }\r\n\r\n this.approveContract.controls['user_notes'].setValue(data.notes);\r\n this.approveContract.controls['email_signature'].setValue(data.signature);\r\n this.userRecords = this.clinicAgreement.clinicImmunizationList;\r\n this.GetClinicInformation();\r\n this.GetImmunizationformation();\r\n this.GetClientAndLegalInformation();\r\n this.GetWalgreensCOformation();\r\n this.changeLanguage();\r\n this.displayInvoiceInfo();\r\n this.covidOpportunityType = data.opportunityInfo.covidOpportunityType;\r\n this.privateClinicFees = data.opportunityInfo.privateClinicFees?data.opportunityInfo.privateClinicFees:\"8.5\";\r\n let covidVaccine = this.userRecords.filter(p=>p.immunizationName.includes('COVID19 Vaccine (')).length > 0;\r\n //let CovidVoucher = this.userRecords.filter(item=>item.immunizationName.includes('Vaccine Voucher')).length > 0;\r\n if(covidVaccine){\r\n this.isCovidVoucher = true;\r\n }\r\n // else{\r\n // this.isCovidVoucher = true;\r\n // }\r\n this.siteMinimum = this.covidOpportunityType==1?15:25;\r\n },\r\n err => {\r\n this.spinner.hide();\r\n // switch (err) {\r\n // case 500:\r\n // this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n // break;\r\n // case 400:\r\n // this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n // break;\r\n // default:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n // break;\r\n // }\r\n });\r\n this.changeLanguage();\r\n }\r\n \r\n getPaymentTypes(imz)\r\n { \r\n let paymentTypes = '';\r\n let immzs = this.clinicAgreement.clinicImmunizationList.filter(p=>p.immunizationPk == imz.immunizationPk);\r\n immzs.forEach((element, index, array) => {\r\n paymentTypes += `

`\r\n paymentTypes += element.paymentTypeName;\r\n if(index !== (array.length -1)) {\r\n paymentTypes += ',';\r\n }\r\n paymentTypes += `

`\r\n });\r\n return paymentTypes;\r\n }\r\n\r\n displayInvoiceInfo() {\r\n if (this.userRecords != null) {\r\n let corp = this.userRecords.filter(c => Number(c.paymentTypeId) == 6);\r\n let routineExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') === -1)\r\n let flueExpDateLst = corp.filter(c => c.immunizationName.toLowerCase().search('flu') !== -1)\r\n let covidExpDateLst=corp.filter(c=>c.immunizationName.toLowerCase().search('covid')!==-1);\r\n if (corp !== null && corp.length > 0) {\r\n this.displayInvoiceAndVoucher = true;\r\n this.InvoiceInformation.push({\r\n \"paymentTypeId\": corp[0].paymentTypeId,\r\n \"sendInvoiceTo\": corp[0].sendInvoiceTo,\r\n \"name\": corp[0].name,\r\n \"phone\": corp[0].phone,\r\n \"fax\": corp[0].fax,\r\n \"email\": corp[0].email,\r\n \"address1\": corp[0].address1,\r\n \"address2\": corp[0].address2,\r\n \"city\": corp[0].city,\r\n \"isTaxExempt\": corp[0].isTaxExempt,\r\n \"state\": corp[0].state,\r\n \"zip\": corp[0].zip,\r\n \"isCopay\": corp[0].isCopay,\r\n \"copayValue\": corp[0].copayValue,\r\n \"isVoucherNeeded\": corp[0].isVoucherNeeded,\r\n \"fluvoucherExpirationDate\": flueExpDateLst.length > 0 ? flueExpDateLst[0].voucherExpirationDate : null,\r\n \"routinevoucherExpirationDate\": routineExpDateLst.length>0? routineExpDateLst[0].voucherExpirationDate : null,\r\n \"covidvoucherExpirationDate\": covidExpDateLst.length>0? covidExpDateLst[0].voucherExpirationDate : null\r\n });\r\n }\r\n }\r\n\r\n }\r\n GetClientLegalInfo() {\r\n this.client_info = this._apiservice.getSelectedClientLegalInfo();\r\n }\r\n languageChangeToSpanish() {\r\n this.showBtnEn = true;\r\n this.showBtnSp = false;\r\n this.enlanguageSelection = false;\r\n this.splanguageSelection = true;\r\n let contractdateApproved = null;\r\n if((this.clinicAgreement && (this.clinicAgreement.dateApproved || this.clinicAgreement.clientInfo.reviewedDate))){\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n if(this.clinicAgreement.clientInfo.reviewedDate && this.clinicAgreement.clientInfo.reviewedDate != '' )\r\n {\r\n contractdateApproved = new Date(this.clinicAgreement.clientInfo.reviewedDate);\r\n }\r\n let uniContractReleaseDate:Date = new Date (universalContractReleaseDate);\r\n if(contractdateApproved < uniContractReleaseDate){\r\n this.showOldUniversalContract = true;\r\n }\r\n }\r\n else if((this.clinicAgreement && this.clinicAgreement.dateCreated)){\r\n contractdateApproved = new Date(this.clinicAgreement.dateCreated);\r\n let uniContractReleaseDate:Date = new Date (universalContractReleaseDate);\r\n if(contractdateApproved < uniContractReleaseDate){\r\n this.showOldUniversalContract = true;\r\n }\r\n }\r\n let data:any = this._apiservice.languageChange(0,this.isCovidVaccineAvailable,!this.showPreUniversalContract,this.showOldUniversalContract);\r\n if(data)\r\n {\r\n this.spanishLanguage = data.spanish;\r\n this.headerText = data.header;\r\n this.attachment = data.attachmentheader;\r\n this.imz = data.imzsp;\r\n this.payment = data.paymentsp;\r\n this.rates = data.ratessp;\r\n\r\n this.languageVariables.businessName = data.clientsp;\r\n this.languageVariables.name = data.namesp;\r\n this.languageVariables.eSignature = data.eSignatureSP;\r\n this.languageVariables.date = data.dateSP;\r\n this.languageVariables.district = data.districtSP;\r\n this.languageVariables.dose = data.doseSP;\r\n\r\n this.languageVariables.title = data.titlesp;\r\n this.attentionTo = data.attentionsp;\r\n this.languageVariables.address1 = data.address1sp;\r\n this.languageVariables.address2 = data.address2sp;\r\n this.languageVariables.city = data.citysp;\r\n this.languageVariables.state = data.statesp;\r\n this.languageVariables.zip = data.zipcodesp;\r\n //this.legal_notice = data.legalsp;\r\n //this.client_info = data.clientinfosp;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntSP;\r\n this.languageVariables.approveText = data.approveTextSP;\r\n this.languageVariables.electrSign = data.electrSignSP;\r\n this.languageVariables.notes = data.notesSP;\r\n this.languageVariables.pageTitle = data.pageTitleSP;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffSP;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineSP;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientSP;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensSP;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1SP;\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2SP;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesSP;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesSP;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingSP;\r\n this.languageVariables.profJudgementText = data.profJudgementTextSP;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngSP;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextSP;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesSP;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingSP;\r\n this.languageVariables.vouchersText = data.vouchersTextSP;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationSP;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsSP;\r\n this.languageVariables.important = data.importantSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.contractYearText1SP);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1SP, data.influenzaSeasonText1SP);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextSP;\r\n this.languageVariables.siteMin = data.siteMinSP;\r\n this.languageVariables.siteAvg = data.siteAvgSP;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextSP, data.contractYearText2SP, data.contractYearText2SP);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluSP, data.influenzaSeasonText2SP, data.influenzaSeasonText2SP);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextSP;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingSP;\r\n this.languageVariables.paymentHd = data.paymentSP;\r\n this.languageVariables.paymentText = data.paymentTextSP;\r\n this.languageVariables.latePayment = data.latePaymentSP;\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesSP;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextSP;\r\n this.languageVariables.latePaymentText = data.latePaymentTextSP;\r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsSP;\r\n this.languageVariables.termAndTerm = data.termAndTermSP;\r\n this.languageVariables.termAndTermText = data.termAndTermTextSP;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationSP;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextSP;\r\n this.languageVariables.waiver = data.waiverSP;\r\n this.languageVariables.waiverText = data.waiverTextSP;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifySP;\r\n this.languageVariables.insurance = data.insuranceSP;\r\n this.languageVariables.insuranceText = data.insuranceTextSP;\r\n this.languageVariables.indemnification = data.indemnificationSP;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let universalContractReleasedate = data.universalContractReleaseDate?new Date(data.universalContractReleaseDate):null;\r\n let dateApproved = null;\r\n if(this.clinicAgreement && this.clinicAgreement.dateApproved){\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n } \r\n if(this.isCovidVaccineAvailable== true && (dateApproved === null || dateApproved>=indemnificationTAndCChangedDate )){\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextSP;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsSP;\r\n this.languageVariables.confidentiality = data.confidentialitySP;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1SP;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialitySP;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextSP;\r\n this.languageVariables.phi = data.phiSP;\r\n this.languageVariables.phiAb = data.phiAbSP;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2SP;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextSP;\r\n\r\n this.languageVariables.Advertising = data.AdvertisingSP;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextSP;\r\n this.languageVariables.frcMaj = data.frcMajSP;\r\n this.languageVariables.frcMajText = data.frcMajTextSP;\r\n this.languageVariables.compliance = data.complianceSP;\r\n this.languageVariables.complianceText = data.complianceTextSP;\r\n this.languageVariables.assignment = data.assignmentSP;\r\n this.languageVariables.assignmentText = data.assignmentTextSP;\r\n this.languageVariables.notices = data.noticesSP;\r\n this.languageVariables.noticesText = data.noticesTextSP;\r\n this.languageVariables.entireAgr = data.entireAgrSP;\r\n this.languageVariables.entireAgrText = data.entireAgrTextSP;\r\n this.languageVariables.counterPart = data.counterPartsHeadingSP;\r\n this.languageVariables.counterPartsText = data.counterPartsTextSP;\r\n\r\n this.languageVariables.rights = data.rightsSP;\r\n this.languageVariables.approve = data.approveSP;\r\n this.languageVariables.reject = data.rejectSP;\r\n this.languageVariables.submit = data.submitSP;\r\n this.languageVariables.cancel = data.cancelSP;\r\n this.languageVariables.printAgreementTxt = data.printAgreementSP;\r\n\r\n this.languageVariables.clinicLocation = data.clinicLocationSP;\r\n this.languageVariables.location = data.locationSP;\r\n this.languageVariables.time = data.timeSP;\r\n this.languageVariables.clinicDate = data.clinicDateSP;\r\n this.languageVariables.clinicTime = data.clinicTimeSP;\r\n this.languageVariables.contact = data.contactSP;\r\n this.languageVariables.phone = data.phoneSP;\r\n this.languageVariables.email = data.emailSP;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToSP;\r\n this.multipleEmailAddrss = data.multipleEmailAddressSP;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementSP;\r\n this.editAgreeMnt = data.editAgreementSP;\r\n this.saveAgreeMnt = data.saveAgreementSP;\r\n this.cancelTxt = data.cancelSP;\r\n this.noteTxt = data.noteTextSP;\r\n this.table1 = data.table1SP;\r\n this.attn = this.attentionTo;\r\n this.fluExpiryDateTxt = data.fluExpiryDateSP;\r\n this.routineExpiryDateTxt = data.routineExpiryDateSP;\r\n this.estShots = data.estShotsSP;\r\n this.sendInvoiceTo = data.sendInvoiceToSP;\r\n this.isTaxExempt = data.isTaxExemptSP;\r\n this.isCopay = data.isCopaySP;\r\n this.voucherNeeded = data.voucherNeededSP;\r\n this.voucherExpiry = data.voucherExpirySP;\r\n this.copayValue = data.copayValueSP;\r\n }\r\n }\r\n languageChangeToEnglish() {\r\n this.showBtnSp = true;\r\n this.showBtnEn = false;\r\n this.splanguageSelection = false;\r\n this.enlanguageSelection = true;\r\n let contractdateApproved = null;\r\n if(this.clinicAgreement && (this.clinicAgreement.dateApproved || this.clinicAgreement.clientInfo.reviewedDate)){\r\n contractdateApproved = new Date(this.clinicAgreement.dateApproved);\r\n if(this.clinicAgreement.clientInfo.reviewedDate && this.clinicAgreement.clientInfo.reviewedDate != '' )\r\n {\r\n contractdateApproved = new Date(this.clinicAgreement.clientInfo.reviewedDate);\r\n }\r\n let uniContractReleaseDate:Date = new Date (universalContractReleaseDate);\r\n if(contractdateApproved < uniContractReleaseDate){\r\n this.showOldUniversalContract = true;\r\n }\r\n }\r\n // else if((this.clinicAgreement && this.clinicAgreement.dateCreated)){\r\n // contractdateApproved = new Date(this.clinicAgreement.dateCreated);\r\n // let uniContractReleaseDate:Date = new Date (universalContractReleaseDate);\r\n // if(contractdateApproved < uniContractReleaseDate){\r\n // this.showOldUniversalContract = true;\r\n // }\r\n // }\r\n let data:any = this._apiservice.languageChange(0,this.isCovidVaccineAvailable,!this.showPreUniversalContract, this.showOldUniversalContract);\r\n if(data)\r\n {\r\n let uniContractReleaseDate:Date = new Date (data.universalContractReleaseDate);\r\n this.englishLanguage = data.english;\r\n //this.enheader = data.englishheader;\r\n this.enattachment = data.englishattachment;\r\n this.imz = data.imzen;\r\n this.payment = data.payen;\r\n this.rates = data.ratesen;\r\n\r\n this.languageVariables.businessName = data.clienten;\r\n this.languageVariables.name = data.nameen;\r\n this.languageVariables.eSignature = data.eSignatureEN;\r\n this.languageVariables.date = data.dateEN;\r\n this.languageVariables.district = data.districtEN;\r\n\r\n this.languageVariables.title = data.titleen;\r\n this.attentionTo = data.attentionen;\r\n this.languageVariables.address1 = data.address1en;\r\n this.languageVariables.address2 = data.address2en;\r\n this.languageVariables.city = data.cityen;\r\n this.languageVariables.state = data.stateen;\r\n this.languageVariables.zip = data.zipcodeen;\r\n //this.legal_notice = data.legalsp;\r\n //this.client_info = data.clientinfosp;\r\n this.languageVariables.approveAgrmnt = data.approveAgrmntEN;\r\n this.languageVariables.approveText = data.approveTextEN;\r\n this.languageVariables.electrSign = data.electrSignEN;\r\n this.languageVariables.notes = data.notesEN;\r\n this.languageVariables.pageTitle = data.pageTitleEN;\r\n this.languageVariables.email = data.emailEN;\r\n this.languageVariables.dose = data.doseEN;\r\n\r\n this.languageVariables.inWitnessWhereOff = data.inWitnessWhereOffEN;\r\n this.languageVariables.inWitnessWhereOff2ndLine = data.inWitnessWhereOff2ndLineEN;\r\n this.languageVariables.sendLegalNoticeToClient = data.sendLegalNoticeToClientEN;\r\n this.languageVariables.sendLegalNoticeToWalgreens = data.sendLegalNoticeToWalgreensEN;\r\n this.languageVariables.wallGreensCommOffsiteTitle1 = data.wallGreensCommOffsiteTitle1EN\r\n this.languageVariables.wallGreensCommOffsiteTitle2 = data.wallGreensCommOffsiteTitle2EN;\r\n this.languageVariables.wallGreensResponsibilities = data.wallGreensResponsibilitiesEN;\r\n this.languageVariables.wallGreensResponsibilitiesPara1Heading = data.wallGreensResponsibilitiesPara1HeadingEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.wallGreensResponsibilitiesCvrdServices = data.wallGreensResponsibilitiesCvrdServicesEN;\r\n this.languageVariables.profJudgementHeading = data.profJudgementHeadingEN;\r\n this.languageVariables.profJudgementText = data.profJudgementTextEN;\r\n this.languageVariables.provHealthCrProfHdng = data.provHealthCrProfHdngEN;\r\n this.languageVariables.provHealthCrProfText = data.provHealthCrProfTextEN;\r\n this.languageVariables.clientsResponsibilites = data.clientsResponsibilitesEN;\r\n this.languageVariables.vouchersHeading = data.vouchersHeadingEN;\r\n this.languageVariables.vouchersText = data.vouchersTextEN;\r\n this.languageVariables.offSiteLocation = data.offSiteLocationEN;\r\n this.languageVariables.eligibleParticipants = data.eligibleParticipantsEN;\r\n this.languageVariables.important = data.importantEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.contractYearText1EN);\r\n } else {\r\n this.languageVariables.offSiteLocationText1 = String.Format(data.offSiteLocationText1EN, data.influenzaSeasonText1EN);\r\n }\r\n this.languageVariables.eligibleParticipantsText1 = data.eligibleParticipantsTextEN;\r\n this.languageVariables.siteMin = data.siteMinEN;\r\n this.languageVariables.siteAvg = data.siteAvgEN;\r\n if (this.checkIfNonFluImmIsSelected()) {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextEN, data.contractYearText2EN, data.contractYearText2EN);\r\n } else {\r\n this.languageVariables.siteMinText = String.Format(data.siteMinTextfluEN, data.influenzaSeasonText2EN, data.influenzaSeasonText2EN);\r\n }\r\n this.languageVariables.siteAvgText = data.siteAvgTextEN;\r\n this.languageVariables.pmtAndBIlling = data.pmtAndBIllingEN;\r\n this.languageVariables.paymentHd = data.paymentEN;\r\n this.languageVariables.singleStarTAndC = data.singleStarTAndC;\r\n this.languageVariables.article2Text = data.article2Text;\r\n if(this.checkIfCovidImmForCorpInvoiceSelected()){\r\n this.enheader = this.showPreUniversalContract?data.directBillEnglishheader:data.englishheader;\r\n this.languageVariables.paymentText = !this.showPreUniversalContract?data.paymentTextEN:data.paymentTextDirectBillEN;\r\n }\r\n else {\r\n this.enheader = data.englishheader;\r\n this.languageVariables.paymentText = data.paymentTextEN;\r\n }\r\n this.languageVariables.privateClinicFees = data.privateClinicFeesEN;\r\n this.languageVariables.privateClinicFeesText = data.privateClinicFeesTextEN;\r\n this.languageVariables.latePayment = data.latePaymentEN;\r\n this.languageVariables.latePaymentText = data.latePaymentTextEN;\r\n this.languageVariables.termAndTermCaps = data.termAndTermCapsEN;\r\n this.languageVariables.termAndTerm = data.termAndTermEN;\r\n this.languageVariables.termAndTermText = data.termAndTermTextEN;\r\n this.languageVariables.effectAndTerminiation = data.effectAndTerminiationEN;\r\n this.languageVariables.effectAndTerminiationText = data.effectAndTerminiationTextEN;\r\n this.languageVariables.waiver = data.waiverEN;\r\n this.languageVariables.waiverText = data.waiverTextEN;\r\n this.languageVariables.insurAndIndemnify = data.insurAndIndemnifyEN;\r\n this.languageVariables.insurance = data.insuranceEN;\r\n this.languageVariables.insuranceText = data.insuranceTextEN;\r\n this.languageVariables.indemnification = data.indemnificationEN;\r\n let indemnificationTAndCChangedDate = new Date(data.indemnificationTAndCChangedDate);\r\n let dateApproved = null;\r\n if(this.clinicAgreement && this.clinicAgreement.dateApproved){\r\n dateApproved = new Date(this.clinicAgreement.dateApproved);\r\n } \r\n if(this.isCovidVaccineAvailable== true && (dateApproved === null || dateApproved>=indemnificationTAndCChangedDate) ){\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n else {\r\n this.languageVariables.indemnificationText = data.indemnificationTextEN;\r\n }\r\n this.languageVariables.generalTerms = data.generalTermsEN;\r\n this.languageVariables.confidentiality = data.confidentialityEN;\r\n this.languageVariables.confidentialityP1 = data.confidentialityP1EN;\r\n this.languageVariables.businessConfidentiality = data.businessConfidentialityEN;\r\n this.languageVariables.businessConfidentialityText = data.businessConfidentialityTextEN;\r\n this.languageVariables.phi = data.phiEN;\r\n this.languageVariables.phiAb = data.phiAbEN;\r\n this.languageVariables.confidentialityP2 = data.confidentialityP2EN;\r\n this.languageVariables.confidentialityUniversalText = data.confidentialityTextEN;\r\n this.languageVariables.Advertising = data.AdvertisingEN;\r\n this.languageVariables.AdvertisingText = data.AdvertisingTextEN;\r\n this.languageVariables.frcMaj = data.frcMajEN;\r\n this.languageVariables.frcMajText = data.frcMajTextEN;\r\n this.languageVariables.compliance = data.complianceEN;\r\n this.languageVariables.complianceText = data.complianceTextEN;\r\n this.languageVariables.assignment = data.assignmentEN;\r\n this.languageVariables.assignmentText = data.assignmentTextEN;\r\n this.languageVariables.notices = data.noticesEN;\r\n this.languageVariables.noticesText = data.noticesTextEN;\r\n this.languageVariables.entireAgr = data.entireAgrEN;\r\n this.languageVariables.entireAgrText = data.entireAgrTextEN;\r\n this.languageVariables.counterPart = data.counterPartsHeadingEN;\r\n this.languageVariables.counterPartsText = data.counterPartsTextEN;\r\n\r\n this.languageVariables.rights = data.rightsEN; \r\n this.languageVariables.approve = data.approveEN;\r\n this.languageVariables.reject = data.rejectEN;\r\n this.languageVariables.submit = data.submitEN;\r\n this.languageVariables.cancel = data.cancelEN;\r\n this.languageVariables.printAgreementTxt = data.printAgreementEN;\r\n\r\n this.languageVariables.clinicLocation = data.clinicLocationEN;\r\n this.languageVariables.location = data.locationEN;\r\n this.languageVariables.time = data.timeEN;\r\n this.languageVariables.clinicDate = data.clinicDateEN;\r\n this.languageVariables.clinicTime = data.clinicTimeEN;\r\n this.languageVariables.contact = data.contactEN;\r\n this.languageVariables.phone = data.phoneEN;\r\n this.languageVariables.emailAgrmntTo = data.emailAgreementToEN;\r\n this.multipleEmailAddrss = data.multipleEmailAddressEN;\r\n this.languageVariables.sendAgreeMnt = data.sendAgreementEN;\r\n this.editAgreeMnt = data.editAgreementEN;\r\n this.saveAgreeMnt = data.saveAgreementEN;\r\n this.cancelTxt = data.cancelEN;\r\n this.noteTxt = data.noteTextEN;\r\n this.table1 = data.table1EN;\r\n this.attn = data.attnEN;\r\n this.fluExpiryDateTxt = data.fluExpiryDateEN;\r\n this.routineExpiryDateTxt = data.routineExpiryDateEN;\r\n this.estShots = data.estShotsEN;\r\n this.sendInvoiceTo = data.sendInvoiceToEN;\r\n this.isTaxExempt = data.isTaxExemptEN;\r\n this.isCopay = data.isCopayEN;\r\n this.voucherNeeded = data.voucherNeededEN;\r\n this.voucherExpiry = data.voucherExpiryEN;\r\n this.copayValue = data.copayValueEN;\r\n\r\n }\r\n\r\n this.language = \"TRANSLATE TO ENGLISH\";\r\n }\r\n public GetClinicInformation() {\r\n this.clinicInformation = this.clinicAgreement.clinicList;\r\n this.clinicInformation.forEach(cl => {\r\n if (cl.clinicDate) {\r\n let dateString = cl.clinicDate.substring(0, cl.clinicDate.indexOf('T'));\r\n let dateSplitTokens = dateString.split('-');\r\n var dt = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n cl.clinicDate = dt;\r\n }\r\n });\r\n }\r\n\r\n public GetImmunizationformation() {\r\n for (let i = 0; i < this.clinicAgreement.clinicList.length; i++) {\r\n this.immunizationInformation = this.clinicAgreement.clinicList[i].clinicImzQtyList;\r\n }\r\n this.isCovidVaccineAvailable = this.clinicAgreement.clinicList[0].clinicImzQtyList.filter(p=>p.immunizationName.search(/COVID19/gi)>=0).length>0;\r\n }\r\n\r\n public GetClientAndLegalInformation() {\r\n if (this.clinicAgreement.clientInfo === null || this.clinicAgreement.clientInfo === undefined) {\r\n this.clientInformation = new Client();\r\n }\r\n if (this.clinicAgreement.clientInfo !== null && this.clinicAgreement.clientInfo !== undefined) {\r\n this.clientInformation = this.clinicAgreement.clientInfo;\r\n \r\n if (this.clinicAgreement.clientInfo.reviewedDate === null || this.clinicAgreement.clientInfo.reviewedDate === undefined) {\r\n let today = new Date();\r\n this.clientInformation = new Client();\r\n this.clientInformation.reviewedDate = this._datePipe.transform(today, \"MM/dd/yyyy\");\r\n }\r\n }\r\n if (this.clinicAgreement.legalNoticeAddressInfo === null || this.clinicAgreement.legalNoticeAddressInfo === undefined) {\r\n this.legalNoticeAddressInfo = new LegalNoticeAddress();\r\n }\r\n if (this.clinicAgreement.legalNoticeAddressInfo !== null && this.clinicAgreement.legalNoticeAddressInfo !== undefined) {\r\n this.legalNoticeAddressInfo = this.clinicAgreement.legalNoticeAddressInfo;\r\n }\r\n\r\n }\r\n\r\n public GetWalgreensCOformation() {\r\n this.walGreensInfo = this.clinicAgreement.walgreenCoInfo != null ? this.clinicAgreement.walgreenCoInfo : new WalgreenCo();\r\n\r\n }\r\n\r\n thankYou() {\r\n this.router.navigate(['/thankyou']);\r\n }\r\n\r\n printAgreement() {\r\n this.utility.print(\"approveContract\", \"Walgreens Community Off-site Agreement\");\r\n }\r\n changeLanguage() {\r\n if (this.currentLanguage.toLowerCase() === 'spanish') {\r\n this.languageChangeToSpanish();\r\n } else {\r\n this.languageChangeToEnglish();\r\n }\r\n }\r\n cancelView() {\r\n if (this.from_email) {\r\n this.router.navigate(['/communityoutreach/storehome']);\r\n }\r\n else {\r\n this._location.back();\r\n }\r\n }\r\n \r\n checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location: Clinic): boolean {\r\n return this._apiservice.checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location) && Number(location.isNoClinic) >= 1;\r\n }\r\n checkIfFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfFluImmForCorpInvoiceSelected();\r\n }\r\n checkIfNonFluImmForCorpInvoiceSelected(): boolean {\r\n return this._apiservice.checkIfNonFluImmForCorpInvoiceSelected();\r\n }\r\n getVoucherExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') !== -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n getRoutineExpiryDate(clinicLoc: Clinic): string {\r\n let vchrDate: Date;\r\n this.userRecords.forEach(imz => {\r\n if (Number(imz.isVoucherNeeded) >= 1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1)\r\n vchrDate = new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate, 'MM/dd/yyyy');\r\n }\r\n okClicked() {\r\n this.display = false;\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = \"Contract Alert\";\r\n this.display = true;\r\n }\r\n\r\n sendEmail() {\r\n this.approveContract.controls['email'].setValidators([Validators.required]);\r\n this.approveContract.controls['email'].updateValueAndValidity();\r\n if (this.approveContract.valid) {\r\n\r\n if (!this.utility.validateEmail(this.approveContract.value.email)) {\r\n let sumMsg = ErrorMessages['errMsg'];\r\n let sMsg = ErrorMessages['emailList'];\r\n this.showDialogForMail(sumMsg, sMsg, false);\r\n return;\r\n }\r\n this.spinner.show();\r\n\r\n this.clinicAgreement.businessUserEmails = this.approveContract.value.email;\r\n this.clinicAgreement.contractPostedByUser = 'Walgreens User'\r\n this.makeValidBooleans();\r\n this._apiservice.saveAgreementData(SessionDetails.GetStoreId(), 1, this.clinicAgreement).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case '0':\r\n case 0:\r\n this.showDialogForMail(ErrorMessages['contract'], ErrorMessages['contractEmailSent'], true);\r\n break;\r\n case -4:\r\n case '-4':\r\n this.showDialogForMail(ErrorMessages['contractAlert'], data.errorS.errorMessage, false);\r\n break;\r\n default:\r\n this.showDialogForMail(ErrorMessages['contract'], data.errorS.errorMessage, false);\r\n break;\r\n }\r\n\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialogForMail(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n case 400:\r\n this.showDialogForMail(ErrorMessages['clientError'], err.json().Message, false);\r\n break;\r\n default:\r\n this.showDialogForMail(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n }\r\n\r\n });\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.approveContract);\r\n }\r\n\r\n }\r\n\r\n makeValidBooleans() {\r\n this.clinicAgreement.clinicImmunizationList.forEach(im => {\r\n if (im.sendInvoiceTo <= 0) {\r\n im.isTaxExempt = null;\r\n im.isCopay = null;\r\n im.isVoucherNeeded = null;\r\n } else {\r\n im.isTaxExempt >= 1 ? im.isTaxExempt = 1 : im.isTaxExempt = 0;\r\n im.isCopay >= 1 ? im.isCopay = 1 : im.isCopay = 0;\r\n im.isVoucherNeeded >= 1 ? im.isVoucherNeeded = 1 : im.isVoucherNeeded = 0;\r\n im.copayValue = +im.copayValue;\r\n if (im.voucherExpirationDate !== null && im.voucherExpirationDate !== undefined && im.voucherExpirationDate !== '') {\r\n im.voucherExpirationDate = this._datePipe.transform(im.voucherExpirationDate, \"MM/dd/yyyy\");\r\n }\r\n }\r\n });\r\n this.clinicAgreement.clinicList.forEach(cl => {\r\n cl.isNoClinic >= 1 ? cl.isNoClinic = 1 : cl.isNoClinic = 0;\r\n cl.isReassign >= 1 ? cl.isReassign = 1 : cl.isReassign = 0;\r\n cl.isCurrent >= 1 ? cl.isCurrent = 1 : cl.isCurrent = 0;\r\n\r\n if (cl.clinicDate === null || cl.clinicDate === undefined || cl.clinicDate === '') {\r\n cl.clinicDate = null;\r\n } else {\r\n cl.clinicDate = this._datePipe.transform(cl.clinicDate, \"MM/dd/yyyy\");\r\n }\r\n });\r\n }\r\n\r\n showDialogForMail(msgSummary: string, msgDetail: string, success_message: boolean) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n this.success_message = success_message;\r\n }\r\n\r\n isFieldValid(field: string) {\r\n return !this.approveContract.get(field).valid && this.approveContract.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n showCancelBtn() {\r\n return this._apiservice.getShowViewCancelBtn();\r\n }\r\n checkIfNonFluImmIsSelected(): boolean {\r\n\r\n let added_immunizations = this.clinicAgreement.clinicImmunizationList\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.immunizationName.toLowerCase().search('flu') === -1) {\r\n throw true;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n checkIfCovidImmForCorpInvoiceSelected(){\r\n\r\n let added_immunizations = this.clinicAgreement.clinicImmunizationList;\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.paymentTypeId == '6' \r\n && rec.immunizationName.toLowerCase().search('flu') == -1 && rec.immunizationName.toLowerCase().search('covid') !== -1) {\r\n throw true;\r\n // && (rec.sendInvoiceTo === 1 || Number(rec.sendInvoiceTo) === 1) &&\r\n // (rec.isVoucherNeeded === 1 || Number(rec.isVoucherNeeded) === 1)\r\n }\r\n // else if(rec.paymentTypeId==6 && rec.sendInvoiceTo===true && rec.immunizationName.toLowerCase().search('flu') == -1){\r\n // this.hasNonFluImmSelected = true;\r\n // }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n}\r\n thankYouPage(){\r\n let responseClinicAgreement: any = this.clinicAgreement;\r\n let corporateInvoice: any = false;\r\n let submitInsurance: any = false;\r\n let voucherNeeded: any = false;\r\n\r\n for (var i = 0; i < responseClinicAgreement.clinicImmunizationList.length; i++) {\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 6) {\r\n corporateInvoice = true;\r\n }\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 8) {\r\n submitInsurance=true;\r\n }\r\n if (responseClinicAgreement.clinicImmunizationList[i].paymentTypeId == 9) {\r\n submitInsurance=true;\r\n }\r\n }\r\n var thankuData = new ThankyouData();\r\n thankuData.hasPrefilledForms = responseClinicAgreement.contractThankYou.hasPrefilledForms;\r\n thankuData.storeState = responseClinicAgreement.contractThankYou.storeState;\r\n thankuData.pdfVarFormEn = responseClinicAgreement.contractThankYou.pdfVarFormEn;\r\n thankuData.pdfVarFormEsp = responseClinicAgreement.contractThankYou.pdfVarFormEsp;\r\n thankuData.voucherNeeded = voucherNeeded;//Need to check\r\n thankuData.isRestrictedState = false;//need to check\r\n thankuData.corporateInvoice = corporateInvoice;\r\n thankuData.submitInsurance = submitInsurance;\r\n thankuData.isCovidClinic = this.isCovidVaccineAvailable;\r\n thankuData.printContents = document.getElementById('approveContract').innerHTML;\r\n thankuData.isCovidOpportunity = this.isCovidVaccineAvailable;\r\n thankuData.covidOpportunityType = this.covidOpportunityType;\r\n SessionDetails.setThankUDetails(thankuData); \r\n this.router.navigate(['/thankyou']);\r\n }\r\n checkToPrintAsterisk(immAbvName:string,immName:string):boolean{\r\n let bRet:boolean =false;\r\n if(immAbvName&&immAbvName.search(/Two Dose/gi)>=0){\r\n bRet= true;\r\n }\r\n return bRet;\r\n }\r\n checkForDoubleAsteriskRates():boolean{ \r\n return this.clinicAgreement.clinicImmunizationList.filter(p=>p.immunizationName.search(/Dose/gi)>=0).length>0;\r\n }\r\n \r\n getCovidExpiryDate():string{\r\n let vchrDate:Date;\r\n this.userRecords.forEach(imz=>{\r\n if(Number(imz.isVoucherNeeded) >=1 && Number(imz.paymentTypeId) == 6 &&\r\n (imz.sendInvoiceTo === '1' || Number(imz.sendInvoiceTo) === 1) && imz.immunizationName.toLowerCase().search('flu') == -1 && imz.immunizationName.toLowerCase().search('covid') !== -1)\r\n vchrDate=new Date(imz.voucherExpirationDate);\r\n return vchrDate;\r\n });\r\n return this._datePipe.transform(vchrDate,'MM/dd/yyyy');\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { ApproveagreementComponent } from './components/approveagreement/approveagreement.component';\r\nimport { BusinesscontactpageComponent } from './components/businesscontactpage/businesscontactpage.component';\r\nimport { ContractapproveService } from './services/contractapprove.service';\r\nimport { FieldErrorDisplayComponent } from '../common/components/field-error-display/field-error-display.component';\r\nimport { ReusableModule } from '../common/components/reusable.module';\r\n//import { Utility } from '../common/utility';\r\nimport { ThankyouComponent } from './components/thankyou/thankyou.component';\r\nimport { ClientInfo } from '../../models/client-info';\r\nimport { Globalvariables } from '../../models/globalvariables';\r\nimport { ContractapproveComponent } from './components/contractapprove/contractapprove.component';\r\nimport { NgPipesModule } from 'ngx-pipes';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { OutreachProgramService } from './services/outreach-program.service';\r\nimport { WorkflowService } from './workflow/workflow.service';\r\nimport { ContractComponent } from './components/local-contracts/contract.component';\r\nimport { ImmunizationsComponent } from './components/immunizations/immunizations.component';\r\nimport { LocationsComponent } from './components/contract-locations/locations.component';\r\nimport { WitnessComponent } from './components/contract-pharmacy-info/witness.component';\r\nimport { AgreementComponent } from './components/contract-agreement/agreement.component';\r\nimport { LocationsListComponent } from './components/contract-locations-list/locations-list.component';\r\nimport { CharityLocationsComponent } from './components/charity-locations/charity-locations.component';\r\nimport { CharitylocationsListComponent } from './components/charity-locations-list/charity-locations-list.component';\r\nimport { CommunityoutreachComponent } from './components/communityoutreach/communityoutreach.component';\r\nimport { Util } from '../../utility/util';\r\nimport { ViewcontractAgreementComponent } from './components/viewcontract-agreement/viewcontract-agreement.component';\r\nimport { LegalNoticeAddress } from '../../models/contract';\r\nimport { ContactUsComponent } from './components/contact-us/contact-us.component';\r\nimport { RecaptchaModule, RECAPTCHA_SETTINGS, RecaptchaSettings, RecaptchaFormsModule } from 'ng-recaptcha';\r\nimport { LeadOpportunitiesService } from './services/lead-opportunities.service';\r\nimport { MaintenanceComponent } from './components/maintenance/maintenance.component';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { MessagesModule } from 'primeng/messages'\r\nimport { MessageModule } from 'primeng/message';\r\nimport { MessageService } from 'primeng/api';\r\nimport { KeyFilterModule } from 'primeng/keyfilter';\r\nimport { InputMaskModule } from 'primeng/inputmask';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { UnsubscribeService } from './services/unsubscribe.service';\r\nimport { CustomAgreementGroupByPipe, CustomGroupByPipe, CustomLocationGroupByPipe } from './pipes/CustomGroupBy.pipe';\r\nimport { CustomUniquePipe } from './pipes/unique.pipe';\r\nimport { AgreementComponent2022 } from './components/contract-agreement-2022/agreement.component-2022';\r\nimport { ApproveagreementComponent2022 } from './components/approveagreement-2022/approveagreement.component-2022';\r\nimport { ViewcontractAgreementComponent2022 } from './components/viewcontract-agreement-2022/viewcontract-agreement.component-2022';\r\nimport { AgreementComponent2023 } from './components/contract-agreement-2023/agreement.component-2023';\r\nimport { ApproveagreementComponent2023 } from './components/approveagreement-2023/approveagreement.component-2023';\r\nimport { ViewcontractAgreementComponent2023 } from './components/viewcontract-agreement-2023/viewcontract-agreement.component-2023';\r\nimport { EquityeventsComponent } from './components/equityevents/equityevents.component';\r\nimport { ViewcontractAgreement2024Component } from './components/viewcontract-agreement-2024/viewcontract-agreement-2024.component';\r\nimport { AgreementComponent2024 } from './components/contract-agreement-2024/agreement.component-2024';\r\nimport { Approveagreement2024Component } from './components/approveagreement-2024/approveagreement-2024.component';\r\nimport { ContactUsLocationComponent } from './components/contact-us-locations/contact-us-location.component';\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule.withConfig({\r\n callSetDisabledState: 'whenDisabledForLegacyCode',\r\n }),\r\n ReusableModule,\r\n KeyFilterModule,\r\n ConfirmDialogModule,\r\n DialogModule,\r\n CalendarModule,\r\n BrowserAnimationsModule,\r\n // GrowlModule,\r\n MessagesModule,\r\n MessageModule,\r\n DialogModule,\r\n KeyFilterModule,\r\n ReusableModule,\r\n NgPipesModule,\r\n InputMaskModule,\r\n RecaptchaModule, \r\n NgxSpinnerModule\r\n ],\r\n declarations: [\r\n ContractComponent, \r\n ImmunizationsComponent, \r\n LocationsComponent, \r\n WitnessComponent,\r\n AgreementComponent, \r\n AgreementComponent2022, \r\n LocationsListComponent,\r\n CharityLocationsComponent, \r\n CharitylocationsListComponent, \r\n CommunityoutreachComponent, \r\n ContractapproveComponent,\r\n BusinesscontactpageComponent, \r\n ApproveagreementComponent, \r\n ApproveagreementComponent2022, \r\n ThankyouComponent, \r\n ViewcontractAgreementComponent, \r\n ViewcontractAgreementComponent2022, \r\n ContactUsComponent,\r\n MaintenanceComponent, \r\n CustomGroupByPipe, \r\n CustomLocationGroupByPipe, \r\n CustomAgreementGroupByPipe, \r\n CustomUniquePipe, \r\n AgreementComponent2023, \r\n ApproveagreementComponent2023, \r\n ViewcontractAgreementComponent2023, \r\n EquityeventsComponent, \r\n ViewcontractAgreement2024Component, \r\n AgreementComponent2024, \r\n Approveagreement2024Component,\r\n ContactUsLocationComponent\r\n ],\r\n providers: [\r\n OutreachProgramService,\r\n WorkflowService,\r\n MessageService,\r\n ConfirmationService,\r\n ContractapproveService,\r\n ClientInfo,\r\n LegalNoticeAddress,\r\n Globalvariables,\r\n Util,\r\n LeadOpportunitiesService,\r\n UnsubscribeService,\r\n {\r\n provide: RECAPTCHA_SETTINGS,\r\n useValue: {\r\n siteKey: '6LeKNuIUAAAAAPOrmf3IVQt3BmLsABxIQW3JwWXm',\r\n } as RecaptchaSettings,\r\n }\r\n ],\r\n})\r\nexport class ContractagreementModule { }\r\n","import {\r\n Pipe,\r\n PipeTransform\r\n} from '@angular/core';\r\nimport * as _ from 'lodash';\r\n\r\n@Pipe({\r\n name: 'CustomGroupByPipe',\r\n pure: false\r\n})\r\nexport class CustomGroupByPipe implements PipeTransform {\r\n transform(value: Array): Array {\r\n // prevents the application from breaking if the array of objects doesn't exist yet\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n const newJson = _.chain(value)\r\n // Group the elements of Array based on `immunizationPk` property\r\n .groupBy(\"immunizationPk\")\r\n // `key` is group's name (immunizationPk), `value` is the array of objects\r\n .map((value, key) => ({ immPk: key, Immzs: value }))\r\n .value();\r\n return newJson;\r\n }\r\n\r\n}\r\n\r\n\r\n@Pipe({\r\n name: 'CustomLocationGroupByPipe',\r\n pure: false\r\n})\r\nexport class CustomLocationGroupByPipe implements PipeTransform {\r\n transform(value: any): Array {\r\n \r\n // prevents the application from breaking if the array of objects doesn't exist yet\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n const newJson = _.chain(value)\r\n // Group the elements of Array based on `color` property\r\n .groupBy(\"immunizationPk\")\r\n // `key` is group's name (color), `value` is the array of objects\r\n .map((value, key) => ({ ImmPk: key, Immzs: value ,estimatedQuantity: _.sumBy(value, 'estimatedQuantity'),}))\r\n .value();\r\n return newJson;\r\n }\r\n\r\n}\r\n\r\n\r\n@Pipe({\r\n name: 'CustomAgreementGroupByPipe',\r\n pure: false\r\n})\r\nexport class CustomAgreementGroupByPipe implements PipeTransform {\r\n transform(value: any): Array {\r\n // prevents the application from breaking if the array of objects doesn't exist yet\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n const newJson = _.chain(value)\r\n // Group the elements of Array based on `color` property\r\n .groupBy(\"immunizationPk\")\r\n // `key` is group's name (color), `value` is the array of objects\r\n .map((value, key) => ({ ImmPk: key, Immzs: value}))\r\n .value();\r\n return newJson;\r\n }\r\n\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'locationNumber'\r\n})\r\nexport class LocationNumberPipe implements PipeTransform {\r\n\r\n transform(value: any, args?: any): any {\r\n let clinic_location = value-1;\r\n if (clinic_location >= 26)\r\n return (String.fromCharCode((65 + (clinic_location % 26 == 0 ? Math.ceil(clinic_location / 26) - 1 : Math.ceil(clinic_location / 26) - 2))) + \"\" + String.fromCharCode(65 + (clinic_location % 26)));\r\n else\r\n return (String.fromCharCode(65 + clinic_location % 26));\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Pipe({\r\n name: 'timeToDate'\r\n})\r\nexport class TimeToDatePipe implements PipeTransform {\r\n\r\n transform(value: any, timestamp: any): any { \r\n let input_date: Date;\r\n if (value !== '') {\r\n input_date = new Date(value);\r\n let hours = +timestamp.split(' ')[0].split(':')[0]; \r\n let ampm = timestamp.split(' ')[1];\r\n // if(hours==12 && ampm==='AM'){ //handle 12 AM\r\n // hours= 0;\r\n // }\r\n if(ampm.toLowerCase() === 'pm'){\r\n if(hours !== 12){\r\n hours = hours+12;\r\n }\r\n }\r\n input_date.setHours(hours, +timestamp.split(' ')[0].split(':')[1]);\r\n return input_date;\r\n }\r\n else\r\n return input_date;\r\n }\r\n\r\n\r\n\r\n\r\n dateFormat(value) {\r\n var datePipe = new DatePipe(\"en-US\");\r\n value = datePipe.transform(value, 'dd/MM/yyyy');\r\n return value;\r\n }\r\n}\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport * as _ from 'lodash'; \r\n\r\n@Pipe({\r\n name: 'CustomUniquePipe',\r\n pure: false\r\n})\r\n\r\nexport class CustomUniquePipe implements PipeTransform {\r\n transform(value: any): any{ \r\n let index = 0;\r\n value.forEach(element => {\r\n element.addControl('indexVal', new FormControl('', null)); \r\n element.patchValue({\r\n indexVal: index \r\n });\r\n index = index + 1;\r\n }); \r\n \r\n if(value!== undefined && value!== null){\r\n \r\n return _.uniqBy(value, 'value.immunizationPk');\r\n }\r\n return value;\r\n }\r\n}\r\n\r\n","\r\nimport { of as observableOf, BehaviorSubject, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { IPTandCData } from '../../../JSON/IPTandC';\r\nimport { Util } from '../../../utility/util';\r\nimport { Clinic } from '../../../models/contract';\r\nimport { thankyouMessageData } from '../../../JSON/thankyouMessage';\r\nimport { Router } from '@angular/router';\r\nimport { UniversalTandCData } from '../../../JSON/UniversalTandC';\r\nimport { catchError, retry, tap } from 'rxjs/operators';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { UniversalTandCData2022 } from '../../../../app/JSON/UniversalTandC-2022';\r\nimport { UniversalTandCData2023 } from '../../../../app/JSON/UniversalTandC-2023';\r\nimport { UniversalTandCData2024 } from '../../../../app/JSON/UniversalTandC-2024';\r\nimport { UniversalTandCData2025 } from '../../../../app/JSON/UniversalTandC-2025';\r\n\r\n@Injectable()\r\nexport class ContractapproveService {\r\n private messageSource = new BehaviorSubject(\"default message\");\r\n currentMessage = this.messageSource.asObservable();\r\n contract: any;\r\n private formData: any;\r\n private contractData: any;\r\n private client_info: any;\r\n private legal_info: any;\r\n cancel_check: boolean = false;\r\n showViewCancelBtn: boolean = false;\r\n constructor(private _http: HttpClient, private router: Router) {\r\n // Observable.of(immunizationsArray).subscribe(res => {\r\n // this.contract = res;\r\n // this.updateContractDetails(this.contract);\r\n // });\r\n }\r\n\r\n getContractAgreementApproveData(clinic_agreement_pk: number, user_type?: string) {\r\n let get_contract_param = clinic_agreement_pk + ((user_type != undefined) ? \"/\" + user_type : \"\");\r\n let url = environment.API_URL + environment.RESOURCES.GET_CONTRACT_AGREEMENT + \"/\" + get_contract_param;\r\n return this._http.get(url, Util.getRequestHeadersV1()).pipe(retry(4),\r\n tap(rsp => { this.formData = rsp; }),\r\n catchError(error => Util.handleErrorV2(error)));\r\n //.map((response: Response) => this.formData = response.json());\r\n }\r\n\r\n languageChange(year?: number, isCOVIDVaccineAvailable: boolean = false, loadUniversalTAndC: boolean = true, loadoldUTandC?: boolean, isPreviousClinic?: boolean) {\r\n\r\n if (loadUniversalTAndC && year == undefined) {\r\n // return (UniversalTandCData2023);\r\n return (UniversalTandCData2024);\r\n }\r\n else if (loadUniversalTAndC && year == 0) {\r\n return (UniversalTandCData);\r\n }\r\n else if (loadUniversalTAndC && year == 2022) {\r\n return (UniversalTandCData2022);\r\n }\r\n else if (year == 2022) {\r\n return (UniversalTandCData2022);\r\n }\r\n else if (loadUniversalTAndC && year == 2023) {\r\n return (UniversalTandCData2023);\r\n }\r\n else if (year == 2023) {\r\n return (UniversalTandCData2023);\r\n }\r\n else if (loadUniversalTAndC && year == 2024 && isPreviousClinic) {\r\n return (UniversalTandCData2024);\r\n }\r\n else if (loadUniversalTAndC && year == 2024 && !isPreviousClinic) {\r\n return (UniversalTandCData2025)\r\n }\r\n else if (year == 2024) {\r\n return (UniversalTandCData2024);\r\n }\r\n else if (year == 2023) {\r\n return (UniversalTandCData2024);\r\n }\r\n else {\r\n if (isCOVIDVaccineAvailable) {\r\n return COVIDTandCData;\r\n }\r\n else {\r\n return IPTandCData;\r\n }\r\n }\r\n }\r\n changeMessage(message: string) {\r\n this.messageSource.next(message)\r\n }\r\n getSelectedClientLegalInfo(): any {\r\n return this.client_info;\r\n }\r\n getSelectedLegalInfo(): any {\r\n return this.legal_info;\r\n }\r\n\r\n setSelectedClientLegalInfo(data: any) {\r\n this.client_info = data;\r\n }\r\n setSelectedLegalInfo(data: any) {\r\n this.legal_info = data;\r\n }\r\n\r\n private contractDetails: BehaviorSubject = new BehaviorSubject(\"\");\r\n currentContract = this.contractDetails.asObservable();\r\n\r\n updateContractDetails(contract: any) {\r\n this.contractDetails.next(contract);\r\n }\r\n\r\n saveAgreementData(store_id, clinic_type, clinic_agreement) {\r\n let url = environment.API_URL + environment.RESOURCES.UPDATE_CONTRACT_AGREEMENT + \"/\" + store_id + \"/\" + clinic_type;\r\n return this._http.post(url, clinic_agreement, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n\r\n checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location: Clinic): boolean {\r\n let added_immunizations = this.formData.clinicImmunizationList;\r\n try {\r\n let hasCorpInvoiceNdVchrNd: Boolean = false;\r\n var fluType = 'flu';\r\n added_immunizations.forEach(rec => {\r\n if (Number(rec.paymentTypeId) == 6 && (rec.sendInvoiceTo === '1' || Number(rec.sendInvoiceTo) === 1) &&\r\n (rec.isVoucherNeeded === '1' || Number(rec.isVoucherNeeded) === 1)) {\r\n hasCorpInvoiceNdVchrNd = true;\r\n }\r\n });\r\n if (hasCorpInvoiceNdVchrNd == true)\r\n return true;\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n checkIfFluImmForCorpInvoiceSelected() {\r\n let added_immunizations = this.formData.clinicImmunizationList;\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (Number(rec.paymentTypeId) == 6 && (rec.sendInvoiceTo === '1' || Number(rec.sendInvoiceTo) === 1) &&\r\n (rec.isVoucherNeeded === '1' || Number(rec.isVoucherNeeded) === 1) &&\r\n rec.immunizationName.toLowerCase().search('flu') !== -1) {\r\n throw true;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n checkIfNonFluImmForCorpInvoiceSelected() {\r\n let added_immunizations = this.formData.clinicImmunizationList;\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (Number(rec.paymentTypeId) == 6 && (rec.sendInvoiceTo === '1' || Number(rec.sendInvoiceTo) === 1) &&\r\n (rec.isVoucherNeeded === '1' || Number(rec.isVoucherNeeded) === 1) &&\r\n rec.immunizationName.toLowerCase().search('flu') == -1) {\r\n throw true;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n checkIfCovidImmForCorpInvoiceSelected() {\r\n let added_immunizations = this.formData.clinicImmunizationList;\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.paymentTypeId == 6\r\n && rec.immunizationName.toLowerCase().search('flu') == -1 && rec.immunizationName.toLowerCase().search('covid') !== -1) {\r\n throw true;\r\n // && (rec.sendInvoiceTo === '1' || Number(rec.sendInvoiceTo) === 1) &&\r\n // (rec.isVoucherNeeded === '1' || Number(rec.isVoucherNeeded) === 1)\r\n }\r\n // else if(rec.paymentTypeId==6 && rec.sendInvoiceTo===true && rec.immunizationName.toLowerCase().search('flu') == -1){\r\n // this.hasNonFluImmSelected = true;\r\n // }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n checkIfNonFluImmIsSelected(): boolean {\r\n let added_immunizations = this.formData.clinicImmunizationList;\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.immunizationName.toLowerCase().search('flu') == -1) {\r\n throw true;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getThankyouMessage() {\r\n return thankyouMessageData;\r\n }\r\n setShowViewCancelBtn(value: boolean) {\r\n this.showViewCancelBtn = value;\r\n }\r\n getShowViewCancelBtn() {\r\n return this.showViewCancelBtn;\r\n }\r\n rejectClinicCancellationByClient(clinic_pk) {\r\n var url = environment.API_URL + environment.RESOURCES.REJECT_CLINIC_CANCELLATION_BY_CLIENT + \"/\" + clinic_pk;\r\n return this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n approveClinicCancellationByClient(clinic_pk) {\r\n var url = environment.API_URL + environment.RESOURCES.APPROVE_CLINIC_CANCELLATION_BY_CLIENT + \"/\" + clinic_pk;\r\n return this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n}\r\nfunction COVIDTandCData(COVIDTandCData: any): Observable {\r\n throw new Error('Function not implemented.');\r\n}\r\n\r\n","\r\nimport {throwError as observableThrowError, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { Router } from '@angular/router';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { recaptchaRequest } from '../../../models/localLeadsSave';\r\nimport { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';\r\nimport { catchError, tap, map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class LeadOpportunitiesService { \r\n\r\n constructor(private _http: HttpClient, private router: Router) { }\r\n\r\n saveLeadOpportunitesEnquiries(model) {\r\n let url = environment.API_URL + environment.RESOURCES.SAVE_LEAD_ENQUIRIES;\r\n let data = JSON.stringify(model);\r\n return this._http.post(url, data, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n getContactUsReport(leadModel) {\r\n let url = environment.API_URL + environment.RESOURCES.GET_CONTACTUS_REPORT;\r\n return this._http.post(url,leadModel, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));}\r\n\r\n siteVerify(request:recaptchaRequest) {\r\n let url = environment.API_URL + environment.RESOURCES.VERIFY_RECAPTCHA;\r\n return this._http.post(url, JSON.stringify(request), Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n private handleError(error: Response) {\r\n return observableThrowError(\"Error in Service:\" + error);\r\n }\r\n\r\n public exportReportData(leadModel) {\r\n let userData = SessionDetails.GetUserInfo()\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password);\r\n let headers = new HttpHeaders() \r\n .set(\"Content-Type\", \"application/json\")\r\n .set('Authorization', 'Basic ' + usernamePassword);\r\n let url = environment.API_URL + \"/api/JsContctUs_downloadReport\";\r\n return this._http.post(url, leadModel, {headers: headers, observe:'response' as 'body',responseType:'blob' as 'json'}).pipe(catchError(Util.handleErrorV2));\r\n }\r\n public exportReportDataV2() {\r\n let headers: Headers = new Headers();\r\n let userData = SessionDetails.GetUserInfo()\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n let url = environment.API_URL + \"/api/JsContctUs_downloadReport\"\r\n return this._http.get(url,{headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'})\r\n .pipe(\r\n catchError(Util.handleErrorV2)\r\n );\r\n \r\n }\r\n public exportLTCFReportData() {\r\n let headers: Headers = new Headers();\r\n let userData = SessionDetails.GetUserInfo()\r\n console.log('line 61 exportLTCFReportData');\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n console.log('line 66 exportLTCFReportData');\r\n let url = environment.API_URL + \"/api/JsLTCFContctUs_downloadReport\"\r\n console.log('line 68 exportLTCFReportData');\r\n return this._http.get(url,{headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'})\r\n .pipe(\r\n catchError(Util.handleErrorV2)\r\n );\r\n \r\n }\r\n}","\r\nimport { of as observableOf, Observable, from, of } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { WorkflowService } from '../workflow/workflow.service';\r\nimport { STEPS } from '../workflow/workflow.model';\r\nimport { ContractData } from '../../../models/contract';\r\nimport { Clinic } from '../../../models/contract';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { IPTandCData } from '../../../JSON/IPTandC';\r\nimport { Util } from '../../../utility/util';\r\nimport { CommunityOutreach, CommunityOutreachServiceModel, EquityEventsServiceModel } from '../../../models/community-outreach-v1';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError, retry, tap } from 'rxjs/operators';\r\nimport { COVIDTandCData } from '../../../JSON/COVIDTandC';\r\nimport { UniversalTandCData } from '../../../JSON/UniversalTandC';\r\nimport { UniversalTandCData2022 } from '../../../JSON/UniversalTandC-2022';\r\nimport { UniversalTandCData2023 } from '../../../JSON/UniversalTandC-2023';\r\nimport { UniversalTandCData2024 } from '../../../JSON/UniversalTandC-2024';\r\nimport { UniversalTandCData2025 } from '../../../JSON/UniversalTandC-2025';\r\nimport * as internal from 'stream';\r\n@Injectable()\r\nexport class OutreachProgramService {\r\n\r\n private formData: ContractData = new ContractData();\r\n private contractData: ContractData = new ContractData();\r\n private isImmunizationsFormValid: boolean = false;\r\n private isLocationsFormValid: boolean = false;\r\n private isWitnessFormValid: boolean = false;\r\n private isDataValidationsRequired: boolean = false;\r\n private outReachType: string;\r\n immunizations: any[] = [];\r\n immunization_data: any;\r\n InvoiceInformation: any[] = [];\r\n everGreenData: any;\r\n cancel_check: boolean = false;\r\n private coData: CommunityOutreach = new CommunityOutreach();\r\n // private coData: CommunityOutreach = new CommunityOutreach();\r\n private coFormData: CommunityOutreach = new CommunityOutreach();\r\n isValidPortalEmail\r\n constructor(private workflowService: WorkflowService, private _http: HttpClient) {\r\n\r\n }\r\n\r\n getImmunizationsList(agreement_pk, clinic_type) {\r\n let url = environment.API_URL + environment.RESOURCES.GET_IMMUNIZATION_LIST + \"/\" + agreement_pk + \"/\" + clinic_type;\r\n return this._http.get(url, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n getOutReachType(): string {\r\n return this.outReachType;\r\n }\r\n setOutReachType(outReachType: string) {\r\n this.outReachType = outReachType;\r\n }\r\n\r\n getSelectedImmunizations(): any {\r\n if (this.formData !== undefined)\r\n return this.formData.clinicImmunizationList;\r\n else\r\n return [];\r\n }\r\n\r\n getCOSelectedImmunizations(): any {\r\n if (this.coFormData !== undefined)\r\n return this.coFormData.clinicImmunizationList;\r\n else\r\n return [];\r\n }\r\n\r\n setSelectedImmunizations(data: any) {\r\n this.isImmunizationsFormValid = true;\r\n this.formData.clinicImmunizationList = data;\r\n this.workflowService.validateStep(STEPS.immunization);\r\n }\r\n\r\n\r\n setCOSelectedImmunizations(data: any) {\r\n this.isImmunizationsFormValid = true;\r\n this.coFormData.clinicImmunizationList = data;\r\n this.workflowService.validateStep(STEPS.immunization);\r\n }\r\n\r\n getCancelSelectedImmunizations(): any {\r\n if (this.formData !== undefined)\r\n return this.formData.clinicImmunizationList;\r\n else\r\n return [];\r\n }\r\n\r\n getCOCancelSelectedImmunizations(): any {\r\n if (this.coFormData !== undefined)\r\n return this.coFormData.clinicImmunizationList;\r\n else\r\n return [];\r\n }\r\n\r\n setCancelSelectedImmunizations(data: any) {\r\n this.isImmunizationsFormValid = true;\r\n this.formData.clinicImmunizationList = data;\r\n this.workflowService.validateStep(STEPS.immunization);\r\n }\r\n\r\n setCOCancelSelectedImmunizations(data: any) {\r\n this.isImmunizationsFormValid = true;\r\n this.coFormData.clinicImmunizationList = data;\r\n this.workflowService.validateStep(STEPS.immunization);\r\n }\r\n getClinicLocationsForNewContract(): any {\r\n // if (Object.keys(contractData).length > 0) {\r\n // this.formData = contractData;\r\n // }\r\n return this.formData;\r\n }\r\n getWalgreensWitnessData() {\r\n return this.formData.walgreenCoInfo[0];\r\n }\r\n setWalgreensWitnessData(data: any) {\r\n this.isWitnessFormValid = true;\r\n this.formData.walgreenCoInfo = data;\r\n this.workflowService.validateStep(STEPS.witness);\r\n }\r\n getClinicLocation(i): any {\r\n return this.formData.clinicList[i];\r\n }\r\n getCOClinicLocation(i): any {\r\n return this.coFormData.clinicList[i];\r\n }\r\n\r\n clearClinicLocations() {\r\n this.formData.clinicList = [];\r\n }\r\n\r\n clearCOClinicLocations() {\r\n this.coFormData.clinicList = [];\r\n }\r\n\r\n setClinicLocations(data: any): boolean {\r\n this.isLocationsFormValid = true;\r\n this.formData.clinicList = data.locations;\r\n this.workflowService.validateStep(STEPS.location);\r\n return true;\r\n }\r\n\r\n setCOClinicLocations(data: any): boolean {\r\n this.isLocationsFormValid = true;\r\n this.coFormData.clinicList = data.locations;\r\n this.workflowService.validateStep(STEPS.location);\r\n return true;\r\n }\r\n\r\n setEquityEventsClinicLocations(data: any): boolean {\r\n\r\n this.isLocationsFormValid = true;\r\n this.coFormData.clinicList = data.locations;\r\n this.workflowService.validateStep(STEPS.location);\r\n return true;\r\n }\r\n\r\n setCancelClinicLocations(data: any): boolean {\r\n this.isLocationsFormValid = true;\r\n this.formData.clinicList = data.locations;\r\n\r\n this.workflowService.validateStep(STEPS.location);\r\n return true;\r\n }\r\n\r\n getCancelClinicLocation(i): any {\r\n return this.formData.clinicList[i];\r\n }\r\n\r\n getContractAgreement() {\r\n // Return the entire Form Data\r\n return observableOf(this.formData);\r\n }\r\n\r\n resetFormData() {\r\n // Reset the workflow\r\n this.workflowService.resetSteps();\r\n // Return the form data after all this.* members had been reset\r\n this.formData.clear();\r\n this.isImmunizationsFormValid = this.isLocationsFormValid = this.isWitnessFormValid = false;\r\n return this.formData;\r\n }\r\n\r\n isFormValid() {\r\n // Return true if all forms had been validated successfully; otherwise, return false\r\n return this.isImmunizationsFormValid &&\r\n this.isLocationsFormValid &&\r\n this.isWitnessFormValid;\r\n }\r\n\r\n setImmunizationsData(data: any) {\r\n this.immunization_data = data;\r\n }\r\n\r\n setEverGreenData(data: any) {\r\n this.everGreenData = data;\r\n\r\n }\r\n\r\n SetIscanceled(is_cancel) {\r\n this.cancel_check = is_cancel;\r\n }\r\n\r\n getIsCancel(): boolean {\r\n return this.cancel_check;\r\n }\r\n\r\n getEverGreenData() {\r\n if (this.everGreenData !== undefined) {\r\n return this.everGreenData;\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n\r\n getImmunizationsData() {\r\n if (this.immunization_data !== undefined) {\r\n return this.immunization_data;\r\n }\r\n else {\r\n return [];\r\n }\r\n }\r\n clearSelectedImmunizations() {\r\n if (this.immunization_data !== undefined) {\r\n this.immunization_data = [];\r\n }\r\n this.immunization_data = [];\r\n\r\n }\r\n\r\n setInvoiceAndVoucherData(data: any) {\r\n this.InvoiceInformation = data;\r\n }\r\n\r\n getInvoiceAndVoucherData() {\r\n if (this.InvoiceInformation !== undefined) {\r\n return this.InvoiceInformation;\r\n }\r\n else {\r\n return [];\r\n }\r\n }\r\n clearSelectedInvoiceAndVouchersData() {\r\n if (this.InvoiceInformation !== undefined) {\r\n this.InvoiceInformation = [];\r\n }\r\n this.InvoiceInformation = [];\r\n\r\n }\r\n\r\n saveClinicLocations(values: any): boolean {\r\n this.coFormData.clinicList = values;\r\n return true;\r\n }\r\n saveCommunityOutreachData(): boolean {\r\n //todo construct the json from immunization and contract form;\r\n this.coData.clinicImmunizationList = this.immunization_data\r\n this.coData.clinicList = this.coFormData.clinicList;\r\n return true;\r\n }\r\n\r\n saveEquityEventsData(): boolean {\r\n\r\n //todo construct the json from immunization and contract form;\r\n this.coData.clinicImmunizationList = this.immunization_data\r\n this.coData.clinicList = this.coFormData.clinicList;\r\n return true;\r\n }\r\n\r\n getCommunityOutreachData() {\r\n return this.coData;\r\n }\r\n\r\n getEquityEventsData() {\r\n return this.coData;\r\n }\r\n\r\n saveInterimCommunityOutreachData(step: number): boolean {\r\n\r\n if (step == 1) {\r\n this.contractData.clinicImmunizationList = this.immunization_data;\r\n return true;\r\n }\r\n else if (step == 2) {\r\n this.contractData.clinicImmunizationList = this.immunization_data;\r\n this.contractData.clinicList = this.formData.clinicList;\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n languageChange(year?: number, isCovidContract: boolean = false, loadUniversalTAndC: boolean = true, loadoldUTandC?: boolean, isPreviousClinic?: boolean) {\r\n if (loadUniversalTAndC && year == undefined) {\r\n // return (UniversalTandCData2023);\r\n return (UniversalTandCData2024);\r\n }\r\n else if (loadUniversalTAndC && loadoldUTandC && year == 0) {\r\n return (UniversalTandCData);\r\n }\r\n else if (loadUniversalTAndC && year == 2022) {\r\n return (UniversalTandCData2022);\r\n }\r\n else if (year == 2022) {\r\n return (UniversalTandCData2022);\r\n }\r\n else if (loadUniversalTAndC && year == 2023) {\r\n return (UniversalTandCData2023);\r\n }\r\n else if (year == 2023) {\r\n return (UniversalTandCData2023);\r\n }\r\n else if (loadUniversalTAndC && year == 2024 && isPreviousClinic) {\r\n return (UniversalTandCData2024);\r\n }\r\n else if (loadUniversalTAndC && !isPreviousClinic && year == 2024) {\r\n return (UniversalTandCData2025)\r\n }\r\n else if (year == 2024) {\r\n return (UniversalTandCData2024);\r\n }\r\n else {\r\n if (isCovidContract) {\r\n return (COVIDTandCData);\r\n }\r\n else {\r\n return (IPTandCData);\r\n }\r\n }\r\n }\r\n\r\n getContractAgreementData(clinic_agreement_pk, isAmendAgreement?: boolean) {\r\n if (this.immunization_data == null || this.immunization_data.length <= 0) {\r\n let url = environment.API_URL + environment.RESOURCES.GET_CONTRACT_AGREEMENT + \"/\" + clinic_agreement_pk;\r\n if (isAmendAgreement) {\r\n url = url + \"/\" + null + \"/\" + isAmendAgreement;\r\n }\r\n return this._http.get(url, Util.getRequestHeadersV1())\r\n .pipe(\r\n retry(4),\r\n tap(rsp => {\r\n this.formData = null;\r\n this.formData = rsp;\r\n }),\r\n catchError(Util.handleErrorV2)\r\n );\r\n //.map((response: Response) => this.formData = response.json());\r\n } else {\r\n return observableOf(this.formData);\r\n }\r\n\r\n }\r\n\r\n fetchContractAgreementData$() {\r\n return of(this.formData);\r\n }\r\n\r\n fetchContractAgreementData() {\r\n return this.formData;\r\n }\r\n\r\n fetchCOAgreementData() {\r\n return this.coFormData;\r\n }\r\n\r\n saveAgreementData(store_id, clinic_type, clinic_agreement, is_override?: boolean) {\r\n let url = environment.API_URL + environment.RESOURCES.UPDATE_CONTRACT_AGREEMENT + \"/\" + store_id + \"/\" + clinic_type;\r\n if (is_override) {\r\n url = url + \"/\" + is_override;\r\n }\r\n sessionStorage[\"NewLogEntry\"] = 0;\r\n return this._http.post(url, clinic_agreement, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n saveCODataToDB(store_id, clinic_type, coData, is_override?: boolean, is_reAgreementCommOutreach?: any) {\r\n let communityOutreachServiceModel: CommunityOutreachServiceModel = new CommunityOutreachServiceModel()\r\n communityOutreachServiceModel.logOutreachStatus = coData.logOutreachStatus;\r\n communityOutreachServiceModel.commOutreachProgram.approvedOrRejectedBy = coData.approvedOrRejectedBy;\r\n communityOutreachServiceModel.commOutreachProgram.clinicAgreementPk = coData.clinicAgreementPk;\r\n communityOutreachServiceModel.commOutreachProgram.clinicImmunizationList = coData.clinicImmunizationList;\r\n communityOutreachServiceModel.commOutreachProgram.clinicList = coData.clinicList;\r\n communityOutreachServiceModel.commOutreachProgram.contactLogPk = coData.contactLogPk;\r\n communityOutreachServiceModel.commOutreachProgram.errorS = coData.errorS;\r\n communityOutreachServiceModel.commOutreachProgram.isApproved = coData.isApproved;\r\n communityOutreachServiceModel.commOutreachProgram.isEmailSent = coData.isEmailSent;\r\n\r\n let isAmmendValue = sessionStorage[\"IsCommunityOutreachAmendAgreement\"];\r\n let urlForAPI = null;\r\n if (isAmmendValue === \"true\") {\r\n urlForAPI = environment.RESOURCES.AMEND_CO_AGREEMENT;\r\n }\r\n else {\r\n urlForAPI = environment.RESOURCES.UPDATE_CO_AGREEMENT;\r\n }\r\n\r\n\r\n\r\n let url = environment.API_URL + urlForAPI + \"/\" + store_id + \"/\" + clinic_type;\r\n if (is_override) {\r\n url = url + \"/\" + is_override;\r\n }\r\n sessionStorage[\"NewLogEntry\"] = 0;\r\n return this._http.post(url, communityOutreachServiceModel, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n\r\n }\r\n\r\n // Save to equity events\r\n\r\n saveEquityEventDataToDB(store_id, clinic_type, coData, is_override?: boolean, is_reAgreementCommOutreach?: any) {\r\n let communityOutreachServiceModel: EquityEventsServiceModel = new EquityEventsServiceModel()\r\n communityOutreachServiceModel.logOutreachStatus = coData.logOutreachStatus;\r\n communityOutreachServiceModel.commOutreachProgram.approvedOrRejectedBy = coData.approvedOrRejectedBy;\r\n communityOutreachServiceModel.commOutreachProgram.clinicAgreementPk = coData.clinicAgreementPk;\r\n communityOutreachServiceModel.commOutreachProgram.clinicImmunizationList = coData.clinicImmunizationList;\r\n communityOutreachServiceModel.commOutreachProgram.clinicList = coData.clinicList;\r\n communityOutreachServiceModel.commOutreachProgram.contactLogPk = coData.contactLogPk;\r\n communityOutreachServiceModel.commOutreachProgram.errorS = coData.errorS;\r\n communityOutreachServiceModel.commOutreachProgram.isApproved = coData.isApproved;\r\n communityOutreachServiceModel.commOutreachProgram.isEmailSent = coData.isEmailSent;\r\n var data = JSON.stringify(communityOutreachServiceModel);\r\n let isAmmendValue = sessionStorage[\"IsEquityAmendAgreement\"];\r\n let urlForAPI = null;\r\n if (isAmmendValue === \"true\") {\r\n urlForAPI = environment.RESOURCES.AMEND_EquityEvents_AGREEMENT;\r\n }\r\n else {\r\n urlForAPI = environment.RESOURCES.UPDATE_EquityEvent_AGREEMENT;\r\n }\r\n\r\n\r\n\r\n let url = environment.API_URL + urlForAPI + \"/\" + store_id + \"/\" + clinic_type\r\n // : environment.API_URL + environment.RESOURCES.UPDATE_EquityEvent_AGREEMENT + \"/\" + store_id + \"/\" + clinic_type;\r\n if (is_override) {\r\n url = url + \"/\" + is_override;\r\n }\r\n sessionStorage[\"NewLogEntry\"] = 0;\r\n return this._http.post(url, communityOutreachServiceModel, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n saveInterimAgreementData(store_id, clinic_type, is_override?: boolean) {\r\n //this.makeValidBooleans();\r\n this.formData.contractPostedByUser = 'Walgreens User';\r\n this.formData.isEmailSent = null;\r\n this.formData.contactWagUser = null;\r\n this.formData.isApproved = null;\r\n this.makeValidBooleans();\r\n let url = environment.API_URL + environment.RESOURCES.UPDATE_CONTRACT_AGREEMENT + \"/\" + store_id + \"/\" + clinic_type;\r\n if (is_override) {\r\n url = url + \"/\" + is_override;\r\n }\r\n sessionStorage[\"NewLogEntry\"] = 0;\r\n return this._http.post(url, this.formData, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n makeValidBooleans() {\r\n this.formData.clinicImmunizationList.forEach(im => {\r\n if (im.sendInvoiceTo <= 0) {\r\n im.isTaxExempt = null;\r\n im.isCopay = null;\r\n im.isVoucherNeeded = null;\r\n } else {\r\n im.isTaxExempt >= 1 ? im.isTaxExempt = 1 : im.isTaxExempt = 0;\r\n im.isCopay >= 1 ? im.isCopay = 1 : im.isCopay = 0;\r\n im.isVoucherNeeded >= 1 ? im.isVoucherNeeded = 1 : im.isVoucherNeeded = 0;\r\n im.copayValue = +im.copayValue;\r\n }\r\n });\r\n this.formData.clinicList.forEach(cl => {\r\n cl.previousContact = 0;\r\n cl.previousLocation = 0;\r\n cl.isNoClinic >= 1 ? cl.isNoClinic = 1 : cl.isNoClinic = 0;\r\n cl.isReassign >= 1 ? cl.isReassign = 1 : cl.isReassign = 0;\r\n cl.isCurrent >= 1 ? cl.isCurrent = 1 : cl.isCurrent = 0;\r\n try {\r\n if (typeof (cl.clinicDate) == 'string') {\r\n let dateString = cl.clinicDate.substring(0, cl.clinicDate.indexOf('T'));\r\n if (dateString.length > 0) {\r\n let dateSplitTokens = dateString.split('-');\r\n if (dateSplitTokens.length > 0) {\r\n var dt = new Date(Number(dateSplitTokens[0]), Number(dateSplitTokens[1]) - 1, Number(dateSplitTokens[2]), 18, 30, 30);\r\n var clDate = new Date(dt);\r\n cl.clinicDate = clDate.getMonth() + 1 + \"/\" + clDate.getDate() + \"/\" + clDate.getFullYear();\r\n }\r\n }\r\n }\r\n else {\r\n var clDate = new Date(cl.clinicDate);\r\n cl.clinicDate = clDate.getMonth() + 1 + \"/\" + clDate.getDate() + \"/\" + clDate.getFullYear();\r\n if (cl.isNoClinic === 1) {\r\n cl.clinicDate = null;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n });\r\n }\r\n\r\n getStoreBusinessDetails(businessId: any) {\r\n if (businessId !== undefined) {\r\n let url = environment.API_URL + environment.RESOURCES.GET_OPPORTUNITY_DETAILS + \"/\" + businessId;\r\n return this._http.get(url, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n }\r\n\r\n getpreviousseasoncliniclocations(clinic_agreement_pk: any, business_pk: any) {\r\n let url = environment.API_URL + environment.RESOURCES.GET_PREVIOUSSEASON_CLINIC_LOCATIONS + \"/\" + clinic_agreement_pk + \"/\" + business_pk;\r\n return this._http.get(url, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded(location: Clinic): boolean {\r\n let added_immunizations = this.getSelectedImmunizations();\r\n try {\r\n let hasCorpInvoiceNdVchrNd: Boolean = false;\r\n var fluType = 'flu';\r\n added_immunizations.forEach(rec => {\r\n if (Number(rec.paymentTypeId) == 6 && (rec.sendInvoiceTo === '1' || Number(rec.sendInvoiceTo) === 1) &&\r\n (rec.isVoucherNeeded === '1' || Number(rec.isVoucherNeeded) === 1)) {\r\n hasCorpInvoiceNdVchrNd = true;\r\n }\r\n });\r\n if (hasCorpInvoiceNdVchrNd == true)\r\n return true;\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n checkIfFluImmForCorpInvoiceSelected() {\r\n let added_immunizations = this.getSelectedImmunizations();\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.paymentTypeId == 6 && (rec.sendInvoiceTo === '1' || Number(rec.sendInvoiceTo) === 1) &&\r\n (rec.isVoucherNeeded === '1' || Number(rec.isVoucherNeeded) === 1)\r\n && rec.immunizationName.toLowerCase().search('flu') !== -1) {\r\n throw true;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n checkIfNonFluImmForCorpInvoiceSelected() {\r\n let added_immunizations = this.getSelectedImmunizations();\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.paymentTypeId == 6 && (rec.sendInvoiceTo === '1' || Number(rec.sendInvoiceTo) === 1) &&\r\n (rec.isVoucherNeeded === '1' || Number(rec.isVoucherNeeded) === 1)\r\n && rec.immunizationName.toLowerCase().search('flu') == -1) {\r\n throw true;\r\n }\r\n // else if(rec.paymentTypeId==6 && rec.sendInvoiceTo===true && rec.immunizationName.toLowerCase().search('flu') == -1){\r\n // this.hasNonFluImmSelected = true;\r\n // }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n checkIfCovidImmForCorpInvoiceSelected() {\r\n let added_immunizations = this.getSelectedImmunizations();\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.paymentTypeId == 6\r\n && rec.immunizationName.toLowerCase().search('flu') == -1 && rec.immunizationName.toLowerCase().search('covid') !== -1) {\r\n throw true;\r\n //&& (rec.sendInvoiceTo === '1' || Number(rec.sendInvoiceTo) === 1) &&\r\n //(rec.isVoucherNeeded === '1' || Number(rec.isVoucherNeeded) === 1)\r\n }\r\n // else if(rec.paymentTypeId==6 && rec.sendInvoiceTo===true && rec.immunizationName.toLowerCase().search('flu') == -1){\r\n // this.hasNonFluImmSelected = true;\r\n // }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n checkIfNonFluImmIsSelected(): boolean {\r\n let added_immunizations = this.getSelectedImmunizations();\r\n try {\r\n added_immunizations.forEach(rec => {\r\n if (rec.immunizationName.toLowerCase().search('flu') == -1) {\r\n throw true;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n checkIfFluImmIsSelected(clinicType: number = 1): boolean {\r\n let added_immunizations = this.getSelectedImmunizations();\r\n try {\r\n if (clinicType == 6) {\r\n added_immunizations = [];\r\n added_immunizations = this.getImmunizationsData();\r\n }\r\n added_immunizations.forEach(rec => {\r\n if (rec.immunizationName.toLowerCase().search('flu') > -1) {\r\n throw true;\r\n }\r\n });\r\n\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n insertCharityProgram(store_id, clinic_type, contract_agreement_model, is_override?: boolean) {\r\n let url = environment.API_URL + environment.RESOURCES.INSERT_CHARITY_PROGRAM + \"/\" + store_id + \"/\" + clinic_type;\r\n if (is_override) {\r\n url = url + \"/\" + is_override;\r\n }\r\n return this._http.post(url, contract_agreement_model, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n getValidationsRequiredStatus() {\r\n return this.isDataValidationsRequired;\r\n }\r\n\r\n setValidationsRequiredStatus(status: boolean) {\r\n this.isDataValidationsRequired = status;;\r\n }\r\n\r\n validatePortalEmail(eMail: string, store_id: number = 0) {\r\n var url = environment.API_URL + environment.RESOURCES.VALIDATE_PORTAL_EMAIL + \"/\" + eMail + \"/\" + store_id;\r\n return this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n}\r\n\r\n","\r\nimport {of as observableOf, BehaviorSubject , Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment'; \r\nimport { Util } from '../../../utility/util';\r\nimport { Router } from '@angular/router';\r\nimport { catchError, tap } from 'rxjs/operators';\r\nimport {UnsubscribeEmailData} from '../../../models/UnsubscribeEmailData';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class UnsubscribeService {\r\n \r\n constructor(private _http: HttpClient) {\r\n \r\n }\r\n\r\n public UnsubscribeEmailGroup(unsubscribeEmailData: UnsubscribeEmailData) {\r\n \r\n let url = environment.API_URL + \"/api/UnsubscribeEmailGroup\";\r\n return this._http.post(url, unsubscribeEmailData, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, ActivatedRouteSnapshot, RouterStateSnapshot, Route } from '@angular/router';\r\n\r\nimport { WorkflowService } from './workflow.service';\r\n\r\n@Injectable()\r\nexport class WorkflowGuard {\r\n constructor(private router: Router, private workflowService: WorkflowService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n let path: string = route.routeConfig.path;\r\n\r\n return this.verifyWorkFlow(path);\r\n }\r\n\r\n verifyWorkFlow(path) {\r\n\r\n // If any of the previous steps is invalid, go back to the first invalid step\r\n let firstPath = this.workflowService.getFirstInvalidStep(path);\r\n if (firstPath.length > 0) {\r\n // console.log(\"Redirected to '\" + firstPath + \"' path which it is the first invalid step.\");\r\n // let url = `/${firstPath}`;\r\n // this.router.navigate([url]);\r\n return firstPath;\r\n };\r\n\r\n return path;\r\n }\r\n}\r\n\r\n\r\n","export const STEPS = {\r\n immunization: 'immunization',\r\n location: 'location',\r\n witness: 'witness',\r\n review: 'review'\r\n};\r\n\r\nexport const COSTEPS = {\r\n immunization: 'immunization',\r\n location: 'location'\r\n};\r\n\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { STEPS } from './workflow.model';\r\n\r\n@Injectable()\r\nexport class WorkflowService {\r\n private workflow = [\r\n { step: STEPS.immunization, valid: false },\r\n { step: STEPS.location, valid: false },\r\n { step: STEPS.witness, valid: false },\r\n { step: STEPS.review, valid: false }\r\n ];\r\n \r\n validateStep(step: string) {\r\n // If the state is found, set the valid field to true \r\n var found = false;\r\n for (var i = 0; i < this.workflow.length && !found; i++) {\r\n if (this.workflow[i].step === step) {\r\n found = this.workflow[i].valid = true;\r\n }\r\n }\r\n }\r\n\r\n resetSteps() {\r\n // Reset all the steps in the Workflow to be invalid\r\n this.workflow.forEach(element => {\r\n element.valid = false;\r\n });\r\n }\r\n\r\n getFirstInvalidStep(step: string) : string {\r\n // If all the previous steps are validated, return blank\r\n // Otherwise, return the first invalid step\r\n var found = false;\r\n var valid = true;\r\n var redirectToStep = '';\r\n for (var i = 0; i < this.workflow.length && !found && valid; i++) {\r\n let item = this.workflow[i];\r\n if (item.step === step) {\r\n found = true;\r\n redirectToStep = '';\r\n }\r\n else {\r\n valid = item.valid;\r\n redirectToStep = item.step\r\n }\r\n }\r\n return redirectToStep;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { OpportunitiesRequiringActionRequest, OpportunitiesRequiringActionReportsRequest, OppourtunityReport } from '../../../models/Chart';\r\n\r\n\r\n@Injectable()\r\nexport class ChartService {\r\n constructor(private http: HttpClient) {} \r\n getOpportunitiesRequiringAction(requestData: OpportunitiesRequiringActionRequest){\r\n let url = `${environment.API_URL}/${environment.RESOURCES.GET_OPPORTUNITIES_REQUIRING_ACTION}/${requestData.userId}/${requestData.outreachEffortId} `;\r\n return this.http.get(url, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n getPriorityOpportunitiesRequiringAction(requestData: OpportunitiesRequiringActionRequest){\r\n let url = `${environment.API_URL}/${environment.RESOURCES.GET_PRIORITY_OPPORTUNITIES_REQUIRING_ACTION}/${requestData.userId}/${requestData.outreachEffortId} `;\r\n return this.http.get(url, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n getOpportunitiesRequiringActionReports(requestData: OpportunitiesRequiringActionReportsRequest){\r\n let url = `${environment.API_URL}/${environment.RESOURCES.GET_OPPORTUNITIES_REQUIRING_ACTION_REPORTS}/${requestData.reportId}/${requestData.reportType}/${requestData.userId}/${requestData.outreachEffortId} `;\r\n return this.http.get(url, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n getPriorityOpportunitiesRequiringActionReports(requestData: OpportunitiesRequiringActionReportsRequest){\r\n let url = `${environment.API_URL}/${environment.RESOURCES.GET_PRIORITY_OPPORTUNITIES_REQUIRING_ACTION_REPORTS}/${requestData.reportId}/${requestData.reportType}/${requestData.userId}/${requestData.outreachEffortId} `;\r\n return this.http.get(url, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n downloadOppourtunityReportData(requestData: OppourtunityReport){\r\n let url = `${environment.API_URL}/${environment.RESOURCES.DOWNLOAD_OPPOURTUNITY_REPORT}`;\r\n // let req_headers = Util.getRequestHeadersV2();//Added this is causing issue if we use directly so temp fix //TODO\r\n return this.http.post(url, requestData, Util.getRequestHeadersV2()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n downloadPriorityOppourtunityReportData(requestData: OppourtunityReport){\r\n let url = `${environment.API_URL}/${environment.RESOURCES.DOWNLOAD_PRIORITY_OPPOURTUNITY_REPORT}`;\r\n // let req_headers = Util.getRequestHeadersV2();//Added this is causing issue if we use directly so temp fix //TODO\r\n return this.http.post(url, requestData, Util.getRequestHeadersV2()).pipe(catchError(Util.handleErrorV2))\r\n }\r\n\r\n getOppourtuntiyReportTypeOureachandFollowUpCount(requestData: OpportunitiesRequiringActionReportsRequest){\r\n let url = `${environment.API_URL}/${environment.RESOURCES.GET_OPPOURTUNITY_REPORT_OUTREACH_AND_FOLLOW_UP_COUNT}/${requestData.userId}/${requestData.reportId}/${requestData.outreachEffortId}/${requestData.reportType.length ? requestData.reportType: 'none'}`;\r\n return this.http.get(url, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class DashboardServiceService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getClosestStore(user_pk: number, district_id: number, business_pk: number,is_clinic:boolean,is_reassign_to_hcs:boolean) {\r\n let url = environment.API_URL + environment.RESOURCES.GET_CLOSEST_STORE + \"/\" + user_pk + \"/\" + business_pk + \"/\" + is_clinic + \"/\" + is_reassign_to_hcs + \"/\"+ district_id ;\r\n return this.http.get(url, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n updateClinicAssignment(clinic_assignment_model,is_override?:boolean) {\r\n let url = environment.API_URL + environment.RESOURCES.UPDATE_CLINIC_ASSIGNMENT;\r\n if(is_override){\r\n url = url + \"/\" + is_override;\r\n }\r\n return this.http.post(url,clinic_assignment_model, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n updateLocalLeadsAssignment(local_leads_model) {\r\n let url = environment.API_URL + environment.RESOURCES.UPDATE_LOCAL_LEADS;\r\n return this.http.post(url,local_leads_model, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n updateCanceledClinics(canceled_clinics_model){\r\n let url=environment.API_URL+environment.RESOURCES.CONFIRM_CANCELLED_APPOINTMENTS;\r\n return this.http.post(url, canceled_clinics_model,Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2)); \r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { LeadAwaitingRequest, ReassignLeadToClosestStore } from '../../../../app/models/leadAwaitingResponse';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n@Injectable()\r\nexport class LeadAwaitingResponseService {\r\n constructor(private http: HttpClient) {}\r\n\r\n getLeadAwaitingResponseList(requestData: LeadAwaitingRequest): Observable {\r\n let url = environment.API_URL + environment.RESOURCES.LEAD_AWAITING_RESPONSE_OVER_THREE_DAYS ;\r\n return this.http.post(url, requestData, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n getLeadAwaitingResponseById(userId: number, id: number): Observable {\r\n let url = `${environment.API_URL}${environment.RESOURCES.LEAD_AWAITING_RESPONSE_BY_ID}?id=${id}&userId=${userId}`;\r\n return this.http.get(url, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n reassignLeadAwaitingResponse(requestData: ReassignLeadToClosestStore){\r\n let url = `${environment.API_URL}${environment.RESOURCES.REASSIGN_CLOSEST_STOREBY_ID}`;\r\n return this.http.post(url, requestData, Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { Chart } from 'chart.js';\r\n@Component({\r\n selector: 'app-charts',\r\n templateUrl: './charts.component.html',\r\n styleUrls: ['./charts.component.css']\r\n})\r\nexport class ChartsComponent implements OnInit {\r\n\r\n districtPortalActivityBar: any = [];\r\n dataStatsByProgramBar: any = [];\r\n dataStatsByProgramBar2: any = [];\r\n\r\n imzSchedulingAndClinicDatesBar: any = [];\r\n pcaSchedulingAndEventDatesBar: any = [];\r\n\r\n srEventDatesBar: any = [];\r\n srEventScheduledBar: any = [];\r\n srEventTypesBar: any = [];\r\n\r\n statusOfLocalClinicsPie: any = [];\r\n statusOfCommunityOutreachClinicsPie: any = [];\r\n statusOfCharityPie: any = [];\r\n statusOfCorpClinicsPie: any = [];\r\n\r\n avgFluShotsAdminBar: any = [];\r\n pcaEventsBar: any = [];\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n\r\n //Chart 1\r\n this.districtPortalActivityBar = new Chart('districtPortalActivityBar', {\r\n type: 'bar',\r\n data: {\r\n labels: [\"2986\", \"3406\", \"4258\", \"4463\", \"4502\", \"5284\", \"6764\", \"6796\", \"7100\", \"7457\", \"9059\", \"9439\", \"11739\", \"12772\"].reverse(),\r\n datasets: [\r\n {\r\n label: 'Logins',\r\n barPercentage: 0.5,\r\n barThickness: 16,\r\n maxBarThickness: 16,\r\n minBarLength: 2,\r\n data: [95, 15, 41, 12, 16, 2, 24, 3, 2, 24, 27, 102, 50, 89].reverse(),\r\n backgroundColor: '#2a7db5',\r\n }, {\r\n label: 'Outreach Contacts',\r\n barPercentage: 0.5,\r\n barThickness: 16,\r\n maxBarThickness: 16,\r\n minBarLength: 2,\r\n data: [43, 35, 56, 24, 26, 20, 35, 15, 6, 26, 20, 35, 5, 6].reverse(),\r\n backgroundColor: '#17adc2'\r\n }, {\r\n label: 'IP Completed',\r\n barPercentage: 0.5,\r\n barThickness: 16,\r\n maxBarThickness: 16,\r\n minBarLength: 2,\r\n data: [9, 6, 4, 0, 5, 4, 6, 1, 0, 5, 4, 10, 1, 7].reverse(),\r\n backgroundColor: '#7dc546'\r\n }, {\r\n label: 'SR Completed',\r\n barPercentage: 0.5,\r\n barThickness: 16,\r\n maxBarThickness: 16,\r\n minBarLength: 2,\r\n data: [1, 3, 0, 2, 1, 1, 3, 0, 6, 1, 1, 8, 0, 2].reverse(),\r\n backgroundColor: '#f4ae32'\r\n }, {\r\n label: 'PCA Completed',\r\n barPercentage: 0.5,\r\n barThickness: 16,\r\n maxBarThickness: 16,\r\n minBarLength: 2,\r\n data: [1, 0, 1, 3, 0, 1, 0, 1, 0, 0, 1, 0, 2, 0].reverse(),\r\n backgroundColor: '#a43794'\r\n }\r\n\r\n ]\r\n },\r\n options: {\r\n responsive: true,\r\n plugins: {\r\n legend: {\r\n position: 'bottom'\r\n }\r\n },\r\n scales: {\r\n x: {\r\n stacked: true\r\n },\r\n y: {\r\n title: {\r\n text: 'Store'\r\n },\r\n grid: {\r\n display: false,\r\n },\r\n stacked: true\r\n }\r\n }\r\n }\r\n });\r\n\r\n //Chart 2\r\n this.dataStatsByProgramBar = new Chart('dataStatsByProgramBar', {\r\n type: 'bar',\r\n data: {\r\n labels: [\"InfoUSA Conversions\", \"WAG Added Conversions\", \"Maintained\", \"At Risk\", \"Lost\"],\r\n datasets: [\r\n {\r\n label: 'SR',\r\n barPercentage: 0.5,\r\n barThickness: 16,\r\n maxBarThickness: 16,\r\n minBarLength: 2,\r\n data: [4, 0, 41, 12, 16],\r\n backgroundColor: '#2a7db5',\r\n }, {\r\n label: 'IP',\r\n barPercentage: 0.5,\r\n barThickness: 16,\r\n maxBarThickness: 16,\r\n minBarLength: 2,\r\n data: [489, 5, 56, 24, 26],\r\n backgroundColor: '#17adc2'\r\n }, {\r\n label: 'Both',\r\n barPercentage: 0.5,\r\n barThickness: 16,\r\n maxBarThickness: 16,\r\n minBarLength: 2,\r\n data: [503, 44, 4, 0, 5],\r\n backgroundColor: '#7dc546'\r\n }, {\r\n label: 'Total',\r\n barPercentage: 0.5,\r\n barThickness: 16,\r\n maxBarThickness: 16,\r\n minBarLength: 2,\r\n data: [996, 49, 4, 0, 5],\r\n backgroundColor: '#f4ae32'\r\n }\r\n ]\r\n },\r\n options: {\r\n responsive: true,\r\n plugins: {\r\n legend: {\r\n position: 'bottom'\r\n }\r\n },\r\n scales: {\r\n x: {\r\n stacked: true\r\n },\r\n y: {\r\n title: {\r\n text: ''\r\n },\r\n grid: {\r\n display: false,\r\n },\r\n stacked: true\r\n }\r\n }\r\n }\r\n });\r\n\r\n\r\n let dataStatsByProgramDataBar2 = {\r\n labels: ['SR', 'IP', 'Both', 'Total'],\r\n\r\n datasets: [\r\n {\r\n label: 'InfoUSA Conversions',\r\n backgroundColor: '#2a7db5',\r\n barPercentage: 0.5,\r\n barThickness: 12,\r\n maxBarThickness: 14,\r\n minBarLength: 2,\r\n data: [158, 458, 503, 995]\r\n },\r\n {\r\n label: 'WAG Added Conversions',\r\n backgroundColor: '#17adc2',\r\n barPercentage: 0.5,\r\n barThickness: 12,\r\n maxBarThickness: 14,\r\n minBarLength: 2,\r\n data: [187, 350, 490, 840]\r\n },\r\n {\r\n label: 'Maintained',\r\n backgroundColor: '#7dc546',\r\n barPercentage: 0.5,\r\n barThickness: 12,\r\n maxBarThickness: 14,\r\n minBarLength: 2,\r\n data: [145, 345, 475, 875]\r\n },\r\n {\r\n label: 'At Risk',\r\n backgroundColor: '#f4ae32',\r\n barPercentage: 0.5,\r\n barThickness: 12,\r\n maxBarThickness: 14,\r\n minBarLength: 2,\r\n data: [150, 40, 200, 345]\r\n },\r\n {\r\n label: 'Lost',\r\n backgroundColor: '#a43794',\r\n barPercentage: 0.5,\r\n barThickness: 12,\r\n maxBarThickness: 14,\r\n minBarLength: 2,\r\n data: [72, 50, 100, 190]\r\n }\r\n ]\r\n };\r\n\r\n this.dataStatsByProgramBar2 = new Chart('dataStatsByProgramBar2', {\r\n type: 'bar',\r\n data: dataStatsByProgramDataBar2,\r\n options: {\r\n plugins:{\r\n legend: {\r\n position: 'bottom'\r\n },\r\n },\r\n scales: {\r\n xAxis: {\r\n grid: {\r\n offset: true\r\n }\r\n\r\n },\r\n yAxis: {\r\n display: true\r\n }\r\n }\r\n }\r\n });\r\n\r\n\r\n //Chart 3\r\n let imzSchedulingAndClinicDatesData = {\r\n labels: ['May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'Jan', 'Feb', 'Mar', 'Apr'],\r\n datasets: [\r\n {\r\n label: 'Scheduled Clinic',\r\n backgroundColor: '#2a7db5',\r\n barPercentage: 0.5,\r\n barThickness: 12,\r\n maxBarThickness: 14,\r\n minBarLength: 2,\r\n data: [100, 574, 2351, 7817, 11497, 5917, 688, 161, 142, 59, 60, 36]\r\n },\r\n {\r\n label: 'Clinic Date',\r\n backgroundColor: '#7dc546',\r\n barPercentage: 0.5,\r\n barThickness: 12,\r\n maxBarThickness: 14,\r\n minBarLength: 2,\r\n data: [31, 19, 14, 395, 15384, 15871, 2537, 168, 11, 2, 4, 0]\r\n }\r\n ]\r\n };\r\n\r\n this.imzSchedulingAndClinicDatesBar = new Chart('imzSchedulingAndClinicDatesBar', {\r\n type: 'bar',\r\n data: imzSchedulingAndClinicDatesData,\r\n options: {\r\n plugins:{\r\n legend: {\r\n position: 'bottom'\r\n }\r\n },\r\n scales: {\r\n x: {\r\n offset: true\r\n },\r\n y: {\r\n display: true\r\n }\r\n }\r\n }\r\n });\r\n //Chart 4\r\n let avgFluShotsAdminData = {\r\n labels: ['Corporate', 'Local', 'Community Outreach'],\r\n datasets: [\r\n {\r\n label: 'Standard Quadrivalent (Flu)',\r\n backgroundColor: '#2a7db5',\r\n barPercentage: 0.5,\r\n barThickness: 12,\r\n maxBarThickness: 14,\r\n minBarLength: 2,\r\n data: [59, 32, 22]\r\n },\r\n {\r\n label: 'Influenza - High-Dose (+65)',\r\n backgroundColor: '#17adc2',\r\n barPercentage: 0.5,\r\n barThickness: 12,\r\n maxBarThickness: 14,\r\n minBarLength: 2,\r\n data: [6, 14, 10]\r\n },\r\n {\r\n label: 'Influenza - High-Dose',\r\n backgroundColor: '#7dc546',\r\n barPercentage: 0.5,\r\n barThickness: 12,\r\n maxBarThickness: 14,\r\n minBarLength: 2,\r\n data: [, 17, 9]\r\n }\r\n ]\r\n };\r\n\r\n this.avgFluShotsAdminBar = new Chart('avgFluShotsAdminBar', {\r\n type: 'bar',\r\n data: avgFluShotsAdminData,\r\n options: {\r\n plugins: {\r\n legend: {\r\n position: 'bottom'\r\n },\r\n },\r\n scales: {\r\n x: {\r\n grid: {\r\n offset: true\r\n }\r\n\r\n },\r\n y: {\r\n display: true\r\n }\r\n }\r\n }\r\n });\r\n\r\n //Chart 5\r\n let statusOfLocalClinicsData = {\r\n labels: ['Review & Assign', 'Contact Client', 'Confirmed', 'Completed', 'Cancelled'],\r\n datasets: [\r\n {\r\n data: [40, 939, 3246, 9865, 798],\r\n borderColor: '#ffffff',\r\n backgroundColor: [\r\n \"#f4ae32\",\r\n \"#2a7db5\",\r\n \"#17adc2\",\r\n \"#7dc546\",\r\n \"#a1a1a1\"\r\n ]\r\n }\r\n ]\r\n };\r\n\r\n this.statusOfLocalClinicsPie = new Chart('statusOfLocalClinicsPie', {\r\n type: 'doughnut',\r\n data: statusOfLocalClinicsData,\r\n\r\n options: {\r\n plugins: {\r\n legend: {\r\n display: true,\r\n position: 'bottom',\r\n align: 'start'\r\n }\r\n }\r\n }, \r\n });\r\n\r\n //Chart 6\r\n let statusOfCommunityOutreachClinicsData = {\r\n labels: ['Confirmed', 'Completed', 'Cancelled'],\r\n datasets: [\r\n {\r\n data: [564, 2433, 517],\r\n borderColor: '#ffffff',\r\n backgroundColor: [\r\n \"#17adc2\",\r\n \"#7dc546\",\r\n \"#a1a1a1\"\r\n ]\r\n }\r\n ]\r\n };\r\n\r\n this.statusOfCommunityOutreachClinicsPie = new Chart('statusOfCommunityOutreachClinicsPie', {\r\n type: 'doughnut',\r\n data: statusOfCommunityOutreachClinicsData,\r\n\r\n options: {\r\n plugins: {\r\n legend: {\r\n position: 'bottom',\r\n align: 'start'\r\n }\r\n }\r\n },\r\n });\r\n\r\n //Chart 7\r\n let statusOfCharityData = {\r\n labels: ['Review & Assign', 'Vouchers Sent', 'Completed', 'Cancelled'],\r\n datasets: [\r\n {\r\n data: [11, 911, 1371, 323],\r\n borderColor: '#ffffff',\r\n backgroundColor: [\r\n \"#f4ae32\",\r\n \"#a43794\",\r\n \"#7dc546\",\r\n \"#a1a1a1\"\r\n ]\r\n }\r\n ]\r\n };\r\n\r\n this.statusOfCharityPie = new Chart('statusOfCharityPie', {\r\n type: 'doughnut',\r\n data: statusOfCharityData,\r\n\r\n options: {\r\n plugins:{\r\n legend: {\r\n position: 'bottom',\r\n align: 'start'\r\n }\r\n }\r\n }\r\n });\r\n\r\n //Chart 8\r\n let statusOfCorpClinicsData = {\r\n labels: ['Review & Assign', 'Contact Client', 'Confirmed', 'Completed', 'Cancelled'],\r\n datasets: [\r\n {\r\n data: [36, 254, 494, 1354, 85],\r\n borderColor: '#ffffff',\r\n backgroundColor: [\r\n \"#f4ae32\",\r\n \"#2a7db5\",\r\n \"#17adc2\",\r\n \"#7dc546\",\r\n \"#a1a1a1\"\r\n ]\r\n }\r\n ]\r\n };\r\n\r\n this.statusOfCorpClinicsPie = new Chart('statusOfCorpClinicsPie', {\r\n type: 'doughnut',\r\n data: statusOfCorpClinicsData,\r\n\r\n options: {\r\n plugins: {\r\n legend: {\r\n position: 'bottom',\r\n align: 'start'\r\n }\r\n }\r\n }\r\n });\r\n\r\n // Chart 9\r\n let srEventDatesData = {\r\n labels: ['Sep', 'Oct', 'Nov', 'Dec', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug'],\r\n datasets: [\r\n {\r\n label: 'Scheduled Event',\r\n backgroundColor: '#794ee6',\r\n barPercentage: 0.5,\r\n barThickness: 12,\r\n maxBarThickness: 14,\r\n minBarLength: 2,\r\n data: [220, 154, 32, 147, 285, 312, 565, 687, 642, 654, 456, 315]\r\n },\r\n {\r\n label: 'Event Date',\r\n backgroundColor: '#f4ae32',\r\n barPercentage: 0.5,\r\n barThickness: 12,\r\n maxBarThickness: 14,\r\n minBarLength: 2,\r\n data: [332, 216, 256, 387, 763, 871, 433, 142, 217, 338, 270, 216]\r\n }\r\n ]\r\n };\r\n\r\n this.srEventDatesBar = new Chart('srEventDatesBar', {\r\n type: 'bar',\r\n data: srEventDatesData,\r\n options: {\r\n plugins: {\r\n legend: {\r\n position: 'bottom'\r\n }\r\n },\r\n scales: {\r\n x: {\r\n display: true\r\n },\r\n y: {\r\n display: true\r\n }\r\n }\r\n }\r\n });\r\n\r\n //Chart 10\r\n this.srEventTypesBar = new Chart('srEventTypesBar', {\r\n type: 'bar',\r\n data: {\r\n labels: [\"Vaccinations\", \"Senior Day\", \"Immunizations\", \"Flu\", \"Other\", \"Open House\", \"Local Business\", \"Education\", \"Presentation\", \"Social Event (Bingo, etc.)\", \"Drop Off Materials\", \"Health & Wellness\"].reverse(),\r\n datasets: [\r\n {\r\n barPercentage: 0.5,\r\n barThickness: 10,\r\n maxBarThickness: 12,\r\n minBarLength: 2,\r\n data: [8, 19, 37, 122, 66, 6, 23, 49, 50, 80, 190, 393].reverse(),\r\n backgroundColor: '#f4ae32',\r\n }\r\n ]\r\n },\r\n options: {\r\n responsive: true,\r\n plugins:{\r\n legend: {\r\n display: false\r\n },\r\n },\r\n scales: {\r\n x: {\r\n stacked: false\r\n },\r\n y: {\r\n stacked: false\r\n }\r\n }\r\n }\r\n });\r\n\r\n // Chart 11\r\n let pcaSchedulingAndEventDatesData = {\r\n labels: ['May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'Jan', 'Feb', 'Mar', 'Apr'],\r\n datasets: [\r\n {\r\n label: 'Scheduled Event',\r\n backgroundColor: '#a1a1a1',\r\n barPercentage: 0.5,\r\n barThickness: 12,\r\n maxBarThickness: 14,\r\n minBarLength: 2,\r\n data: [101, 246, 169, 124, 163, 17, 16, 0, 0, 40, 220, 186]\r\n },\r\n {\r\n label: 'Event Date',\r\n backgroundColor: '#882979',\r\n barPercentage: 0.5,\r\n barThickness: 12,\r\n maxBarThickness: 14,\r\n minBarLength: 2,\r\n data: [42, 471, 213, 95, 105, 122, 116, 110, 34, 5, 34, 35]\r\n }\r\n ]\r\n };\r\n\r\n this.pcaSchedulingAndEventDatesBar = new Chart('pcaSchedulingAndEventDatesBar', {\r\n type: 'bar',\r\n data: pcaSchedulingAndEventDatesData,\r\n options: {\r\n plugins: {\r\n legend: {\r\n position: 'bottom',\r\n }\r\n },\r\n scales: {\r\n x: {\r\n display: true\r\n },\r\n y: {\r\n display: true\r\n }\r\n }\r\n }\r\n });\r\n //Chart 12\r\n let pcaEventsData = {\r\n labels: ['AIDS Service', 'Community Based', 'Health Department', 'Organ Procurement', 'Cancer Screening Services'].reverse(),\r\n datasets: [\r\n {\r\n data: [73, 664, 102, 144, 2].reverse(),\r\n borderColor: '#ffffff',\r\n barPercentage: 0.5,\r\n barThickness: 10,\r\n maxBarThickness: 12,\r\n minBarLength: 2,\r\n backgroundColor: [\r\n \"#882979\",\r\n \"#882979\",\r\n \"#882979\",\r\n \"#882979\",\r\n \"#882979\"\r\n ],\r\n }\r\n ]\r\n };\r\n\r\n this.pcaEventsBar = new Chart('pcaEventsBar', {\r\n type: 'bar',\r\n data: pcaEventsData,\r\n options: {\r\n plugins:{\r\n legend: {\r\n display: false\r\n }\r\n },\r\n scales: {\r\n x: {\r\n display: true,\r\n grid: {\r\n offset: false\r\n }\r\n },\r\n y: \r\n {\r\n grid: {\r\n display: false,\r\n },\r\n display: true\r\n }\r\n }\r\n }\r\n });\r\n }\r\n}","import { Component } from '@angular/core';\r\nimport { Column, TableInterface} from '../../../../shared/models/tableInterface'\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ChartService } from '../../Services/chartService'; \r\nimport { OpportunitiesRequiringActionResponse, OppourtunityReport, OppourtunityInterface } from '../../../../models/Chart';\r\nimport { forkJoin, of, Subscription } from 'rxjs';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { catchError } from 'rxjs/operators';\r\nimport * as xlsx from 'xlsx';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\n\r\n@Component({\r\n selector: 'app-oppourtunities-requiring-action',\r\n templateUrl: './oppourtunities-requiring-action.component.html',\r\n styleUrls: ['./oppourtunities-requiring-action.component.css']\r\n})\r\nexport class OppourtunitiesRequiringActionComponent {\r\n\r\n oppourtinitesRequiringActionsList: OpportunitiesRequiringActionResponse[] =[];\r\n reportNames: OpportunitiesRequiringActionResponse[] = [];\r\n noOutReachOpportunitiesColumns;\r\n user_profile: any;\r\n tableOptions: TableInterface = {} as TableInterface;\r\n subscription: Subscription;\r\n reportSubscription: Subscription;\r\n selectedReport: OppourtunityInterface;\r\n loading = false;\r\n tableColumnNames = [\"Store ID\",\"District\",\"Client Name\",\"PK Hash\",\"Date Initiated\",\"Proposed Clinic Dates\", \"Status\", \"Requested Changes\"]\r\n reportName: string;\r\n btnLabel = \"Export\";\r\n downloadStartedSpinner = false;\r\n noOfCallsNeeded = 0;\r\n totalRecordsCount = 0;\r\n counter = 1;\r\n\r\n constructor(\r\n private chartService: ChartService,\r\n private spinner: NgxSpinnerService,\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit(){\r\n this.spinner.show();\r\n this.loading = false;\r\n this.selectedReport = SessionDetails.GetOpportunityRequiringActionMetricId();\r\n if(this.selectedReport.fieldValue == 4)\r\n this.tableColumnNames[4] = \"Last Sent Date\" \r\n this.user_profile = SessionDetails.GetUserProfile();\r\n this.tableOptions = {\r\n columns: [],\r\n data : [],\r\n isSearchable: false,\r\n isSortable: false,\r\n rowsPerPage: 50,\r\n rowsPerPageOptions: [10,50,100],\r\n hasPagination: false\r\n };\r\n forkJoin([this.chartService.getOpportunitiesRequiringAction({ userId: this.user_profile.userPk,outreachEffortId: 3}), this.selectedReport.description.trim() !== \"No Outreach\" && this.selectedReport.description.trim() !== \"Follow-up\" ? this.chartService.getOpportunitiesRequiringActionReports({reportId: this.selectedReport.fieldValue, reportType: \"cxzc\", userId: this.user_profile.userPk, outreachEffortId: 3}).pipe(catchError(e => of(e))): this.chartService.getOppourtuntiyReportTypeOureachandFollowUpCount({reportId: this.selectedReport.fieldValue, reportType: \"cxzc\", userId: this.user_profile.userPk, outreachEffortId: 3}).pipe(catchError(e => of(e)))]).subscribe((data: any) => {\r\n this.reportNames = data[0];\r\n this.reportName = data[0].filter((report: OpportunitiesRequiringActionResponse) => report.fieldValue == this.selectedReport.fieldValue)?.[0]?.description?.trim();\r\n this.oppourtinitesRequiringActionsList = data[0];\r\n this.btnLabel = this.reportName !== \"No Outreach\" && this.reportName !== \"Follow-up\" ? \"Export\": \"Export To Excel\";\r\n if(this.reportName !== \"No Outreach\" && this.reportName !== \"Follow-up\")\r\n this.handleOtherType(data[1]);\r\n else \r\n this.handleOutreachandFollowType(data[1])\r\n this.spinner.hide();\r\n },\r\n (error) => {\r\n console.log(\"Error while fetching the Data from API in opportunities list\");\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n // updateTableOptions(){\r\n \r\n // }\r\n\r\n handleOutreachandFollowTypeClick(){\r\n this.spinner.show();\r\n this.chartService.getOppourtuntiyReportTypeOureachandFollowUpCount({reportId: this.selectedReport.fieldValue, reportType: \"\", userId: this.user_profile.userPk, outreachEffortId: 3}).subscribe(res => {\r\n this.handleOutreachandFollowType(res);\r\n this.spinner.hide();\r\n }, (error => {\r\n console.log(\"Error in getting record count\");\r\n this.spinner.hide();\r\n }));\r\n }\r\n\r\n handleOutreachandFollowType(data){\r\n this.totalRecordsCount = data?.[0]?.RecordCount || 0;\r\n this.noOfCallsNeeded = Math.ceil(this.totalRecordsCount / 50000);\r\n }\r\n\r\n handleOtherType(data){\r\n let tData = [];\r\n let columns: Column[] = [];\r\n if(!data?.statusText){\r\n if(data.length){\r\n let cols: any = Object.keys(data?.[0]);\r\n tData = data;\r\n if(this.reportName !== \"No Outreach\" && this.reportName !== \"Follow-up\") {\r\n columns = cols.map((col, idx) => {\r\n return {\r\n field: col,\r\n header: this.tableColumnNames[idx]\r\n }\r\n });\r\n } else {\r\n columns = [];\r\n tData = [];\r\n }\r\n } else if(this.reportName === \"No Outreach\" || this.reportName === \"Follow-up\"){\r\n this.loading = false;\r\n } else {\r\n this.loading = true;\r\n columns = [];\r\n tData = [];\r\n }\r\n this.tableOptions = {\r\n ...this.tableOptions,\r\n columns: columns,\r\n data : tData,\r\n };\r\n };\r\n }\r\n\r\n exportToExcel(responseJsonForExcel: any,counter:number, name: string) {\r\n let size = (counter-1) * (50000) + 1 +'_'+ (counter * 50000)\t\t\r\n const ext = \".xlsx\";\r\n const fileName = name +'_'+ size + ext;\r\n importedSaveAs(responseJsonForExcel, fileName);\r\n }\r\n\r\n reportChanged(event: any){\r\n this.spinner.show();\r\n this.loading = false;\r\n this.noOfCallsNeeded = 0;\r\n this.downloadStartedSpinner = false;\r\n this.selectedReport = this.reportNames.filter((report: OpportunitiesRequiringActionResponse) => report.fieldValue == Number(event.target.value))?.[0];\r\n this.reportName = this.selectedReport?.description?.trim();\r\n this.btnLabel = this.reportName !== \"No Outreach\" && this.reportName !== \"Follow-up\" ? \"Export\": \"Export To Excel\";\r\n SessionDetails.SetOpportunityRequiringActionMetricId(this.selectedReport);\r\n if(this.selectedReport.fieldValue == 4)\r\n this.tableColumnNames[4] = \"Last Sent Date\";\r\n else \r\n this.tableColumnNames[4] = \"Date Initiated\";\r\n let columns: Column[] = [];\r\n if(this.reportName === \"No Outreach\" || this.reportName === \"Follow-up\"){\r\n this.handleOutreachandFollowTypeClick();\r\n return;\r\n }\r\n //TBD need to unsubscribe need to impl\r\n this.chartService.getOpportunitiesRequiringActionReports({reportId: this.selectedReport.fieldValue, reportType: \"cxzc\", userId: this.user_profile.userPk, outreachEffortId: 3}).subscribe((data:any ) => {\r\n if(data.length){\r\n let cols: any = Object.keys(data?.[0]);\r\n if(this.reportName !== \"No Outreach\" && this.reportName !== \"Follow-up\") {\r\n columns = cols?.map((col, idx) => {\r\n return {\r\n field: col,\r\n header: this.tableColumnNames[idx]\r\n }\r\n });\r\n } else {\r\n columns = [];\r\n data = [];\r\n }\r\n } else if(this.reportName === \"No Outreach\" || this.reportName === \"Follow-up\"){\r\n this.loading = false; \r\n } else {\r\n columns = [];\r\n this.loading = true;\r\n };\r\n this.tableOptions = {...this.tableOptions,\r\n columns: columns,\r\n data : data,\r\n };\r\n this.spinner.hide();\r\n }, (error) => {\r\n this.tableOptions = {...this.tableOptions,\r\n columns: [],\r\n data : [],\r\n };\r\n this.loading = true;\r\n this.spinner.hide();\r\n })\r\n }\r\n\r\n generatereportformat(){\r\n this.spinner.show();\r\n let postData: OppourtunityReport = {\r\n userid: this.user_profile.userPk,\r\n reportName : this.selectedReport.description,\r\n ddlFormat: \"xlsxv\",\r\n reportid: this.selectedReport.fieldValue,\r\n reportype: \"3\",\r\n outreachpk: 3\r\n };\r\n if(this.reportName === \"No Outreach\" || this.reportName === \"Follow-up\"){\r\n postData.pagesize = 50000;\r\n postData.pageindex = this.counter;\r\n this.downloadStartedSpinner = true;\r\n };\r\n let fileName = this.reportName.split(\" \").join(\"\");\r\n postData.reportName = fileName;\r\n this.chartService.downloadOppourtunityReportData(postData).subscribe((res: any) => {\r\n if(this.reportName === \"No Outreach\" || this.reportName === \"Follow-up\"){\r\n this.exportToExcel(res.body,this.counter, fileName);\r\n this.counter++;\r\n if(this.counter > this.noOfCallsNeeded){\r\n this.downloadStartedSpinner = false;\r\n this.spinner.hide(); \r\n }; \r\n if(this.counter <= this.noOfCallsNeeded){\r\n this.generatereportformat()\r\n } else\r\n {\r\n this.counter = 1;\r\n }; \r\n }else {\r\n importedSaveAs(res.body, `${fileName}.xlsx`)\r\n this.spinner.hide();\r\n }\r\n },(e) => {\r\n console.log(\"Error in report download from oppourtunity report\", e);\r\n this.spinner.hide();\r\n }); \r\n }\r\n}","import { Component } from '@angular/core';\r\nimport { TableInterface, Column} from '../../../../shared/models/tableInterface'\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ChartService } from '../../Services/chartService'; \r\nimport { OpportunitiesRequiringActionResponse, OppourtunityReport, OppourtunityInterface} from '../../../../models/Chart';\r\nimport { forkJoin, of, Subscription } from 'rxjs';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { catchError } from 'rxjs/operators';\r\nimport * as xlsx from 'xlsx';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\n@Component({\r\n selector: 'app-priority-oppourtunities-requiring-action',\r\n templateUrl: './priority-oppourtunities-requiring-action.component.html',\r\n styleUrls: ['./priority-oppourtunities-requiring-action.component.css']\r\n})\r\nexport class PriorityOppourtunitiesRequiringActionComponent {\r\n\r\n oppourtinitesRequiringActionsList: OpportunitiesRequiringActionResponse[] =[];\r\n noOutReachOpportunitiesColumns;\r\n user_profile: any;\r\n tableOptions: TableInterface;\r\n selectedReport: OppourtunityInterface;\r\n loading = false;\r\n subscription: Subscription;\r\n reportSubscription: Subscription;\r\n tableColumnNames = [\"Store ID\",\"District\",\"Client Name\",\"PK Hash\",\"Date Initiated\",\"Proposed Clinic Dates\", \"Status\", \"Requested Changes\"]\r\n reportName: string;\r\n reportNames : OpportunitiesRequiringActionResponse[] = []\r\n btnLabel = \"Export\";\r\n downloadStartedSpinner = false;\r\n noOfCallsNeeded = 0;\r\n totalRecordsCount = 0;\r\n counter = 1;\r\n\r\n constructor(\r\n private chartService: ChartService,\r\n private spinner: NgxSpinnerService,\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit(){\r\n this.spinner.show();\r\n this.loading = false;\r\n this.selectedReport = SessionDetails.GetPriorityOpportunityRequiringActionMetricId();\r\n if(this.selectedReport.fieldValue == 4)\r\n this.tableColumnNames[4] = \"Last Sent Date\";\r\n this.user_profile = SessionDetails.GetUserProfile();\r\n this.tableOptions = {\r\n columns: [],\r\n data : [],\r\n isSearchable: false,\r\n isSortable: false,\r\n rowsPerPage: 50,\r\n rowsPerPageOptions: [10,50,100],\r\n hasPagination: false\r\n };\r\n forkJoin([this.chartService.getPriorityOpportunitiesRequiringAction({ userId: this.user_profile.userPk,outreachEffortId: 3}), this.selectedReport.description.trim() !== \"Priority No Outreach\" && this.selectedReport.description.trim() !== \"Priority Follow-up\" ? (this.chartService.getPriorityOpportunitiesRequiringActionReports({reportId: this.selectedReport.fieldValue, reportType: \"xzc\", userId: this.user_profile.userPk, outreachEffortId: 3}).pipe(catchError(e => of(e)))) : (this.chartService.getOppourtuntiyReportTypeOureachandFollowUpCount({reportId: this.selectedReport.fieldValue, reportType: \"priority\", userId: this.user_profile.userPk, outreachEffortId: 3}).pipe(catchError(e => of(e))))]).subscribe((data:any ) => {\r\n this.reportNames = data[0];\r\n this.reportName = data[0].filter((report: OpportunitiesRequiringActionResponse) => report.fieldValue == this.selectedReport.fieldValue)?.[0]?.description?.trim();\r\n this.oppourtinitesRequiringActionsList = data[0];\r\n this.btnLabel = this.reportName !== \"Priority No Outreach\" && this.reportName !== \"Priority Follow-up\" ? \"Export\": \"Export To Excel\";\r\n if(!data[1]?.statusText){\r\n if(this.reportName !== \"Priority No Outreach\" && this.reportName !== \"Priority Follow-up\")\r\n this.handleOtherType(data[1]);\r\n else \r\n this.handleOutreachandFollowType(data[1]);\r\n };\r\n this.spinner.hide();\r\n },\r\n (error) => {\r\n console.log(\"Error while fetching the Data from API in priority opportunities list\");\r\n this.loading = true;\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n exportToExcel(responseJsonForExcel: any,counter:number, name: string) {\r\n let size = (counter-1) * (50000) + 1 +'_'+ (counter * 50000)\t\t\r\n const ext = \".xlsx\";\r\n const fileName = name +'_'+ size + ext;\r\n importedSaveAs(responseJsonForExcel, fileName);\r\n }\r\n\r\n handleOutreachandFollowTypeClick(){\r\n this.spinner.show();\r\n this.chartService.getOppourtuntiyReportTypeOureachandFollowUpCount({reportId: this.selectedReport.fieldValue, reportType: \"priority\", userId: this.user_profile.userPk, outreachEffortId: 3}).subscribe(res => {\r\n this.handleOutreachandFollowType(res);\r\n this.spinner.hide();\r\n }, (error => {\r\n console.log(\"Error in getting record count\");\r\n this.spinner.hide();\r\n }));\r\n }\r\n\r\n handleOutreachandFollowType(data){\r\n this.totalRecordsCount = data?.[0]?.RecordCount || 0 ;\r\n this.noOfCallsNeeded = Math.ceil(this.totalRecordsCount / 50000);\r\n }\r\n\r\n handleOtherType(data){\r\n let tData = [];\r\n let columns: Column[] = [];\r\n if(data.length){\r\n let cols: any = Object.keys(data?.[0]);\r\n tData = data\r\n if(this.reportName !== \"Priority No Outreach\" && this.reportName !== \"Priority Follow-up\") {\r\n columns = cols.map((col, idx) => {\r\n return {\r\n field: col,\r\n header: this.tableColumnNames[idx]\r\n }\r\n });\r\n } else {\r\n columns =[];\r\n tData = [];\r\n };\r\n } else if(this.reportName === \"Priority No Outreach\" || this.reportName === \"Priority Follow-up\"){\r\n this.loading = false;\r\n } else {\r\n this.loading = true;\r\n columns = [];\r\n tData = [];\r\n }\r\n this.tableOptions = {...this.tableOptions , \r\n columns: columns,\r\n data : tData,\r\n };\r\n }\r\n\r\n reportChanged(event: any){\r\n this.spinner.show();\r\n this.loading = false;\r\n this.noOfCallsNeeded = 0;\r\n this.downloadStartedSpinner = false;\r\n this.selectedReport = this.reportNames.filter((report: OpportunitiesRequiringActionResponse) => report.fieldValue == Number(event.target.value))?.[0];\r\n if(this.selectedReport.fieldValue == 4)\r\n this.tableColumnNames[4] = \"Last Sent Date\";\r\n else \r\n this.tableColumnNames[4] = \"Date Initiated\";\r\n this.reportName =this.selectedReport?.description?.trim();\r\n SessionDetails.SetPriorityOpportunityRequiringActionMetricId(this.selectedReport);\r\n //TBD need to unsubscribe need to impl\r\n this.btnLabel = this.reportName !== \"Priority No Outreach\" && this.reportName !== \"Priority Follow-up\" ? \"Export\": \"Export To Excel\";\r\n if(this.reportName === \"Priority No Outreach\" || this.reportName === \"Priority Follow-up\"){\r\n this.handleOutreachandFollowTypeClick();\r\n return;\r\n }\r\n this.chartService.getPriorityOpportunitiesRequiringActionReports({reportId: this.selectedReport.fieldValue, reportType: \"xzc\", userId: this.user_profile.userPk, outreachEffortId: 3}).subscribe((data:any ) => {\r\n let cols = [];\r\n if(data.length){\r\n cols = Object.keys(data?.[0]);\r\n if(this.reportName !== \"Priority No Outreach\" && this.reportName !== \"Priority Follow-up\") {\r\n cols = cols.map((col,idx) => {\r\n return {\r\n field: col,\r\n header: this.tableColumnNames[idx]\r\n }\r\n });\r\n } else {\r\n cols = [];\r\n data = [];\r\n }\r\n } else if(this.reportName === \"Priority No Outreach\" || this.reportName === \"Priority Follow-up\"){\r\n this.loading = false;\r\n } else {\r\n cols = [];\r\n this.loading = true;\r\n } \r\n this.tableOptions = {...this.tableOptions,\r\n columns: cols,\r\n data : data,\r\n };\r\n this.spinner.hide();\r\n }, (error) => {\r\n this.tableOptions = {\r\n columns: [],\r\n data : [],\r\n isSearchable: false,\r\n isSortable: false,\r\n rowsPerPage: 50,\r\n rowsPerPageOptions: [10,50,100],\r\n hasPagination: false\r\n };\r\n this.loading = true;\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n generatereportformat(){\r\n this.spinner.show();\r\n let postData: OppourtunityReport = {\r\n userid: this.user_profile.userPk,\r\n reportName : this.selectedReport.description,\r\n ddlFormat: \"0\",\r\n reportid: this.selectedReport.fieldValue,\r\n reportype: \"3\",\r\n outreachpk: 3\r\n }\r\n if(this.reportName === \"Priority No Outreach\" || this.reportName === \"Priority Follow-up\"){\r\n postData.pagesize = 50000;\r\n postData.pageindex = this.counter;\r\n this.downloadStartedSpinner = true;\r\n };\r\n let fileName = this.reportName.split(\" \").join(\"\");\r\n postData.reportName = fileName;\r\n this.chartService.downloadPriorityOppourtunityReportData(postData).subscribe((res: any) => {\r\n if(this.reportName === \"Priority No Outreach\" || this.reportName === \"Priority Follow-up\"){\r\n this.exportToExcel(res.body,this.counter, fileName);\r\n this.counter++;\r\n if(this.counter > this.noOfCallsNeeded){\r\n this.downloadStartedSpinner = false;\r\n this.spinner.hide(); \r\n } \r\n if(this.counter <= this.noOfCallsNeeded){\r\n this.generatereportformat()\r\n }else {\r\n this.counter = 1;\r\n } \r\n }else {\r\n importedSaveAs(res.body, `${fileName}.xlsx`)\r\n this.spinner.hide();\r\n }\r\n },(e) => {\r\n console.log(\"Error in report download from oppourtunity report\");\r\n this.spinner.hide();\r\n }); \r\n }\r\n\r\n}\r\n","\r\nimport {of as observableOf, Observable, Subscription, forkJoin } from 'rxjs';\r\nimport { Chart, LegendElement, LegendItem } from 'chart.js';\r\nimport {catchError, switchMap, tap, distinctUntilChanged, debounceTime} from 'rxjs/operators';\r\nimport { Component, OnInit, ViewChild, ElementRef, ChangeDetectorRef, SimpleChanges } from '@angular/core';\r\nimport { OpportunitiesService } from '../../store/services/opportunities.service';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { MessageServiceService } from '../../store/services/message-service.service';\r\nimport { DashBoard } from '../../../models/dashboard';\r\nimport { ClinicdetailsService } from '../../clinicdetails/services/clinicdetails.service';\r\nimport { HeaderserviceService } from '../../common/services/headerservice.service';\r\nimport { DashboardServiceService } from '../Services/dashboard-service.service';\r\nimport { ClinicAssignment, ClinicList } from '../../../models/clinicassignment';\r\nimport { LocalLeads } from '../../../models/localLeads';\r\nimport { LocalLeadsSave, OpportunitiesList } from '../../../models/localLeadsSave';\r\nimport { Paginator } from 'primeng/paginator';\r\nimport { LazyLoadEvent } from 'primeng/api';\r\nimport { String } from 'typescript-string-operations';\r\nimport { FilterPipe } from '../../store/pipes/filter-pipe';\r\nimport { Router } from '../../../../../node_modules/@angular/router';\r\nimport { ErrorMessages } from '../../../config-files/error-messages';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { CancelSchedulledClinics, CancelAppointments } from '../../../models/cancelSchedulledClinics';\r\nimport { TableHeaderCheckbox, Table } from 'primeng/table';\r\nimport { noClientInterestOptions } from '../../../JSON/NoClientInterestOptions';\r\nimport { TableInterface } from '../../../shared/models/tableInterface';\r\nimport { DialogService, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { ActionComponent } from '../leadsIntake/action/action.component';\r\nimport { LeadAwaitingResponseService } from '../Services/leadsAwaitingResponse';\r\nimport { LeadAwaitingResponse, LeadAwaitingResponseById, LeadAwaitingResponseByIdList, LeadsAwaitingResponseList, ReassignLeadToClosestStore } from '../../../../app/models/leadAwaitingResponse';\r\nimport { PotentialClientInterestService } from '../../common/services/potential-client-interest.service';\r\nimport { ChartService } from '../Services/chartService';\r\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\r\nimport { AnyAaaaRecord } from 'dns';\r\nimport { OpportunitiesRequiringActionResponse } from '../../../models/Chart';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.css'],\r\n providers: [FilterPipe, DialogService]\r\n})\r\n\r\nexport class DashboardComponent implements OnInit {\r\n showHints: boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) === 'yes') ? false : true;\r\n pageName: string = \"home\";\r\n\r\n displaySE: boolean = false;\r\n successDistStore: boolean = false;\r\n displayClinic: boolean = false;\r\n displayLocal: boolean = false;\r\n clinicHCSInfo: boolean = false;\r\n dispDlgReassignToHCS: boolean = false;\r\n LocalOpportunitiesInfo: boolean = false;\r\n DataList: any[];\r\n showVarHCS: boolean = false;\r\n HCSMetrics: any[] = [];\r\n HCSAction = [];\r\n PCAActionItems = [];\r\n PCAMetrics = [];\r\n submitEntryBtn: boolean = false;\r\n title: string;\r\n selectedData: any;\r\n showVarHCSLocal: boolean = false;\r\n HCSInfoVisible: boolean = true;\r\n DMInfoVisible: boolean = false;\r\n StoreInfoVisible: boolean = false;\r\n CancelInfoVisible: boolean = false;\r\n UnassignLocalInfoVisible: boolean = true;\r\n LocalDistrictInfoVisible: boolean = false;\r\n AssignedLocalInfoVisible: boolean = false;\r\n dispDlgReassign: boolean = false;\r\n user_profile: any;\r\n subscription: Subscription;\r\n message: any;\r\n store_id: any;\r\n searchText: any;\r\n area_dist = [];\r\n dashboard: DashBoard;\r\n clinicAssignment: ClinicAssignment;\r\n storeV: boolean = false;\r\n distV: boolean = false;\r\n ariaV: boolean = false;\r\n regionV: boolean = false;\r\n store_local: boolean = false;\r\n dist_local: boolean = false;\r\n aria_local: boolean = false;\r\n region_local: boolean = false;\r\n storeV1: boolean = false;\r\n distV1: boolean = false;\r\n ariaV1: boolean = false;\r\n regionV1: boolean = false;\r\n searching = false;\r\n selectOption: any = \"\";\r\n cancelClinicCols: any[];\r\n clinicCols: any[];\r\n localOppCols: any[];\r\n search_value: any;\r\n searchValue: any = \"\";\r\n startpage : number;\r\n\r\n search_from_list: string = \"\";\r\n search_HCS_value = \"\";\r\n\r\n search_from_list_local: any = \"\";\r\n search_local_value = \"\";\r\n\r\n searchLocalValue: any = \"\";\r\n district_number: any;\r\n area_number: any;\r\n business_pk: any;\r\n page_index: any = 0;\r\n districtList: any;\r\n areaList: any;\r\n storeList: any;\r\n storeTab: boolean = false;\r\n districtTab: boolean = false;\r\n HCSTab: boolean = false;\r\n assignReq: boolean = false;\r\n bulkAction_hcs: boolean = false;\r\n bulkAction_dm: boolean = false;\r\n bulkAction_store: boolean = false;\r\n bulkAction_cancel: boolean = false;\r\n\r\n bulkAction_local_hcs: boolean = false;\r\n bulkAction_local_dm: boolean = false;\r\n bulkAction_local_store: boolean = false;\r\n\r\n selectedDataList: any[] = [];\r\n selectedLocalList: any[] = [];\r\n selected_data_list: any[] = [];\r\n selectedCancelledList: any[] = [];\r\n selectedValue: any = \"\";\r\n clinic_type: any;\r\n store_number: number;\r\n bulk_submit: boolean = false;\r\n HCSClinicDetails = [];\r\n private hcsClinicsSource: any = {};\r\n hcsClinicTotalRecords: number;\r\n hcsClinicNoOfPageRecords: number = 10;\r\n cancelledClinicTotalRecords: number;\r\n HCSClinicDM = [];\r\n HCSClinicStore = [];\r\n HCSClinicCancelled = [];\r\n cancelClinicSourceList: any = {};\r\n cancelClinicList: any[] = [];\r\n //HCSClinicDetailsFilter = [];\r\n //HCSClinicDMFilter = [];\r\n //HCSClinicStoreFilter = [];\r\n HCSCancelStores = [];\r\n private hcsLocalLeadsSource: any = {};\r\n hcsLocalTotalRecords: number;\r\n hcsLocalNoOfPageRecords: number = 10;\r\n HCSLocalLeads = [];\r\n HCSLocalLeadsDM = [];\r\n HCSAssignedLocalLeads = [];\r\n out_reach_business_pk: any;\r\n out_reach_status_id: any;\r\n currentSelectedRowItem: any;\r\n currentDestinationStoreAddress: any;\r\n is_clinic: boolean = true;\r\n defaultDistrict: any;\r\n defaultAreaNumber: any;\r\n reassign_to_hcs: boolean = false;\r\n changestatusPopUp: boolean = false;\r\n outreachstatus: any = \"\";\r\n hcs_clinic_details: boolean = false;\r\n hcs_clinic_DM: boolean = false;\r\n hcs_clinic_store: boolean = true;\r\n hcs_clinic_cancel: boolean = true;\r\n hcs_local_details: boolean = true;\r\n hcs_local_DM: boolean = true;\r\n hcs_local_store: boolean = true;\r\n\r\n outreach: boolean = false;\r\n noClient: boolean = false;\r\n businessClosed: boolean = false;\r\n hcs: boolean = false;\r\n successMessage: any;\r\n // HCS_contacted: string = ''; //commented as part of 1968\r\n // HCS_contacted_value: any;\r\n displayStoredlg: boolean = false;\r\n page_index_value: any;\r\n districtSelected: boolean = false;\r\n districtValue: any = null;\r\n selectAllDist: boolean = false;\r\n grid: any;\r\n first: number = 0;\r\n bulk_action_value: any;\r\n bulkDisplayStoredlg: boolean = false;\r\n BulkdispDlgReassignToHCS: boolean = false;\r\n btnHide: boolean = false;\r\n HCSLocalLeads1 = [];\r\n defaultStore: any;\r\n default_store_id: any;\r\n area_user: boolean = false;\r\n dist_user: boolean = false;\r\n admin_user: boolean = false;\r\n region_user: boolean = false;\r\n clinicLatitude: any;\r\n clinicLongitude: any;\r\n\r\n hcs_local_details_search: boolean = false;\r\n hcs_local_DM_search: boolean = false;\r\n hcs_local_store_search: boolean = false;\r\n\r\n hcs_clinic_details_search: boolean = false;\r\n hcs_clinic_DM_search: boolean = false;\r\n hcs_clinic_store_search: boolean = false;\r\n select_data: boolean = false;\r\n selectMessage: any;\r\n userProfile: any;\r\n page_count: number = 0;\r\n sorting: string = \"\";\r\n PCATab: boolean = false;\r\n\r\n @ViewChild('dtPriorityTable') table_PriorityRef: Table;\r\n @ViewChild('dtUnassigned') tableUnassignedRef: Table;\r\n @ViewChild('dtAssignedDm') tableAssignedDMRef: Table;\r\n @ViewChild('dtAssignedStroe') tableAssignedStoreRef: Table;\r\n\r\n @ViewChild('dtPriority') dataTable_Priority: Paginator;\r\n @ViewChild('dt') dataTable: Paginator;\r\n @ViewChild('dtDM') dataTable_DM: Paginator;\r\n @ViewChild('dtStore') dataTable_store: Paginator;\r\n\r\n @ViewChild('dtclinic') dataTableClinic: Paginator;\r\n @ViewChild('dtclinicdm') dataTableClinic_DM: Paginator;\r\n @ViewChild('dtclinicstore') dataTableClinic_store: Paginator;\r\n @ViewChild('dtcancelclinic') dataTableCancelClinic_store: Paginator;\r\n BulkdispDlgReassignToHCSStoreTab: boolean = false;\r\n BulkdispDlgConfirmCancelClinicTab: boolean = false;\r\n BulkdispDlgRevertCancelClinicTab: boolean = false;\r\n BulkdispDlgReassignHasSREvents: boolean = false;\r\n localOppHasSREvents: string = \"\";\r\n selectOptionLocal: any = \"\";\r\n page_index_sort: any;\r\n clinicType: boolean = false;\r\n errorShow: boolean = false;\r\n errorMessageShow: any = '';\r\n dialogSummary: string = \"Error Message\";\r\n errorLocalShow: boolean = false;\r\n errorMessageLocalShow: any = '';\r\n errMsgV1: string[] = [];\r\n localLeadsSortBy: string = \"storeId\";\r\n scheduledClinicsSortBy: string = \"naClinicDate\";\r\n localLeadsPageIndex: number = 0;\r\n scheduledClinicsPageIndex: number = 0;\r\n localLeadsSortOrder: boolean = true;//false for descending\r\n scheduledClinicsSortOrder: boolean = true;//false for descending\r\n formLoaded: boolean = false;\r\n confirmLabel: string = \"Override\";\r\n reassignToHCSConfirmDlg: boolean = false;\r\n dlgMessage: string = \"\";\r\n disposition: string = '';\r\n displayDispositionError = false;\r\n NCIOptions: string[] = [];\r\n columns: any;\r\n tableOptions: TableInterface;\r\n hcaTableOptions: TableInterface;\r\n dialogRef: DynamicDialogRef;\r\n showFullSubmission = false;\r\n showRespondStatus = false;\r\n showRespondAction = false;\r\n showRespondActionDialog = false;\r\n responseMessage : string = '';\r\n selectedResponse = '';\r\n showMessage = false;\r\n showReassignStatus = false;\r\n seachAwaitingLeadsResponse = false;\r\n leadsSearchValue = \"\";\r\n requestType = 1;\r\n pageIndex = 0;\r\n pageSize = 0;\r\n leadAwaitingResponseList: Array = [];\r\n leadAwaitingResponseInfo: LeadAwaitingResponseById = {} as LeadAwaitingResponseById;\r\n leadDistrictList = [];\r\n leadAwaitingResponseSelectedDistrict = \"\";\r\n leadAwaitingResponseSelectedStore = \"\";\r\n selectedLeadAwaitingResponseInfo: LeadAwaitingResponse = {} as LeadAwaitingResponse;\r\n showReassignSuccessDialog = false;\r\n priorityOppourtinitesSource: any = {};\r\n priorityOppourtinitesTotalRecords: number;\r\n priorityOppourtinitesList = [];\r\n selectedTab: string;\r\n leadAwaitingActiveIndex = 0;\r\n localOpportunitiesActiveIndex = 0;\r\n opportunitiesActionPie = [] as any;\r\n opportunitiesActionApiData: OpportunitiesRequiringActionResponse[] = [];\r\n priorityOpportunitiesActionApiData:OpportunitiesRequiringActionResponse[] = [];\r\n priorityOpportunitiesActionPie= [] as any;\r\n assignedOpprowsPerPage : number;\r\n opptoDMrowsPerPage : number;\r\n unassignedrowsPerPage: number;\r\n oppotunitiesrowsPerPage: number;\r\n unassignedSelectedRowCount : number;\r\n assignedtoDMSelectedRowCount: number;\r\n assignedSelectedRowCount: number;\r\n prioritySelectedRowCount: number;\r\n opportunitiesActionData = {\r\n labels: [],\r\n datasets: [\r\n {\r\n data: [],\r\n borderColor: '#ffffff',\r\n fill: true,\r\n pointHoverRadius: 20,\r\n backgroundColor: [\r\n \"#a43794\",\r\n \"#17adc2\",\r\n \"#3c7bb4\",\r\n \"#f4ae32\",\r\n \"#787878\"\r\n ],\r\n // hoverBackgroundColor: [\r\n // \"#8389ae\",\r\n // \"#FDFDFD\"\r\n // ],\r\n // radius: 130,\r\n pointHoverBorderWidth:10,\r\n pointHoverBorderColor:[\r\n \"#000\",\r\n \"#000\",\r\n \"#000\",\r\n \"#000\",\r\n \"#000\"\r\n ],\r\n hoverOffset: 10\r\n }\r\n ]\r\n };\r\n\r\n priorityOportunitiesActionData = {\r\n labels: ['Priority No Outreach', 'Priority Follow Up', 'Priority Contracts Drafted but Not Sent', 'Priority Contracts with Requested Changes', 'Priority Contracts Pending Signature'],\r\n datasets: [\r\n {\r\n data: [400, 939, 3246, 9865, 798],\r\n borderColor: '#ffffff',\r\n fill: true,\r\n // radius: 120,\r\n backgroundColor: [\r\n \"#a43794\",\r\n \"#17adc2\",\r\n \"#3c7bb4\",\r\n \"#f4ae32\",\r\n \"#787878\"\r\n ],\r\n hoverOffset: 10\r\n }\r\n ]\r\n };\r\n\r\n @ViewChild('chkAll1') chkAll1: TableHeaderCheckbox;\r\n @ViewChild('chkAll2') chkAll2: TableHeaderCheckbox;\r\n @ViewChild('chkAll3') chkAll3: TableHeaderCheckbox;\r\n @ViewChild('searchClinics') clinicsEleRef: ElementRef;\r\n @ViewChild('searchOpportunities') opportunitiesEleRef: ElementRef;\r\n @ViewChild('searchLeads') searchLeadsRef: ElementRef;\r\n @ViewChild(\"leadAwaitingRef\") leadAwaitingRef: ElementRef;\r\n @ViewChild(\"priorityOpportunitiesRef\") priorityOpportunitiesRef: ElementRef;\r\n\r\n constructor(private _opportunityService: OpportunitiesService,\r\n private _dashboardservice: DashboardServiceService,\r\n private _headerservice: HeaderserviceService,\r\n private coClinicdetailsService: ClinicdetailsService,\r\n private message_service: MessageServiceService,\r\n private spinner: NgxSpinnerService,\r\n private router: Router, titleService: Title,\r\n private confirmationService: ConfirmationService,\r\n private ref: ChangeDetectorRef,\r\n private dialogService: DialogService,\r\n private leadAwaitingResponseService: LeadAwaitingResponseService,\r\n private potentialClientInterestService: PotentialClientInterestService,\r\n private chartService: ChartService\r\n ) {\r\n this.subscription = this.message_service.getDashboard().subscribe((message:any) => {\r\n this.message = message;\r\n this.store_id = this.message.text;\r\n if (this.store_id != \"\") {\r\n this.searchText = \"\"\r\n if (this.title != \"pcadashboard\") {\r\n this.getActionItemsCounts();\r\n }\r\n else {\r\n this.getPCADashboardSnapshot();\r\n }\r\n this.message.status = false;\r\n }\r\n });\r\n this.title = this.getTitle(router.routerState, router.routerState.root).join('-');\r\n titleService.setTitle(this.title);\r\n if (this.title == \"pcadashboard\") {\r\n this.PCATab = true;\r\n this.pageName = \"pcadashboard\";\r\n }\r\n }\r\n\r\n ngOnInit() { \r\n Chart.register(ChartDataLabels);\r\n this.NCIOptions = noClientInterestOptions;\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n this.area_user = false;\r\n this.dist_user = false;\r\n this.admin_user = false;\r\n this.user_profile = SessionDetails.GetUserProfile();\r\n this.columns = [\r\n {field: \"BusinessName\" , header: \"Business/Organization\"},\r\n {field: 'Address', header: 'Address'} ,\r\n {field: 'Area', header: \"Area\"} ,\r\n {field: 'ClosestStore', header: \"Closest Store\" },\r\n {field: 'EstimatedEmployee', header: \"Estimated Employees\"},\r\n {field: 'EstimatedResident', header: \"Estimated Residents\"},\r\n {field: 'EstimatedResidentClinics', header:\"Estimated Clinics\"},\r\n {field: 'Submitted', header:\"Submitted\"},\r\n ''\r\n ];\r\n this.cancelClinicCols = [\r\n { field: 'businessName', header: 'Clinic Name' },\r\n { field: 'naClinicLocation', header: 'Client Location' },\r\n { field: 'naClinicAddress1', header: 'Clinic Address' },\r\n { field: 'naClinicDate', header: 'Clinic Date' },\r\n { field: 'storeId', header: 'Store #' },\r\n { field: 'totalAppointments', header: 'Scheduled Appts' },\r\n ];\r\n this.clinicCols = [\r\n { field: 'businessName', header: 'Clinic Name' },\r\n { field: 'clinicType', header: 'Type' },\r\n { field: 'naClinicAddress1', header: 'Clinic Location' },\r\n { field: 'naClinicDate', header: 'Clinic Date' },\r\n { field: 'storeId', header: 'Store #' },\r\n { field: 'storeAddress', header: 'Store Location' },\r\n ];\r\n this.localOppCols = [\r\n { field: 'businessName', header: 'Opportunity Name & Number' },\r\n { field: 'address', header: 'Opportunity Address' },\r\n { field: 'actualLocationEmploymentSize', header: 'Emp' },\r\n { field: 'districtNumber', header: 'District' },\r\n { field: 'storeId', header: 'Assigned Store' },\r\n { field: 'lastContactDate', header: 'Last Contact' },\r\n { field: 'outreachStatus', header: 'Status' }\r\n ];\r\n // this.HCS_contacted = \"HCS Contacted\";\r\n // this.HCS_contacted_value = 10;\r\n if (this.user_profile.userRole.toLowerCase() == \"admin\") {\r\n this.storeV1 = true;\r\n this.distV1 = true;\r\n this.ariaV1 = true;\r\n this.regionV1 = true;\r\n this.assignReq = true;\r\n this.storeTab = true;\r\n this.districtTab = true;\r\n this.HCSTab = this.title == \"pcadashboard\" ? false : true;\r\n this.admin_user = true;\r\n }\r\n\r\n if (this.user_profile.userRole.toLowerCase() == \"district manager\") {\r\n // this.HCS_contacted = \"DM Contacted\";\r\n // this.HCS_contacted_value = \"9\";\r\n this.storeV1 = true;\r\n this.distV1 = false;\r\n this.ariaV1 = false;\r\n this.regionV1 = false;\r\n this.storeTab = true;\r\n this.districtTab = true;\r\n this.HCSTab = false;\r\n this.dist_user = this.title == \"pcadashboard\" ? false : true; ;\r\n }\r\n if (this.user_profile.userRole.toLowerCase() == \"director - rx and retail ops\"\r\n || this.user_profile.userRole.toLowerCase() == \"healthcare supervisor\" || this.user_profile.userRole.toLowerCase() == \"pod healthcare supervisor\" ) {\r\n this.storeV1 = true;\r\n this.distV1 = true;\r\n this.ariaV1 = false;\r\n this.regionV1 = false;\r\n this.storeTab = true;\r\n this.districtTab = true;\r\n this.HCSTab = this.title == \"pcadashboard\" ? false : true;\r\n this.area_user = true;\r\n }\r\n if (this.user_profile.userRole.toLowerCase() ==\"district manager\"\r\n ) {\r\n this.storeV1 = false;\r\n this.distV1 = true;\r\n this.ariaV1 = false;\r\n this.regionV1 = false;\r\n this.storeTab = true;\r\n this.HCSTab = false;\r\n this.districtTab = true;\r\n this.admin_user= false;\r\n this.region_user= false;\r\n this.dist_user = this.title == \"pcadashboard\" ? false : true; ; \r\n this.area_user = false;\r\n }\r\n if (this.user_profile.userRole.toLowerCase() == \"regional vice president\"\r\n || this.user_profile.userRole.toLowerCase() == \"regional healthcare director\"\r\n ) {\r\n this.storeV1 = true;\r\n this.distV1 = true;\r\n this.ariaV1 = true;\r\n this.regionV1 = false;\r\n this.storeTab = true;\r\n this.districtTab = true;\r\n this.HCSTab = this.title == \"pcadashboard\" ? false : true;\r\n this.region_user = true;\r\n }\r\n this.getLeadAwaitingResponseList();\r\n this.spinner.show();\r\n this.handleChartData();\r\n if (SessionDetails.GetStoreId() == null) {\r\n this._headerservice.getStoresProfile(this.userProfile.userPk, null, null).subscribe((res:any) => {\r\n SessionDetails.setStoreProfileData(res.data);\r\n SessionDetails.StoreId(res.data[0].storeId);\r\n SessionDetails.StorePk(res.data[0].storePk);\r\n SessionDetails.setState(res.data[0].state);\r\n this.selectOption = \"\";\r\n this.selectOptionLocal = \"\";\r\n if (this.title != \"pcadashboard\") {\r\n this.getActionItemsCounts();\r\n this.getMetricsCount();\r\n let tabIndex = sessionStorage[\"tabIndex\"];\r\n sessionStorage.removeItem(\"tabIndex\");\r\n \r\n if(tabIndex != undefined && tabIndex != null){\r\n this.page_index = Number(tabIndex);\r\n }\r\n else {\r\n this.page_index = this.HCSTab == false ? 1:0;\r\n }\r\n this.getAssignedToHCS(this.HCSTab == false ? 1 : tabIndex && Number(tabIndex)>0?Number(tabIndex): 0, 0, 0);\r\n this.getPriorityOpportunities( 0, 0, 1);\r\n }\r\n else {\r\n this.getPCADashboardSnapshot();\r\n }\r\n });\r\n }\r\n else {\r\n this.selectOption = \"\";\r\n this.selectOptionLocal = \"\";\r\n if (this.title != \"pcadashboard\") {\r\n this.getActionItemsCounts();\r\n this.getMetricsCount();\r\n let tabIndex = sessionStorage[\"tabIndex\"];\r\n sessionStorage.removeItem(\"tabIndex\"); \r\n if(tabIndex != undefined && tabIndex != null){\r\n this.page_index = Number(tabIndex);\r\n }\r\n else {\r\n this.page_index = this.HCSTab == false ? 1: 3;\r\n }\r\n this.getAssignedToHCS(this.HCSTab == false ? 1 : tabIndex && Number(tabIndex)>0?Number(tabIndex): 3, 0, 0);\r\n this.getPriorityOpportunities( 0, 0, 1);\r\n }\r\n else {\r\n this.getPCADashboardSnapshot();\r\n }\r\n }\r\n this.cancelClinicSourceList = {\r\n \"userPk\": 41,\r\n \"assignedTo\": 0,\r\n \"pageIndex\": 0,\r\n \"filterBy\": \"\",\r\n \"filterById\": \"\",\r\n \"searchByValue\": \"\",\r\n \"sortByField\": \"naClinicDate\",\r\n \"totalCount\": 21,\r\n \"startIndex\": 0,\r\n \"finalIndex\": 20,\r\n \"sortOrder\": true,\r\n \"clinicList\": [{ \"storeId\": 211, \"clientName\": \"Test 211 - Clinic 1\", \"clientLocation\": \"Test room 211\", \"clientAddress\": \"757 N MICHIGAN AVE\", \"clientDate\": \"2019-05-23T00:00:00\", \"scheduledAppts\": \"2019-06-15T00:00:00\" },\r\n { \"storeId\": 1993, \"clientName\": \"Testt 1993 - Clinic 1\", \"clientLocation\": \"Test room 1993\", \"clientAddress\": \"12312 E SPRAGUE AVE\", \"clientDate\": \"2019-06-15T00:00:00\", \"scheduledAppts\": \"2019-06-16T00:00:00\" },\r\n { \"storeId\": 2277, \"clientName\": \"Test DC state - Clinic 1\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"1217 22ND ST NW\", \"clientDate\": \"2019-06-15T00:00:00\", \"scheduledAppts\": \"2019-06-16T00:00:00\" },\r\n { \"storeId\": 2434, \"clientName\": \"Test 28381 - Clinic 1\", \"clientLocation\": \"Test room 1\", \"clientAddress\": \"1830 W 11TH ST\", \"clientDate\": \"2019-07-01T00:00:00\", \"scheduledAppts\": \"2019-07-24T00:00:00\" },\r\n { \"storeId\": 2434, \"clientName\": \"Test 2434 test - Clinic 1\", \"clientLocation\": \"Test room 1\", \"clientAddress\": \"1830 W 11TH ST\", \"clientDate\": \"2019-07-01T00:00:00\", \"scheduledAppts\": \"2019-07-25T00:00:00\" },\r\n { \"storeId\": 2865, \"clientName\": \"Qualcomm - Clinic 48\", \"clientLocation\": \"San Diego - AQ\", \"clientAddress\": \"10145 Pacific Heights Blvd\", \"clientDate\": \"2019-06-05T00:00:00\", \"scheduledAppts\": \"2019-07-24T00:00:00\" },\r\n { \"storeId\": 2865, \"clientName\": \"Test conflict HCS - Clinic 1\", \"clientLocation\": \"Test location 5\", \"clientAddress\": \"1360 E PACHECO BLVD\", \"clientDate\": \"2019-06-05T00:00:00\", \"scheduledAppts\": \"2019-07-25T00:00:00\" },\r\n { \"storeId\": 4402, \"clientName\": \"Test 4402 test - Clinic 3\", \"clientLocation\": \"Test room 3\", \"clientAddress\": \"1300 E HALLANDALE BEACH BLVD\", \"clientDate\": \"2019-09-03T00:00:00\", \"scheduledAppts\": \"2019-05-15T00:00:00\" },\r\n { \"storeId\": 4402, \"clientName\": \"Test 4402 test - Clinic 2\", \"clientLocation\": \"Test room 2\", \"clientAddress\": \"1300 E HALLANDALE BEACH BLVD\", \"clientDate\": \"2019-09-02T00:00:00\", \"scheduledAppts\": \"2019-06-25T00:00:00\" },\r\n { \"storeId\": 4507, \"clientName\": \"Testt 4507 - Clinic 1\", \"clientLocation\": \"Test room 4507\", \"clientAddress\": \"15025 N THOMPSON PEAK PKWY\", \"clientDate\": \"2019-07-01T00:00:00\", \"scheduledAppts\": \"2019-06-17T00:00:00\" },\r\n { \"storeId\": 4659, \"clientName\": \"Test 4569 - Clinic 1\", \"clientLocation\": \"Test room 4569\", \"clientAddress\": \"164 W JACKSON ST\", \"clientDate\": \"2019-05-30T00:00:00\", \"scheduledAppts\": \"2019-08-28T00:00:00\" },\r\n { \"storeId\": 5550, \"clientName\": \"Centene - Clinic 4\", \"clientLocation\": \"Superior Healthplan\", \"clientAddress\": \"7990 IH 10 West\", \"clientDate\": \"2019-08-11T00:00:00\", \"scheduledAppts\": \"2019-06-16T00:00:00\" },\r\n { \"storeId\": 6101, \"clientName\": \"Test 6101 - Clinic 2\", \"clientLocation\": \"Test room 6101\", \"clientAddress\": \"3655 ALHAMBRA AVE\", \"clientDate\": \"2019-06-05T00:00:00\", \"scheduledAppts\": \"2019-06-16T00:00:00\" },\r\n { \"storeId\": 6162, \"clientName\": \"Test 6162 - Clinic 3\", \"clientLocation\": \"Test room 6163\", \"clientAddress\": \"508 MAIN ST\", \"clientDate\": \"2019-05-09T00:00:00\", \"scheduledAppts\": \"2019-06-17T00:00:00\" },\r\n { \"storeId\": 6345, \"clientName\": \"Test 6345 test - Clinic 1\", \"clientLocation\": \"Test room 3\", \"clientAddress\": \"2400 E MIDWAY BLVD\", \"clientDate\": \"2019-09-01T00:00:00\", \"scheduledAppts\": \"2019-06-17T00:00:00\" },\r\n { \"storeId\": 6345, \"clientName\": \"Test 4402 test - Clinic 1\", \"clientLocation\": \"Test room 1\", \"clientAddress\": \"1300 E HALLANDALE BEACH BLVD\", \"clientDate\": \"2019-09-01T00:00:00\", \"scheduledAppts\": \"2019-06-17T00:00:00\" },\r\n { \"storeId\": 6345, \"clientName\": \"Test 6345 test - Clinic 3\", \"clientLocation\": \"Test room 3\", \"clientAddress\": \"2400 E MIDWAY BLVD\", \"clientDate\": \"2019-09-03T00:00:00\", \"scheduledAppts\": \"2019-06-17T00:00:00\" },\r\n { \"storeId\": 6345, \"clientName\": \"Test 6345 test - Clinic 2\", \"clientLocation\": \"Test room 3\", \"clientAddress\": \"2400 E MIDWAY BLVD\", \"clientDate\": \"2019-09-02T00:00:00\", \"scheduledAppts\": \"2019-06-24T00:00:00\" },\r\n { \"storeId\": 6862, \"clientName\": \"Test 6862 - Clinic 1\", \"clientLocation\": \"Test room 1\", \"clientAddress\": \"637 HOBOKEN RD\", \"clientDate\": \"2019-05-22T00:00:00\", \"scheduledAppts\": \"2019-06-17T00:00:00\" },\r\n { \"storeId\": 6862, \"clientName\": \"Test Overlapping CA - Clinic 9\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"60 East Ave\", \"clientDate\": \"2019-06-16T00:00:00\", \"scheduledAppts\": \"2019-10-21T00:00:00\" },\r\n { \"storeId\": 7672, \"clientName\": \"Test 7672 - Clinic 5\", \"clientLocation\": \"Test room 7676\", \"clientAddress\": \"1108 HARTMAN LN\", \"clientDate\": \"2019-08-10T00:00:00\", \"scheduledAppts\": \"2019-06-16T00:00:00\" },\r\n { \"storeId\": 7672, \"clientName\": \"Test 7672 - Clinic 4\", \"clientLocation\": \"Test room 7675\", \"clientAddress\": \"1108 HARTMAN LN\", \"clientDate\": \"2019-08-07T00:00:00\", \"scheduledAppts\": \"2019-07-24T00:00:00\" },\r\n { \"storeId\": 7673, \"clientName\": \"Test 7673 - Clinic 4\", \"clientLocation\": \"Test room 8\", \"clientAddress\": \"10600 W PARMER LN\", \"clientDate\": \"2019-08-06T00:00:00\", \"scheduledAppts\": \"2019-06-16T00:00:00\" },\r\n { \"storeId\": 7673, \"clientName\": \"Test 7673 - Clinic 3\", \"clientLocation\": \"Test room 7674\", \"clientAddress\": \"10600 W PARMER LN\", \"clientDate\": \"2019-07-11T00:00:00\", \"scheduledAppts\": \"2019-06-16T00:00:00\" },\r\n { \"storeId\": 10071, \"clientName\": \"Upload DC Clinic - Clinic 1\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"225 22ND ST NW\", \"clientDate\": \"2019-09-15T00:00:00\", \"scheduledAppts\": \"2019-06-16T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Overlapping CA - Clinic 6\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"60 East Ave\", \"clientDate\": \"2019-06-15T00:00:00\", \"scheduledAppts\": \"2019-05-23T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Overlapping CA - Clinic 7\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"60 East Ave\", \"clientDate\": \"2019-06-16T00:00:00\", \"scheduledAppts\": \"2019-06-15T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Overlapping CA - Clinic 8\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"60 East Ave\", \"clientDate\": \"2019-06-16T00:00:00\", \"scheduledAppts\": \"2019-06-15T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Corporate - Clinic 1\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"801 East Ave\", \"clientDate\": \"2019-07-24T00:00:00\", \"scheduledAppts\": \"2019-07-01T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Corporate - Clinic 2\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"802 East Ave\", \"clientDate\": \"2019-07-25T00:00:00\", \"scheduledAppts\": \"2019-07-01T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Corporate - Clinic 3\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"80 East Ave\", \"clientDate\": \"2019-07-24T00:00:00\", \"scheduledAppts\": \"2019-06-05T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Corporate - Clinic 4\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"81 East Ave\", \"clientDate\": \"2019-07-25T00:00:00\", \"scheduledAppts\": \"2019-06-05T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Overlapping CA - Clinic 2\", \"clientLocation\": \"Roswell Convention & Civic Center\", \"clientAddress\": \"61 East Ave\", \"clientDate\": \"2019-05-15T00:00:00\", \"scheduledAppts\": \"2019-09-03T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Uploader copay - Clinic 2\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"801 East Ave\", \"clientDate\": \"2019-06-25T00:00:00\", \"scheduledAppts\": \"2019-09-02T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Overlapping CA - Clinic 15\", \"clientLocation\": \"Clovis Civic Center test\", \"clientAddress\": \"60 East Ave test\", \"clientDate\": \"2019-06-17T00:00:00\", \"scheduledAppts\": \"2019-07-01T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Uploader1 - Clinic 2\", \"clientLocation\": \"Clovis Civic Center 2\", \"clientAddress\": \"8601 East Ave1\", \"clientDate\": \"2019-08-28T00:00:00\", \"scheduledAppts\": \"2019-05-30T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Overlapping CA - Clinic 17\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"60 East Ave\", \"clientDate\": \"2019-06-16T00:00:00\", \"scheduledAppts\": \"2019-08-11T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Overlapping CA - Clinic 18\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"60 East Ave\", \"clientDate\": \"2019-06-16T00:00:00\", \"scheduledAppts\": \"2019-06-05T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Overlapping CA - Clinic 19\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"60 East Ave\", \"clientDate\": \"2019-06-17T00:00:00\", \"scheduledAppts\": \"2019-05-09T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Overlapping CA - Clinic 20\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"60 East Ave\", \"clientDate\": \"2019-06-17T00:00:00\", \"scheduledAppts\": \"2019-09-01T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Overlapping CA - Clinic 21\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"60 East Ave\", \"clientDate\": \"2019-06-17T00:00:00\", \"scheduledAppts\": \"2019-09-01T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Overlapping CA - Clinic 22\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"60 East Ave\", \"clientDate\": \"2019-06-17T00:00:00\", \"scheduledAppts\": \"2019-09-03T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Uploader copay - Clinic 1\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"800 East Ave\", \"clientDate\": \"2019-06-24T00:00:00\", \"scheduledAppts\": \"2019-09-02T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Overlapping CA - Clinic 23\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"60 East Ave\", \"clientDate\": \"2019-06-17T00:00:00\", \"scheduledAppts\": \"2019-05-22T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Stage - Clinic 1\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"860 East Ave\", \"clientDate\": \"2019-10-21T00:00:00\", \"scheduledAppts\": \"2019-06-16T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Overlapping CA - Clinic 12\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"60 East Ave\", \"clientDate\": \"2019-06-16T00:00:00\", \"scheduledAppts\": \"2019-08-10T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Corporate - Clinic 5\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"810 East Ave\", \"clientDate\": \"2019-07-24T00:00:00\", \"scheduledAppts\": \"2019-08-07T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Overlapping CA - Clinic 11\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"60 East Ave\", \"clientDate\": \"2019-06-16T00:00:00\", \"scheduledAppts\": \"2019-08-06T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Overlapping CA - Clinic 10\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"60 East Ave\", \"clientDate\": \"2019-06-16T00:00:00\", \"scheduledAppts\": \"2019-07-11T00:00:00\" },\r\n { \"storeId\": 13000, \"clientName\": \"Test Overlapping CA - Clinic 14\", \"clientLocation\": \"Clovis Civic Center\", \"clientAddress\": \"60 East Ave\", \"clientDate\": \"2019-06-16T00:00:00\", \"scheduledAppts\": \"2019-09-15T00:00:00\" }]\r\n }\r\n }\r\n openPowerBILink() {\r\n window.open(\"https://app.powerbi.com/groups/3681e600-a8f1-4c15-be33-bdcae71ccb43/reports/c31e78b8-5dfa-4824-a6a4-bca30590e79c/ReportSection1388318b01032aa5298c?ctid=92cb778e-8ba7-4f34-a011-4ba6e7366996\", \"_blank\");\r\n } \r\n resizeWidth(header_value) {\r\n if (header_value == \"Clinic Location\")\r\n return 'w280';\r\n if (header_value == \"Store Location\")\r\n return 'w221 noUnderline';\r\n if (header_value == \"Clinic Name\")\r\n return 'w200';\r\n if (header_value == \"Store #\")\r\n return 'w100p';\r\n if (header_value == \"Clinic Date\")\r\n return 'w120p';\r\n if (header_value == \"Type\")\r\n return 'w120p';\r\n }\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n getLeadAwaitingResponseList(){\r\n this.spinner.show();\r\n this.leadAwaitingResponseService.getLeadAwaitingResponseList({pageIndex: this.pageIndex, pageSize: this.pageSize, requestType: this.requestType, userId: this.userProfile.userPk}).subscribe((data: LeadsAwaitingResponseList) => {\r\n this.leadAwaitingResponseList = data.Table;\r\n this.tableOptions = {\r\n columns: this.columns,\r\n data: this.leadAwaitingResponseList,\r\n hasPagination: true,\r\n isSearchable: true,\r\n rowsPerPage: 10,\r\n rowsPerPageOptions: [5,10,20],\r\n isSortable: true,\r\n actionMenuCallback: this.leadIntakeClick.bind(this),\r\n showBarsIcon: true,\r\n iconPosition: this.columns.length -1,\r\n tableClass: \"lead-intake-card\",\r\n sortField: \"Submitted\",\r\n sortOrder: 0\r\n };\r\n this.spinner.hide();\r\n this.ref.detectChanges();\r\n }), (err) => {\r\n this.spinner.hide();\r\n }\r\n }\r\n\r\n getLocalLeads(tab_index, start_number, page_index) {\r\n this.handleLocalOpportunitiesFilter();\r\n this.selectAllDist = false;\r\n this.selectedLocalList = [];\r\n this.dispDlgReassign = false;\r\n this.dispDlgReassignToHCS = false;\r\n this.displayStoredlg = false;\r\n this.outreachstatus = \"\";\r\n this.disposition = \"\";\r\n var localLeads = new LocalLeads();\r\n localLeads.opportunitiesList = [];\r\n localLeads.userPk = this.user_profile.userPk;\r\n localLeads.assignedTo = tab_index;\r\n this.localLeadsPageIndex = localLeads.pageIndex = page_index;\r\n localLeads.filterBy = this.search_local_value;\r\n localLeads.filterById = this.search_from_list_local;\r\n localLeads.searchByValue = this.searchValue;\r\n localLeads.sortByField = this.localLeadsSortBy;\r\n localLeads.sortOrder = this.localLeadsSortOrder;\r\n localLeads.totalCount = 0;\r\n localLeads.startIndex = 0;\r\n localLeads.finalIndex = 0;\r\n if (tab_index == 0) {\r\n localLeads.noOfRecordsInPage = this.unassignedSelectedRowCount != null? this.unassignedSelectedRowCount : 10;\r\n } else {\r\n localLeads.noOfRecordsInPage = 50\r\n }\r\n if(tab_index == 3) {\r\n this.getPriorityOpportunities(tab_index, start_number, page_index);\r\n return;\r\n }\r\n this.page_index = tab_index;\r\n localLeads.assignedTo = localLeads.assignedTo;\r\n this.spinner.show();\r\n this._opportunityService.getLocalLeads(localLeads).subscribe((localLeadsData) => {\r\n this.hcsLocalLeadsSource = localLeadsData;\r\n this.hcsLocalTotalRecords = localLeadsData.totalCount;\r\n if (tab_index == 0) {\r\n\r\n this.bulkAction_local_hcs = false;\r\n this.hcs_local_details = false;\r\n this.hcs_local_details_search = false;\r\n //this.HCSLocalLeads = localLeadsData.opportunitiesList;\r\n //this.HCSLocalLeads = localLeadsData.opportunitiesList.slice(start_number, (start_number + 10));\r\n //this.HCSLocalLeads = localLeadsData.opportunitiesList.slice(start_number, (start_number + this.hcsLocalNoOfPageRecords));\r\n this.HCSLocalLeads = localLeadsData.opportunitiesList;\r\n if (this.HCSLocalLeads.length > 0) {\r\n //this.dataTable.first = 0;\r\n //this.dataTable.paginate;\r\n this.bulkAction_local_hcs = true;\r\n this.hcs_local_details = true;\r\n this.hcs_local_details_search = true;\r\n }\r\n }\r\n else if (tab_index == 1) {\r\n this.bulkAction_local_dm = false;\r\n this.hcs_local_DM = false;\r\n this.hcs_local_DM_search = false;\r\n //this.HCSLocalLeadsDM = localLeadsData.opportunitiesList;\r\n this.HCSLocalLeadsDM = localLeadsData.opportunitiesList.slice(start_number, (start_number + this.opptoDMrowsPerPage));\r\n if (this.HCSLocalLeadsDM.length > 0) {\r\n // this.dataTable_DM.first = 0;\r\n //this.dataTable_DM.paginate;\r\n this.bulkAction_local_dm = true;\r\n this.hcs_local_DM = true;\r\n this.hcs_local_DM_search = true;\r\n }\r\n }\r\n else if (tab_index == 2) {\r\n this.bulkAction_local_store = false;\r\n this.hcs_local_store = false;\r\n this.hcs_local_store_search = false;\r\n //this.HCSAssignedLocalLeads = localLeadsData.opportunitiesList; \r\n this.HCSAssignedLocalLeads = localLeadsData.opportunitiesList.slice(start_number, (start_number + this.assignedOpprowsPerPage));\r\n if (this.HCSAssignedLocalLeads.length > 0) {\r\n //this.dataTable_store.first = 0;\r\n // this.dataTable_store.paginate;\r\n this.bulkAction_local_store = true;\r\n this.hcs_local_store = true;\r\n this.hcs_local_store_search = true;\r\n }\r\n\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n getAssignedToHCS(tab_index, start_number, page_index) {\r\n this.dispDlgReassign = false;\r\n this.dispDlgReassignToHCS = false;\r\n //this.bulkAction_hcs = false;\r\n this.selectedDataList = [];\r\n\r\n var dashboard = new DashBoard();\r\n dashboard.clinicList = [];\r\n dashboard.userPk = this.user_profile.userPk;\r\n dashboard.assignedTo = tab_index;\r\n this.localLeadsPageIndex = this.scheduledClinicsPageIndex = dashboard.pageIndex = page_index;\r\n dashboard.filterBy = this.search_HCS_value;\r\n dashboard.filterById = this.search_from_list;\r\n dashboard.searchByValue = this.searchValue;\r\n dashboard.sortByField = this.scheduledClinicsSortBy;\r\n dashboard.totalCount = 0;\r\n dashboard.startIndex = 0;\r\n dashboard.finalIndex = 0;\r\n dashboard.sortOrder = this.scheduledClinicsSortOrder;\r\n if (this.page_index == 0) {\r\n dashboard.noOfRecordsInPage = this.hcsClinicNoOfPageRecords;\r\n } else {\r\n dashboard.noOfRecordsInPage = 50;\r\n }\r\n this.page_index = tab_index; \r\n this.spinner.show();\r\n this._opportunityService.getHCSClinicDetails(dashboard).subscribe((hcsclinicDetail) => {\r\n this.hcsClinicTotalRecords = hcsclinicDetail.totalCount;\r\n this.hcsClinicsSource = hcsclinicDetail;\r\n this.page_index = tab_index; \r\n if (this.page_index == 0) {\r\n\r\n this.bulkAction_hcs = false;\r\n this.hcs_clinic_details = false;\r\n this.hcs_clinic_details_search = false;\r\n // this.HCSClinicDetailsFilter = hcsclinicDetail.clinicList;\r\n //this.HCSClinicDetails = hcsclinicDetail.clinicList.slice(start_number, (start_number + this.hcsClinicNoOfPageRecords));\r\n this.HCSClinicDetails = hcsclinicDetail.clinicList;\r\n if (this.HCSClinicDetails.length > 0) {\r\n this.hcaTableOptions = {\r\n columns: this.clinicCols,\r\n data: this.HCSClinicDetails,\r\n hasPagination: true,\r\n isSearchable: true,\r\n rowsPerPage: 10,\r\n rowsPerPageOptions: [5,10,20],\r\n isSortable: true,\r\n actionMenuCallback: this.showDialogClinic.bind(this),\r\n showBarsIcon: true,\r\n iconPosition: this.clinicCols.length -1,\r\n tableClass: \"lead-intake-card\"\r\n };\r\n this.bulkAction_hcs = true;\r\n this.hcs_clinic_details = true;\r\n this.hcs_clinic_details_search = true;\r\n this.ref.detectChanges();\r\n }\r\n this.spinner.hide(); \r\n }\r\n else if (this.page_index == 1) {\r\n this.bulkAction_dm = false;\r\n this.hcs_clinic_DM = false;\r\n this.hcs_clinic_DM_search = false;\r\n // this.HCSClinicDMFilter = hcsclinicDetail.clinicList;\r\n this.HCSClinicDM = hcsclinicDetail.clinicList.slice(start_number, (start_number + 10));\r\n if (this.HCSClinicDM.length > 0) {\r\n this.bulkAction_dm = true;\r\n this.hcs_clinic_DM = true;\r\n this.hcs_clinic_DM_search = true;\r\n }\r\n this.spinner.hide();\r\n }\r\n else if (this.page_index == 2) {\r\n this.bulkAction_store = false;\r\n this.hcs_clinic_store = false;\r\n this.hcs_clinic_store_search = false;\r\n //this.HCSClinicStoreFilter = hcsclinicDetail.clinicList;\r\n this.HCSClinicStore = hcsclinicDetail.clinicList.slice(start_number, (start_number + 10));\r\n if (this.HCSClinicStore.length > 0) {\r\n this.bulkAction_store = true;\r\n this.hcs_clinic_store = true;\r\n this.hcs_clinic_store_search = true;\r\n }\r\n this.spinner.hide();\r\n }\r\n else if (this.page_index == 3) {\r\n this.bulkAction_store = false;\r\n this.hcs_clinic_store = false;\r\n this.hcs_clinic_store_search = false;\r\n //this.HCSClinicStoreFilter = hcsclinicDetail.clinicList;\r\n this.HCSClinicCancelled = hcsclinicDetail.clinicList.slice(start_number, (start_number + 10));\r\n if (this.HCSClinicStore.length > 0) {\r\n this.bulkAction_store = true;\r\n this.hcs_clinic_store = true;\r\n this.hcs_clinic_store_search = true;\r\n }\r\n this.spinner.hide();\r\n }\r\n },\r\n error => {\r\n console.error(\"Error in fetching data\", error);\r\n this.spinner.hide();\r\n });\r\n // }\r\n }\r\n\r\n loadDataLazy(event: LazyLoadEvent, grid_source, tab_index) {\r\n if (tab_index === 3) {\r\n this.prioritySelectedRowCount = Number(event.rows);\r\n } else if (tab_index === 0) {\r\n this.unassignedSelectedRowCount = Number(event.rows);\r\n this.unassignedrowsPerPage = this.unassignedSelectedRowCount;\r\n } else if (tab_index === 1){\r\n this.assignedtoDMSelectedRowCount = Number(event.rows);\r\n this.opptoDMrowsPerPage = this.assignedtoDMSelectedRowCount;\r\n } else if (tab_index == 2){\r\n this.assignedSelectedRowCount = Number(event.rows);\r\n this.assignedOpprowsPerPage = this.assignedSelectedRowCount;\r\n }\r\n let curr_page_rec_count, page_to_get, start_number;\r\n if (grid_source == \"ClinicDetails\" && tab_index == 0) {\r\n if (event.rows != this.hcsClinicNoOfPageRecords) {\r\n this.hcsClinicNoOfPageRecords = event.rows;\r\n event.first = 0;\r\n this.dataTableClinic.first = 0;\r\n this.dataTableClinic.changePageToFirst;\r\n }\r\n start_number = event.first;\r\n } else if (grid_source == \"LocalLeads\" && tab_index == 0) {\r\n if (event.rows != this.hcsLocalNoOfPageRecords) {\r\n this.hcsLocalNoOfPageRecords = event.rows;\r\n event.first = 0;\r\n this.dataTable.first = 0;\r\n this.dataTable.changePageToFirst;\r\n }\r\n start_number = event.first;\r\n } else {\r\n if(grid_source == \"LocalLeads\"){\r\n this.chkAll1.checked = false;\r\n this.chkAll2.checked = false;\r\n this.chkAll3.checked = false;\r\n }\r\n curr_page_rec_count = event.first + Number(event.rows);\r\n page_to_get = curr_page_rec_count / 50;\r\n page_to_get = Math.ceil(page_to_get);\r\n start_number = ((event.first > 40) ? (event.first - (50 * (page_to_get - 1))) : event.first);\r\n this.startpage = start_number;\r\n this.hcsLocalNoOfPageRecords = Number(event.rows);\r\n }\r\n\r\n var source_obj: any = {};\r\n\r\n if (grid_source == \"ClinicDetails\" || grid_source == \"ClinicDM\" || grid_source == \"ClinicStore\") {\r\n source_obj = this.hcsClinicsSource;\r\n } else if (grid_source == \"LocalLeads\" || grid_source == \"LocalLeadsDM\" || grid_source == \"AssignedLocalLeads\") {\r\n source_obj = this.hcsLocalLeadsSource;\r\n }\r\n else if (grid_source == \"CancelClinic\") {\r\n source_obj = this.cancelClinicSourceList;\r\n } else if (grid_source == \"PriorityOpportunities\") {\r\n //if the page count is greater than equal 2, otherwise keep the original logic\r\n if (event.first >=50 && page_to_get >= 2) {\r\n start_number = event.first; \r\n }\r\n this.startpage = start_number;\r\n source_obj = this.priorityOppourtinitesSource;\r\n }\r\n if (tab_index == 0 && (grid_source == \"ClinicDetails\" || grid_source == \"LocalLeads\")) {\r\n let page_idx = (event.first / event.rows);\r\n this.getDataFromServer(grid_source, tab_index, start_number, page_idx);\r\n }\r\n else {\r\n if (source_obj.pageIndex != (page_to_get) && source_obj != this.priorityOppourtinitesSource) {\r\n if (source_obj.pageIndex != undefined) {\r\n let page_idx = page_to_get;\r\n this.getDataFromServer(grid_source, tab_index, start_number, page_idx);\r\n }\r\n } else {\r\n switch (grid_source) {\r\n case \"ClinicDetails\":\r\n this.HCSClinicDetails = this.hcsClinicsSource.clinicList.slice(start_number, (start_number + Number(event.rows)));\r\n break;\r\n case \"ClinicDM\":\r\n this.HCSClinicDM = this.hcsClinicsSource.clinicList.slice(start_number, (start_number + Number(event.rows)));\r\n break;\r\n case \"ClinicStore\":\r\n this.HCSClinicStore = this.hcsClinicsSource.clinicList.slice(start_number, (start_number + Number(event.rows)));\r\n break;\r\n case \"LocalLeads\":\r\n this.HCSLocalLeads = this.hcsLocalLeadsSource.opportunitiesList.slice(start_number, (start_number + Number(event.rows)));\r\n break;\r\n case \"LocalLeadsDM\":\r\n this.HCSLocalLeadsDM = this.hcsLocalLeadsSource.opportunitiesList.slice(start_number, (start_number + Number(event.rows)));\r\n break;\r\n case \"AssignedLocalLeads\":\r\n this.HCSAssignedLocalLeads = this.hcsLocalLeadsSource.opportunitiesList.slice(start_number, (start_number + Number(event.rows)));\r\n break;\r\n case \"CancelClinic\":\r\n this.cancelClinicList = this.cancelClinicSourceList.clinicList.slice(start_number, (start_number + Number(event.rows)));\r\n break;\r\n case \"PriorityOpportunities\":\r\n this.priorityOppourtinitesList = this.priorityOppourtinitesSource.opportunitiesList.slice(start_number, (start_number + Number(event.rows)))\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n getDataFromServer(grid_source: string, tab_index: number, start_number: number, page_index) {\r\n switch (grid_source) {\r\n case \"ClinicDetails\":\r\n case \"ClinicDM\":\r\n case \"ClinicStore\":\r\n case \"CancelClinic\":\r\n this.getAssignedToHCS(tab_index, start_number, page_index/*(page_to_get - 1)*/);\r\n break;\r\n case \"LocalLeads\":\r\n case \"LocalLeadsDM\":\r\n case \"AssignedLocalLeads\":\r\n this.getLocalLeads(tab_index, start_number, page_index/*(page_to_get - 1)*/);\r\n //this.getAssignedToHCS(tab_index, start_number, (page_to_get - 1));\r\n break;\r\n case \"PriorityOpportunities\":\r\n this.getPriorityOpportunities(tab_index, start_number, page_index);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n }\r\n\r\n getActionItemsCounts() {\r\n this.spinner.show();\r\n let startTime: Date = new Date();\r\n this._opportunityService.getActionItemsCounts(this.user_profile.userPk, SessionDetails.GetStoreId()).subscribe((hcsdata:any) => {\r\n let endTime: Date = new Date();\r\n this.HCSAction = hcsdata;\r\n SessionDetails.setHCSActionItemsList(this.HCSAction);\r\n this.spinner.hide();\r\n },\r\n error => {\r\n console.error(\"Error in fetching data\", error);\r\n });\r\n\r\n }\r\n getMetricsCount() {\r\n this.spinner.show();\r\n let startTime: Date = new Date();\r\n //console.log(String.Format(\"Started calling get metrics counts at {0}:{1}:{2}:{3}\", startTime.getHours(), startTime.getMinutes(), startTime.getSeconds(), startTime.getMilliseconds()));\r\n\r\n this._opportunityService.getMetricsCounts(this.user_profile.userPk).subscribe((metrics:any) => {\r\n let endTime: Date = new Date();\r\n //console.log(String.Format(\"Ending get get metrics counts at {0}:{1}:{2}:{3}\", endTime.getHours(), endTime.getMinutes(), endTime.getSeconds(), endTime.getMilliseconds()));\r\n\r\n this.HCSMetrics = metrics.dataList;\r\n SessionDetails.setHCSMetricsList(this.HCSMetrics);\r\n\r\n this.spinner.hide();\r\n },\r\n error => {\r\n console.error(\"Error in fetching data\", error);\r\n });\r\n\r\n }\r\n getPCADashboardSnapshot() {\r\n this.spinner.show();\r\n this._opportunityService.getPCADashboardSnapshot(this.user_profile.userPk, SessionDetails.GetStoreId()).subscribe((hcsdata:any) => {\r\n this.PCAActionItems = hcsdata.actionItemCountsList;\r\n this.PCAMetrics = hcsdata.metricCounts.dataList;\r\n SessionDetails.setPCAActionItemsList(this.PCAActionItems);\r\n SessionDetails.setPCAMetricsList(this.PCAMetrics);\r\n this.spinner.hide();\r\n }); \r\n }\r\n\r\n formatter = (result: any) => result.storeId + \" - \" +\r\n result.address + \", \" + result.city + \",\"\r\n + result.state + \" \" + result.zip || '';\r\n\r\n search = (text$: Observable) =>\r\n text$.pipe(\r\n debounceTime(400),\r\n distinctUntilChanged(),\r\n tap(() => this.searching = true),\r\n switchMap(term =>\r\n this._headerservice.storeSearch(this.user_profile.userPk, term.trim(), 0).pipe(\r\n tap(() => {\r\n }),\r\n catchError(() => {\r\n return observableOf([]);\r\n }),)),\r\n tap(() => this.searching = false),);\r\n\r\n globalSearch() {\r\n\r\n }\r\n rowSelect() {\r\n\r\n }\r\n // onClinicSelect(assigned_to, value, selected_value) {\r\n // this.HCSClinicDetails = this.HCSClinicDetailsFilter.filter(item => item.clinicType == selected_value);\r\n // }\r\n onSelect(assigned_to, value, selected_value) {\r\n this.selectedDataList = [];\r\n this.spinner.show();\r\n var dashboard = new DashBoard();\r\n dashboard.clinicList = [];\r\n dashboard.userPk = this.user_profile.userPk;\r\n dashboard.assignedTo = assigned_to;\r\n dashboard.pageIndex = 0;\r\n dashboard.filterBy = this.search_HCS_value = value;\r\n dashboard.filterById = this.search_from_list = value.toLowerCase() == \"store\" ? selected_value.item.storeId : selected_value;\r\n dashboard.searchByValue = this.searchValue;\r\n this.search_from_list = this.search_from_list == \"\" ? this.searchValue : this.search_from_list;\r\n dashboard.sortByField = this.scheduledClinicsSortBy;\r\n dashboard.totalCount = 0;\r\n dashboard.startIndex = 0;\r\n dashboard.finalIndex = 0;\r\n dashboard.sortOrder = true;\r\n if (assigned_to == 0) {\r\n dashboard.noOfRecordsInPage = this.hcsClinicNoOfPageRecords;\r\n } else {\r\n dashboard.noOfRecordsInPage = 50;\r\n }\r\n this._opportunityService.getHCSClinicDetails(dashboard).subscribe((hcsclinicDetail) => {\r\n this.hcsClinicTotalRecords = hcsclinicDetail.totalCount;\r\n this.hcsClinicsSource = hcsclinicDetail;\r\n if (assigned_to == 0) {\r\n this.hcs_clinic_details = false;\r\n this.hcs_clinic_details_search = true;\r\n this.bulkAction_hcs = false;\r\n //this.HCSClinicDetails = hcsclinicDetail.clinicList.slice(0, (0 + 10));\r\n //this.HCSClinicDetails = hcsclinicDetail.clinicList.slice(0, (0 + this.hcsClinicNoOfPageRecords));\r\n this.HCSClinicDetails = hcsclinicDetail.clinicList;\r\n if (this.HCSClinicDetails.length > 0) {\r\n if (this.dataTableClinic != undefined) {\r\n this.dataTableClinic.first = 0;\r\n this.dataTableClinic.changePage;\r\n }\r\n this.bulkAction_hcs = true;\r\n this.hcs_clinic_details = true;\r\n }\r\n }\r\n else if (assigned_to == 1) {\r\n this.hcs_clinic_DM = false;\r\n this.hcs_clinic_DM_search = true;\r\n this.bulkAction_dm = false;\r\n this.HCSClinicDM = hcsclinicDetail.clinicList.slice(0, (0 + 10));\r\n if (this.HCSClinicDM.length > 0) {\r\n if (this.dataTableClinic_DM != undefined) {\r\n this.dataTableClinic_DM.first = 0;\r\n this.dataTableClinic_DM.changePage;\r\n }\r\n this.bulkAction_dm = true;\r\n this.hcs_clinic_DM = true;\r\n }\r\n }\r\n else if (assigned_to == 2) {\r\n this.hcs_clinic_store = false;\r\n this.hcs_clinic_store_search = true;\r\n this.bulkAction_store = false;\r\n this.HCSClinicStore = hcsclinicDetail.clinicList.slice(0, (0 + 10));\r\n if (this.HCSClinicStore.length > 0) {\r\n if (this.dataTableClinic_store != undefined) {\r\n this.dataTableClinic_store.first = 0;\r\n this.dataTableClinic_store.changePage;\r\n }\r\n this.bulkAction_store = true;\r\n this.hcs_clinic_store = true;\r\n }\r\n }\r\n\r\n this.spinner.hide();\r\n },\r\n error => {\r\n console.error(\"Error in fetching data\", error);\r\n });\r\n }\r\n onChange(index, reassignVal) {\r\n this.search_from_list = \"\";\r\n this.search_HCS_value = \"\";\r\n this.ariaV = false;\r\n this.storeV = false;\r\n this.distV = false;\r\n this.regionV = false;\r\n if (reassignVal.toLowerCase() == \"store\") {\r\n this.storeV = true;\r\n this.distV = false;\r\n this.ariaV = false;\r\n this.regionV = false;\r\n }\r\n if (reassignVal.toLowerCase() == \"district\") {\r\n this.distV = true;\r\n this.storeV = false;\r\n this.ariaV = false;\r\n this.regionV = false;\r\n }\r\n if (reassignVal.toLowerCase() == \"area\") {\r\n this.ariaV = true;\r\n this.storeV = false;\r\n this.distV = false;\r\n this.regionV = false;\r\n }\r\n if (reassignVal.toLowerCase() == \"region\") {\r\n this.clinicType = false;\r\n this.ariaV = false;\r\n this.storeV = false;\r\n this.distV = false;\r\n this.regionV = true;\r\n }\r\n\r\n if (reassignVal.toLowerCase() == \"clinic type\") {\r\n this.clinicType = true;\r\n this.ariaV = false;\r\n this.storeV = false;\r\n this.distV = false;\r\n this.regionV = false;\r\n\r\n }\r\n this.area_dist = [];\r\n if (reassignVal != \"\") {\r\n\r\n this.coClinicdetailsService.getAreaDist(reassignVal,0).subscribe(data => {\r\n\r\n let dataList = data;//JSON.parse(data._body)\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.area_dist.push({ key: keyValue, value: valueData })\r\n }\r\n });\r\n }\r\n else {\r\n if (index == 0)\r\n this.getAssignedToHCS(0, 0, 0);\r\n else if (index == 1)\r\n this.getAssignedToHCS(1, 0, 0);\r\n else if (index == 2)\r\n this.getAssignedToHCS(2, 0, 0);\r\n else if (index == 3)\r\n this.getAssignedToHCS(3, 0, 0);\r\n }\r\n }\r\n\r\n onLocalChange(index, reassignVal) {\r\n this.search_local_value = \"\";\r\n this.search_from_list_local = \"\";\r\n this.aria_local = false;\r\n this.store_local = false;\r\n this.dist_local = false;\r\n this.region_local = false;\r\n if (reassignVal.toLowerCase() == \"store\") {\r\n this.store_local = true;\r\n this.dist_local = false;\r\n this.aria_local = false;\r\n this.region_local = false;\r\n }\r\n if (reassignVal.toLowerCase() == \"district\") {\r\n this.dist_local = true;\r\n this.store_local = false;\r\n this.aria_local = false;\r\n this.region_local = false;\r\n }\r\n if (reassignVal.toLowerCase() == \"area\") {\r\n this.aria_local = true;\r\n this.store_local = false;\r\n this.dist_local = false;\r\n this.region_local = false;\r\n }\r\n if (reassignVal.toLowerCase() == \"region\") {\r\n this.aria_local = false;\r\n this.store_local = false;\r\n this.dist_local = false;\r\n this.region_local = true;\r\n }\r\n this.area_dist = [];\r\n if (reassignVal != \"\") {\r\n \r\n this.coClinicdetailsService.getAreaDist(reassignVal,0).subscribe(data => {\r\n let dataList = data;//JSON.parse(data._body)\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.area_dist.push({ key: keyValue, value: valueData })\r\n }\r\n });\r\n }\r\n else {\r\n if (index == 0)\r\n this.getLocalLeads(1, 0, 1);\r\n else if (index == 1)\r\n this.getLocalLeads(2, 0, 1);\r\n else if (index == 2)\r\n this.getLocalLeads(3, 0, 1);\r\n else if (index == 3)\r\n this.getLocalLeads(0, 0, 1);\r\n }\r\n }\r\n clearFilter(index) {\r\n this.selectOptionLocal = \"\"; \r\n this.search_local_value = \"\";\r\n this.search_from_list_local = \"\";\r\n this.aria_local = false;\r\n this.store_local = false;\r\n this.dist_local = false;\r\n this.region_local = false;\r\n this.getLocalLeads(index, 0, 1);\r\n }\r\n\r\n storeSearchHCS() {\r\n this.showVarHCS = !this.showVarHCS; \r\n setTimeout(() => {\r\n this.clinicsEleRef.nativeElement.focus();\r\n }, 100);\r\n }\r\n searchGlobal() {\r\n this.selectedDataList = [];\r\n this.search_value = this.searchValue;\r\n var dashboard = new DashBoard();\r\n dashboard.clinicList = [];\r\n dashboard.userPk = this.user_profile.userPk;\r\n dashboard.assignedTo = this.page_index;\r\n dashboard.pageIndex = 0;\r\n dashboard.filterBy = \"\";\r\n dashboard.filterById = \"\";\r\n dashboard.searchByValue = this.searchValue;\r\n dashboard.sortByField = this.scheduledClinicsSortBy;\r\n dashboard.totalCount = 0;\r\n dashboard.startIndex = 0;\r\n dashboard.finalIndex = 0;\r\n dashboard.sortOrder = true;\r\n this.spinner.show();\r\n if (this.page_index == 0) {\r\n dashboard.noOfRecordsInPage = this.hcsClinicNoOfPageRecords;\r\n } else {\r\n dashboard.noOfRecordsInPage = 50;\r\n }\r\n this._opportunityService.getHCSClinicDetails(dashboard).subscribe((hcsclinicDetail) => {\r\n this.hcsClinicTotalRecords = hcsclinicDetail.totalCount;\r\n this.hcsClinicsSource = hcsclinicDetail;\r\n if (this.page_index == 0) {\r\n this.bulkAction_hcs = false;\r\n this.hcs_clinic_details = false;\r\n this.hcs_clinic_details_search = false;\r\n //this.HCSClinicDetails = hcsclinicDetail.clinicList.slice(0, (0 + 10));\r\n //this.HCSClinicDetails = hcsclinicDetail.clinicList.slice(0, (0 + this.hcsClinicNoOfPageRecords));\r\n this.HCSClinicDetails = hcsclinicDetail.clinicList;\r\n if (this.HCSClinicDetails.length > 0) {\r\n if (this.dataTableClinic != undefined) {\r\n this.dataTableClinic.first = 0;\r\n this.dataTableClinic.changePage;\r\n }\r\n this.bulkAction_hcs = true;\r\n this.hcs_clinic_details = true;\r\n this.hcs_clinic_details_search = true;\r\n }\r\n }\r\n else if (this.page_index == 1) {\r\n this.bulkAction_dm = false;\r\n this.hcs_clinic_DM = false;\r\n this.hcs_clinic_DM_search = false;\r\n this.HCSClinicDM = hcsclinicDetail.clinicList.slice(0, (0 + 10));\r\n if (this.HCSClinicDM.length > 0) {\r\n if (this.dataTableClinic_DM != undefined) {\r\n this.dataTableClinic_DM.first = 0;\r\n this.dataTableClinic_DM.changePage;\r\n }\r\n this.bulkAction_dm = true;\r\n this.hcs_clinic_DM = true;\r\n this.hcs_clinic_DM_search = true;\r\n }\r\n }\r\n else if (this.page_index == 2) {\r\n this.bulkAction_store = false;\r\n this.hcs_clinic_store = false;\r\n this.hcs_clinic_store_search = false;\r\n this.HCSClinicStore = hcsclinicDetail.clinicList.slice(0, (0 + 10));\r\n if (this.HCSClinicStore.length > 0) {\r\n if (this.dataTableClinic_store != undefined) {\r\n this.dataTableClinic_store.first = 0;\r\n this.dataTableClinic.changePage;\r\n }\r\n this.bulkAction_store = true;\r\n this.hcs_clinic_store = true;\r\n this.hcs_clinic_store_search = true;\r\n }\r\n }\r\n\r\n // else if (this.page_index == 3) {\r\n // this.bulkAction_cancel = false;\r\n // this.hcs_clinic_cancel = false;\r\n // this.HCSClinicStore = hcsclinicDetail.clinicList;\r\n // if (this.HCSClinicStore.length > 0) {\r\n // if (this.dataTableClinic_store != undefined) {\r\n // this.dataTableClinic_store.first = 0;\r\n // this.dataTableClinic.changePage;\r\n // }\r\n // this.bulkAction_cancel = true;\r\n // this.hcs_clinic_cancel = true;\r\n // }\r\n // }\r\n\r\n this.spinner.hide();\r\n },\r\n error => {\r\n console.error(\"Error in fetching data\", error);\r\n });\r\n\r\n }\r\n\r\n changeCheck() {\r\n\r\n }\r\n paginate(event) {\r\n let pageIndex = event.first / Number(event.rows) + 1;\r\n // this.page_index_sort = pageIndex;\r\n //this.loadDataLazy(event, \"ClinicDetails\", 0, true);\r\n }\r\n onRowSelect(event) {\r\n\r\n }\r\n searchLocalLeads() {\r\n this.selectedLocalList = [];\r\n var localLeads = new LocalLeads();\r\n localLeads.opportunitiesList = [];\r\n localLeads.userPk = this.user_profile.userPk;\r\n localLeads.assignedTo = this.page_index;\r\n localLeads.pageIndex = 1;\r\n localLeads.filterBy = \"\";\r\n localLeads.filterById = \"\";\r\n localLeads.searchByValue = this.searchLocalValue;\r\n localLeads.sortByField = this.localLeadsSortBy\r\n localLeads.totalCount = 0;\r\n localLeads.startIndex = 0;\r\n localLeads.finalIndex = 0;\r\n this.spinner.show();\r\n if( this.page_index == 3) {\r\n this.getPriorityOpportunities(this.page_index, 0, 1);\r\n return;\r\n }\r\n if (this.page_index == 0) {\r\n localLeads.noOfRecordsInPage = this.hcsLocalNoOfPageRecords;\r\n } else {\r\n localLeads.noOfRecordsInPage = 50\r\n }\r\n this._opportunityService.getLocalLeads(localLeads).subscribe((localLeadsData) => {\r\n\r\n this.HCSLocalLeads = [];\r\n this.hcsLocalLeadsSource = localLeadsData;\r\n this.hcsLocalTotalRecords = localLeadsData.totalCount;\r\n if (this.page_index == 0) {\r\n this.bulkAction_local_hcs = false;\r\n this.hcs_local_details = false;\r\n this.hcs_local_details_search = false;\r\n //this.HCSLocalLeads = localLeadsData.opportunitiesList;\r\n //this.HCSLocalLeads = localLeadsData.opportunitiesList.slice(0, (0 + 10));\r\n //this.HCSLocalLeads = localLeadsData.opportunitiesList.slice(0, (0 + this.hcsLocalNoOfPageRecords));\r\n this.HCSLocalLeads = localLeadsData.opportunitiesList;\r\n if (this.HCSLocalLeads.length > 0) {\r\n if (this.dataTable != undefined) {\r\n this.dataTable.first = 0;\r\n this.dataTable.changePage;\r\n }\r\n this.bulkAction_local_hcs = true;\r\n this.hcs_local_details = true;\r\n this.hcs_local_details_search = true;\r\n }\r\n } else if (this.page_index == 1) {\r\n this.HCSLocalLeadsDM = [];\r\n this.bulkAction_local_dm = false;\r\n this.hcs_local_DM = false;\r\n this.hcs_local_DM_search = false;\r\n this.opptoDMrowsPerPage = this.assignedtoDMSelectedRowCount != null ? this.assignedtoDMSelectedRowCount : 10;\r\n this.HCSLocalLeadsDM = localLeadsData.opportunitiesList.slice(0, (0 + this.opptoDMrowsPerPage));\r\n if (this.HCSLocalLeadsDM.length > 0) {\r\n if (this.dataTable_DM != undefined) {\r\n this.dataTable_DM.first = 0;\r\n this.dataTable_DM.changePage;\r\n }\r\n this.bulkAction_local_dm = true;\r\n this.hcs_local_DM = true;\r\n this.hcs_local_DM_search = true;\r\n }\r\n }\r\n else if (this.page_index == 2) {\r\n this.HCSAssignedLocalLeads = [];\r\n this.bulkAction_local_store = false;\r\n this.hcs_local_store = false;\r\n this.hcs_local_store_search = false;\r\n this.assignedOpprowsPerPage = this.assignedSelectedRowCount != null ? this.assignedSelectedRowCount : 10;\r\n this.HCSAssignedLocalLeads = localLeadsData.opportunitiesList.slice(0, (0 + this.assignedOpprowsPerPage));\r\n if (this.HCSAssignedLocalLeads.length > 0) {\r\n if (this.dataTable_store != undefined) {\r\n this.dataTable_store.first = 0;\r\n this.dataTable_store.changePage;\r\n }\r\n this.bulkAction_local_store = true;\r\n this.hcs_local_store = true;\r\n this.hcs_local_store_search = true;\r\n }\r\n\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n storeSearchHCSLocal() {\r\n this.showVarHCSLocal = !this.showVarHCSLocal; \r\n setTimeout(() => {\r\n this.opportunitiesEleRef.nativeElement.focus();\r\n }, 100);\r\n }\r\n onClickedOutside(e: Event) {\r\n this.showVarHCS = false;\r\n }\r\n onClickedOutsidee(e: Event) {\r\n this.showVarHCSLocal = false;\r\n }\r\n showDialog() {\r\n this.displaySE = true;\r\n }\r\n showDialogClinic(clinicLatitude, clinicLongitude, district_number, area_number, clinic_pk, clinic_type,\r\n store_id, is_clinic, out_reach_business_pk, outreachStatusId, currentSelectedRowItem: any, selectedTabValue?: string) {\r\n this.clinicLatitude = clinicLatitude;\r\n this.clinicLongitude = clinicLongitude;\r\n this.bulk_submit = false;\r\n this.clinic_type = clinic_type;\r\n this.default_store_id = store_id;\r\n this.store_number = this.defaultStore = store_id;\r\n this.district_number = district_number;\r\n this.area_number = area_number;\r\n this.business_pk = clinic_pk;\r\n this.displayClinic = true;\r\n this.is_clinic = is_clinic;\r\n this.out_reach_business_pk = out_reach_business_pk;\r\n this.out_reach_status_id = outreachStatusId;\r\n this.selectedTab = selectedTabValue ? selectedTabValue : \"\";\r\n if (!is_clinic) {\r\n this.currentSelectedRowItem = null;\r\n this._headerservice.getStoresProfile(this.userProfile.userPk, store_id, null).subscribe((res:any) => {\r\n this.currentSelectedRowItem = res.data[0];\r\n });\r\n }\r\n else {\r\n this.currentSelectedRowItem = currentSelectedRowItem;\r\n }\r\n }\r\n showLocalDialog() {\r\n this.displayLocal = true;\r\n }\r\n // DlgReassignToHCS() {\r\n // this.defaultStore = null;\r\n // this.areaList = [];\r\n // this.storeList = [];\r\n // this.reassign_to_hcs = true;\r\n // this._dashboardservice.getClosestStore(this.user_profile.userPk, this.area_number, this.business_pk, this.is_clinic, this.reassign_to_hcs).subscribe((data:any) => {\r\n // this.defaultAreaNumber = this.area_number;\r\n // this.areaList = data.districtList;\r\n // this.storeList = data.storeList;\r\n // // if (this.page_index == 2 && this.is_clinic == true) {\r\n // // this.storeList.push({ storeAddress: \"Cancelled Clinic\", storeId: -1 });\r\n // // }\r\n // if (this.storeList.length > 0) {\r\n // this.defaultStore = this.store_number;\r\n // this.store_number = this.storeList[0].storeId;\r\n // }\r\n // });\r\n // this.displayClinic = false;\r\n // this.dispDlgReassignToHCS = true;\r\n // }\r\n showDialogclinicHCSInfo() {\r\n this.clinicHCSInfo = !this.clinicHCSInfo;\r\n }\r\n showDialogLocalInfo() {\r\n this.LocalOpportunitiesInfo = !this.LocalOpportunitiesInfo;\r\n }\r\n\r\n DlgReassign() {\r\n this.defaultStore = null;\r\n this.reassign_to_hcs = false;\r\n this.districtList = [];\r\n this.storeList = [];\r\n\r\n this._dashboardservice.getClosestStore(this.user_profile.userPk, this.district_number, this.business_pk, this.is_clinic, this.reassign_to_hcs).subscribe((data:any) => {\r\n this.defaultDistrict = this.district_number;\r\n this.districtList = data.districtList;\r\n this.storeList = data.storeList;\r\n // if (this.page_index == 2 && this.is_clinic == true) {\r\n // this.storeList.push({ storeAddress: \"Cancelled Clinic\", storeId: -1 });\r\n // }\r\n if (this.storeList.length > 0) {\r\n this.defaultStore = this.store_number;\r\n this.store_number = this.storeList[0].storeId;\r\n }\r\n });\r\n this.displayClinic = false;\r\n this.dispDlgReassign = true;\r\n }\r\n SetTabHCS(e) {\r\n this.sorting = \"\";\r\n this.searchValue = \"\";\r\n this.selectOption = \"\";\r\n this.search_from_list = \"\";\r\n this.search_HCS_value = \"\";\r\n this.ariaV = false;\r\n this.storeV = false;\r\n this.distV = false;\r\n this.regionV = false;\r\n var index = this.HCSTab == false ? e.index + 1 : e.index;\r\n this.page_index = index;\r\n if (index == \"0\") {\r\n this.HCSInfoVisible = true;\r\n this.DMInfoVisible = false;\r\n this.StoreInfoVisible = false;\r\n this.CancelInfoVisible = false;\r\n this.getAssignedToHCS(index, 0, 0);\r\n }\r\n else if (index == \"1\") {\r\n this.HCSInfoVisible = false;\r\n this.DMInfoVisible = true;\r\n this.StoreInfoVisible = false;\r\n this.CancelInfoVisible = false;\r\n this.getAssignedToHCS(index, 0, 0);\r\n }\r\n else if (index == \"2\") {\r\n this.HCSInfoVisible = false;\r\n this.DMInfoVisible = false;\r\n this.StoreInfoVisible = true;\r\n this.CancelInfoVisible = false;\r\n this.getAssignedToHCS(index, 0, 0);\r\n }\r\n else if (index == \"3\") {\r\n this.HCSInfoVisible = false;\r\n this.DMInfoVisible = false;\r\n this.StoreInfoVisible = false;\r\n this.CancelInfoVisible = true;\r\n this.getAssignedToHCS(index, 0, 0);\r\n }\r\n\r\n }\r\n SetTabLocal(e) {\r\n this.search_local_value = \"\";\r\n this.search_from_list_local = \"\";\r\n this.searchLocalValue = \"\";\r\n this.selectOptionLocal = \"\";\r\n this.aria_local = false;\r\n this.store_local = false;\r\n this.dist_local = false;\r\n this.region_local = false;\r\n this.startpage = 0;\r\n this.localLeadsSortBy = \"storeId\";\r\n var index = this.HCSTab == false ? e?.originalEvent?.target?.innerText !=\"Priority Opportunities to be Contacted\" ? e.index + 1 : '3' : e?.originalEvent?.target?.innerText !=\"Priority Opportunities to be Contacted\" ? e.index - 1 : '3';\r\n this.page_index = index;\r\n this.localOpportunitiesActiveIndex = e.index;\r\n if (index == \"0\") {\r\n this.UnassignLocalInfoVisible = true;\r\n this.LocalDistrictInfoVisible = false;\r\n this.AssignedLocalInfoVisible = false;\r\n this.unassignedrowsPerPage = this.unassignedSelectedRowCount != null ? this.unassignedSelectedRowCount : 10;\r\n this.tableUnassignedRef.reset();\r\n this.tableUnassignedRef.sortField = 'storeId';\r\n this.getLocalLeads(index, 0, 1);\r\n }\r\n else if (index == \"1\") {\r\n this.UnassignLocalInfoVisible = false;\r\n this.LocalDistrictInfoVisible = true;\r\n this.AssignedLocalInfoVisible = false;\r\n this.opptoDMrowsPerPage = this.assignedtoDMSelectedRowCount != null ? this.assignedtoDMSelectedRowCount : 10;\r\n this.tableAssignedDMRef.reset();\r\n this.tableAssignedDMRef.sortField = 'storeId';\r\n this.getLocalLeads(index, 0, 1);\r\n }\r\n else if (index == \"2\") {\r\n this.UnassignLocalInfoVisible = false;\r\n this.LocalDistrictInfoVisible = false;\r\n this.AssignedLocalInfoVisible = true;\r\n this.assignedOpprowsPerPage = this.assignedSelectedRowCount != null ? this.assignedSelectedRowCount : 10;\r\n this.tableAssignedStoreRef.reset();\r\n this.tableAssignedStoreRef.sortField = 'storeId';\r\n this.getLocalLeads(index, 0, 1);\r\n } else if(index == \"3\" && e?.originalEvent?.target?.innerText ==\"Priority Opportunities to be Contacted\"){\r\n this.UnassignLocalInfoVisible = false;\r\n this.LocalDistrictInfoVisible = false;\r\n this.AssignedLocalInfoVisible = false;\r\n this.table_PriorityRef.reset();\r\n this.table_PriorityRef.sortField = 'storeId';\r\n this.getPriorityOpportunities(index, 0, 1);\r\n }\r\n }\r\n onDistrictSelect(disrict_value, check_value = false) {\r\n\r\n this.reassign_to_hcs = false;\r\n this.district_number = disrict_value;\r\n if (check_value) {\r\n this.storeList = [];\r\n this._dashboardservice.getClosestStore(this.user_profile.userPk, disrict_value, this.business_pk == undefined ? -1 : this.business_pk, this.is_clinic, this.reassign_to_hcs).subscribe((data:any) => {\r\n this.storeList = data.storeList;\r\n if (this.storeList.length > 0)\r\n this.store_number = this.defaultStore = this.storeList[0].storeId;\r\n this.currentDestinationStoreAddress = this.storeList.filter(s => s.storeId == this.store_number)[0].storeAddress;\r\n });\r\n this.displayClinic = false;\r\n this.dispDlgReassign = true;\r\n this.dispDlgReassignToHCS = false;\r\n }\r\n }\r\n onAreaSelect(area_number, check_value = false) {\r\n\r\n this.area_number = area_number;\r\n if (check_value) {\r\n this.storeList = [];\r\n this._dashboardservice.getClosestStore(this.user_profile.userPk, area_number, this.business_pk == undefined ? -1 : this.business_pk, this.is_clinic, this.reassign_to_hcs).subscribe((data:any) => {\r\n this.storeList = data.storeList;\r\n if (this.storeList.length > 0)\r\n this.store_number = this.defaultStore = this.storeList[0].storeId;\r\n this.currentDestinationStoreAddress = this.storeList.filter(s => s.storeId == this.store_number)[0].storeAddress;\r\n });\r\n this.displayClinic = false;\r\n this.dispDlgReassign = false;\r\n this.dispDlgReassignToHCS = true;\r\n }\r\n }\r\n onStoreSelect(store_number) {\r\n this.store_number = store_number;\r\n this.currentDestinationStoreAddress = this.storeList.filter(s => s.storeId == this.store_number)[0].storeAddress;\r\n }\r\n bulkSubmitClinics(is_override?: boolean) {\r\n this.selected_data_list = [];\r\n var clinic_assignment = new ClinicAssignment();\r\n clinic_assignment.clinicList = new Array();\r\n var obj = new ClinicList();\r\n var clinic_assignment = new ClinicAssignment();\r\n this.spinner.show();\r\n if (this.selectedDataList.length > 0) {\r\n for (let i = 0; i < this.selectedDataList.length; i++) {\r\n obj = new ClinicList();\r\n obj.clinicPk = this.selectedDataList[i].clinicPk;\r\n obj.clinicType = this.selectedDataList[i].clinicType;\r\n obj.latitude = this.selectedDataList[i].clinicLatitude;\r\n obj.longitude = this.selectedDataList[i].clinicLongitude;\r\n obj.oldStoreId = this.selectedDataList[i].storeId;\r\n if (this.bulk_action_value == 5)\r\n obj.locationId = null;\r\n else\r\n if (this.page_index == 2 && this.is_clinic == true) {\r\n obj.locationId = this.reassign_to_hcs == true ? this.selectedDataList[i].areaNumber : this.selectedDataList[i].districtNumber;//this.reassign_to_hcs == true ? this.area_number : this.district_number;\r\n }\r\n else {\r\n obj.locationId = this.reassign_to_hcs == true ? this.area_number : this.district_number;\r\n\r\n }\r\n\r\n if (this.page_index_value == 1)\r\n obj.storeId = this.store_number;\r\n\r\n else\r\n obj.storeId = this.selectedDataList[i].storeId;\r\n obj.isCanceled = 0;\r\n obj.dateAdded = new Date();\r\n this.currentSelectedRowItem = this.selectedDataList[i];\r\n if (this.bulk_action_value == 1 && !this.validateRestrictedStatesReassignment()) {\r\n this.dialogSummary = \"Alert\";\r\n this.successMessage = this.is_clinic && this.currentDestinationStoreAddress.split(', ')[2].split(' ')[0] == \"DC\" ? String.Format(ErrorMessages['restrictedStates'], \"Columbia \", \"15\") : String.Format(ErrorMessages['restrictedStates'], \"Missouri \", \"20\")\r\n this.successDistStore = true;\r\n\r\n return;\r\n }\r\n this.selected_data_list.push(obj);\r\n }\r\n }\r\n clinic_assignment.userPk = this.user_profile.userPk;\r\n clinic_assignment.updateAction = this.page_index_value;\r\n clinic_assignment.assignedTo = this.page_index;\r\n clinic_assignment.errorS = null;\r\n clinic_assignment.totalS = 0;\r\n clinic_assignment.clinicList = this.selected_data_list;\r\n\r\n this._dashboardservice.updateClinicAssignment(clinic_assignment, is_override).subscribe((data:any) => {\r\n if (data.errorS != null && data.errorS.length > 0) {\r\n if (data.errorS.length > 0 && data.errorS[0].ErrorCode != 0) {\r\n this.dispDlgReassign = false;\r\n this.dispDlgReassignToHCS = false;\r\n this.bulkDisplayStoredlg = false;\r\n this.BulkdispDlgReassignToHCS = false;\r\n this.BulkdispDlgReassignToHCSStoreTab = false;\r\n this.displayStoredlg = false;\r\n this.errMsgV1 = [];\r\n let error_4_msg: any = [];\r\n this.spinner.hide();\r\n data.errorS.forEach(element => {\r\n if (element.errorCode == -4) {\r\n error_4_msg.push(String.Format(ErrorMessages['dashBoardOverlapErrorMessage'], element.errorMessage.split(\"<\")[1],\r\n element.errorMessage.split(\"<\")[5], element.errorMessage.split(\"<\")[2], element.errorMessage.split(\"<\")[3],\r\n element.errorMessage.split(\"<\")[4], element.errorMessage.split(\"<\")[0].replace(\"|\", \"\").trim()));\r\n }\r\n else if (element.errorCode == -5) {\r\n let clinicList: any = element.errorMessage.split('|');\r\n let errorString: string = \"\";\r\n for (let index = 1; index < clinicList.length; index++) {\r\n errorString += clinicList[index];\r\n }\r\n errorString = errorString.trim();\r\n this.dialogSummary = \"Warning\";\r\n this.errMsgV1.push(String.Format(ErrorMessages['DashboardReassignmentWarning'], errorString));\r\n }\r\n else {\r\n this.errMsgV1.push(element.errorMessage);\r\n }\r\n });\r\n if (error_4_msg.length > 0) {\r\n this.errorShow = false;\r\n this.confirm(\"Alert\", error_4_msg.join(\"

\"), this.page_index);\r\n return false;\r\n }\r\n else if (this.errMsgV1.length > 0) {\r\n this.errorShow = true;\r\n this.showDialogV2(\"\", this.errMsgV1.join('

'));\r\n return false;\r\n }\r\n return;\r\n }\r\n }\r\n switch (data) {\r\n // case '200':\r\n // this.successDistStore = true;\r\n // this.successMessage = \"Worksite Clinic Store Assignment saved successfully.\";\r\n // break;\r\n default:\r\n this.successDistStore = true;\r\n this.successMessage = \"Worksite Clinic Store Assignment saved successfully.\";\r\n break;\r\n }\r\n this.dispDlgReassign = false;\r\n this.dispDlgReassignToHCS = false;\r\n this.bulkDisplayStoredlg = false;\r\n this.BulkdispDlgReassignToHCS = false;\r\n this.BulkdispDlgReassignToHCSStoreTab = false;\r\n this.displayStoredlg = false;\r\n this.selectedValue = \"\";\r\n this.spinner.hide();\r\n this.getAssignedToHCS(this.page_index, 0, 0);\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n alert('ErrorCode 500 received from Service');\r\n break;\r\n case 400:\r\n alert('Unhandled exception ErrorCode received from Service');\r\n break;\r\n default:\r\n alert('Unhandled exception ErrorCode received from Service');\r\n break;\r\n }\r\n this.dispDlgReassign = false;\r\n this.dispDlgReassignToHCS = false;\r\n this.bulkDisplayStoredlg = false;\r\n this.BulkdispDlgReassignToHCS = false;\r\n this.BulkdispDlgReassignToHCSStoreTab = false;\r\n this.displayStoredlg = false;\r\n this.selectedValue = \"\";\r\n });\r\n // else\r\n // {\r\n // alert('Please select');\r\n // this.selectedValue = \"\";\r\n // this.dispDlgReassign = false;\r\n // this.dispDlgReassignToHCS = false;\r\n // this.bulkDisplayStoredlg = false;\r\n // this.BulkdispDlgReassignToHCS = false;\r\n // this.displayStoredlg = false;\r\n // } \r\n }\r\n\r\n showDialogV2(msgSummary: string, msgDetail: string) {\r\n this.errorMessageShow = msgDetail;\r\n //this.dialogSummary = msgSummary;\r\n this.errorShow = true;\r\n }\r\n submit(page_index, is_override?: boolean) {\r\n if (this.bulk_submit == true) {\r\n if (this.is_clinic == true)\r\n this.bulkSubmitClinics(is_override);\r\n else if (this.is_clinic == false)\r\n this.submitBulkLocalLeads(is_override);\r\n }\r\n else {\r\n if (this.is_clinic == true) {\r\n var clinic_assignment = new ClinicAssignment();\r\n clinic_assignment.clinicList = new Array();\r\n var obj = new ClinicList();\r\n obj.clinicPk = this.business_pk;\r\n obj.clinicType = this.clinic_type;\r\n obj.storeId = this.defaultStore;\r\n obj.isCanceled = this.defaultStore == -1 ? 1 : 0;\r\n obj.dateAdded = new Date();\r\n obj.latitude = this.clinicLatitude;\r\n obj.longitude = this.clinicLongitude;\r\n obj.oldStoreId = this.default_store_id;\r\n\r\n obj.locationId = this.reassign_to_hcs == true ? this.area_number : this.district_number;\r\n\r\n clinic_assignment.userPk = this.user_profile.userPk;\r\n clinic_assignment.updateAction = page_index;\r\n clinic_assignment.assignedTo = this.page_index;\r\n clinic_assignment.errorS = null;\r\n clinic_assignment.totalS = 0;\r\n clinic_assignment.clinicList[0] = obj;\r\n\r\n if (!this.validateRestrictedStatesReassignment()) {\r\n\r\n this.dialogSummary = \"Alert\";\r\n this.successMessage = this.currentDestinationStoreAddress.split(', ')[2].split(' ')[0] == \"DC\" ? String.Format(ErrorMessages['restrictedStates'], \"Columbia \", \"15\") : String.Format(ErrorMessages['restrictedStates'], \"Missouri \", \"20\")\r\n this.successDistStore = true;\r\n\r\n return;\r\n }\r\n this.spinner.show();\r\n\r\n this._dashboardservice.updateClinicAssignment(clinic_assignment, is_override).subscribe((data:any) => {\r\n if (data.errorS != null && data.errorS.length > 0) {\r\n if (data.errorS.length > 0 && data.errorS[0].ErrorCode != 0) {\r\n this.dispDlgReassign = false;\r\n if (data.errorS[0].errorCode == -4) {\r\n let error_msg = String.Format(ErrorMessages['dashBoardOverlapErrorMessage'], data.errorS[0].errorMessage.split(\"<\")[1],\r\n data.errorS[0].errorMessage.split(\"<\")[5], data.errorS[0].errorMessage.split(\"<\")[2], data.errorS[0].errorMessage.split(\"<\")[3],\r\n data.errorS[0].errorMessage.split(\"<\")[4], data.errorS[0].errorMessage.split(\"<\")[0].replace(\"|\", \"\").trim());\r\n //TO Do with confirm service function\r\n this.confirm(\"Alert\", error_msg, page_index);\r\n }\r\n else if (data.errorS[0].errorCode == -5) {\r\n this.errorShow = true;\r\n let clinicList: any = data.errorS[0].errorMessage.split('|');\r\n let errorString: string = \"\";\r\n for (let index = 1; index < clinicList.length; index++) {\r\n errorString += clinicList[index];\r\n }\r\n errorString = errorString.trim();\r\n this.dialogSummary = \"Warning\";\r\n this.errorMessageShow = String.Format(ErrorMessages['DashboardReassignmentWarning'], errorString);\r\n }\r\n else {\r\n this.errorShow = true;\r\n this.errorMessageShow = data.errorS[0].errorMessage;\r\n }\r\n this.spinner.hide();\r\n return;\r\n }\r\n }\r\n switch (data) {\r\n // case '200':\r\n // this.successDistStore = true;\r\n // this.successMessage = \"Worksite Clinic Store Assignment saved successfully.\";\r\n // break;\r\n default:\r\n this.successDistStore = true;\r\n this.successMessage = \"Worksite Clinic Store Assignment saved successfully.\";\r\n break;\r\n }\r\n this.dispDlgReassign = false;\r\n this.getAssignedToHCS(this.page_index, 0, 0);\r\n this.spinner.hide();\r\n });\r\n }\r\n else if (this.is_clinic == false) {\r\n this.localLeadsSave(page_index, is_override);\r\n }\r\n }\r\n }\r\n validateRestrictedStatesReassignment() {\r\n\r\n let returnValue: boolean = true;\r\n let sourceStoreId = this.currentSelectedRowItem.storeId;\r\n\r\n let sourceStoreState = null;\r\n if (!this.is_clinic) {\r\n sourceStoreState = this.currentSelectedRowItem.state;\r\n }\r\n else {\r\n sourceStoreState = this.currentSelectedRowItem.storeAddress.split(', ')[1].split(' ')[0];\r\n }\r\n if (sourceStoreId != this.store_number) {\r\n var selectedStoreState = this.currentDestinationStoreAddress.split(', ')[2].split(' ')[0];\r\n\r\n var itemDate = new Date();\r\n if (this.is_clinic) {\r\n itemDate = new Date(this.currentSelectedRowItem.naClinicDate);\r\n }\r\n if (sourceStoreState == \"MO\") {\r\n if (selectedStoreState.length > 0 && selectedStoreState == \"DC\" && itemDate > new Date(environment.DC_State_From) && itemDate < new Date(environment.DC_State_TO)) {\r\n returnValue = false;\r\n }\r\n }\r\n else if (sourceStoreState == \"DC\") {\r\n if (selectedStoreState.length > 0 && selectedStoreState == \"MO\" && itemDate > new Date(environment.MO_State_From) && itemDate < new Date(environment.MO_State_TO)) {\r\n returnValue = false;\r\n }\r\n }\r\n else if (sourceStoreState != \"MO\" || sourceStoreState != \"DC\") {\r\n if (selectedStoreState.length > 0 && (selectedStoreState == \"MO\" && itemDate > new Date(environment.MO_State_From) && itemDate < new Date(environment.MO_State_TO))\r\n || (selectedStoreState == \"DC\" && itemDate > new Date(environment.DC_State_From) && itemDate < new Date(environment.DC_State_TO))) {\r\n returnValue = false;\r\n }\r\n }\r\n }\r\n return returnValue;\r\n }\r\n localLeadsSave(page_index, is_override: boolean, disposition = '') {\r\n\r\n this.displayClinic = false;\r\n this.changestatusPopUp = false;\r\n var local_leads = new LocalLeadsSave();\r\n local_leads.override_sr_events = is_override;\r\n local_leads.opportunitiesList = new Array();\r\n var obj = new OpportunitiesList();\r\n obj.businessPk = this.business_pk;\r\n obj.outreachBusinessPk = this.out_reach_business_pk;\r\n obj.storeId = this.defaultStore;\r\n obj.lastContactDate = new Date();\r\n obj.latitude = this.clinicLatitude;\r\n obj.longitude = this.clinicLongitude;\r\n obj.assignToDistrict = null;//this.selectAllDist == true ? this.districtValue : null;\r\n if (page_index == 6)\r\n obj.locationId = null;\r\n else\r\n obj.locationId = this.reassign_to_hcs == true ? this.area_number : this.district_number;\r\n obj.outreachStatusId = page_index == 6 ? this.outreachstatus : this.out_reach_status_id;\r\n obj.isStatusUpdated = this.outreachstatus == \"\" ? false : true;\r\n local_leads.assignedTo = this.page_index;\r\n local_leads.opportunitiesList[0] = obj;\r\n local_leads.updateAction = page_index;\r\n local_leads.userPk = this.user_profile.userPk;\r\n local_leads.isAssignAllInDistrict = false;\r\n local_leads.assignToDistrict = null;\r\n local_leads.disposition = disposition;\r\n //this.page_index = page_index;\r\n this.spinner.show();\r\n if (!this.validateRestrictedStatesReassignment()) {\r\n this.dialogSummary = \"Alert\";\r\n this.successMessage = !this.is_clinic && this.currentDestinationStoreAddress.split(', ')[2].split(' ')[0] == \"DC\" ? String.Format(ErrorMessages['restrictedStates'], \"Columbia \", \"15\") : String.Format(ErrorMessages['restrictedStates'], \"Missouri \", \"20\")\r\n this.successDistStore = true;\r\n\r\n return;\r\n }\r\n this._dashboardservice.updateLocalLeadsAssignment(local_leads).subscribe((data:any) => {\r\n this.spinner.hide();\r\n if (data.errorS != null) {\r\n this.dispDlgReassign = false;\r\n if (data.errorS.errorCode == -1) {\r\n this.confirmLabel = \"Continue\";\r\n this.errorShow = false;\r\n this.confirm(\"Alert\", data.errorS.errorMessage, page_index);\r\n return false;\r\n }\r\n }\r\n switch (data) {\r\n // case '200':\r\n // this.successDistStore = true;\r\n // this.successMessage = \"Local Opportunities Store Assignment saved successfully.\";\r\n // break;\r\n default:\r\n this.successDistStore = true;\r\n this.successMessage = this.selectedTab === \"PriorityOpportunities\" ? \"Priority Opportunities Store Assignment saved successfully.\" : \"Local Opportunities Store Assignment saved successfully.\";\r\n break;\r\n\r\n }\r\n if(this.selectedTab === \"PriorityOpportunities\")\r\n this.getLocalLeads(3, 0 , 1);\r\n else\r\n this.getLocalLeads(this.page_index, 0, 1);\r\n });\r\n }\r\n\r\n submitBulkLocalLeads(is_override?: boolean) {\r\n this.selected_data_list = [];\r\n var local_leads = new LocalLeadsSave();\r\n local_leads.override_sr_events = is_override;\r\n local_leads.opportunitiesList = new Array();\r\n var obj = new OpportunitiesList();\r\n this.spinner.show();\r\n if (this.selectedLocalList.length > 0) {\r\n for (let i = 0; i < this.selectedLocalList.length; i++) {\r\n obj = new OpportunitiesList();\r\n obj.businessPk = this.selectedLocalList[i].businessPk;\r\n obj.outreachBusinessPk = this.selectedLocalList[i].outreachBusinessPk;\r\n if (this.page_index_value == 1)\r\n obj.storeId = this.store_number;\r\n else\r\n obj.storeId = this.selectedLocalList[i].storeId;\r\n\r\n obj.latitude = this.selectedLocalList[i].latitude;\r\n obj.longitude = this.selectedLocalList[i].longitude;\r\n if (this.bulk_action_value == 5)\r\n obj.locationId = null;\r\n else\r\n obj.locationId = this.reassign_to_hcs == true ? this.area_number : this.district_number;\r\n obj.lastContactDate = new Date();\r\n obj.outreachStatusId = this.selectedLocalList[i].outreachStatusId;\r\n obj.isStatusUpdated = false;\r\n obj.assignToDistrict = this.selectAllDist == true ? this.districtValue : null;\r\n this.currentSelectedRowItem = this.selectedLocalList[i];\r\n if (this.bulk_action_value == 1 && !this.validateRestrictedStatesReassignment()) {\r\n this.dialogSummary = \"Alert\";\r\n this.successMessage = !this.is_clinic && this.currentDestinationStoreAddress.split(', ')[2].split(' ')[0] == \"DC\" ? String.Format(ErrorMessages['restrictedStates'], \"Columbia \", \"15\") : String.Format(ErrorMessages['restrictedStates'], \"Missouri \", \"20\")\r\n this.successDistStore = true;\r\n return;\r\n }\r\n this.selected_data_list.push(obj);\r\n }\r\n }\r\n local_leads.assignedTo = this.page_index;\r\n local_leads.opportunitiesList = this.selected_data_list;\r\n local_leads.updateAction = this.page_index_value;\r\n local_leads.userPk = this.user_profile.userPk;\r\n local_leads.isAssignAllInDistrict = this.selectAllDist;\r\n local_leads.assignToDistrict = this.selectAllDist == true ? this.districtValue : null;\r\n if (this.selectAllDist == true) {\r\n local_leads.opportunitiesList = [];\r\n }\r\n this._dashboardservice.updateLocalLeadsAssignment(local_leads).subscribe((data:any) => {\r\n this.spinner.hide();\r\n if (data.errorS != null) {\r\n this.dispDlgReassign = false;\r\n if (data.errorS.errorCode == -1) {\r\n this.errorShow = false;\r\n this.confirmLabel = \"Continue\";\r\n this.confirm(\"Alert\", data.errorS.errorMessage, this.page_index);\r\n return false;\r\n }\r\n }\r\n switch (data) {\r\n case '200':\r\n this.successDistStore = true;\r\n this.successMessage = this.selectedTab === \"PriorityOpportunities\" ? \"Priority Opportunities Status Assignment saved successfully.\" : \"Local Opportunities Store Assignment saved successfully.\";\r\n break;\r\n default:\r\n this.successDistStore = true;\r\n this.successMessage = \"Local Leads Store Assignment saved successfully.\";\r\n break;\r\n }\r\n this.dispDlgReassign = false;\r\n this.bulkDisplayStoredlg = false;\r\n this.BulkdispDlgReassignToHCS = false;\r\n this.BulkdispDlgReassignToHCSStoreTab = false;\r\n this.selectedValue = \"\";\r\n if(this.selectedTab === \"PriorityOpportunities\")\r\n this.getLocalLeads(3, 0 , 1);\r\n else\r\n this.getLocalLeads(this.page_index, 0, 1);\r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n alert('ErrorCode 500 received from Service');\r\n break;\r\n case 400:\r\n alert('Unhandled exception ErrorCode received from Service');\r\n break;\r\n default:\r\n alert('Unhandled exception ErrorCode received from Service');\r\n break;\r\n }\r\n this.dispDlgReassign = false;\r\n this.bulkDisplayStoredlg = false;\r\n this.BulkdispDlgReassignToHCS = false;\r\n this.BulkdispDlgReassignToHCSStoreTab = false;\r\n this.selectedValue = \"\";\r\n });\r\n }\r\n onActionSelect(value, is_clinic) { \r\n if ((is_clinic == true ? this.selectedDataList.length > 0 : this.selectedLocalList.length > 0) || this.selectAllDist == true) {\r\n this.reassign_to_hcs = false;\r\n this.defaultStore = null;\r\n this.page_index_value = value;\r\n this.is_clinic = is_clinic;\r\n this.bulk_submit = true;\r\n if (parseInt(value) === 1) {\r\n this.bulk_action_value = value;\r\n this.reassign_to_hcs = false;\r\n this.dispDlgReassign = true;\r\n this.districtList = [];\r\n this.storeList = [];\r\n this._dashboardservice.getClosestStore(this.user_profile.userPk, -1, -1, is_clinic, false).subscribe((data:any) => {\r\n this.districtList = data.districtList;\r\n this.storeList = data.storeList;\r\n this.defaultDistrict = this.districtList[0].number;\r\n if (this.storeList.length > 0)\r\n this.store_number = this.storeList[0].storeId;\r\n this.defaultStore = this.store_number;\r\n this.currentDestinationStoreAddress = this.storeList.filter(s => s.storeId == this.store_number)[0].storeAddress;\r\n });\r\n this.displayClinic = false;\r\n this.dispDlgReassign = true;\r\n if (!this.is_clinic) {\r\n this.selectedLocalList.forEach(element => {\r\n this._headerservice.getStoresProfile(this.userProfile.userPk, element.storeId, null).subscribe((res:any) => {\r\n element.state = res.data[0].state;\r\n });\r\n });\r\n }\r\n }\r\n if (parseInt(value) === 3) {\r\n this.reassign_to_hcs = true;\r\n this.bulk_action_value = value;\r\n if (this.page_index === 2) {\r\n this.reassignToHCSConfirmDlg = this.BulkdispDlgReassignToHCS = false;\r\n let businessNameList = \"\";\r\n this.selectedLocalList.forEach(local_opp => {\r\n if (local_opp.hasSREvents) {\r\n this.localOppHasSREvents += ((this.localOppHasSREvents != \"\") ? \"
\" + local_opp.businessName : local_opp.businessName);\r\n }\r\n if(local_opp.outreachStatusId===10){\r\n businessNameList += String.Format(\"{0} (HCS Contacted)
\", local_opp.businessName);\r\n }\r\n else {\r\n businessNameList += String.Format(\"{0}
\", local_opp.businessName);\r\n }\r\n });\r\n if (this.localOppHasSREvents !== \"\") {\r\n this.BulkdispDlgReassignHasSREvents = true;\r\n } else {\r\n\r\n if(is_clinic){\r\n this.dlgMessage = 'This action will remove all of the selected clinics from the store shown in the \"Store #\" column and will assign to HCS.'; \r\n }\r\n else{\r\n var hcsContractList = this.selectedLocalList.find(s=>s.outreachStatusId==10);\r\n if(hcsContractList&&(hcsContractList.Count>0|| hcsContractList)){\r\n this.dlgMessage = 'The assigned store(s) have already reached out to the opportunities and changed the outreach status. Resetting the opportunity will return the outreach status to \"No Outreach.\"
' + businessNameList;\r\n }\r\n else {\r\n this.dlgMessage = 'This action will remove all of the selected local opportunities from the store shown in the \"Assigned Store\" column and will assign to HCS.';\r\n }\r\n }\r\n \r\n //this.BulkdispDlgReassignToHCSStoreTab = true;\r\n this.reassignToHCSConfirmDlg = true;\r\n }\r\n }\r\n else {\r\n this.BulkdispDlgReassignToHCSStoreTab = false;\r\n this.bulkDisplayStoredlg = false;\r\n this.BulkdispDlgReassignToHCS = true;\r\n this.areaList = [];\r\n this.storeList = [];\r\n this._dashboardservice.getClosestStore(this.user_profile.userPk, -1, -1, is_clinic, true).subscribe((data:any) => {\r\n this.areaList = data.districtList;\r\n this.storeList = data.storeList;\r\n this.defaultAreaNumber = this.area_number = this.areaList[0].number;\r\n if (this.storeList.length > 0)\r\n this.store_number = this.storeList[0].storeId;\r\n });\r\n }\r\n this.currentDestinationStoreAddress = null;\r\n this.currentSelectedRowItem = null;\r\n }\r\n if (parseInt(value) === 4) {\r\n this.bulk_action_value = value;\r\n if (this.page_index === 2) {\r\n this.reassignToHCSConfirmDlg = this.BulkdispDlgReassignToHCS = false;\r\n let businessNameList: string = \"\";\r\n this.selectedLocalList.forEach(local_opp => {\r\n if (local_opp.hasSREvents) {\r\n this.localOppHasSREvents += ((this.localOppHasSREvents !== \"\") ? \"
\" + local_opp.businessName : local_opp.businessName);\r\n }\r\n if(local_opp.outreachStatusId===10){\r\n businessNameList += String.Format(\"{0} (HCS Contacted)
\", local_opp.businessName);\r\n }\r\n else {\r\n businessNameList += String.Format(\"{0}
\", local_opp.businessName);\r\n }\r\n });\r\n if (this.localOppHasSREvents !== \"\") {\r\n this.BulkdispDlgReassignHasSREvents = true;\r\n } else {\r\n \r\n if(is_clinic){\r\n this.dlgMessage = 'This action will remove all of the selected clinics from the store shown in the \"Store #\" column and will assign to DM.'; \r\n }\r\n else{\r\n let hcsContractList = this.selectedLocalList.find(s=>s.outreachStatusId===10);\r\n if(hcsContractList&&(hcsContractList.Count>0 || hcsContractList)){\r\n this.dlgMessage = 'The assigned store(s) have already reached out to the opportunities and changed the outreach status. Resetting the opportunity will return the outreach status to \"No Outreach.\"
' + businessNameList;\r\n }\r\n else {\r\n this.dlgMessage = 'This action will remove all of the selected local opportunities from the store shown in the \"Assigned Store\" column and will assign to DM.';\r\n }\r\n }\r\n\r\n //this.BulkdispDlgReassignToHCSStoreTab = true;\r\n this.reassignToHCSConfirmDlg = true;\r\n }\r\n }\r\n else {\r\n this.BulkdispDlgReassignToHCSStoreTab = false;\r\n this.bulkDisplayStoredlg = false;\r\n this.BulkdispDlgReassignToHCS = true;\r\n this.districtList = [];\r\n this.storeList = [];\r\n this._dashboardservice.getClosestStore(this.user_profile.userPk, -1, -1, is_clinic, false).subscribe((data:any) => {\r\n this.districtList = data.districtList;\r\n this.storeList = data.storeList;\r\n this.defaultDistrict = this.district_number = this.districtList[0].number;\r\n if (this.storeList.length > 0)\r\n this.store_number = this.storeList[0].storeId;\r\n });\r\n }\r\n this.currentDestinationStoreAddress = null;\r\n this.currentSelectedRowItem = null;\r\n }\r\n if (parseInt(value) === 5) {\r\n this.bulk_action_value = value;\r\n this.bulkDisplayStoredlg = true;\r\n this.BulkdispDlgReassignToHCS = false;\r\n this.storeList = [];\r\n this.currentDestinationStoreAddress = null;\r\n this.currentSelectedRowItem = null;\r\n }\r\n if (parseInt(value) === 6) {\r\n this.BulkdispDlgConfirmCancelClinicTab = true;\r\n }\r\n else if (parseInt(value) === 7) {\r\n this.BulkdispDlgRevertCancelClinicTab = true;\r\n }\r\n }\r\n else {\r\n this.select_data = true;\r\n if (this.selectedDataList.length <= 0 && is_clinic) {\r\n this.selectMessage = 'Please select Clinics';\r\n }\r\n if (this.selectedLocalList.length <= 0 && is_clinic == false) {\r\n this.selectMessage = 'Please select Opportunities';\r\n }\r\n this.selectedValue = \" \";\r\n }\r\n }\r\n \r\n isRowDisabled(row_data:any){\r\n\r\n return (row_data.outreachStatusId==5 ||row_data.outreachStatusId==4 ||row_data.outreachStatusId==3||row_data.outreachStatusId==8||row_data.outreachStatusId==12)\r\n\r\n }\r\n\r\n onLeadsHeaderChange(event:any,type:string){\r\n \r\n var target = event;\r\n setTimeout((evt)=>{ \r\n let temp_local_list=[];\r\n this.selectedLocalList.forEach(x =>{ \r\n temp_local_list.push(x); \r\n });\r\n //if(temp_local_list.length >0){\r\n this.selectedLocalList = temp_local_list;\r\n setTimeout(()=>{\r\n switch(type.toLowerCase()){\r\n case 'localleads':\r\n this.chkAll1.checked = (this.selectedLocalList.length == 0) ? false : true;\r\n break;\r\n case 'localleadsdm':\r\n this.chkAll2.checked = (this.selectedLocalList.length == 0) ? false : true;\r\n break;\r\n case 'assignedlocalleads':\r\n this.chkAll3.checked = (this.selectedLocalList.length == 0) ? false : true;\r\n break;\r\n default:\r\n break;\r\n }\r\n },50);\r\n //}\r\n }, 60);\r\n }\r\n\r\n bulkClose() {\r\n this.bulkDisplayStoredlg = false;\r\n this.selectedValue = \"\";\r\n this.selectedDataList = [];\r\n this.selectedLocalList = [];\r\n }\r\n bulkCloseHCS() {\r\n this.BulkdispDlgReassignToHCS = false;\r\n this.BulkdispDlgReassignToHCSStoreTab = false;\r\n this.BulkdispDlgReassignHasSREvents = false;\r\n this.localOppHasSREvents = \"\";\r\n this.selectedValue = \"\";\r\n this.selectedDataList = [];\r\n this.selectedLocalList = [];\r\n }\r\n Close() {\r\n this.dispDlgReassign = false;\r\n this.selectedValue = \"\";\r\n this.selectedDataList = [];\r\n this.selectedLocalList = [];\r\n }\r\n CloseStore() {\r\n this.displayStoredlg = false;\r\n this.selectedValue = \"\";\r\n this.selectedDataList = [];\r\n this.selectedLocalList = [];\r\n }\r\n CloseHCS() {\r\n this.dispDlgReassignToHCS = false;\r\n this.selectedValue = \"\";\r\n this.selectedDataList = [];\r\n this.selectedLocalList = [];\r\n }\r\n clFld(event: any) {\r\n this.searchValue = \"\";\r\n this.search_HCS_value = \"\";\r\n this.search_from_list = \"\";\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.searchGlobal();\r\n }\r\n clrFld(event: any) {\r\n this.search_local_value = \"\";\r\n this.search_from_list_local = \"\";\r\n this.searchLocalValue = null;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.searchLocalLeads();\r\n }\r\n onLocalLeadsSelect(assigned_to, value, selected_value) {\r\n this.selectedLocalList = [];\r\n this.districtSelected = false;\r\n if (value.toLowerCase() == \"district\" && selected_value != \"null\" && assigned_to != 2) {\r\n this.districtSelected = true;\r\n }\r\n this.spinner.show();\r\n var localLeads = new LocalLeads();\r\n localLeads.opportunitiesList = [];\r\n localLeads.userPk = this.user_profile.userPk;\r\n localLeads.assignedTo = assigned_to;\r\n localLeads.pageIndex = 1;\r\n localLeads.filterBy = this.search_local_value = value;\r\n localLeads.filterById = this.search_from_list_local = value.toLowerCase() == \"store\" ? selected_value.item.storeId : selected_value == \"null\" ? \"\" : selected_value;\r\n this.search_from_list_local = this.search_from_list_local == \"\" ? \"\" : this.search_from_list_local;\r\n localLeads.searchByValue = this.searchValue;\r\n localLeads.sortByField = this.localLeadsSortBy;\r\n localLeads.totalCount = 0;\r\n localLeads.startIndex = 0;\r\n localLeads.finalIndex = 0;\r\n this.page_index = assigned_to;\r\n if (this.page_index == 0) {\r\n localLeads.noOfRecordsInPage = this.hcsLocalNoOfPageRecords;\r\n } else {\r\n localLeads.noOfRecordsInPage = 50\r\n }\r\n if(this.page_index == 3) {\r\n this.getPriorityOpportunities(assigned_to, 0, 1, true);\r\n return;\r\n }\r\n this._opportunityService.getLocalLeads(localLeads).subscribe((localLeadsData) => {\r\n this.hcsLocalLeadsSource = localLeadsData;\r\n this.hcsLocalTotalRecords = localLeadsData.totalCount;\r\n if (this.page_index == 0) {\r\n this.HCSLocalLeads = [];\r\n this.hcs_local_details = false;\r\n this.hcs_local_details_search = true;\r\n this.bulkAction_local_hcs = false;\r\n //this.HCSLocalLeads = localLeadsData.opportunitiesList.slice(0, (0 + 10));\r\n //this.HCSLocalLeads = localLeadsData.opportunitiesList.slice(0, (0 + this.hcsLocalNoOfPageRecords));\r\n this.HCSLocalLeads = localLeadsData.opportunitiesList;\r\n if (this.HCSLocalLeads.length > 0) {\r\n this.hcs_local_details = true;\r\n if (this.dataTable != undefined) {\r\n this.dataTable.first = 0;\r\n this.dataTable.changePage;\r\n }\r\n this.bulkAction_local_hcs = true;\r\n }\r\n }\r\n else if (this.page_index == 1) {\r\n this.HCSLocalLeadsDM = [];\r\n this.hcs_local_DM = false;\r\n this.hcs_local_DM_search = true;\r\n this.bulkAction_local_dm = false;\r\n this.HCSLocalLeadsDM = localLeadsData.opportunitiesList.slice(0, (0 + this.assignedtoDMSelectedRowCount || 10));\r\n if (this.HCSLocalLeadsDM.length > 0) {\r\n this.hcs_local_DM = true;\r\n if (this.dataTable_DM != undefined) {\r\n this.dataTable_DM.first = 0;\r\n this.dataTable_DM.changePage;\r\n }\r\n this.bulkAction_local_dm = true;\r\n }\r\n }\r\n else if (this.page_index == 2) {\r\n this.HCSAssignedLocalLeads = [];\r\n this.hcs_local_store = false;\r\n this.bulkAction_local_store = false;\r\n this.hcs_local_store_search = true;\r\n this.HCSAssignedLocalLeads = localLeadsData.opportunitiesList.slice(0, (0 + this.assignedSelectedRowCount || 10));\r\n if (this.HCSAssignedLocalLeads.length > 0) {\r\n this.hcs_local_store = true;\r\n this.bulkAction_local_store = true;\r\n if (this.dataTable_store != undefined) {\r\n this.dataTable_store.first = 0;\r\n this.dataTable_store.changePage;\r\n }\r\n this.bulkAction_local_store = true;\r\n }\r\n\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n changeStatus() {\r\n this.changestatusPopUp = true;\r\n }\r\n closeStatus() {\r\n this.changestatusPopUp = false;\r\n }\r\n saveChangeStatus() {\r\n if(this.outreachstatus == 4 && this.disposition.length == 0){\r\n this.displayDispositionError = true;\r\n }\r\n else{\r\n this.localLeadsSave(6, false, this.disposition);\r\n }\r\n }\r\n cancelBtn() {\r\n this.select_data = false;\r\n this.selectedValue = \"\";\r\n }\r\n\r\n setWidth(headerv: string) {\r\n switch (headerv) {\r\n case 'Opportunity Address':\r\n return 'wth250';\r\n case 'Opportunity Name & Number':\r\n return 'wth200';\r\n case 'Emp':\r\n return 'wth77';\r\n case 'District':\r\n return 'wth75';\r\n case 'Status':\r\n return 'wth120';\r\n default:\r\n return '';\r\n }\r\n\r\n }\r\n\r\n showActionItemOrMetricsDetails(actionitem_metric_id: number, hcs_action_item_name: string, report_type:string, programType:number=-1 ) {\r\n if (report_type == \"actionitem\") {\r\n sessionStorage.actionItemOrMetricId = \"actionitem:\" + actionitem_metric_id;\r\n }\r\n else if (hcs_action_item_name == \"actionitem\") {\r\n sessionStorage.actionItemOrMetricId = \"actionitem:\" + actionitem_metric_id;\r\n }\r\n else {\r\n sessionStorage.actionItemOrMetricId = \"metric:\" + actionitem_metric_id;\r\n }\r\n if(actionitem_metric_id != 10 && actionitem_metric_id!= 11){\r\n if (this.title != \"pcadashboard\") {\r\n if(programType == 1){\r\n this.router.navigate(['/communityoutreach/immunizationprograms/hcsactionitems']);\r\n }\r\n else if(programType==0){\r\n this.router.navigate(['/communityoutreach/immunizationprograms/fluhcsactionitems']);\r\n }\r\n else {\r\n this.router.navigate(['/communityoutreach/immunizationprograms/fluhcsactionitems']);\r\n }\r\n }\r\n else {\r\n this.router.navigate(['/communityoutreach/patientcareadvocacy/pcaactionitems']);\r\n }\r\n } else if(actionitem_metric_id == 10){\r\n if (this.localOpportunitiesActiveIndex != 0 ) {\r\n this.SetTabLocal({index: 0});\r\n this.localOpportunitiesActiveIndex = 0;\r\n setTimeout(() => this.priorityOpportunitiesRef.nativeElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" }),500);\r\n }\r\n this.priorityOpportunitiesRef.nativeElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n } else if(actionitem_metric_id == 11) {\r\n this.leadAwaitingRef.nativeElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n if(this.leadAwaitingActiveIndex != 0) {\r\n this.setLeadsAwaitingTab({index: 0});\r\n this.leadAwaitingActiveIndex = 0; \r\n }\r\n } else {\r\n console.log(\"not implemented\");\r\n }\r\n }\r\n customSort(sort_field, tab_index) {\r\n\r\n this.dispDlgReassign = false;\r\n this.dispDlgReassignToHCS = false;\r\n this.selectedDataList = [];\r\n var dashboard = new DashBoard();\r\n dashboard.clinicList = [];\r\n dashboard.userPk = this.user_profile.userPk;\r\n dashboard.assignedTo = tab_index;\r\n dashboard.pageIndex = this.scheduledClinicsPageIndex;\r\n dashboard.filterBy = \"\";\r\n dashboard.filterById = \"\";\r\n dashboard.searchByValue = this.searchValue;\r\n if (this.scheduledClinicsSortBy == sort_field) {\r\n if (!this.formLoaded) {\r\n this.scheduledClinicsSortOrder = !this.scheduledClinicsSortOrder;\r\n dashboard.sortOrder = this.scheduledClinicsSortOrder;\r\n this.formLoaded = true;\r\n }\r\n else {\r\n this.scheduledClinicsSortOrder = !this.scheduledClinicsSortOrder;\r\n dashboard.sortOrder = this.scheduledClinicsSortOrder;\r\n }\r\n }\r\n else {\r\n this.scheduledClinicsSortOrder = dashboard.sortOrder = true;\r\n this.formLoaded = true;\r\n }\r\n\r\n this.scheduledClinicsSortBy = dashboard.sortByField = sort_field;\r\n dashboard.totalCount = 0;\r\n dashboard.startIndex = 0;\r\n dashboard.finalIndex = 0;\r\n\r\n let start_number = 0;\r\n if (this.page_index == 0) {\r\n dashboard.noOfRecordsInPage = this.hcsClinicNoOfPageRecords;\r\n } else {\r\n dashboard.noOfRecordsInPage = 50;\r\n }\r\n this.spinner.show();\r\n this._opportunityService.getHCSClinicDetails(dashboard).subscribe((hcsclinicDetail) => {\r\n this.hcsClinicTotalRecords = hcsclinicDetail.totalCount;\r\n this.hcsClinicsSource = hcsclinicDetail;\r\n if (this.page_index == 0) {\r\n\r\n this.bulkAction_hcs = false;\r\n this.hcs_clinic_details = false;\r\n this.hcs_clinic_details_search = false;\r\n\r\n this.HCSClinicDetails = [];\r\n //this.HCSClinicDetails = hcsclinicDetail.clinicList.slice(start_number, (start_number + 10));\r\n //this.HCSClinicDetails = hcsclinicDetail.clinicList.slice(start_number, (start_number + this.hcsClinicNoOfPageRecords));\r\n this.HCSClinicDetails = hcsclinicDetail.clinicList;\r\n if (this.HCSClinicDetails.length > 0) {\r\n this.bulkAction_hcs = true;\r\n this.hcs_clinic_details = true;\r\n this.hcs_clinic_details_search = true;\r\n }\r\n }\r\n else if (this.page_index == 1) {\r\n this.bulkAction_dm = false;\r\n this.hcs_clinic_DM = false;\r\n this.hcs_clinic_DM_search = false;\r\n\r\n this.HCSClinicDM = [];\r\n this.HCSClinicDM = hcsclinicDetail.clinicList.slice(start_number, (start_number + 10));\r\n if (this.HCSClinicDM.length > 0) {\r\n this.bulkAction_dm = true;\r\n this.hcs_clinic_DM = true;\r\n this.hcs_clinic_DM_search = true;\r\n }\r\n }\r\n else if (this.page_index == 2) {\r\n this.bulkAction_store = false;\r\n this.hcs_clinic_store = false;\r\n this.hcs_clinic_store_search = false;\r\n this.HCSClinicStore = [];\r\n this.HCSClinicStore = hcsclinicDetail.clinicList.slice(start_number, (start_number + 10));\r\n if (this.HCSClinicStore.length > 0) {\r\n this.bulkAction_store = true;\r\n this.hcs_clinic_store = true;\r\n this.hcs_clinic_store_search = true;\r\n }\r\n }\r\n else if (this.page_index === 3) { \r\n this.HCSClinicCancelled = [];\r\n this.HCSClinicCancelled = hcsclinicDetail.clinicList.slice(start_number, (start_number + 10));\r\n }\r\n this.spinner.hide();\r\n },\r\n error => {\r\n this.spinner.hide();\r\n console.error(\"Error in fetching data\", error);\r\n });\r\n }\r\n\r\n LocalcustomSort(sort_field, tab_index) {\r\n this.aria_local = false;\r\n this.store_local = false;\r\n this.dist_local = false;\r\n this.region_local = false;\r\n this.selectOptionLocal = \"\";\r\n this.districtSelected = false;\r\n this.districtValue = null;\r\n this.selectAllDist = false;\r\n this.selectedLocalList = [];\r\n this.dispDlgReassign = false;\r\n this.dispDlgReassignToHCS = false;\r\n this.displayStoredlg = false;\r\n this.outreachstatus = \"\";\r\n let start_number = this.startpage || 0;\r\n var localLeads = new LocalLeads();\r\n localLeads.opportunitiesList = [];\r\n localLeads.userPk = this.user_profile.userPk;\r\n localLeads.assignedTo = tab_index;\r\n localLeads.pageIndex = this.localLeadsPageIndex;\r\n localLeads.filterBy = \"\";\r\n localLeads.filterById = \"\";\r\n localLeads.searchByValue = this.searchLocalValue;\r\n\r\n if (this.localLeadsSortBy == sort_field) {\r\n if (!this.formLoaded) {\r\n this.localLeadsSortOrder = !this.localLeadsSortOrder;\r\n localLeads.sortOrder = this.localLeadsSortOrder;\r\n this.formLoaded = true;\r\n }\r\n else {\r\n this.localLeadsSortOrder = !this.localLeadsSortOrder;\r\n localLeads.sortOrder = this.localLeadsSortOrder;\r\n }\r\n }\r\n else {\r\n this.localLeadsSortOrder = localLeads.sortOrder = true;\r\n this.formLoaded = true;\r\n }\r\n this.localLeadsSortBy = localLeads.sortByField = sort_field;\r\n localLeads.totalCount = 0;\r\n localLeads.startIndex = 0;\r\n localLeads.finalIndex = 0;\r\n this.page_index = tab_index;\r\n if (this.page_index == 0) {\r\n this.unassignedrowsPerPage = this.unassignedSelectedRowCount != null ? this.unassignedSelectedRowCount : 10;\r\n localLeads.noOfRecordsInPage = this.unassignedrowsPerPage;\r\n } else {\r\n localLeads.noOfRecordsInPage = 50\r\n }\r\n if (tab_index == 3) {\r\n this.bulkAction_local_store = false;\r\n this.hcs_local_store_search = false; \r\n this.startpage = this.startpage != null ? this.startpage : 0; \r\n this.getPriorityOpportunities(0, this.startpage, 1);\r\n return;\r\n }\r\n this.spinner.show();\r\n this._opportunityService.getLocalLeads(localLeads).subscribe((localLeadsData) => {\r\n this.hcsLocalLeadsSource = localLeadsData;\r\n this.hcsLocalTotalRecords = localLeadsData.totalCount;\r\n if (tab_index == 0) {\r\n\r\n this.bulkAction_local_hcs = false;\r\n this.hcs_local_details = false;\r\n this.hcs_local_details_search = false;\r\n\r\n this.HCSLocalLeads = [];\r\n //this.HCSLocalLeads = localLeadsData.opportunitiesList.slice(start_number, (start_number + 10));\r\n //this.HCSLocalLeads = localLeadsData.opportunitiesList.slice(start_number, (start_number + this.hcsLocalNoOfPageRecords));\r\n this.HCSLocalLeads = localLeadsData.opportunitiesList;\r\n if (this.HCSLocalLeads.length > 0) {\r\n\r\n this.bulkAction_local_hcs = true;\r\n this.hcs_local_details = true;\r\n this.hcs_local_details_search = true;\r\n }\r\n }\r\n else if (tab_index == 1) {\r\n this.bulkAction_local_dm = false;\r\n this.hcs_local_DM = false;\r\n this.hcs_local_DM_search = false;\r\n\r\n this.HCSLocalLeadsDM = [];\r\n this.opptoDMrowsPerPage = this.assignedtoDMSelectedRowCount != null ? this.assignedtoDMSelectedRowCount : 10;\r\n this.HCSLocalLeadsDM = localLeadsData.opportunitiesList.slice(start_number, (start_number + this.opptoDMrowsPerPage));\r\n if (this.HCSLocalLeadsDM.length > 0) {\r\n\r\n this.bulkAction_local_dm = true;\r\n this.hcs_local_DM = true;\r\n this.hcs_local_DM_search = true;\r\n }\r\n }\r\n else if (tab_index == 2) {\r\n this.bulkAction_local_store = false;\r\n this.hcs_local_store = false;\r\n this.hcs_local_store_search = false;\r\n\r\n this.HCSAssignedLocalLeads = [];\r\n this.assignedOpprowsPerPage = this.assignedSelectedRowCount != null ? this.assignedSelectedRowCount : 10;\r\n this.HCSAssignedLocalLeads = localLeadsData.opportunitiesList.slice(start_number, (start_number + this.assignedOpprowsPerPage));\r\n if (this.HCSAssignedLocalLeads.length > 0) {\r\n\r\n this.bulkAction_local_store = true;\r\n this.hcs_local_store = true;\r\n this.hcs_local_store_search = true;\r\n }\r\n\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n error() {\r\n this.errorShow = false;\r\n this.selectedValue = \"\";\r\n this.dispDlgReassign = false;\r\n this.dispDlgReassignToHCS = false;\r\n this.bulkDisplayStoredlg = false;\r\n this.BulkdispDlgReassignToHCS = false;\r\n this.BulkdispDlgReassignToHCSStoreTab = false;\r\n this.displayStoredlg = false;\r\n this.getAssignedToHCS(this.page_index, 0, 0);\r\n }\r\n errorLocal() {\r\n this.errorLocalShow = false;\r\n this.selectedValue = \"\";\r\n this.getLocalLeads(this.page_index, 0, 1);\r\n }\r\n\r\n getTitle(state, parent) {\r\n var data = [];\r\n if (parent && parent.snapshot.data && parent.snapshot.data.title) {\r\n data.push(parent.snapshot.data.title);\r\n }\r\n\r\n if (state && parent) {\r\n data.push(... this.getTitle(state, state.firstChild(parent)));\r\n }\r\n return data;\r\n }\r\n\r\n confirm(hdr: string, msg: string, page_index: number) {\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n this.submit(page_index, true);\r\n this.confirmLabel = \"Override\";\r\n return true;\r\n },\r\n reject: () => {\r\n this.confirmLabel = \"Override\";\r\n return false;\r\n }\r\n });\r\n }\r\n MoveToHCSorDM() {\r\n this.reassignToHCSConfirmDlg = false;\r\n this.submit(this.page_index, false);\r\n\r\n }\r\n confirmCancelledClinics() {\r\n this.BulkdispDlgConfirmCancelClinicTab = false;\r\n this.spinner.show();\r\n this.submitCancelClinics(6);\r\n\r\n }\r\n confirmRevertCancelledClinics() {\r\n this.BulkdispDlgRevertCancelClinicTab = false;\r\n this.spinner.show();\r\n this.submitCancelClinics(7);\r\n\r\n }\r\n submitCancelClinics(value) {\r\n var cancelSchedulledClinics = new CancelSchedulledClinics();\r\n cancelSchedulledClinics.cancelledList = [];\r\n cancelSchedulledClinics.userPk = this.user_profile.userPk;\r\n cancelSchedulledClinics.actionValue = value;\r\n\r\n for (let i = 0; i < this.selectedDataList.length; i++) {\r\n var cancelAppointments = new CancelAppointments();\r\n cancelAppointments.clinicPk = this.selectedDataList[i].clinicPk;\r\n cancelSchedulledClinics.cancelledList.push(cancelAppointments);\r\n }\r\n this._dashboardservice.updateCanceledClinics(cancelSchedulledClinics).subscribe((data) => {\r\n this.spinner.hide();\r\n this.successDistStore = true;\r\n if (parseInt(value) === 6) this.successMessage = \"Clinic cancelled successfully.\";\r\n else this.successMessage = \"Clinic reverted successfully.\";\r\n this.successDistStore = true;\r\n this.getAssignedToHCS(3, 0, 0);\r\n this.selectedValue=\"\";\r\n },\r\n err => {\r\n this.spinner.hide();\r\n this.selectedValue=\"\";\r\n switch (err) {\r\n case 500:\r\n this.showDialogV2(ErrorMessages['contract'], String.Format('ErrorCode 500 received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n case 400:\r\n this.showDialogV2(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialogV2(ErrorMessages['contract'], String.Format('Unhandled exception ErrorCode received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n }\r\n });\r\n }\r\n\r\n onReasonForDeclineChange(){\r\n this.displayDispositionError = false;\r\n }\r\n\r\n onIPOuteachStatusChange(event){\r\n this.disposition = \"\";\r\n this.displayDispositionError = false;\r\n }\r\n\r\n leadIntakeClick(leadInfo: LeadAwaitingResponse) {\r\n // this.showLeadIntakeBtns = true;\r\n this.dialogRef = this.dialogService.open(ActionComponent, {\r\n header: 'Choose an action',\r\n contentStyle: { overflow: 'auto' },\r\n baseZIndex: 10000,\r\n draggable: true\r\n });\r\n this.dialogRef.onClose.subscribe((data) => {\r\n switch (data.action){\r\n case 'Submission':\r\n this.handleFormSubmission(leadInfo);\r\n break;\r\n case 'Respond':\r\n this.handleRespond(leadInfo);\r\n break;\r\n case 'Reassign':\r\n this.handleReassign(leadInfo);\r\n break;\r\n default: \r\n this.handleFormSubmission(leadInfo);\r\n }\r\n });\r\n }\r\n\r\n handleFormSubmission(leadInfo: LeadAwaitingResponse){\r\n this.selectedLeadAwaitingResponseInfo = leadInfo;\r\n this.leadAwaitingResponseService.getLeadAwaitingResponseById(this.userProfile.userPk, leadInfo.Pk).subscribe((data: LeadAwaitingResponseByIdList) => {\r\n this.leadAwaitingResponseInfo = data?.Table?.[0];\r\n this.showFullSubmission = true; \r\n this.showReassignStatus = false;\r\n this.showRespondStatus = false;\r\n this.spinner.hide();\r\n })\r\n }\r\n \r\n handleRespond(leadInfo: LeadAwaitingResponse) {\r\n this.selectedLeadAwaitingResponseInfo = leadInfo;\r\n this.spinner.hide();\r\n this.showFullSubmission = false;\r\n this.showReassignStatus = false;\r\n this.showRespondStatus = true;\r\n }\r\n handleRespondAction(response: string){\r\n this.showRespondStatus = false;\r\n this.showRespondAction = true;\r\n this.selectedResponse = response;\r\n }\r\n \r\n handleContinue() {\r\n let leadPk = this.selectedLeadAwaitingResponseInfo?.Pk; \r\n let storeId= this.selectedLeadAwaitingResponseInfo?.ClosestStore; \r\n this.spinner.show(); \r\n if(this.selectedResponse == 'Yes'){\r\n this.potentialClientInterestService.sendEmailToClientWhenStoreRespondsYes(leadPk, storeId).subscribe((data: any) => {\r\n this.responseMessage = data;\r\n this.showRespondActionDialog = true;\r\n this.showRespondAction = false;\r\n this.spinner.hide();\r\n });\r\n } \r\n if(this.selectedResponse == 'No'){\r\n this.potentialClientInterestService.sendEmailToClientWhenStoreRespondsNo(leadPk, storeId).subscribe((data: any) => {\r\n this.showRespondActionDialog = true;\r\n this.showRespondAction = false;\r\n this.spinner.hide();\r\n });\r\n } \r\n }\r\n \r\n handleReassign(leadInfo: LeadAwaitingResponse) {\r\n this.selectedLeadAwaitingResponseInfo = leadInfo;\r\n this.coClinicdetailsService.getAreaDist('district',0).subscribe(data => {\r\n let dataList = data;//JSON.parse(data._body)\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.leadDistrictList.push({ key: keyValue, value: valueData });\r\n this.showReassignStatus = true;\r\n this.showFullSubmission = false;\r\n this.showRespondStatus = false;\r\n this.spinner.hide();\r\n }\r\n });\r\n }\r\n\r\n handleLeadsSearchClick() {\r\n this.seachAwaitingLeadsResponse = !this.seachAwaitingLeadsResponse; \r\n setTimeout(() => {\r\n this.searchLeadsRef.nativeElement.focus();\r\n }, 100);\r\n }\r\n onLeadsClickedOutside(e: Event) {\r\n this.seachAwaitingLeadsResponse = false;\r\n }\r\n\r\n handleLeadsAwaitingSearch(){\r\n this.spinner.show();\r\n let newArrayData = this.tableOptions.data.filter((leadObj) => {\r\n let newData = Object.keys(leadObj).filter((key) => typeof(leadObj[key]) === \"number\" ? leadObj[key] == this.leadsSearchValue: leadObj[key]?.toLowerCase()?.includes(this.leadsSearchValue?.toLocaleLowerCase()));\r\n if(newData.length > 0) \r\n return leadObj;\r\n return false;\r\n });\r\n this.tableOptions = {...this.tableOptions, data: newArrayData};\r\n this.ref.detectChanges();\r\n this.spinner.hide();\r\n }\r\n\r\n handleLeadsAwaitingSearchKeyChange(event: KeyboardEvent){\r\n\r\n const key = event.keyCode || event.charCode;\r\n if(key == 8 || key == 46){\r\n if(!this.leadsSearchValue?.length) {\r\n this.spinner.show();\r\n this.tableOptions = {...this.tableOptions, data:this.leadAwaitingResponseList}\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.spinner.hide();\r\n } else if(!this.tableOptions?.data?.length){\r\n this.spinner.show();\r\n this.tableOptions = {...this.tableOptions, data:this.leadAwaitingResponseList}\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.spinner.hide();\r\n }\r\n }\r\n }\r\n\r\n clrLeadsSearchFld(event: any) {\r\n this.spinner.show();\r\n this.leadsSearchValue = \"\";\r\n this.tableOptions = {...this.tableOptions, data:this.leadAwaitingResponseList}\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.spinner.hide();\r\n // this.searchLocalLeads();\r\n }\r\n\r\n setLeadsAwaitingTab(event: any) {\r\n this.spinner.show();\r\n this.leadAwaitingActiveIndex = event.index || 0;\r\n if(event.index == 1) \r\n this.requestType = 0;\r\n else if(event.index == 0)\r\n this.requestType = 1;\r\n this.leadAwaitingResponseService.getLeadAwaitingResponseList({pageIndex: this.pageIndex, pageSize: this.pageSize, requestType: this.requestType, userId: this.userProfile.userPk}).subscribe((data: LeadsAwaitingResponseList) => {\r\n this.leadAwaitingResponseList = data.Table;\r\n this.tableOptions = {\r\n columns: this.columns,\r\n data: this.leadAwaitingResponseList,\r\n hasPagination: true,\r\n isSearchable: true,\r\n rowsPerPage: 10,\r\n rowsPerPageOptions: [5,10,20],\r\n isSortable: true,\r\n actionMenuCallback: this.leadIntakeClick.bind(this),\r\n showBarsIcon: true,\r\n iconPosition: this.columns.length -1,\r\n tableClass: \"lead-intake-card\",\r\n sortField: \"Submitted\",\r\n sortOrder: 0\r\n };\r\n this.ref.detectChanges();\r\n this.spinner.hide();\r\n },\r\n (err) => {\r\n this.spinner.hide();\r\n }\r\n );\r\n }\r\n\r\n handleLeadDistrictSelection(disrict_value, check_value=false) {\r\n this.spinner.show();\r\n this.district_number = disrict_value;\r\n if (check_value && disrict_value) {\r\n this.storeList = [];\r\n this._dashboardservice.getClosestStore(this.user_profile.userPk, disrict_value, this.business_pk == undefined ? -1 : this.business_pk, this.is_clinic, this.reassign_to_hcs).subscribe((data:any) => {\r\n this.storeList = data.storeList;\r\n this.spinner.hide();\r\n }),\r\n (err: any) => {\r\n this.spinner.hide();\r\n }\r\n } else {\r\n this.spinner.hide();\r\n }\r\n }\r\n\r\n handleLeadAwaitingResponseReassignClose(){\r\n this.showReassignStatus=false;\r\n this.leadAwaitingResponseSelectedDistrict='';\r\n this.leadAwaitingResponseSelectedStore= \"\";\r\n }\r\n\r\n handleLeadAwaitingResponseReassignSubmit(){\r\n this.spinner.show();\r\n const requestData: ReassignLeadToClosestStore = {\r\n Pk: this.selectedLeadAwaitingResponseInfo.Pk,\r\n OldStoreId: this.selectedLeadAwaitingResponseInfo.ClosestStore,\r\n NewStoreId: Number(this.leadAwaitingResponseSelectedStore),\r\n updatedBy: this.userProfile.userPk\r\n }\r\n this.leadAwaitingResponseService.reassignLeadAwaitingResponse(requestData).subscribe((data) => {\r\n this.showReassignStatus=false;\r\n this.showReassignSuccessDialog = true;\r\n this.leadAwaitingResponseSelectedDistrict='';\r\n this.leadAwaitingResponseSelectedStore=\"\";\r\n this.selectedLeadAwaitingResponseInfo = {} as LeadAwaitingResponse;\r\n this.spinner.hide();\r\n },\r\n error => {\r\n this.showReassignStatus=false;\r\n this.spinner.hide();\r\n })\r\n }\r\n\r\n handleLeadAwaitingResponseReassignSucess(){ \r\n this.showReassignSuccessDialog = false;\r\n this.getLeadAwaitingResponseList();\r\n }\r\n\r\n getPriorityOpportunities(tab_index, start_number, page_index, selectionClicked=false){\r\n this.spinner.show();\r\n this.dispDlgReassign = false;\r\n this.dispDlgReassignToHCS = false;\r\n this.displayStoredlg = false;\r\n this.outreachstatus = \"\";\r\n this.disposition = \"\";\r\n if(!selectionClicked && this.selectOptionLocal.length <= 0) {\r\n this.aria_local = false;\r\n this.store_local = false;\r\n this.dist_local = false;\r\n this.region_local = false;\r\n this.selectOptionLocal = \"\";\r\n this.districtSelected = false;\r\n this.selectAllDist = false;\r\n this.districtValue = null;\r\n this.selectedLocalList = [];\r\n };\r\n this.handleLocalOpportunitiesFilter();\r\n let localLeads = new LocalLeads();\r\n localLeads.opportunitiesList = [];\r\n localLeads.userPk = this.user_profile.userPk;\r\n localLeads.assignedTo = 1;\r\n this.localLeadsPageIndex = localLeads.pageIndex = page_index;\r\n localLeads.filterBy = this.search_local_value;\r\n localLeads.filterById = this.search_from_list_local;\r\n localLeads.searchByValue = this.searchLocalValue;\r\n localLeads.sortByField = this.localLeadsSortBy;\r\n localLeads.sortOrder = this.localLeadsSortOrder;\r\n localLeads.totalCount = 0;\r\n localLeads.startIndex = 0;\r\n localLeads.finalIndex = 0;\r\n localLeads.noOfRecordsInPage = 50;\r\n this.oppotunitiesrowsPerPage = this.prioritySelectedRowCount != null ? this.prioritySelectedRowCount : 10;\r\n this._opportunityService.getPriorityOpportunities(localLeads).subscribe((localLeadsData) => {\r\n this.priorityOppourtinitesSource = localLeadsData;\r\n this.priorityOppourtinitesTotalRecords = localLeadsData.totalCount;\r\n this.priorityOppourtinitesList = localLeadsData.opportunitiesList.slice(start_number, (start_number + this.oppotunitiesrowsPerPage))\r\n this.spinner.hide();\r\n },\r\n (err) => {\r\n this.spinner.hide();\r\n })\r\n }\r\n\r\n handleLocalOpportunitiesFilter () {\r\n switch(this.selectOptionLocal.toLocaleLowerCase()) {\r\n case \"store\" :\r\n this.store_local = true;\r\n this.dist_local = false;\r\n this.aria_local = false;\r\n this.region_local = false;\r\n this.districtSelected = false;\r\n this.districtValue = null;\r\n break;\r\n case \"district\":\r\n this.dist_local = true;\r\n this.store_local = false;\r\n this.aria_local = false;\r\n this.region_local = false;\r\n this.districtSelected = true;\r\n break;\r\n case \"area\":\r\n this.aria_local = true;\r\n this.store_local = false;\r\n this.dist_local = false;\r\n this.region_local = false;\r\n this.districtSelected = false;\r\n this.districtValue = null;\r\n break;\r\n case \"region\":\r\n this.aria_local = false;\r\n this.store_local = false;\r\n this.dist_local = false;\r\n this.region_local = true;\r\n this.districtSelected = false;\r\n this.districtValue = null;\r\n break;\r\n default: \r\n this.aria_local = false;\r\n this.store_local = false;\r\n this.dist_local = false;\r\n this.region_local = false;\r\n this.districtSelected = false;\r\n this.selectOptionLocal = \"\";\r\n this.districtValue = null;\r\n }\r\n }\r\n\r\n handleChartData(){\r\n forkJoin([this.chartService.getOpportunitiesRequiringAction({userId: this.user_profile.userPk, outreachEffortId: 3}), this.chartService.getPriorityOpportunitiesRequiringAction({userId: this.user_profile.userPk, outreachEffortId: 3})]).subscribe((data: any) => {\r\n this.opportunitiesActionApiData = data[0];\r\n this.priorityOpportunitiesActionApiData = data[1];\r\n let olables = data[0].map(val => val.description);\r\n let odata = data[0].map(val => val.RecordCount);\r\n this.opportunitiesActionData.labels = olables;\r\n this.opportunitiesActionData.datasets[0].data = odata;\r\n let plables = data[1].map(val => val.description);\r\n let pdata = data[1].map(val => val.RecordCount);\r\n this.opportunitiesActionPie = new Chart('opportunitiesActionPie', {\r\n type: 'doughnut',\r\n data: this.opportunitiesActionData,\r\n options: {\r\n radius: 180,\r\n layout: {\r\n padding: {\r\n top: 100\r\n }\r\n },\r\n elements: {\r\n arc: {\r\n borderWidth: 0\r\n }\r\n },\r\n responsive: true,\r\n onClick\t: this.handleOpportunityDougnnutClick.bind(this),\r\n plugins: {\r\n datalabels:{\r\n formatter: function(value, ctx) {\r\n const total: number| any = ctx.dataset.data.reduce((accumulator:number, currentValue:number) => accumulator + currentValue) ;\r\n if(Number((value / total * 100).toFixed()) > 0) {\r\n return `${(value / total * 100).toFixed()}%`;\r\n } else {\r\n return \"\"\r\n }\r\n },\r\n color: \"#fff\"\r\n },\r\n tooltip: {\r\n displayColors: false,\r\n callbacks: {\r\n label: function(context) {\r\n let currentValue:any = context.dataset.data[context.dataIndex];\r\n const total: number| any = context.dataset.data.reduce((accumulator:number, currentValue:number) => accumulator + currentValue) ;\r\n return `${context.label}\\n ${currentValue} (${(currentValue / total * 100).toFixed()}%)`;\r\n }\r\n }\r\n },\r\n legend: {\r\n display: true,\r\n position: 'chartArea',\r\n align: 'start',\r\n labels: {\r\n usePointStyle: true,\r\n boxWidth: 10,\r\n boxHeight\t: 8,\r\n padding: 8,\r\n // filter: (legendItem: any, data) => {\r\n // let currentValue:any = data.datasets[0].data[legendItem.index];\r\n // const total: number| any = data.datasets[0].data.reduce((accumulator:number, currentValue:number) => accumulator + currentValue) ;\r\n // let per_val = (currentValue / total * 100).toFixed();\r\n // return Number(per_val) != 0;\r\n // }\r\n },\r\n onHover: (e: any ,chartElement ) => {\r\n e.native.target.style.cursor = \"pointer\"\r\n },\r\n onClick: this.handleOpportunityDougnnutClick.bind(this),\r\n },\r\n },\r\n }, \r\n // fill: true\r\n });\r\n\r\n this.priorityOportunitiesActionData.labels = plables;\r\n this.priorityOportunitiesActionData.datasets[0].data = pdata;\r\n this.priorityOpportunitiesActionPie = new Chart('priorityOpportunitiesActionPie', {\r\n type: 'doughnut',\r\n data: this.priorityOportunitiesActionData,\r\n options: {\r\n layout: {\r\n padding: {\r\n top: 100\r\n }\r\n },\r\n onClick\t: this.handlePriorityOpportunityDougnnutClick.bind(this),\r\n radius: 180,\r\n elements: {\r\n arc: {\r\n borderWidth: 0\r\n }\r\n },\r\n responsive: true,\r\n plugins: {\r\n datalabels:{\r\n formatter: function(value, ctx) {\r\n const total: number| any = ctx.dataset.data.reduce((accumulator:number, currentValue:number) => accumulator + currentValue) ;\r\n if(Number((value / total * 100).toFixed()) > 0) {\r\n return `${(value / total * 100).toFixed()}%`;\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n color: \"#fff\",\r\n },\r\n tooltip: {\r\n displayColors: false,\r\n callbacks: {\r\n label: function(context) {\r\n let currentValue: any = context.dataset.data[context.dataIndex];\r\n const total: number| any = context.dataset.data.reduce((accumulator:number, currentValue:number) => accumulator + currentValue) ;\r\n return `${context.label} \\n ${currentValue} (${(currentValue / total * 100).toFixed()}%)`;\r\n }\r\n }\r\n },\r\n legend: {\r\n display: true,\r\n position: 'chartArea',\r\n align: 'start',\r\n labels: {\r\n usePointStyle: true,\r\n boxWidth: 10,\r\n boxHeight: 8,\r\n padding: 8,\r\n // filter: (legendItem: any, data) => data.datasets[0].data[legendItem.index] != 0\r\n },\r\n onHover: (e: any ,chartElement ) => {\r\n e.native.target.style.cursor = \"pointer\"\r\n },\r\n onClick: this.handlePriorityOpportunityDougnnutClick.bind(this),\r\n }\r\n }\r\n }\r\n // fill: true\r\n });\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n handleOpportunityDougnnutClick(event, legendItem, legend){\r\n let idx: number;\r\n if(legendItem?.[0])\r\n idx =legendItem[0]?.index;\r\n else \r\n idx = legendItem?.index;\r\n let oApiData = this.opportunitiesActionApiData[idx];\r\n SessionDetails.SetOpportunityRequiringActionMetricId(oApiData);\r\n this.router.navigate(['/communityoutreach/immunizationprograms/oppourtinityrequiringaction']);\r\n }\r\n\r\n handlePriorityOpportunityDougnnutClick(event, legendItem, legend){\r\n let idx:number;\r\n if(legendItem?.[0])\r\n idx =legendItem[0].index;\r\n else \r\n idx = legendItem?.index;\r\n let pApiData = this.priorityOpportunitiesActionApiData[idx];\r\n SessionDetails.SetPriorityOpportunityRequiringActionMetricId(pApiData);\r\n this.router.navigate(['communityoutreach/immunizationprograms/priorityoppourtinityrequiringaction']);\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DashboardComponent } from './dashboard/dashboard.component';\r\nimport {PaginatorModule} from 'primeng/paginator';\r\nimport {DialogModule} from 'primeng/dialog';\r\nimport {TabViewModule} from 'primeng/tabview';\r\nimport {ConfirmDialogModule} from 'primeng/confirmdialog';\r\nimport { TableModule } from 'primeng/table';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { DashboardServiceService } from './Services/dashboard-service.service';\r\nimport { ReusableModule } from '../common/components/reusable.module';\r\nimport {ChartsComponent} from './charts/charts.component'\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { DynamicDialogModule } from 'primeng/dynamicdialog';\r\nimport { ActionComponent } from './leadsIntake/action/action.component';\r\nimport { MessageModule } from 'primeng/message';\r\nimport { LeadAwaitingResponseService } from './Services/leadsAwaitingResponse';\r\nimport { ChartService } from './Services/chartService';\r\nimport { ChartModule } from 'primeng/chart';\r\nimport { OppourtunitiesRequiringActionComponent } from './charts/oppourtunities-requiring-action/oppourtunities-requiring-action.component';\r\nimport { PriorityOppourtunitiesRequiringActionComponent } from './charts/priority-oppourtunities-requiring-action/priority-oppourtunities-requiring-action.component';\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ConfirmDialogModule,\r\n DialogModule,\r\n TableModule,\r\n TabViewModule,\r\n // DataListModule,\r\n FormsModule,\r\n PaginatorModule,\r\n ReactiveFormsModule,\r\n NgbModule,\r\n ReusableModule,\r\n NgxSpinnerModule,\r\n SharedModule,\r\n DynamicDialogModule,\r\n MessageModule,\r\n ChartModule\r\n ],\r\n declarations: [\r\n DashboardComponent,\r\n ChartsComponent,\r\n ActionComponent,\r\n OppourtunitiesRequiringActionComponent,\r\n PriorityOppourtunitiesRequiringActionComponent,\r\n ],\r\n providers:[DashboardServiceService, LeadAwaitingResponseService, ChartService]\r\n})\r\nexport class HomeModule { }\r\n","import { Component } from '@angular/core';\r\nimport { DynamicDialogRef, DynamicDialogConfig} from 'primeng/dynamicdialog';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n\r\n@Component({\r\n selector: 'app-action',\r\n templateUrl: './action.component.html',\r\n styleUrls: ['./action.component.css']\r\n})\r\nexport class ActionComponent {\r\n\r\n constructor(public ref: DynamicDialogRef, public config: DynamicDialogConfig, private spinner: NgxSpinnerService){\r\n\r\n }\r\n\r\n handleSubmission(){\r\n this.spinner.show();\r\n this.ref.close({action: \"Submission\"});\r\n }\r\n\r\n hadndleReassign(){\r\n this.spinner.show();\r\n this.ref.close({action: \"Reassign\"});\r\n }\r\n\r\n handleRespond(){\r\n this.spinner.show();\r\n this.ref.close({action: \"Respond\"});\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../../../environments/environment.prod';\r\nimport { Util } from '../../../utility/util';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class AddTestingOrganizationService {\r\n\r\n constructor(private _http:HttpClient) { }\r\n\r\n getTestingPartnerNames(state_name)\r\n {\r\n var url = environment.API_URL + environment.RESOURCES.TESTING_PARTNER_NAMES + \"?state=\" + state_name;\r\n return this._http.get(url,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Util } from '../../../utility/util';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class PcacontractAgreementService {\r\n proofInsurances=null;\r\n constructor(private _http: HttpClient) { }\r\n getPCAContractAgreement(agreement_pk, user_type) {\r\n //var url = environment.API_URL + environment.RESOURCES.GET_PCA_CONTRACTAGREEMENT + \"?clinic_agreement_pk=\" + agreement_pk+\"/\" +\"user_type=\"+user_type+\"\";\r\n var url = environment.API_URL + environment.RESOURCES.GET_PCA_CONTRACTAGREEMENT + \"/\" + agreement_pk + \"/\" + user_type + \"\";\r\n return this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n saveAgreementData(store_id, clinic_type, is_pca, clinic_agreement) {\r\n let url = environment.API_URL + environment.RESOURCES.UPDATE_CONTRACT_AGREEMENT + \"/\" + store_id + \"/\" + clinic_type;\r\n return this._http.post(url, clinic_agreement, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n approveAgreementData(store_id, clinic_type, is_pca, clinic_agreement) {\r\n let url = environment.API_URL + environment.RESOURCES.APPROVE_PCA_CONTRACT_AGREEMENT + \"/\" + store_id + \"/\" + clinic_type;\r\n return this._http.post(url, clinic_agreement, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n updateContractForTestingPartner(store_id, clinic_type, clinic_agreement) {\r\n let url = environment.API_URL + environment.RESOURCES.UPDATE_CONTRACT_AGREEMNET_TESTING_PARTNER + \"/\" + store_id + \"/\" + clinic_type;\r\n return this._http.post(url, clinic_agreement, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n // UploadProofOfInsurance()\r\n // {\r\n // let url = environment.API_URL + environment.RESOURCES.UPDATE_CONTRACT_AGREEMENT + \"/\" + store_id + \"/\" + clinic_type +\"/\"+is_pca;\r\n // return this._http.post(url, clinic_agreement,Util.getRequestHeaders()).map((response: Response) => response.json());\r\n // }\r\n\r\n UploadProofOfInsurance(clinic_agreement_pk, upload_image) {\r\n let headers: Headers = new Headers();\r\n let url = environment.API_URL + environment.RESOURCES.UPLOAD_PROOF_OF_INSURANCE + \"/\" + clinic_agreement_pk;\r\n let userData = SessionDetails.GetUserInfo();\r\n let token = btoa(userData.userName + ':' + userData.password);\r\n\r\n let req_headers = new HttpHeaders()\r\n .set('Authorization','Basic '+ token);\r\n \r\n const httpOptions = {\r\n headers: req_headers\r\n };\r\n // files = null;\r\n return this._http.post(url, upload_image, httpOptions).pipe(catchError(Util.handleErrorV2));\r\n}\r\nGetProofOfInsurance(clinic_agreement_pk) {\r\n let url = environment.API_URL + environment.RESOURCES.GET_PROOF_OF_INSURANCE + \"/\" + clinic_agreement_pk ;\r\n return this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n}\r\nDeleteProofOfInsurance(pk) {\r\n let url = environment.API_URL + environment.RESOURCES.DELETE_PROOF_OF_INSURANCE + \"/\" + pk ;\r\n return this._http.delete(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n}\r\nsetProofInsuranceDocumentList(value){\r\n this.proofInsurances = value;\r\n}\r\ngetProofInsuranceDocumentList(){\r\n return this.proofInsurances ;\r\n}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Util } from '../../../utility/util';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Router } from '@angular/router';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class PcaDetailsService {\r\n constructor(private _http: HttpClient, private router: Router) { \r\n }\r\n \r\n //Gets the PCA Event details from DB using API Call.\r\n getPcaDetails(business_clinic_pk, user_role) {\r\n let url = environment.API_URL + environment.RESOURCES.GET_PCA_DETAILS + \"/\" + business_clinic_pk + \"/\" + user_role;\r\n return this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n \r\n //Updates the PCA Event details into DB using API Call.\r\n updatePCADetails(business_clinic_pk, clinic_details) {\r\n var url = environment.API_URL + environment.RESOURCES.UPDATE_PCA_DETAILS + \"/\" + business_clinic_pk;\r\n return this._http.post(url, clinic_details, Util.getRequestHeadersV1());\r\n }\r\n\r\n //Deletes an agreement from DB using API Call.\r\n deletePCADetails(clinic_details) {\r\n var url = environment.API_URL + environment.RESOURCES.DELETE_CLINIC_DETAILS;\r\n return this._http.post(url, clinic_details, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));;\r\n }\r\n\r\n removeClinicCancelledStatus(clinic_pk) { \r\n var url = environment.API_URL + environment.RESOURCES.REMOVE_CLINIC_CANCELLED_STATUS+\"/\"+clinic_pk+\"/false\";\r\n return this._http.get(url,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { states } from '../../../../JSON/States';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { AddTestingOrganizationService } from '../../Services/add-testing-organization.service';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AddOutreachOpportunity, OutreachEffortList } from '../../../../models/OutreachOpportunity';\r\nimport { AddBusinessService } from '../../../store/services/AddBusiness.Service';\r\nimport { Location } from '@angular/common';\r\nimport { ActionType } from '../../../../utility/enum';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { String } from 'typescript-string-operations';\r\nimport { Util } from '../../../../utility/util';\r\nimport { isNgTemplate } from '@angular/compiler';\r\n\r\n@Component({\r\n selector: 'app-addpca',\r\n templateUrl: './addpca.component.html',\r\n styleUrls: ['./addpca.component.css']\r\n})\r\n\r\nexport class AddpcaComponent implements OnInit {\r\n\r\n showHints: boolean = (((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) === 'yes')) || sessionStorage.actionType === \"2\" ? false : true;\r\n pageName: string = \"addpca\";\r\n\r\n private storeProfileInfo: any;\r\n states: any[];\r\n stateSpecific: string;\r\n selectedZipCode: string;\r\n selectedtesting_partner_name: string;\r\n selectedcontact_phone: string;\r\n selectedcontact_name: string;\r\n selectedtitle_of_contact: string;\r\n selectedcontact_e_mail_address: string;\r\n selectedtesting_partner_address: string;\r\n selectedtesting_partner_city: string;\r\n selectedtesting_partner_state: string;\r\n errorPopUp: boolean = false;\r\n location_back: boolean = false;\r\n Message: any;\r\n addPCAForm: FormGroup;\r\n TestingPartners: any[] = [];\r\n TotalTestingPartners: any[] = [];\r\n selectedTestingPartners: any = {};\r\n selectedState: string = '';\r\n orgTypeSelect: any = \"\";\r\n alaSQL: any;\r\n userProfile: any;\r\n businessId: any;\r\n errorMessage: any;\r\n differentState: boolean = false;\r\n isEdit: boolean = false;\r\n edit_data: any;\r\n btnDisbale: boolean = null;\r\n IsAdmin: boolean = true;\r\n btnSaveText: any;\r\n popupShow: boolean = false;\r\n dialogSummary: string = \"\";\r\n dialogMsg: string = \"\";\r\n disableFields: boolean;\r\n isStandardized: boolean;\r\n isInitiated: boolean = false;\r\n\r\n isScheduleClinics: boolean = false;\r\n btnCancel: any = 'Cancel';\r\n businessPk: any = 0;\r\n organization_type: any;\r\n disableBtn: boolean = null;\r\n constructor(private message_service: MessageServiceService, private utility: Util, private spinner: NgxSpinnerService, private confirmationService: ConfirmationService, private _location: Location, private _AddBusinessService: AddBusinessService, private formBuilder: FormBuilder, private _testingpartner: AddTestingOrganizationService) {\r\n this.alaSQL = require('alasql');\r\n this.message_service.getStoreProfile().subscribe(message => {\r\n\r\n this.storeProfileInfo = SessionDetails.getStoreProfileData();\r\n\r\n //this.storeProfileInfo = message.text;\r\n this.clearSelectedValues();\r\n // this.stateValue(this.stateSpecific);\r\n // let parters_info = this.alaSQL(\"SELECT distinct * FROM ? \\\r\n // WHERE store_state = '\" + this.selectedState + \"' \", [this.nhd_json]);\r\n //this.selectedData(parters_info[0].testing_partner_name);\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.disableFields = null;\r\n this.isStandardized = false;\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n this.addPCAForm = this.formBuilder.group({\r\n testingOrgType: ['', Validators.required],\r\n organizationName: ['', [\r\n Validators.required,\r\n Validators.pattern(\"[a-zA-Z0-9_]+.*$\")]],\r\n phone: ['', [\r\n Validators.required\r\n ]],\r\n tollFree: [null, ''],\r\n firstName: ['', [\r\n Validators.required,\r\n Validators.pattern(\"[a-zA-Z0-9_]+.*$\")\r\n ]],\r\n lastName: ['', [\r\n Validators.required,\r\n Validators.pattern(\"[a-zA-Z0-9_]+.*$\")\r\n ]],\r\n jobTitle: ['', ''],\r\n email: ['', [\r\n Validators.required,\r\n Validators.pattern(\"^[_A-Za-z0-9-\\\\+]+(\\\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\\\.[A-Za-z0-9]+)*(\\\\.[A-Za-z]{2,})$\")\r\n ]],\r\n address1: ['', [\r\n Validators.required,\r\n Validators.pattern(\"[a-zA-Z0-9_]+.*$\")\r\n ]],\r\n address2: ['', ''],\r\n city: ['', [\r\n Validators.required,\r\n Validators.pattern(\"[a-zA-Z0-9_]+.*$\")\r\n ]],\r\n state: ['', [\r\n Validators.required,\r\n Validators.pattern(\"[a-zA-Z0-9_]+.*$\")\r\n ]],\r\n zipCode: ['', [\r\n Validators.required,\r\n Validators.pattern(\"[a-zA-Z0-9_]+.*$\")\r\n ]],\r\n //,ContractInitiated:[null,'']\r\n });\r\n this.states = states;\r\n this.btnSaveText = 'Save';\r\n this.IsAdmin = this.userProfile.userRole.toLowerCase() == \"admin\" ? true : false;\r\n if (SessionDetails.GetActionType() == ActionType.editOportunity) {\r\n this.isEdit = true;\r\n this.btnSaveText = 'Update';\r\n this.edit_data = SessionDetails.GetopportunitiesData();\r\n this.businessId = this.edit_data.businessPk;\r\n this.showSelectedData();\r\n }\r\n else {\r\n this.stateSpecific = SessionDetails.GetState();\r\n this.getTestingPartnerNames(this.stateSpecific);\r\n }\r\n\r\n }\r\n\r\n stateChange(value) {\r\n this.selectedState = value;\r\n }\r\n stateValue(e) {\r\n this.selectedState = e;\r\n this.TestingPartners = [];\r\n this.btnDisbale = true;\r\n this.orgTypeSelect = \"\";\r\n if (this.selectedState !== \"\") {\r\n this.getTestingPartnerNames(this.selectedState);\r\n }\r\n }\r\n getTestingPartnerNames(state_name) {\r\n this._testingpartner.getTestingPartnerNames(state_name).subscribe((data: any) => {\r\n\r\n if (data.length > 0) {\r\n this.btnDisbale = null;\r\n this.TestingPartners = data;\r\n this.TotalTestingPartners = data;\r\n var distinct = [];\r\n\r\n this.businessId = this.TestingPartners[0].businessPk;\r\n }\r\n else {\r\n this.btnDisbale = true;\r\n this.TotalTestingPartners = [];\r\n }\r\n\r\n });\r\n\r\n }\r\n TestingOrgTypeChange(e) {\r\n\r\n if (e !== \"\") {\r\n if (this.TotalTestingPartners.length > 0) {\r\n this.TestingPartners = this.TotalTestingPartners.filter(c => c.organizationType == e);\r\n if (this.TestingPartners.length > 0) {\r\n this.businessId = this.TestingPartners[0].businessPk;\r\n this.btnDisbale = null;\r\n }\r\n else {\r\n this.btnDisbale = true;\r\n }\r\n }\r\n }\r\n else {\r\n this.TestingPartners = [];\r\n if (this.TotalTestingPartners.length > 0) {\r\n if (this.TotalTestingPartners.length > 0) {\r\n this.TestingPartners = this.TotalTestingPartners;\r\n this.btnDisbale = null;\r\n this.businessId = this.TestingPartners[0].businessPk;\r\n }\r\n else {\r\n this.btnDisbale = true;\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n selectedData(business_id) {\r\n this.businessId = business_id;\r\n }\r\n\r\n showSelectedData() {\r\n\r\n this.spinner.show();\r\n this._AddBusinessService.getPCAStoreBusinessDetails(this.businessId).subscribe((res:any) => {\r\n this.organization_type = res.organizationType;\r\n this.addPCAForm.controls['testingOrgType'].setValue(res.organizationType);\r\n this.addPCAForm.controls['address1'].setValue(res.address1);\r\n this.addPCAForm.controls['address2'].setValue(res.address2);\r\n this.addPCAForm.controls['organizationName'].setValue(res.businessName);\r\n this.addPCAForm.controls['city'].setValue(res.city);\r\n this.addPCAForm.controls['email'].setValue(res.email);\r\n this.addPCAForm.controls['firstName'].setValue(res.firstName);\r\n this.addPCAForm.controls['jobTitle'].setValue(res.jobTitle);\r\n this.addPCAForm.controls['lastName'].setValue(res.lastName);\r\n this.addPCAForm.controls['phone'].setValue(res.phone);\r\n this.addPCAForm.controls['state'].setValue(res.state);\r\n this.addPCAForm.controls['tollFree'].setValue(res.tollFree);\r\n this.addPCAForm.controls['zipCode'].setValue(res.zipCode);\r\n this.stateSpecific = this.addPCAForm.controls['state'].value;\r\n this.selectedState = this.addPCAForm.controls['state'].value;\r\n this.isStandardized = false; //res.isStandardized;\r\n\r\n res.outreachEffortList.forEach(item => {\r\n if (item.isCharityInitiated || item.isCommunityInitiated) {\r\n this.isInitiated = true;\r\n }\r\n })\r\n this.isScheduleClinics = res.isScheduledClinics;\r\n this.spinner.hide();\r\n });\r\n }\r\n addSelectedData() {\r\n \r\n this.spinner.show();\r\n this._AddBusinessService.getPCAStoreBusinessDetails(this.businessId).subscribe((res:any) => {\r\n this.disableFields = true;\r\n //this.isStandardized = true;\r\n this.businessPk = this.businessId;\r\n this.addPCAForm.controls['testingOrgType'].setValue(res.organizationType);\r\n this.addPCAForm.controls['address1'].setValue(res.address1);\r\n this.addPCAForm.controls['address2'].setValue(res.address2);\r\n this.addPCAForm.controls['organizationName'].setValue(res.businessName);\r\n this.addPCAForm.controls['city'].setValue(res.city);\r\n this.addPCAForm.controls['email'].setValue(res.email.trim());\r\n this.addPCAForm.controls['firstName'].setValue(res.firstName);\r\n this.addPCAForm.controls['jobTitle'].setValue(res.jobTitle);\r\n this.addPCAForm.controls['lastName'].setValue(res.lastName);\r\n this.addPCAForm.controls['phone'].setValue(res.phone);\r\n this.addPCAForm.controls['state'].setValue(res.state);\r\n this.addPCAForm.controls['tollFree'].setValue(res.tollFree);\r\n this.addPCAForm.controls['zipCode'].setValue(res.zipCode);\r\n this.stateSpecific = this.addPCAForm.controls['state'].value;\r\n this.selectedState = this.addPCAForm.controls['state'].value;\r\n this.spinner.hide();\r\n });\r\n }\r\n setDefaultValues() {\r\n\r\n }\r\n\r\n clearSelectedValues() {\r\n this.selectedZipCode = \"\";\r\n this.selectedtesting_partner_name = \"\";\r\n this.selectedcontact_phone = \"\";\r\n this.selectedcontact_name = \"\";\r\n this.selectedtitle_of_contact = \"\";\r\n this.selectedcontact_e_mail_address = \"\";\r\n this.selectedtesting_partner_address = \"\";\r\n this.selectedtesting_partner_city = \"\";\r\n this.selectedtesting_partner_state = \"\";\r\n }\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n isFieldValid(field: string) {\r\n return !this.addPCAForm.get(field).valid && this.addPCAForm.get(field).touched;\r\n }\r\n Save() {\r\n if (this.addPCAForm.valid) {\r\n this.btnCancel = this.IsAdmin ? 'Cancel' : 'Ok';\r\n\r\n if(this.addPCAForm.value.phone.indexOf(\"X\") > -1){\r\n this.addPCAForm.controls.phone.setValue(null);\r\n this.addPCAForm.controls.phone.updateValueAndValidity();\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = \"Mandatory fields are empty or have invalid entries. Please check the fields highlighted in red and enter or correct the information.\";\r\n this.popupShow = true;\r\n return false;\r\n }\r\n\r\n if (this.addPCAForm.controls['tollFree'].value != null && this.addPCAForm.controls['tollFree'].value != '') {\r\n if ((this.addPCAForm.controls['tollFree'].value.replace(/[^0-9.]/g, \"\")).length > 11 || (this.addPCAForm.controls['tollFree'].value.replace(/[^0-9.]/g, \"\")).length < 10 || (parseInt((this.addPCAForm.controls['tollFree'].value.replace(/[^0-9.]/g, \"\"))) + 0) == 0 || (parseInt((this.addPCAForm.controls['tollFree'].value.replace(/[^0-9.]/g, \"\"))) + 0) < 100 || parseInt(this.addPCAForm.controls['tollFree'].value.slice(0, 1)) == 0) {\r\n this.dialogSummary = \"Toll free number error.\";\r\n this.dialogMsg = \"Invalid toll free number. Please enter valid toll free number in toll free field.\";\r\n this.popupShow = true;\r\n return false;\r\n }\r\n }\r\n if (this.selectedState !== SessionDetails.GetState()) {\r\n this.confirm(\"PCA ORGANIZATION\", ErrorMessages[\"PCAAddWarning\"]);\r\n }\r\n else {\r\n if (this.isEdit) {\r\n this.editTestingOrganizations();\r\n }\r\n else {\r\n this.saveTestingOrganizations();\r\n }\r\n\r\n }\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.addPCAForm);\r\n return;\r\n }\r\n }\r\n Cancel() {\r\n this._location.back();\r\n }\r\n Ok() {\r\n\r\n this.errorPopUp = false;\r\n if (this.location_back) {\r\n this._location.back();\r\n }\r\n }\r\n saveTestingOrganizations() {\r\n\r\n var store_id = SessionDetails.GetStoreId();\r\n var store_pk = SessionDetails.GetStorePk();\r\n var addPCAData = new AddOutreachOpportunity();\r\n addPCAData.organizationtype = Number(this.addPCAForm.controls[\"testingOrgType\"].value);\r\n addPCAData.businessName = this.addPCAForm.controls[\"organizationName\"].value;\r\n addPCAData.businessPk = this.businessPk;\r\n addPCAData.phone = this.addPCAForm.controls[\"phone\"].value;\r\n addPCAData.tollFree = this.addPCAForm.controls[\"tollFree\"].value;\r\n addPCAData.firstName = this.addPCAForm.controls[\"firstName\"].value;\r\n addPCAData.lastName = this.addPCAForm.controls[\"lastName\"].value;\r\n addPCAData.jobTitle = this.addPCAForm.controls[\"jobTitle\"].value;\r\n addPCAData.email = this.addPCAForm.controls[\"email\"].value;\r\n addPCAData.address1 = this.addPCAForm.controls[\"address1\"].value;\r\n addPCAData.address2 = this.addPCAForm.controls[\"address2\"].value;\r\n addPCAData.city = this.addPCAForm.controls[\"city\"].value;\r\n addPCAData.state = this.addPCAForm.controls[\"state\"].value;\r\n addPCAData.zipCode = this.addPCAForm.controls[\"zipCode\"].value;\r\n addPCAData.isStandardized = false; //this.isStandardized ? true : false;\r\n addPCAData.outreachEffortList = [];\r\n //if (this.addPCAForm.controls['SeniorOutreach'].value) {\r\n var outreachEffort = new OutreachEffortList();\r\n outreachEffort.outreachBusinessPk = -1;\r\n outreachEffort.outreachProgram = \"PCA\";\r\n outreachEffort.storeId = store_id;\r\n outreachEffort.storePk = store_pk;\r\n outreachEffort.existingStoreId = -1\r\n outreachEffort.isCommunityInitiated = 0; \r\n outreachEffort.isCharityInitiated = 0; \r\n addPCAData.outreachEffortList.push(outreachEffort);\r\n //}\r\n this.disableBtn = true;\r\n\r\n this._AddBusinessService.addPCAOpportunity(addPCAData, this.userProfile.userPk, false).subscribe(res => {\r\n this.disableBtn = null;\r\n this.errorMessage = \"\";\r\n if (res.errorS != null) {\r\n if (res.errorS.errorCode > 0) {\r\n this.location_back = false;\r\n this.Message = \"Error Message\";\r\n this.errorPopUp = true;\r\n var business_name = res.errorS.errorMessage.split(',');\r\n var name = business_name;\r\n if (res.errorS.errorCode === 1 ) {\r\n this.errorMessage = String.Format(ErrorMessages[\"DuplicatePCAPhone\"],res.errorS.errorMessage);\r\n }\r\n else if( res.errorS.errorCode === 2) {\r\n this.errorMessage = String.Format(ErrorMessages[\"DuplicatePCAAddress\"],res.errorS.errorMessage);;\r\n }\r\n else if (res.errorS.errorCode === 3) {\r\n this.errorMessage = String.Format(res.errorS.errorMessage);\r\n }\r\n else if (res.errorS.errorCode == 0) {\r\n this.location_back = false;\r\n this.Message = \"Error Message\";\r\n this.errorPopUp = true;\r\n this.errorMessage = String.Format(ErrorMessages[\"DuplicateTestingOrg\"], addPCAData.businessName); \r\n }\r\n else {\r\n this.location_back = false;\r\n this.Message = \"Error Message\";\r\n this.errorPopUp = true;\r\n this.errorMessage = res.errorS&&res.errorS.errorMessage? res.errorS.errorMessage:\"Unknown Error\"; \r\n }\r\n \r\n }\r\n else if (res.errorS.errorCode == 0) {\r\n this.location_back = false;\r\n this.Message = \"Error Message\";\r\n this.errorPopUp = true;\r\n this.errorMessage = String.Format(ErrorMessages[\"DuplicateTestingOrg\"], addPCAData.businessName); \r\n }\r\n else { \r\n this.location_back = false;\r\n this.Message = \"Error Message\";\r\n this.errorPopUp = true;\r\n this.errorMessage = res.errorS&&res.errorS.errorMessage? res.errorS.errorMessage:\"Unknown Error\"; \r\n }\r\n }\r\n if (res.errorS == null) {\r\n this.location_back = true;\r\n this.Message = \"PCA ORGANIZATION\";\r\n this.errorPopUp = true;\r\n this.errorMessage = \"PCA organization added successfully.\";\r\n }\r\n },\r\n err=>\r\n {\r\n this.Message = \"PCA ORGANIZATION\";\r\n this.errorPopUp = true;\r\n this.location_back = true;\r\n this.errorMessage = \"Expectation Failed.\";\r\n });\r\n }\r\n confirm(hdr: string, msg: string) {\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n if (this.isEdit)\r\n this.editTestingOrganizations();\r\n else\r\n this.saveTestingOrganizations();\r\n\r\n return true;\r\n },\r\n reject: () => {\r\n return false;\r\n }\r\n });\r\n }\r\n editTestingOrganizations() {\r\n var store_id = SessionDetails.GetStoreId();\r\n var store_pk = SessionDetails.GetStorePk();\r\n var addPCAData = new AddOutreachOpportunity();\r\n addPCAData.organizationtype = Number(this.addPCAForm.controls[\"testingOrgType\"].value);\r\n addPCAData.businessName = this.addPCAForm.controls[\"organizationName\"].value;\r\n addPCAData.phone = this.addPCAForm.controls[\"phone\"].value;\r\n addPCAData.tollFree = this.addPCAForm.controls[\"tollFree\"].value;\r\n addPCAData.firstName = this.addPCAForm.controls[\"firstName\"].value;\r\n addPCAData.lastName = this.addPCAForm.controls[\"lastName\"].value;\r\n addPCAData.jobTitle = this.addPCAForm.controls[\"jobTitle\"].value;\r\n addPCAData.email = this.addPCAForm.controls[\"email\"].value;\r\n addPCAData.address1 = this.addPCAForm.controls[\"address1\"].value;\r\n addPCAData.address2 = this.addPCAForm.controls[\"address2\"].value;\r\n addPCAData.city = this.addPCAForm.controls[\"city\"].value;\r\n addPCAData.state = this.addPCAForm.controls[\"state\"].value;\r\n addPCAData.zipCode = this.addPCAForm.controls[\"zipCode\"].value;\r\n addPCAData.businessPk = this.businessId;\r\n addPCAData.isStandardized = false; //this.isStandardized ? true : false;\r\n addPCAData.outreachEffortList = [];\r\n\r\n var outreachEffort = new OutreachEffortList();\r\n outreachEffort = this.edit_data.outreachEffort.PCA;\r\n\r\n outreachEffort.storeId = store_id;\r\n outreachEffort.storePk = store_pk;\r\n outreachEffort.existingStoreId = store_id;\r\n\r\n addPCAData.outreachEffortList.push(outreachEffort);\r\n if ((this.isInitiated || this.isScheduleClinics) && this.addPCAForm.controls['testingOrgType'].value !== this.organization_type) {\r\n this.errorPopUp = true;\r\n this.Message = \"PCA ORGANIZATION\";\r\n this.errorMessage = \"The Organization Type for this organization may not be updated while it has a pending Limited Use License Agreement.\";\r\n\r\n if (this.isScheduleClinics) {\r\n this.errorMessage = \"The Organization Type for this organization may not be updated while it has scheduled events.\";\r\n }\r\n\r\n return;\r\n }\r\n this.disableBtn = true;\r\n this._AddBusinessService.updatePCAOpportunity(addPCAData, this.userProfile.userPk, false).subscribe(res => {\r\n this.disableBtn = null;\r\n this.errorMessage = \"\";\r\n if (res.errorS != null) {\r\n if (res.errorS.errorCode > 0) {\r\n this.location_back = false;\r\n this.Message = \"Error Message\";\r\n this.errorPopUp = true;\r\n if (res.errorS.errorCode === 1 ) {\r\n this.errorMessage = String.Format(ErrorMessages[\"DuplicatePCAPhone\"],res.errorS.errorMessage);;\r\n }\r\n else if( res.errorS.errorCode === 2) {\r\n this.errorMessage = String.Format(ErrorMessages[\"DuplicatePCAAddress\"],res.errorS.errorMessage);;\r\n }\r\n else if (res.errorS.errorCode === 3) {\r\n this.errorMessage = String.Format(res.errorS.errorMessage);\r\n } \r\n else {\r\n this.errorMessage = res.errorS&&res.errorS.errorMessage? res.errorS.errorMessage:\"Unknown Error\"; \r\n }\r\n }\r\n else if (res.errorS.errorCode == 0) {\r\n this.location_back = false;\r\n this.Message = \"Error Message\";\r\n this.errorPopUp = true;\r\n this.errorMessage = String.Format(ErrorMessages[\"DuplicateTestingOrg\"], addPCAData.businessName); \r\n }\r\n else { \r\n this.location_back = false;\r\n this.Message = \"Error Message\";\r\n this.errorPopUp = true;\r\n this.errorMessage = res.errorS&&res.errorS.errorMessage? res.errorS.errorMessage:\"Unknown Error\"; \r\n }\r\n }\r\n if (res.errorS == null) {\r\n this.location_back = true;\r\n this.Message = \"PCA ORGANIZATION\";\r\n this.errorPopUp = true;\r\n this.errorMessage = \"PCA organization updated successfully.\";\r\n }\r\n \r\n \r\n },\r\n err=>\r\n {\r\n this.Message = \"PCA ORGANIZATION\";\r\n this.errorPopUp = true;\r\n this.location_back = true;\r\n this.errorMessage = \"Expectation Failed.\";\r\n }\r\n );\r\n }\r\n\r\n onOnlyNumbers(event: any) {\r\n Util.onlyNumbers(event);\r\n }\r\n closePopup() {\r\n this.popupShow = false;\r\n }\r\n\r\n\r\n}\r\n\r\n","import { Component, OnInit,ViewChild } from '@angular/core';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { STEPS } from '../../../contractaggreement/workflow/workflow.model';\r\nimport { PcaContractsService } from '../../services/pca-contracts.service';\r\nimport { PcaImmunizationsComponent } from '../pca-immunizations/pca-immunizations.component';\r\nimport { PcaPharmacyInfoComponent } from '../pca-pharmacy-info/pca-pharmacy-info.component';\r\nimport { PcaLocationListComponent } from '../pca-location-list/pca-location-list.component';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { Util } from '../../../../utility/util';\r\nimport { OutreachProgramService } from '../../../contractaggreement/services/outreach-program.service';\r\nimport { PcaContract } from '../../../../models/pcaclinic';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ContractData } from '../../../../models/contract';\r\nimport { TimeToDatePipe } from '../../../contractaggreement/pipes/time-to-date.pipe';\r\nimport { LulaAso } from '../../../../models/pcaTandC';\r\nimport { LulaAsoRelease2,LulaSTIRelease2 } from '../../../../models/pcaTandC-release2';\r\n\r\n\r\n@Component({\r\n selector: 'app-asolula',\r\n templateUrl: './asolula.component.html',\r\n styleUrls: ['./asolula.component.css'],\r\n providers: [DatePipe, TimeToDatePipe]\r\n}) \r\nexport class AsolulaComponent implements OnInit {\r\n @ViewChild(PcaImmunizationsComponent) imzcmp: PcaImmunizationsComponent;\r\n @ViewChild(PcaLocationListComponent) loccmp: PcaLocationListComponent;\r\n @ViewChild(PcaPharmacyInfoComponent) witcmp: PcaPharmacyInfoComponent;\r\n\r\n showHints:boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\"))=='yes')?false:true;\r\n pageName:string = \"asolula\";\r\n\r\n step: number = 1;\r\n step_desc: string;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n contractType: string;\r\n tandC:LulaAso = null;\r\n contractData:any;\r\n OutReachProgramType: number = 8;\r\n isPharmacyFormValid:boolean = false;\r\n isLocationsFormValid:boolean = false;\r\n RHDRVPEmails=[];\r\n index_value:number;\r\n hideSaveBtn:boolean=false;\r\n locationName:string = \"Testing Event\";\r\n startTimeEndTimesStep_desc:string ;\r\n showStartTimeEndTimeValid :boolean = false;\r\n isTimeValid:Number = 0;\r\n tandcRelease1: boolean;\r\n tandcRelease2: boolean;\r\n clinic_agreement_pk: any;\r\n oldPcaReleaseDate: string;\r\n PcaReleaseDate2022_1: string;\r\n constructor( private router: Router, private spinner: NgxSpinnerService\r\n , private pcaContractService:PcaContractsService, private confirmationService:ConfirmationService,\r\n private _localContractService: OutreachProgramService, private utility:Util, private _datePipe: DatePipe) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.spinner.show();\r\n this.clinic_agreement_pk = SessionDetails.GetAgreementPK(); \r\n this.getContractAgreementData(this.clinic_agreement_pk)\r\n this.pcaContractService.wipeData();\r\n this.tandC = new LulaAso();\r\n // this.pcaContractService.setLulaTandC(this.tandC);\r\n this.spinner.hide();\r\n this.getRHDRVPEmails();\r\n this.oldPcaReleaseDate = new LulaAso().tnCCutOffDate;\r\n this.PcaReleaseDate2022_1 = new LulaAsoRelease2().tnCCutOffDate;\r\n }\r\n getRHDRVPEmails()\r\n {\r\n let storeId = SessionDetails.GetStoreId();\r\n if(storeId === null || storeId === undefined ){\r\n this.showDialog(ErrorMessages['clientError'],ErrorMessages['nullStoreId']);\r\n return;\r\n }\r\n this.pcaContractService.validateRHDRVPEmails(storeId).subscribe((data:any)=>\r\n { \r\n this.RHDRVPEmails = data;\r\n });\r\n }\r\n\r\n \r\n getContractAgreementData(clinic_agreement_pk) { \r\n this.pcaContractService.getPCAContractAgreement(clinic_agreement_pk).subscribe((data:any) => {\r\n \r\n //refer dates in the tandc file\r\n if(data.dateApproved <= this.PcaReleaseDate2022_1)\r\n {\r\n this.tandcRelease1 = true;\r\n let profile_data = SessionDetails.getStoreProfileData();\r\n if(profile_data&& profile_data.length>0){ \r\n this.tandC = new LulaAso(); \r\n this.pcaContractService.setLulaTandC(this.tandC);\r\n }\r\n \r\n }\r\n else if(data.dateApproved > this.PcaReleaseDate2022_1 || data.dateApproved == null)\r\n {\r\n \r\n this.tandcRelease2 = true;\r\n let profile_data = SessionDetails.getStoreProfileData();\r\n if(profile_data&& profile_data.length>0){ \r\n this.tandC = new LulaAsoRelease2(); \r\n \r\n this.pcaContractService.setLulaTandC(this.tandC);\r\n }\r\n \r\n }\r\n },\r\n err => {\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n return false; \r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n }\r\n }\r\n );\r\n }\r\n\r\n \r\n GoToStep(step: number) {\r\n this.spinner.show(); \r\n let step_desc = this.getStepDesc(step);\r\n this.step_desc = this.getStepDesc(this.step);\r\n this.contractData = this.pcaContractService.fetchPcaContractAgreementData();\r\n \r\n if (this.loccmp) {\r\n if (this.loccmp.contractForm.value.contactPhone.indexOf(\"X\") > -1) {\r\n this.loccmp.contractForm.controls.contactPhone.setValue(null);\r\n this.loccmp.contractForm.controls.contactPhone.updateValueAndValidity();\r\n let errMsg = ErrorMessages['MandatoryFields'];\r\n let sumMsg = 'Error'\r\n this.spinner.hide(); \r\n this.showDialog(sumMsg, errMsg);\r\n return false;\r\n }\r\n }\r\n\r\n this.hideSaveBtn = this.contractData.isEmailSent == true && ( this.contractData.isApproved != false) && ( this.contractData.isRhdApproved != false);\r\n if (step < this.step) {\r\n this.cacheInEnteredData(this.step_desc);\r\n this.step = step;\r\n this.step_desc = step_desc;\r\n this.spinner.hide(); \r\n return;\r\n }\r\n if (this.OnSave(this.step_desc, step, this.step)) {\r\n if (this.step_desc != step_desc) {\r\n this.step = step ;\r\n }\r\n }\r\n this.spinner.hide(); \r\n }\r\n getStepDesc(step: number) {\r\n if (step === 1)\r\n return STEPS.immunization;\r\n if (step === 2)\r\n return STEPS.location;\r\n if (step === 3)\r\n return STEPS.witness;\r\n if (step === 4)\r\n {\r\n\r\n return STEPS.review;\r\n }\r\n }\r\n cacheInEnteredData(step_desc: any, currentStep?: number, prevStep?: number) { \r\n let return_value: boolean = false;\r\n if (this.step_desc === STEPS.immunization) {\r\n return_value = this.imzcmp.simpleSave();\r\n }\r\n else if (this.step_desc === STEPS.location) {\r\n if (this.loccmp != undefined) {\r\n this.loccmp.simpleSave();\r\n \r\n if(!this.loccmp.isFormValid() ){\r\n this.isLocationsFormValid = false;\r\n } else {\r\n this.isLocationsFormValid = true;\r\n }\r\n \r\n }\r\n }\r\n else if (this.step_desc === STEPS.witness) {\r\n if (this.witcmp != undefined) {\r\n this.witcmp.simpleSave();\r\n if(!this.witcmp.isFormValid()){\r\n this.isPharmacyFormValid = false;\r\n } else {\r\n this.isPharmacyFormValid = true;\r\n }\r\n }\r\n }\r\n }\r\n OnSave(step_desc: any, currentStep: number, prevStep: number) {\r\n this.index_value = 1;\r\n let return_value = false;\r\n if (this.step_desc === STEPS.immunization) {\r\n return_value = this.imzcmp.save();\r\n }\r\n else if (this.step_desc === STEPS.location) {\r\n if(this.loccmp.isClinicDateReminderBefore2WksReq()){\r\n let sumMsg = ErrorMessages['impRmndrFor2Wks'];\r\n let errMsg = ErrorMessages['eventDateReminderBefore2WeeksEN'];\r\n var userProfile = SessionDetails.GetUserProfile();\r\n var lowerCaseName = userProfile.userRole.toLowerCase();\r\n if (lowerCaseName == \"regionalvp\" ||\r\n lowerCaseName == \"regionaldirector\" || lowerCaseName == \"admin\" ||\r\n lowerCaseName == \"regional vice president\" ||\r\n lowerCaseName == \"regional healthcare director\" || 1==1\r\n ) {\r\n this.step = 2;\r\n this.dialogSummary = sumMsg;\r\n this.confirm(sumMsg, errMsg, step_desc);\r\n return false;\r\n }\r\n else {\r\n errMsg = ErrorMessages['eventDateReminderBefore2WeeksEN'];\r\n this.showDialog(sumMsg, errMsg);\r\n this.step = 2;\r\n return false;\r\n }\r\n }\r\n this.isTimeValid = this.loccmp.isStartTimeEndTimeValid();\r\n if(this.isTimeValid){\r\n this.startTimeEndTimesStep_desc = step_desc;\r\n this.showStartTimeEndTimeValid = true;\r\n this.dialogSummary = \"Alert\";\r\n if(this.isTimeValid==1)\r\n this.dialogMsg = ErrorMessages['clinicLengthMoreThan8Hrs'];\r\n else if(this.isTimeValid == 2){\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = ErrorMessages['clinicLengthAlert'];\r\n }\r\n else {\r\n this.dialogMsg = \"Please contact support.\";\r\n }\r\n return false;\r\n } \r\n return_value = this.loccmp.save();\r\n }\r\n else if (this.step_desc === STEPS.witness) {\r\n return_value = this.witcmp.save();\r\n let a = this.witcmp.getRHDEmail();\r\n if(a.match(/@/g)!='@')\r\n {\r\n let sMsg = ErrorMessages['ValidateRHDEmail'];\r\n let sumMsg = \"Invalid Email\";\r\n if(a.length<=0){\r\n sMsg=ErrorMessages['MandatoryFields'];\r\n }\r\n this.showDialog(sumMsg, sMsg);\r\n return false;\r\n }\r\n this.witcmp.getRHDEmail().split(',').forEach(element => {\r\n var index = this.RHDRVPEmails.findIndex(q=>q.toLowerCase()==element.toLowerCase()); \r\n if(index==-1)\r\n {\r\n this.index_value = index;\r\n let sMsg = ErrorMessages['ValidateRHDEmail'];\r\n let sumMsg = \"Invalid Email\";\r\n this.showDialog(sumMsg, sMsg);\r\n }\r\n });\r\n if(this.index_value==-1)\r\n return false;\r\n }\r\n\r\n if(this.pcaContractService.getPcaContractData().isEmailSent == 1 ) {\r\n this.isLocationsFormValid = true;\r\n this.isPharmacyFormValid=true;\r\n } \r\n if (currentStep > prevStep + 1) {\r\n //user has navigated one step further due to previous iteration.\r\n for (let count = prevStep ; count <= currentStep; count++) {\r\n switch (count) {\r\n case 1:\r\n if(!this.imzcmp.checkIfAnyImmunizationsAdded()){\r\n this.step = 1;\r\n return false;\r\n }\r\n break;\r\n case 2:\r\n if(this.imzcmp != null && this.imzcmp != undefined ){\r\n\r\n if ( !this.isLocationsFormValid || this.pcaContractService.getValidationsRequiredStatus() )\r\n {//this.imzcmp.validateLocForm ||\r\n this.step = 2;\r\n this.imzcmp.validateLocForm = false;\r\n return false;\r\n }\r\n } else if(this.pcaContractService.getValidationsRequiredStatus()) {\r\n this.step = 2;\r\n this.imzcmp.validateLocForm = false;\r\n return false;\r\n }\r\n break;\r\n case 3:\r\n if(!this.isPharmacyFormValid ){\r\n this.step = 3;\r\n return false;\r\n }\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n return return_value;\r\n }\r\n setLula(state:string){\r\n \r\n // this.tandC = new LulaAso();\r\n // this.pcaContractService.setLulaTandC(this.tandC);\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n confirm(hdr: string, msg: string, step_desc: any) {\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n this.isTimeValid = this.loccmp.isStartTimeEndTimeValid();\r\n if(this.isTimeValid){\r\n this.showStartTimeEndTimeValid = true;\r\n this.startTimeEndTimesStep_desc = step_desc;\r\n this.dialogSummary = \"Alert\";\r\n if(this.isTimeValid==1)\r\n this.dialogMsg = ErrorMessages['clinicLengthMoreThan8Hrs'];\r\n else if(this.isTimeValid == 2){\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = ErrorMessages['clinicLengthAlert'];\r\n }\r\n else {\r\n this.dialogMsg = \"Please contact support\";\r\n }\r\n return false;\r\n }\r\n if (this.loccmp.save()) {\r\n this.step = this.step + 1;\r\n }\r\n else {\r\n this.step = 2;\r\n return false;\r\n }\r\n return true;\r\n },\r\n reject: () => {\r\n this.step = 2;\r\n return false;\r\n }\r\n });\r\n \r\n }\r\n okClicked() {\r\n this.display = false;\r\n }\r\n saveBtnClicked() {\r\n this.spinner.show();\r\n let return_value = false;\r\n if (this.step_desc === STEPS.immunization || this.step <= 1) {\r\n if (this.imzcmp != undefined) {\r\n return_value = this.imzcmp.simpleSave();\r\n }\r\n }\r\n if (this.step_desc === STEPS.location || this.step == 2) {\r\n if (this.loccmp != undefined) {\r\n \r\n return_value = this.loccmp.simpleSave();\r\n }\r\n }\r\n if (this.step_desc === STEPS.witness || this.step >= 3)\r\n if (this.witcmp != undefined) {\r\n\r\n return_value = this.witcmp.simpleSave();\r\n }\r\n if( !return_value ) {\r\n this.spinner.hide(); \r\n return false; }\r\n \r\n let contractData = new PcaContract();\r\n contractData = this.pcaContractService.getPcaContractData();\r\n\r\n let orthoDoxContract = new ContractData();\r\n this.utility.transformPcaAgreementToOrthoDoxContractJson(contractData,\"\", this._datePipe,orthoDoxContract);\r\n orthoDoxContract.isEmailSent = 0;\r\n orthoDoxContract.contactWagUser = null;\r\n orthoDoxContract.isApproved = null;\r\n this._localContractService.saveAgreementData(SessionDetails.GetStoreId(), 8,orthoDoxContract).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case '0':\r\n case 0:\r\n this.showDialog(ErrorMessages['asoLula'], ErrorMessages['asoLulaSaved']);\r\n break; \r\n case -4:\r\n case '-4':\r\n this.showDialog(ErrorMessages['resolve'], data.errorS.errorMessage);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break; \r\n }\r\n \r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n break;\r\n }\r\n });\r\n return return_value;\r\n }\r\n cancelContract() {\r\n // let return_value = false;\r\n // if (this.step_desc === STEPS.immunization || this.step <= 1) {\r\n // if(this.imzcmp != undefined){\r\n // return_value = this.imzcmp.cancelImmunization();\r\n // }\r\n // if (return_value) {\r\n // this.savePopUp = true;\r\n // this.showDialogCancel(ErrorMessages['unSavedData'], ErrorMessages['contract_alert']);\r\n // }\r\n // else {\r\n // this._location.back();\r\n // }\r\n // }\r\n // if (this.step_desc === STEPS.location || this.step == 2) {\r\n // this.cancel_check = this._localContractService.getIsCancel();\r\n // return_value = this.loccmp.cancelLocationData();\r\n // if (return_value || this.cancel_check ) {\r\n // this.savePopUp = true;\r\n // this.showDialogCancel(ErrorMessages['unSavedData'], ErrorMessages['contract_alert']);\r\n // }\r\n // else {\r\n // this._location.back();\r\n // }\r\n // }\r\n // if (this.step_desc === STEPS.witness || this.step >= 3)\r\n // if (this.witcmp != undefined) {\r\n // this.cancel_check = this._localContractService.getIsCancel();\r\n // return_value = this.witcmp.cancelWitness();\r\n // if (return_value || this.cancel_check ) {\r\n // this.savePopUp = true;\r\n // this.showDialogCancel(ErrorMessages['unSavedData'], ErrorMessages['contract_alert']);\r\n // }\r\n // else {\r\n // this._location.back();\r\n // }\r\n // }\r\n this.router.navigateByUrl('/communityoutreach/storehome');\r\n }\r\n showDialogCancel(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n }\r\n EditTimes(){\r\n this.showStartTimeEndTimeValid=false;\r\n }\r\n ContinueToNextStep(){\r\n this.showStartTimeEndTimeValid=false;\r\n if (this.loccmp.save()) {\r\n this.step = this.step + 1;\r\n }\r\n else {\r\n this.step = 2;\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ContractData } from '../../../../models/contract';\r\nimport { STEPS } from '../../../contractaggreement/workflow/workflow.model';\r\nimport { PcaContract, PCACancerMetrics } from '../../../../models/pcaclinic';\r\nimport { CancerLula, LulaGov } from '../../../../models/pcaTandC';\r\nimport { Router } from '@angular/router';\r\nimport { PcaContractsService } from '../../services/pca-contracts.service';\r\nimport { OutreachProgramService } from '../../../contractaggreement/services/outreach-program.service';\r\n\r\nimport { Util } from '../../../../utility/util';\r\nimport { PcaImmunizationsComponent } from '../pca-immunizations/pca-immunizations.component';\r\nimport { PcaLocationListComponent } from '../pca-location-list/pca-location-list.component';\r\nimport { PcaPharmacyInfoComponent } from '../pca-pharmacy-info/pca-pharmacy-info.component';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { DatePipe } from '@angular/common';\r\nimport { CancerLulaRelease2 } from '../../../../models/pcaTandC-release2';\r\n\r\n@Component({\r\n selector: 'app-csslula',\r\n templateUrl: './csslula.component.html',\r\n styleUrls: ['./csslula.component.css'],\r\n providers:[DatePipe]\r\n})\r\nexport class CsslulaComponent implements OnInit {\r\n @ViewChild(PcaImmunizationsComponent) imzcmp: PcaImmunizationsComponent;\r\n @ViewChild(PcaLocationListComponent) loccmp: PcaLocationListComponent;\r\n @ViewChild(PcaPharmacyInfoComponent) witcmp: PcaPharmacyInfoComponent;\r\n\r\n showHints:boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\"))=='yes')?false:true;\r\n pageName:string = \"asolula\";\r\n\r\n step: number = 1;\r\n step_desc: string;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n contractType: string;\r\n tandC:CancerLula = null;\r\n contractData:any;\r\n OutReachProgramType: number = 12;\r\n isPharmacyFormValid:boolean = false;\r\n isLocationsFormValid:boolean = false;\r\n RHDRVPEmails=[];\r\n index_value:number;\r\n hideSaveBtn:boolean=false;\r\n locationName:string = \"Screening Event\";\r\n cancerDialogdisplay:boolean=false;\r\n cancerdialogSummary:string;\r\n cancerdialogMsg:string;\r\n cancerMetrics: PCACancerMetrics[]=[];\r\n totalCanerEventsinCurrentYear:number=0;\r\n totalCanerEventsinNextYear:number=0;\r\n startTimeEndTimesStep_desc:string ;\r\n showStartTimeEndTimeValid :boolean = false;\r\n isTimeValid:Number = 0;\r\n clinic_agreement_pk: any;\r\n tandcRelease1: boolean;\r\n PcaReleaseDate2022_1: any;\r\n tandcRelease2: boolean;\r\n constructor( private router: Router, private spinner: NgxSpinnerService\r\n , private pcaContractService:PcaContractsService, private confirmationService:ConfirmationService,\r\n private _localContractService: OutreachProgramService, private utility:Util, private _datePipe: DatePipe) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.spinner.show();\r\n this.clinic_agreement_pk = SessionDetails.GetAgreementPK(); \r\n this.getContractAgreementData(this.clinic_agreement_pk);\r\n \r\n this.pcaContractService.wipeData();\r\n this.tandC = new CancerLula();\r\n this.pcaContractService.setLulaTandC(this.tandC);\r\n this.spinner.hide();\r\n this.getRHDRVPEmails();\r\n \r\n this.PcaReleaseDate2022_1 = new CancerLulaRelease2().tnCCutOffDate;\r\n }\r\n \r\n getContractAgreementData(clinic_agreement_pk) { \r\n this.pcaContractService.getPCAContractAgreement(clinic_agreement_pk).subscribe((data:any) => {\r\n \r\n //refer dates in the tandc file\r\n if(data.dateApproved <= this.PcaReleaseDate2022_1)\r\n {\r\n this.tandcRelease1 = true;\r\n let profile_data = SessionDetails.getStoreProfileData();\r\n if(profile_data&& profile_data.length>0){\r\n this.tandC = new CancerLula(profile_data[0].state);\r\n this.pcaContractService.setLulaTandC(this.tandC);\r\n }\r\n \r\n }\r\n else if(data.dateApproved > this.PcaReleaseDate2022_1 || data.dateApproved == null)\r\n {\r\n this.tandcRelease2 = true;\r\n let profile_data = SessionDetails.getStoreProfileData();\r\n if(profile_data&& profile_data.length>0){\r\n this.tandC = new CancerLulaRelease2(profile_data[0].state);\r\n this.pcaContractService.setLulaTandC(this.tandC);\r\n }\r\n \r\n }\r\n },\r\n err => {\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n return false; \r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n }\r\n }\r\n );\r\n }\r\n \r\n getRHDRVPEmails()\r\n {\r\n let storeId = SessionDetails.GetStoreId();\r\n if(storeId === null || storeId === undefined ){\r\n this.showDialog(ErrorMessages['clientError'],ErrorMessages['nullStoreId']);\r\n return;\r\n }\r\n this.pcaContractService.validateRHDRVPEmails(storeId).subscribe((data:any)=>\r\n { \r\n this.RHDRVPEmails = data;\r\n });\r\n }\r\n GoToStep(step: number) {\r\n let step_desc = this.getStepDesc(step);\r\n this.step_desc = this.getStepDesc(this.step);\r\n this.contractData = this.pcaContractService.fetchPcaContractAgreementData();\r\n if (this.loccmp) {\r\n if (this.loccmp.contractForm.value.contactPhone.indexOf(\"X\") > -1) {\r\n this.loccmp.contractForm.controls.contactPhone.setValue(null);\r\n this.loccmp.contractForm.controls.contactPhone.updateValueAndValidity();\r\n let errMsg = ErrorMessages['MandatoryFields'];\r\n let sumMsg = 'Error'\r\n this.showDialog(sumMsg, errMsg);\r\n return false;\r\n }\r\n }\r\n this.hideSaveBtn = this.contractData.isEmailSent === true && ( this.contractData.isApproved !== false) && ( this.contractData.isRhdApproved != false);\r\n if (step < this.step) {\r\n this.cacheInEnteredData(this.step_desc);\r\n this.step = step;\r\n this.step_desc = step_desc;\r\n return;\r\n } \r\n if (this.OnSave(this.step_desc, step, this.step, false)) {\r\n if (this.step_desc !== step_desc) {\r\n this.step = step ;\r\n }\r\n }\r\n \r\n if(this.step_desc=='location' && this.loccmp){\r\n if(this.loccmp.contractForm.value.contactPhone.indexOf(\"X\") > -1){\r\n this.loccmp.contractForm.value.contactPhone.setValue(null);\r\n this.loccmp.contractForm.value.contactPhone.updateValueAndValidity();\r\n return false;\r\n }\r\n }\r\n\r\n\r\n }\r\n getStepDesc(step: number) {\r\n if (step === 1)\r\n return STEPS.immunization;\r\n if (step === 2)\r\n return STEPS.location;\r\n if (step === 3)\r\n return STEPS.witness;\r\n if (step === 4){\r\n return STEPS.review;\r\n }\r\n }\r\n cacheInEnteredData(step_desc: any, currentStep?: number, prevStep?: number) { \r\n let return_value: boolean = false;\r\n if (this.step_desc === STEPS.immunization) {\r\n return_value = this.imzcmp.simpleSave();\r\n }\r\n else if (this.step_desc === STEPS.location) {\r\n if (this.loccmp !== undefined) {\r\n this.loccmp.simpleSave();\r\n \r\n if(!this.loccmp.isFormValid() ){\r\n this.isLocationsFormValid = false;\r\n } else {\r\n this.isLocationsFormValid = true;\r\n }\r\n \r\n }\r\n }\r\n else if (this.step_desc === STEPS.witness) {\r\n if (this.witcmp != undefined) {\r\n this.witcmp.simpleSave();\r\n if(!this.witcmp.isFormValid()){\r\n this.isPharmacyFormValid = false;\r\n } else {\r\n this.isPharmacyFormValid = true;\r\n }\r\n }\r\n }\r\n }\r\n OnSave(step_desc: any, currentStep: number, prevStep: number, isoverride:boolean) {\r\n this.index_value = 1;\r\n let return_value = false;\r\n if (this.step_desc === STEPS.immunization) {\r\n return_value = this.imzcmp.save();\r\n }\r\n else if (this.step_desc === STEPS.location) {\r\n //inlude cancer conditions\r\n var userProfile = SessionDetails.GetUserProfile();\r\n if(!isoverride){\r\n this.validateCancerEventsCount(userProfile);\r\n if(this.totalCanerEventsinCurrentYear>2 || this.totalCanerEventsinNextYear>2){\r\n if(userProfile.userRole.toLowerCase()==\"admin\"){\r\n this.cancerDialogdisplay=true;\r\n this.cancerdialogSummary = ErrorMessages['impRmndrFor2Wks'];\r\n this.cancerdialogMsg = ErrorMessages['cancerEventWarning'];\r\n return false;\r\n }else{\r\n this.showDialog(ErrorMessages['impRmndrFor2Wks'], ErrorMessages['cancerEventWarning']);\r\n return false;\r\n }\r\n } \r\n }\r\n //\r\n if(this.loccmp.isClinicDateReminderBefore2WksReq()){\r\n let sumMsg = ErrorMessages['impRmndrFor2Wks'];\r\n let errMsg = ErrorMessages['eventDateReminderBefore2WeeksEN'];\r\n var lowerCaseName = userProfile.userRole.toLowerCase();\r\n if (lowerCaseName == \"regionalvp\" ||\r\n lowerCaseName == \"regionaldirector\" || lowerCaseName == \"admin\" ||\r\n lowerCaseName == \"regional vice president\" ||\r\n lowerCaseName == \"regional healthcare director\" || 1==1\r\n ) {\r\n this.step = 2;\r\n this.dialogSummary = sumMsg;\r\n this.confirm(sumMsg, errMsg, step_desc);\r\n return false;\r\n }\r\n else {\r\n errMsg = ErrorMessages['eventDateReminderBefore2WeeksEN'];\r\n this.showDialog(sumMsg, errMsg);\r\n this.step = 2;\r\n return false;\r\n }\r\n }\r\n this.isTimeValid = this.loccmp.isStartTimeEndTimeValid();\r\n if(this.isTimeValid){\r\n this.startTimeEndTimesStep_desc = step_desc;\r\n this.showStartTimeEndTimeValid = true;\r\n this.dialogSummary = \"Alert\";\r\n if(this.isTimeValid==1)\r\n this.dialogMsg = ErrorMessages['clinicLengthMoreThan8Hrs'];\r\n else if(this.isTimeValid == 2){\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = ErrorMessages['clinicLengthAlert'];\r\n }\r\n else {\r\n this.dialogMsg = \"Please contact support.\";\r\n }\r\n return false;\r\n }\r\n return_value = this.loccmp.save();\r\n }\r\n else if (this.step_desc === STEPS.witness) {\r\n return_value = this.witcmp.save();\r\n let a = this.witcmp.getRHDEmail();\r\n if(a.match(/@/g)!='@')\r\n {\r\n let sMsg = ErrorMessages['ValidateRHDEmail'];\r\n let sumMsg = \"Invalid Email\";\r\n if(a.length<=0){\r\n sMsg=ErrorMessages['MandatoryFields'];\r\n }\r\n this.showDialog(sumMsg, sMsg);\r\n return false;\r\n }\r\n this.witcmp.getRHDEmail().split(',').forEach(element => {\r\n var index = this.RHDRVPEmails.findIndex(q=>q.toLowerCase()==element.toLowerCase()); \r\n if(index==-1)\r\n {\r\n this.index_value = index;\r\n let sMsg = ErrorMessages['ValidateRHDEmail'];\r\n let sumMsg = \"Invalid Email\";\r\n this.showDialog(sumMsg, sMsg);\r\n }\r\n });\r\n if(this.index_value==-1)\r\n return false;\r\n }\r\n\r\n if(this.pcaContractService.getPcaContractData().isEmailSent == 1 ) {\r\n this.isLocationsFormValid = true;\r\n this.isPharmacyFormValid=true;\r\n } \r\n if (currentStep > prevStep + 1) {\r\n //user has navigated one step further due to previous iteration.\r\n for (let count = prevStep ; count <= currentStep; count++) {\r\n switch (count) {\r\n case 1:\r\n if(!this.imzcmp.checkIfAnyImmunizationsAdded()){\r\n this.step = 1;\r\n return false;\r\n }\r\n break;\r\n case 2:\r\n if(this.imzcmp != null && this.imzcmp != undefined ){\r\n\r\n if ( !this.isLocationsFormValid || this.pcaContractService.getValidationsRequiredStatus() )\r\n {//this.imzcmp.validateLocForm ||\r\n this.step = 2;\r\n this.imzcmp.validateLocForm = false;\r\n return false;\r\n }\r\n } else if(this.pcaContractService.getValidationsRequiredStatus()) {\r\n this.step = 2;\r\n this.imzcmp.validateLocForm = false;\r\n return false;\r\n }\r\n break;\r\n case 3:\r\n if(!this.isPharmacyFormValid ){\r\n this.step = 3;\r\n return false;\r\n }\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n return return_value;\r\n }\r\n setLula(state:string){\r\n // this.tandC = new CancerLula();\r\n // this.pcaContractService.setLulaTandC(this.tandC);\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n confirm(hdr: string, msg: string, step_desc: any) {\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n this.isTimeValid = this.loccmp.isStartTimeEndTimeValid();\r\n if(this.isTimeValid){\r\n this.showStartTimeEndTimeValid = true;\r\n this.startTimeEndTimesStep_desc = step_desc;\r\n this.dialogSummary = \"Alert\";\r\n if(this.isTimeValid==1)\r\n this.dialogMsg = ErrorMessages['clinicLengthMoreThan8Hrs'];\r\n else if(this.isTimeValid == 2){\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = ErrorMessages['clinicLengthAlert'];\r\n }\r\n else {\r\n this.dialogMsg = \"Please contact support\";\r\n }\r\n return false;\r\n }\r\n if (this.loccmp.save()) {\r\n this.step = this.step + 1;\r\n }\r\n else { \r\n this.step = 2;\r\n return false;\r\n }\r\n return true;\r\n },\r\n reject: () => {\r\n this.step = 2;\r\n return false;\r\n }\r\n });\r\n \r\n } \r\n okClicked() {\r\n this.display = false;\r\n }\r\n saveBtnClicked() {\r\n this.spinner.show();\r\n let return_value = false;\r\n if (this.step_desc === STEPS.immunization || this.step <= 1) {\r\n if (this.imzcmp != undefined) {\r\n return_value = this.imzcmp.simpleSave();\r\n }\r\n }\r\n if (this.step_desc === STEPS.location || this.step == 2) {\r\n if (this.loccmp != undefined) {\r\n \r\n return_value = this.loccmp.simpleSave();\r\n }\r\n }\r\n if (this.step_desc === STEPS.witness || this.step >= 3)\r\n if (this.witcmp != undefined) {\r\n\r\n return_value = this.witcmp.simpleSave();\r\n }\r\n if( !return_value ) {\r\n this.spinner.hide(); \r\n return false; }\r\n \r\n let contractData = new PcaContract();\r\n contractData = this.pcaContractService.getPcaContractData();\r\n\r\n let orthoDoxContract = new ContractData();\r\n this.utility.transformPcaAgreementToOrthoDoxContractJson(contractData,\"\", this._datePipe,orthoDoxContract);\r\n orthoDoxContract.isEmailSent = 0;\r\n orthoDoxContract.contactWagUser = null;\r\n orthoDoxContract.isApproved = null;\r\n this._localContractService.saveAgreementData(SessionDetails.GetStoreId(), 8,orthoDoxContract).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case '0':\r\n case 0:\r\n this.showDialog(ErrorMessages['asoLula'], ErrorMessages['asoLulaSaved']);\r\n break; \r\n case -4:\r\n case '-4':\r\n this.showDialog(ErrorMessages['resolve'], data.errorS.errorMessage);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break; \r\n }\r\n \r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n break;\r\n }\r\n });\r\n return return_value;\r\n }\r\n cancelContract() {\r\n this.router.navigateByUrl('/communityoutreach/storehome');\r\n }\r\n showDialogCancel(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n }\r\n\r\n acceptCanelOverride(){\r\n this.cancerDialogdisplay=false;\r\n if (this.OnSave(this.step_desc, 3, this.step, true)) {\r\n this.step = 3 ;\r\n }\r\n }\r\n cancelCanelOverride(){\r\n \r\n this.cancerDialogdisplay=false;\r\n }\r\n\r\n validateCancerEventsCount(userProfile:any){\r\n //total events in current year\r\n this.totalCanerEventsinNextYear=0;\r\n\tthis.totalCanerEventsinCurrentYear=0;\r\n let calenderEvents = SessionDetails.GetTotalCancerEvents();\r\n this.cancerMetrics = this.loccmp.calcualteNewEventsinCurrentYear();\r\n let currentYear=new Date().getFullYear();\r\n let events;\r\n\r\n //current year total events\r\n if(calenderEvents && calenderEvents.length > 0){\r\n events=calenderEvents.filter(p=> p.Year === currentYear);\r\n if(events && events.length > 0) this.totalCanerEventsinCurrentYear=events[0].EventCount;\r\n }\r\n if(this.cancerMetrics && this.cancerMetrics.length>0){\r\n events= this.cancerMetrics.filter(p=> p.Year === currentYear);\r\n if(events && events.length > 0) this.totalCanerEventsinCurrentYear=this.totalCanerEventsinCurrentYear+events[0].EventCount;\r\n }\r\n //\r\n //next year total events\r\n if(calenderEvents && calenderEvents.length > 0){\r\n events=calenderEvents.filter(p=> p.Year === currentYear+1);\r\n if(events && events.length > 0) this.totalCanerEventsinNextYear=events[0].EventCount;\r\n }\r\n if(this.cancerMetrics && this.cancerMetrics.length>0){\r\n events= this.cancerMetrics.filter(p=> p.Year === currentYear+1);\r\n if(events && events.length > 0) this.totalCanerEventsinNextYear=this.totalCanerEventsinNextYear+events[0].EventCount;\r\n }\r\n //\r\n }\r\n EditTimes(){\r\n this.showStartTimeEndTimeValid=false;\r\n }\r\n ContinueToNextStep(){\r\n this.showStartTimeEndTimeValid=false;\r\n if (this.loccmp.save()) {\r\n this.step = this.step + 1;\r\n }\r\n else {\r\n this.step = 2;\r\n return false;\r\n }\r\n return true;\r\n }\r\n}","import { Component, OnInit,ViewChild } from '@angular/core';\r\nimport { FormGroup} from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { STEPS } from '../../../contractaggreement/workflow/workflow.model';\r\nimport { PcaContractsService } from '../../services/pca-contracts.service';\r\nimport { PcaImmunizationsComponent } from '../pca-immunizations/pca-immunizations.component';\r\nimport { PcaPharmacyInfoComponent } from '../pca-pharmacy-info/pca-pharmacy-info.component';\r\nimport { PcaLocationListComponent } from '../pca-location-list/pca-location-list.component';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { Util } from '../../../../utility/util';\r\nimport { OutreachProgramService } from '../../../contractaggreement/services/outreach-program.service';\r\nimport { PcaContract } from '../../../../models/pcaclinic';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ContractData } from '../../../../models/contract';\r\nimport { TimeToDatePipe } from '../../../contractaggreement/pipes/time-to-date.pipe';\r\nimport { LulaGov } from '../../../../models/pcaTandC';\r\nimport {ConfirmationService} from 'primeng/api';\r\nimport { LulaGovRelease2 } from '../../../../models/pcaTandC-release2';\r\nimport { LulaAso } from '../../../../models/pcaTandC';\r\nimport { LulaAsoRelease2 } from '../../../../models/pcaTandC-release2';\r\n\r\n@Component({\r\n selector: 'app-govlula-agreement',\r\n templateUrl: './govlula-agreement.component.html',\r\n styleUrls: ['./govlula-agreement.component.css'],\r\n providers: [DatePipe, TimeToDatePipe]\r\n})\r\nexport class GovlulaAgreementComponent implements OnInit {\r\n\r\n @ViewChild(PcaImmunizationsComponent) imzcmp: PcaImmunizationsComponent;\r\n @ViewChild(PcaLocationListComponent) loccmp: PcaLocationListComponent;\r\n @ViewChild(PcaPharmacyInfoComponent) witcmp: PcaPharmacyInfoComponent;\r\n public contractForm: FormGroup;\r\nshowHints:boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\"))=='yes')?false:true;\r\n pageName:string = \"asolula\";\r\n step: number = 1;\r\n step_desc: string;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n contractType: string;\r\n contractData:any;\r\n OutReachProgramType: number = 10;\r\n tandC:LulaGov = new LulaGov();\r\n isPharmacyFormValid:boolean = false;\r\n isLocationsFormValid:boolean = false;\r\n RHDRVPEmails=[];\r\n index_value:number;\r\n hideSaveBtn:boolean = false;\r\n locationName:string = \"Testing Event\";\r\n startTimeEndTimesStep_desc:string ;\r\n showStartTimeEndTimeValid :boolean = false;\r\n isTimeValid:Number = 0;\r\n clinic_agreement_pk: any; \r\n tandcRelease1: boolean;\r\n tandcRelease2: boolean;\r\n oldPcaReleaseDate: any;\r\n PcaReleaseDate2022_1: any;\r\n constructor( private router: Router, private spinner: NgxSpinnerService\r\n , private pcaContractService:PcaContractsService, private confirmationService:ConfirmationService,\r\n private _localContractService: OutreachProgramService, private utility:Util, private _datePipe: DatePipe) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.spinner.show();\r\n this.clinic_agreement_pk = SessionDetails.GetAgreementPK(); \r\n this.getContractAgreementData(this.clinic_agreement_pk);\r\n\r\n this.pcaContractService.wipeData();\r\n let profile_data = SessionDetails.getStoreProfileData();\r\n if(profile_data&& profile_data.length>0){\r\n this.tandC = new LulaGov(profile_data[0].state);\r\n this.pcaContractService.setLulaTandC(this.tandC);\r\n }\r\n this.spinner.hide();\r\n this.getRHDRVPEmails(); \r\n this.oldPcaReleaseDate = new LulaAso().tnCCutOffDate;\r\n this.PcaReleaseDate2022_1 = new LulaAsoRelease2().tnCCutOffDate;\r\n }\r\n\r\n getRHDRVPEmails()\r\n {\r\n let storeId = SessionDetails.GetStoreId();\r\n if(storeId === null || storeId === undefined ){\r\n this.showDialog(ErrorMessages['clientError'],ErrorMessages['nullStoreId']);\r\n return;\r\n }\r\n this.pcaContractService.validateRHDRVPEmails(storeId).subscribe((data:any)=>\r\n {\r\n this.RHDRVPEmails = data;\r\n let profile_data = SessionDetails.getStoreProfileData();\r\n if(profile_data&& profile_data.length>0){\r\n this.tandC = new LulaGov(profile_data[0].state);\r\n this.pcaContractService.setLulaTandC(this.tandC);\r\n }\r\n });\r\n }\r\n\r\n getContractAgreementData(clinic_agreement_pk) { \r\n this.pcaContractService.getPCAContractAgreement(clinic_agreement_pk).subscribe((data:any) => {\r\n \r\n //refer dates in the tandc file\r\n if(data.dateApproved <= this.PcaReleaseDate2022_1)\r\n {\r\n this.tandcRelease1 = true;\r\n let profile_data = SessionDetails.getStoreProfileData();\r\n if(profile_data&& profile_data.length>0){\r\n this.tandC = new LulaGov(profile_data[0].state);\r\n this.pcaContractService.setLulaTandC(this.tandC);\r\n }\r\n \r\n }\r\n else if(data.dateApproved > this.PcaReleaseDate2022_1 || data.dateApproved == null)\r\n {\r\n this.tandcRelease2 = true;\r\n let profile_data = SessionDetails.getStoreProfileData();\r\n if(profile_data&& profile_data.length>0){\r\n this.tandC = new LulaGovRelease2(profile_data[0].state);\r\n this.pcaContractService.setLulaTandC(this.tandC);\r\n }\r\n \r\n }\r\n },\r\n err => {\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n return false; \r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n }\r\n }\r\n );\r\n }\r\n\r\n GoToStep(step: number) {\r\n this.spinner.show(); \r\n let profile_data = SessionDetails.getStoreProfileData();\r\n if(this.tandcRelease1) {\r\n if(profile_data&& profile_data.length>0)\r\n this.tandC = new LulaGov(profile_data[0].state);\r\n } else {\r\n if(profile_data&& profile_data.length>0)\r\n this.tandC = new LulaGovRelease2(profile_data[0].state);\r\n }\r\n this.pcaContractService.setLulaTandC(this.tandC);\r\n let step_desc = this.getStepDesc(step);\r\n this.step_desc = this.getStepDesc(this.step);\r\n this.contractData = this.pcaContractService.fetchPcaContractAgreementData();\r\n if (this.loccmp) {\r\n if (this.loccmp.contractForm.value.contactPhone.indexOf(\"X\") > -1) {\r\n this.loccmp.contractForm.controls.contactPhone.setValue(null);\r\n this.loccmp.contractForm.controls.contactPhone.updateValueAndValidity();\r\n let errMsg = ErrorMessages['MandatoryFields'];\r\n let sumMsg = 'Error'\r\n this.showDialog(sumMsg, errMsg);\r\n return false;\r\n }\r\n }\r\n\r\n this.hideSaveBtn = this.contractData.isEmailSent === true && ( this.contractData.isApproved !== false) && ( this.contractData.isRhdApproved !== false);\r\n if (step < this.step) {\r\n this.cacheInEnteredData(this.step_desc);\r\n this.step = step;\r\n this.step_desc = step_desc;\r\n this.spinner.hide(); \r\n return;\r\n }\r\n if (this.OnSave(this.step_desc, step, this.step)) {\r\n if (this.step_desc != step_desc) {\r\n this.step = step ;\r\n }\r\n }\r\n \r\n if(this.step_desc=='location' && this.loccmp){\r\n if(this.loccmp.contractForm.value.contactPhone.indexOf(\"X\") > -1){\r\n this.loccmp.contractForm.value.contactPhone.setValue(null);\r\n this.loccmp.contractForm.value.contactPhone.updateValueAndValidity();\r\n this.spinner.hide(); \r\n return false;\r\n }\r\n }\r\n this.spinner.hide(); \r\n\r\n }\r\n getStepDesc(step: number) {\r\n if (step === 1)\r\n return STEPS.immunization;\r\n if (step === 2)\r\n return STEPS.location;\r\n if (step === 3)\r\n return STEPS.witness;\r\n if (step === 4){\r\n return STEPS.review;\r\n }\r\n }\r\n setLula(state:string){\r\n // this.tandC = new LulaGov(state);\r\n // this.pcaContractService.setLulaTandC(this.tandC);\r\n }\r\n cacheInEnteredData(step_desc: any, currentStep?: number, prevStep?: number) { \r\n let return_value: boolean = false;\r\n if (this.step_desc === STEPS.immunization) {\r\n return_value = this.imzcmp.simpleSave();\r\n }\r\n else if (this.step_desc === STEPS.location) {\r\n if (this.loccmp !== undefined) {\r\n this.loccmp.simpleSave();\r\n \r\n if(!this.loccmp.isFormValid() ){\r\n this.isLocationsFormValid = false;\r\n } else {\r\n this.isLocationsFormValid = true;\r\n }\r\n \r\n }\r\n }\r\n else if (this.step_desc === STEPS.witness) {\r\n if (this.witcmp !== undefined) {\r\n this.witcmp.simpleSave();\r\n if(!this.witcmp.isFormValid()){\r\n this.isPharmacyFormValid = false;\r\n } else {\r\n this.isPharmacyFormValid = true;\r\n }\r\n }\r\n }\r\n }\r\n OnSave(step_desc: any, currentStep: number, prevStep: number) {\r\n this.index_value = 1;\r\n let return_value = false;\r\n if (this.step_desc === STEPS.immunization) {\r\n return_value = this.imzcmp.save();\r\n }\r\n else if (this.step_desc === STEPS.location) {\r\n if(this.loccmp.isClinicDateReminderBefore2WksReq()){\r\n let sumMsg = ErrorMessages['impRmndrFor2Wks'];\r\n let errMsg = ErrorMessages['eventDateReminderBefore2WeeksEN'];\r\n var userProfile = SessionDetails.GetUserProfile();\r\n var lowerCaseName = userProfile.userRole.toLowerCase();\r\n if (lowerCaseName === \"regionalvp\" ||\r\n lowerCaseName === \"regionaldirector\" || lowerCaseName === \"admin\" ||\r\n lowerCaseName === \"regional vice president\" ||\r\n lowerCaseName === \"regional healthcare director\" || 1==1\r\n ) {\r\n this.step = 2;\r\n this.dialogSummary = sumMsg;\r\n this.confirm(sumMsg, errMsg, step_desc);\r\n return false;\r\n }\r\n else {\r\n errMsg = ErrorMessages['eventDateReminderBefore2WeeksEN'];\r\n this.showDialog(sumMsg, errMsg);\r\n this.step = 2;\r\n return false;\r\n }\r\n }\r\n this.isTimeValid = this.loccmp.isStartTimeEndTimeValid();\r\n if(this.isTimeValid){\r\n this.startTimeEndTimesStep_desc = step_desc;\r\n this.showStartTimeEndTimeValid = true;\r\n this.dialogSummary = \"Alert\";\r\n if(this.isTimeValid==1)\r\n this.dialogMsg = ErrorMessages['clinicLengthMoreThan8Hrs'];\r\n else if(this.isTimeValid == 2){\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = ErrorMessages['clinicLengthAlert'];\r\n }\r\n else {\r\n this.dialogMsg = \"Please contact support.\";\r\n }\r\n return false;\r\n }\r\n return_value = this.loccmp.save();\r\n }\r\n else if (this.step_desc === STEPS.witness) { \r\n return_value = this.witcmp.save();\r\n let a = this.witcmp.getRHDEmail();\r\n if(a.match(/@/g)!='@')\r\n {\r\n let sMsg = ErrorMessages['ValidateRHDEmail'];\r\n let sumMsg = \"Invalid Email\";\r\n this.showDialog(sumMsg, sMsg);\r\n return false;\r\n }\r\n this.witcmp.getRHDEmail().split(',').forEach(element => {\r\n var index = this.RHDRVPEmails.findIndex(q=>q.toLowerCase() === element.toLowerCase()); \r\n if(index==-1)\r\n {\r\n this.index_value = index;\r\n let sMsg = ErrorMessages['ValidateRHDEmail'];\r\n let sumMsg = \"Invalid Email\";\r\n if(a.length<=0){\r\n sMsg=ErrorMessages['MandatoryFields'];\r\n }\r\n this.showDialog(sumMsg, sMsg);\r\n }\r\n });\r\n if(this.index_value==-1)\r\n return false;\r\n }\r\n\r\n if(this.pcaContractService.getPcaContractData().isEmailSent === 1 ) {\r\n this.isLocationsFormValid = true;\r\n this.isPharmacyFormValid=true;\r\n } \r\n if (currentStep > prevStep + 1) {\r\n //user has navigated one step further due to previous iteration.\r\n for (let count = prevStep ; count <= currentStep; count++) {\r\n switch (count) {\r\n case 1:\r\n if(!this.imzcmp.checkIfAnyImmunizationsAdded()){\r\n this.step = 1;\r\n return false;\r\n }\r\n break;\r\n case 2:\r\n if(this.imzcmp !== null && this.imzcmp !== undefined ){\r\n\r\n if ( !this.isLocationsFormValid || this.pcaContractService.getValidationsRequiredStatus() )\r\n {//this.imzcmp.validateLocForm ||\r\n this.step = 2;\r\n this.imzcmp.validateLocForm = false;\r\n return false;\r\n }\r\n } else if(this.pcaContractService.getValidationsRequiredStatus()) {\r\n this.step = 2;\r\n this.imzcmp.validateLocForm = false;\r\n return false;\r\n }\r\n break;\r\n case 3:\r\n if(!this.isPharmacyFormValid ){\r\n this.step = 3;\r\n return false;\r\n }\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n return return_value;\r\n }\r\n\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n confirm(hdr: string, msg: string, step_desc: any) {\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n this.isTimeValid = this.loccmp.isStartTimeEndTimeValid();\r\n if(this.isTimeValid){\r\n this.showStartTimeEndTimeValid = true;\r\n this.startTimeEndTimesStep_desc = step_desc;\r\n this.dialogSummary = \"Alert\";\r\n if(this.isTimeValid==1)\r\n this.dialogMsg = ErrorMessages['clinicLengthMoreThan8Hrs'];\r\n else if(this.isTimeValid == 2){\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = ErrorMessages['clinicLengthAlert'];\r\n }\r\n else {\r\n this.dialogMsg = \"Please contact support\";\r\n }\r\n return false;\r\n }\r\n if (this.loccmp.save()) {\r\n this.step = this.step + 1;\r\n }\r\n else {\r\n this.step = 2;\r\n return false;\r\n }\r\n return true;\r\n },\r\n reject: () => {\r\n this.step = 2;\r\n return false;\r\n }\r\n });\r\n \r\n }\r\n okClicked() {\r\n this.display = false;\r\n }\r\n saveBtnClicked() {\r\n this.spinner.show();\r\n let return_value = false;\r\n if (this.step_desc === STEPS.immunization || this.step <= 1) {\r\n if (this.imzcmp !== undefined) {\r\n return_value = this.imzcmp.simpleSave();\r\n }\r\n }\r\n if (this.step_desc === STEPS.location || this.step === 2) {\r\n if (this.loccmp !== undefined) {\r\n \r\n return_value = this.loccmp.simpleSave();\r\n }\r\n }\r\n if (this.step_desc === STEPS.witness || this.step >= 3)\r\n if (this.witcmp !== undefined) {\r\n\r\n return_value = this.witcmp.simpleSave();\r\n }\r\n if( !return_value ) {\r\n this.spinner.hide(); \r\n return false; }\r\n \r\n let contractData = new PcaContract();\r\n contractData = this.pcaContractService.getPcaContractData();\r\n\r\n let orthoDoxContract = new ContractData();\r\n this.utility.transformPcaAgreementToOrthoDoxContractJson(contractData,\"\", this._datePipe,orthoDoxContract);\r\n orthoDoxContract.isEmailSent = 0;\r\n orthoDoxContract.contactWagUser = null;\r\n orthoDoxContract.isApproved = null;\r\n this._localContractService.saveAgreementData(SessionDetails.GetStoreId(), 8,orthoDoxContract).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case '0':\r\n case 0:\r\n this.showDialog(ErrorMessages['asoLula'], ErrorMessages['asoLulaSaved']);\r\n break; \r\n case -4:\r\n case '-4':\r\n this.showDialog(ErrorMessages['resolve'], data.errorS.errorMessage);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break; \r\n }\r\n \r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n break;\r\n }\r\n });\r\n return return_value;\r\n }\r\n cancelContract() {\r\n // let return_value = false;\r\n // if (this.step_desc === STEPS.immunization || this.step <= 1) {\r\n // if(this.imzcmp != undefined){\r\n // return_value = this.imzcmp.cancelImmunization();\r\n // }\r\n // if (return_value) {\r\n // this.savePopUp = true;\r\n // this.showDialogCancel(ErrorMessages['unSavedData'], ErrorMessages['contract_alert']);\r\n // }\r\n // else {\r\n // this._location.back();\r\n // }\r\n // }\r\n // if (this.step_desc === STEPS.location || this.step == 2) {\r\n // this.cancel_check = this._localContractService.getIsCancel();\r\n // return_value = this.loccmp.cancelLocationData();\r\n // if (return_value || this.cancel_check ) {\r\n // this.savePopUp = true;\r\n // this.showDialogCancel(ErrorMessages['unSavedData'], ErrorMessages['contract_alert']);\r\n // }\r\n // else {\r\n // this._location.back();\r\n // }\r\n // }\r\n // if (this.step_desc === STEPS.witness || this.step >= 3)\r\n // if (this.witcmp != undefined) {\r\n // this.cancel_check = this._localContractService.getIsCancel();\r\n // return_value = this.witcmp.cancelWitness();\r\n // if (return_value || this.cancel_check ) {\r\n // this.savePopUp = true;\r\n // this.showDialogCancel(ErrorMessages['unSavedData'], ErrorMessages['contract_alert']);\r\n // }\r\n // else {\r\n // this._location.back();\r\n // }\r\n // }\r\n this.router.navigateByUrl('/communityoutreach/storehome');\r\n }\r\n showDialogCancel(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n }\r\n EditTimes(){\r\n this.showStartTimeEndTimeValid=false;\r\n }\r\n ContinueToNextStep(){\r\n this.showStartTimeEndTimeValid=false;\r\n if (this.loccmp.save()) {\r\n this.step = this.step + 1;\r\n }\r\n else {\r\n this.step = 2;\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { PcacontractAgreementService } from '../../Services/pcacontract-agreement.service';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { PCAContractAgreementModel, ClientInfo } from '../../../../models/PCAContractAgreementModel';\r\nimport { Util } from '../../../../utility/util';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { String } from 'typescript-string-operations';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { LulaAso, LulaGov, OpoLula, CancerLula } from '../../../../models/pcaTandC';\r\nimport { ThankyouData } from '../../../../models/thankyouData';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { CancerLulaRelease2, LulaAsoRelease2, LulaGovRelease2, OpoLulaRelease2 } from '../../../../models/pcaTandC-release2';\r\nimport { MobileOrg } from '../../../../models/pcaclinic';\r\nimport { OrgMobileType } from '../../../../utility/enum';\r\n@Component({\r\n selector: 'app-lula-contract-agreement-for-user-release2',\r\n templateUrl: './lula-contract-agreement-for-user-release2.component.html',\r\n styleUrls: ['./lula-contract-agreement-for-user-release2.component.css']\r\n})\r\nexport class LulaContractAgreementForUserrelease2Component implements OnInit {\r\n image_source: any;\r\n step1: boolean = true;\r\n step2: boolean = false;\r\n step3: boolean = false;\r\n firstName: string = '';\r\n lastName: string = '';\r\n titleName: string = '';\r\n Lulasteps: boolean = true;\r\n uploadedFileName: string = '';\r\n PCAContractForm: FormGroup;\r\n approvePCAContract: FormGroup;\r\n files: any;\r\n storeAddress: any;\r\n tandC: LulaAsoRelease2 = new LulaAsoRelease2();\r\n clinicType: number = 8;\r\n lulaHdr: string = \"LIMITED USE LICENSE AGREEMENT
TESTING EVENT\";\r\n storeId: any;\r\n apprOrRejectTextBox: boolean = false;\r\n agreement_model: PCAContractAgreementModel = new PCAContractAgreementModel();\r\n private selectedLink: string;\r\n date: Date;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n proofInsurances = [];\r\n fileExt: string[] = ['JPG', 'JPEG', 'PDF'];\r\n uploadDoc: boolean = false;\r\n message_text: any;\r\n uploadTitle: string = 'Upload Proof of Insurance';\r\n disableBtn: boolean;\r\n alrdApprd: boolean = false;\r\n client_name: any;\r\n client_signature: any;\r\n client_title: any;\r\n approveRejectEmail: any;\r\n uploadBtn: boolean = true;\r\n disableBtnOnSave: boolean = null;\r\n isApproved: boolean = null;\r\n disableSignature: boolean = true;\r\n tempTncInsurance: string;\r\n outReachProgramType: any;\r\n oldPcaReleaseDate: string;\r\n PcaReleaseDate2022_1: string;\r\n isSTI: boolean = false;\r\n isHIVAndHepatitis: boolean = false;\r\n isHIV: boolean = false;\r\n isHepatitis: boolean = false;\r\n serviceLabel = \"\";\r\n headerLabel = \"\";\r\n mobileOrg: typeof MobileOrg = MobileOrg;\r\n orgMobileType: typeof OrgMobileType = OrgMobileType;\r\n\r\n constructor(\r\n private router: Router,\r\n private utility: Util,\r\n private _contractService: PcacontractAgreementService,\r\n private formBuilder: FormBuilder\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.outReachProgramType = sessionStorage['clinic_type'];\r\n this.date = new Date();\r\n this.PCAContractForm = this.formBuilder.group({\r\n firstName: ['',\r\n Validators.required,\r\n ],\r\n lastName: ['',\r\n Validators.required,\r\n ],\r\n titleName: ['',\r\n Validators.required,\r\n ],\r\n inputFile: ['', Validators.required,\r\n ]\r\n });\r\n this.approvePCAContract = this.formBuilder.group({\r\n email_signature: this.formBuilder.control('', null),\r\n user_notes: this.formBuilder.control('', null),\r\n radioBtn: this.formBuilder.control('', Validators.required),\r\n });\r\n this.getProofOfInsurance(sessionStorage['clinic_agreement_pk']);\r\n this.getPCAContractAgreementData(sessionStorage['clinic_agreement_pk'], null);\r\n this.oldPcaReleaseDate = new LulaAso().tnCCutOffDate;\r\n this.PcaReleaseDate2022_1 = new LulaAsoRelease2().tnCCutOffDate;\r\n }\r\n\r\n goto(e: number) {\r\n\r\n if (e == 1) {\r\n this.step1 = true;\r\n this.step2 = false;\r\n }\r\n if (e == 2) {\r\n if (this.proofInsurances.length > 0) {\r\n this.removeValidator();\r\n }\r\n else {\r\n this.PCAContractForm.controls['inputFile'].setValidators([Validators.required]);\r\n this.PCAContractForm.controls['inputFile'].updateValueAndValidity();\r\n }\r\n\r\n if (this.PCAContractForm.valid) {\r\n this.client_name = this.PCAContractForm.controls['firstName'].value.trim() + ' ' + this.PCAContractForm.controls['lastName'].value.trim();\r\n this.client_title = this.PCAContractForm.controls['titleName'].value;\r\n this.step1 = false;\r\n this.step2 = true;\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.PCAContractForm);\r\n if (this.proofInsurances.length > 0) {\r\n this.removeValidator();\r\n }\r\n }\r\n\r\n }\r\n }\r\n onFileChange(event) {\r\n this.files = event.target.files;\r\n this.uploadedFileName = event.target.files[0].name;\r\n this.uploadBtn = null;\r\n //event= null\r\n\r\n }\r\n\r\n apprOrReject(e) {\r\n if (e.target.value == '1') {\r\n this.apprOrRejectTextBox = false;\r\n }\r\n if (e.target.value == '2') {\r\n this.apprOrRejectTextBox = true;\r\n }\r\n }\r\n getPCAContractAgreementData(agreement_pk, user_type) {\r\n\r\n this._contractService.getPCAContractAgreement(sessionStorage['clinic_agreement_pk'], user_type).subscribe((data: any) => {\r\n this.agreement_model = data;\r\n if (this.agreement_model.clientInfo) {\r\n this.PCAContractForm.controls.firstName.setValue(this.agreement_model.clientInfo.name.split(' ')[0]);\r\n this.PCAContractForm.controls.lastName.setValue(this.agreement_model.clientInfo.name.split(' ')[1]);\r\n this.PCAContractForm.controls.firstName.setValue(this.agreement_model.clientInfo.name.split(' ')[0]);\r\n this.PCAContractForm.controls.lastName.setValue(this.agreement_model.clientInfo.name.split(' ')[1]);\r\n }\r\n this.isApproved = data.isApproved;\r\n if (this.agreement_model.isCurrent != null && this.agreement_model.isCurrent != undefined && !this.agreement_model.isCurrent) {\r\n this.router.navigate(['/invalidCotract']);\r\n }\r\n if (this.agreement_model.dateApproved != null && new Date(Util.getFormatedDate(this.agreement_model.dateApproved)) < new Date(this.PcaReleaseDate2022_1)) {\r\n this.router.navigate(['/login']);\r\n }\r\n //var name = data.walgreenCoInfo.rhdName.split(' ');\r\n this.approveRejectEmail = data.walgreenCoInfo.rhdEmail;\r\n this.storeId = data.storeInfo.storeId;\r\n this.storeAddress = data.storeInfo.storeAddress;\r\n this.disableBtn = (this.agreement_model.isApproved == true || this.agreement_model.isApproved == false) ? true : null;\r\n this.alrdApprd = this.agreement_model.isApproved == null ? false : true;\r\n if (this.agreement_model.isApproved == true || this.agreement_model.isApproved == false) {\r\n this.Lulasteps = false;\r\n this.step1 = false;\r\n this.step2 = true;\r\n this.client_name = this.agreement_model.isApproved == true ? this.agreement_model.clientInfo.name : '';\r\n this.client_signature = this.agreement_model.signature;\r\n this.client_title = this.agreement_model.isApproved == true ? this.agreement_model.clientInfo.title : '';\r\n if (this.agreement_model.isApproved == false) {\r\n this.isSelected('Reject');\r\n this.selectedLink = 'Reject';\r\n }\r\n this.approvePCAContract.controls['email_signature'].setValue(this.agreement_model.isApproved == true ? this.agreement_model.clientInfo.name : '');\r\n this.approvePCAContract.controls['user_notes'].setValue(this.agreement_model.isApproved == false ? this.agreement_model.notes : '');\r\n this.approvePCAContract.controls['radioBtn'].setValue(this.agreement_model.isApproved == true ? '1' : this.agreement_model.isApproved == false ? '2' : '');\r\n }\r\n this.clinicType = sessionStorage['clinic_type'];\r\n switch (sessionStorage['clinic_type']) {\r\n case 11:\r\n case '11':\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
ORGAN DONOR REGISTRATION EVENT\";\r\n break;\r\n case 12:\r\n case '12':\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
CANCER SCREENING EVENT\";\r\n break;\r\n default:\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
TESTING EVENT\";\r\n break;\r\n }\r\n this.uploadTitle = 'Upload Proof of Insurance or Letter of Self-Insurance';\r\n\r\n let tnCCutOffDate = null;\r\n let dateApproved = null;\r\n if (data.dateApproved) {\r\n let dateString = data.dateApproved.substring(0, data.dateApproved.indexOf('T')); // hack for TImezone for -9+\r\n let dateSplitTokens = dateString.split('-');\r\n dateApproved = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n }\r\n if (this.outReachProgramType != 11 && this.outReachProgramType != 12) {\r\n if (data.clinicImmunizationList.length) {\r\n let serviceLabelList = data.clinicImmunizationList.map((immunization) => {\r\n let idx = immunization.immunizationName.indexOf(\"testing\");\r\n return immunization.immunizationName.substring(0, idx);\r\n });\r\n serviceLabelList = serviceLabelList.sort();\r\n if (serviceLabelList.length > 1) {\r\n let lastEle = serviceLabelList.pop();\r\n let label = `${serviceLabelList.join(', ')} and ${lastEle}`;\r\n this.headerLabel = `${serviceLabelList.join(',')} and ${lastEle}`.replace(\" ,\", \", \");\r\n this.serviceLabel = `${label.replace(\" ,\", \", \")} testing and screening services and ${label.replace(\" ,\", \", \").replace(\"HIV\", \"HIV/AIDS\")} counseling to individuals`;\r\n } else {\r\n let label = `${serviceLabelList.join(',')}`;\r\n this.headerLabel = `${serviceLabelList.join(',')}`.replace(\" ,\", \", \");\r\n this.serviceLabel = `${label.replace(\" ,\", \", \")} testing and screening services and ${label.replace(\" ,\", \", \").replace(\"HIV\", \"HIV/AIDS\")} counseling to individuals`;\r\n }\r\n }\r\n }\r\n\r\n switch (sessionStorage['clinic_type']) {\r\n case 10:\r\n case '10':\r\n this.tandC = new LulaGovRelease2(data.storeInfo.state);\r\n tnCCutOffDate = new Date(this.tandC.tnCCutOffDate);\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', `${this.headerLabel} Testing and counseling services`);\r\n break;\r\n case 11:\r\n case '11':\r\n this.tandC = new OpoLulaRelease2(data.storeInfo.state);\r\n break;\r\n case 12:\r\n case '12':\r\n this.tandC = new CancerLulaRelease2(data.storeInfo.state);\r\n tnCCutOffDate = new Date(this.tandC.tnCCutOffDate);\r\n if (dateApproved >= tnCCutOffDate || dateApproved === null || data.isApproved === null || data.isApproved === 0) {\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"cancer screening services\");\r\n }\r\n break;\r\n default:\r\n this.tandC = new LulaAsoRelease2();\r\n tnCCutOffDate = new Date(this.tandC.tnCCutOffDate);\r\n if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"HIV testing and screening services and HIV/AIDS counseling to individuals\"\r\n && (dateApproved === null || dateApproved >= tnCCutOffDate || data.isApproved === null || data.isApproved === 0)) {\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HIV Testing and counseling services\");\r\n }\r\n else if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"Hepatitis C testing and screening services and Hepatitis C counseling to individuals\"\r\n && (dateApproved === null || dateApproved >= tnCCutOffDate || data.isApproved === null || data.isApproved === 0)) {\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HCV Testing and counseling services\");\r\n }\r\n else if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"HIV and Hepatitis C testing and screening services and HIV/AIDS and Hepatitis C counseling to individuals\"\r\n && (dateApproved === null || dateApproved >= tnCCutOffDate || data.isApproved === null || data.isApproved === 0)) {\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HIV and HCV Testing and counseling services\");\r\n }\r\n break;\r\n }\r\n\r\n this.tandC.conditionalTnCInsurance = this.tandC.conditionalTnCInsurance.replace(new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n this.tandC.use = this.tandC.use.map(paragraph => { return paragraph.replace(new RegExp('@serviceValue', 'g'), this.headerLabel); });\r\n this.tandC.term = this.tandC.term.replace(new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n this.tandC.tradenames_publications = this.tandC.tradenames_publications.replace(new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n this.tandC.indemnity = this.tandC.indemnity.map(paragraph => { return paragraph.replace(new RegExp('@serviceValue', 'g'), this.headerLabel); });\r\n this.tandC.surrender = this.tandC.surrender.replace(new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n this.tandC.insurance = this.tandC.insurance.replace(new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n this.tandC.miscellaneous = this.tandC.miscellaneous.replace(new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n this.tandC.conditionalTnCInsurance = this.tandC.conditionalTnCInsurance.replace(new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n\r\n\r\n // this.tandC.conditionalTnCInsurance = this.tandC.conditionalTnCInsurance.replace( new RegExp(\"HIV and/or HEPATITIS\", 'g'),this.headerLabel); \r\n // this.tandC.use = this.tandC.use.map(paragraph => { return paragraph.replace(new RegExp('HIV and/or HEPATITIS', 'g'),this.headerLabel);}); \r\n // this.tandC.term = this.tandC.term.replace( new RegExp(\"HIV and/or HEPATITIS\", 'g'),this.headerLabel);\r\n // this.tandC.tradenames_publications =this.tandC.tradenames_publications.replace( new RegExp(\"HIV and/or HEPATITIS\", 'g'),this.headerLabel);\r\n // this.tandC.indemnity = this.tandC.indemnity.map(paragraph => { return paragraph.replace(new RegExp('HIV and/or HEPATITIS', 'g'),this.headerLabel);});\r\n // this.tandC.surrender =this.tandC.surrender.replace( new RegExp(\"HIV and/or HEPATITIS\", 'g'),this.headerLabel);\r\n // this.tandC.insurance= this.tandC.insurance.replace( new RegExp(\"HIV and/or HEPATITIS\", 'g'),this.headerLabel);\r\n // this.tandC.miscellaneous= this.tandC.miscellaneous.replace( new RegExp(\"HIV and/or HEPATITIS\", 'g'),this.headerLabel);\r\n // this.tandC.conditionalTnCInsurance= this.tandC.conditionalTnCInsurance.replace( new RegExp(\"HIV and/or HEPATITIS\", 'g'),this.headerLabel);\r\n\r\n\r\n });\r\n }\r\n\r\n Save() {\r\n var client_info = new ClientInfo();\r\n if (this.approvePCAContract.value.email_signature.trim() === '' && this.approvePCAContract.value.user_notes.trim() === '') {\r\n if (!this.approvePCAContract.controls['radioBtn'].value) {\r\n this.showDialog('Approve Agreement Error', 'Please select either \\'Approve\\' or \\'Request Changes\\' option from Approve Agreement section.');\r\n return false\r\n }\r\n }\r\n\r\n if (this.approvePCAContract.valid) {\r\n if (Number(this.approvePCAContract.controls['radioBtn'].value) === 1 &&\r\n this.approvePCAContract.value.email_signature.toLowerCase().trim() !== (this.PCAContractForm.controls['firstName'].value.trim() + ' ' + this.PCAContractForm.controls['lastName'].value.trim()).toLowerCase()) {\r\n if (this.approvePCAContract.controls[\"email_signature\"].value.trim() !== '') {\r\n this.showDialog(ErrorMessages['ElectronicSignatureErrorHdng'], ErrorMessages['ElectronicSignatureErrorMsg']);\r\n }\r\n else {\r\n this.approvePCAContract.controls['email_signature'].setValue('');\r\n this.approvePCAContract.controls['email_signature'].updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.approvePCAContract);\r\n }\r\n return false;\r\n }\r\n this.disableBtnOnSave = true;\r\n switch (this.selectedLink) {\r\n case 'Approve':\r\n this.agreement_model.isApproved = 1;\r\n this.agreement_model.isEmailSent = Number(this.agreement_model.isEmailSent);\r\n this.client_signature = this.agreement_model.signature = this.approvePCAContract.value.email_signature.trim();\r\n this.agreement_model.contractPostedByUser = 'Business User';\r\n this.agreement_model.approvedOrRejectedBy = sessionStorage['approveRejectEmail'];// this.approveRejectEmail;\r\n this.agreement_model.dateApproved = new Date();\r\n client_info.client = this.agreement_model.testingPartnerInfo.businessName;\r\n client_info.name = this.PCAContractForm.controls['firstName'].value.trim() + ' ' + this.PCAContractForm.controls['lastName'].value.trim();\r\n client_info.title = this.PCAContractForm.controls['titleName'].value;\r\n client_info.reviewedDate = new Date();\r\n this.agreement_model.clientInfo = client_info;\r\n this._contractService.updateContractForTestingPartner(this.agreement_model.storeInfo.storeId, sessionStorage['clinic_type'], this.agreement_model).subscribe((data: any) => {\r\n this.disableBtnOnSave = null;\r\n switch (data.errorS.errorCode) {\r\n case 'success':\r\n case null:\r\n case 'null':\r\n case 0:\r\n case '0':\r\n sessionStorage['Reject'] = null;\r\n var thankuData = new ThankyouData();\r\n thankuData.printContents = document.getElementById('asolulaContract').innerHTML;\r\n\r\n SessionDetails.setThankUDetails(thankuData);\r\n this.router.navigate(['/torgthankyou']);\r\n break;\r\n case -2:\r\n case '-2':\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n case -5:\r\n this.router.navigate(['/invalidCotract']);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled ErrorCode received from Service errorCode:{0}, errorMessage:{1}', data.errorS.errorCode, data.errorS.errorMessage));\r\n break;\r\n }\r\n },\r\n err => {\r\n this.disableBtnOnSave = null;\r\n // this.spinner.hide();\r\n switch (err) {\r\n\r\n case 500:\r\n this.showDialog(ErrorMessages['contract'], String.Format('ErrorCode 500 received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled exception ErrorCode received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n }\r\n });\r\n break;\r\n case 'Reject':\r\n if (this.approvePCAContract.value.user_notes.trim() === '') {\r\n this.approvePCAContract.controls['user_notes'].setValue('');\r\n this.approvePCAContract.controls['user_notes'].updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.approvePCAContract);\r\n this.disableBtnOnSave = null;\r\n return false;\r\n }\r\n this.agreement_model.isApproved = 0;\r\n this.agreement_model.isEmailSent = Number(this.agreement_model.isEmailSent);\r\n this.agreement_model.signature = this.approvePCAContract.value.email_signature;\r\n this.agreement_model.contractPostedByUser = 'Business User';\r\n this.agreement_model.dateApproved = new Date();\r\n this.agreement_model.notes = this.approvePCAContract.value.user_notes.trim();\r\n this.agreement_model.approvedOrRejectedBy = sessionStorage['approveRejectEmail'];// this.approveRejectEmail;\r\n client_info.client = this.agreement_model.testingPartnerInfo.businessName;\r\n client_info.name = this.PCAContractForm.controls['firstName'].value.trim() + ' ' + this.PCAContractForm.controls['lastName'].value.trim();\r\n client_info.title = this.PCAContractForm.controls['titleName'].value;\r\n client_info.reviewedDate = new Date();\r\n this.agreement_model.clientInfo = client_info;\r\n this._contractService.updateContractForTestingPartner(this.agreement_model.storeInfo.storeId, sessionStorage['clinic_type'], this.agreement_model).subscribe((data: any) => {\r\n this.disableBtnOnSave = null;\r\n switch (data.errorS.errorCode) {\r\n case 'success':\r\n case null:\r\n case 'null':\r\n case 0:\r\n case '0':\r\n sessionStorage['Reject'] = 'Reject';\r\n // var thankuData = new ThankyouData();\r\n // thankuData.printContents = document.getElementById('asolulaContract').innerHTML;\r\n\r\n // SessionDetails.setThankUDetails(thankuData);\r\n this.router.navigate(['/torgthankyou']);\r\n break;\r\n case -2:\r\n case '-2':\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n case -5:\r\n this.router.navigate(['/invalidCotract']);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled ErrorCode received from Service errorCode:{0}, errorMessage:{1}', data.errorS.errorCode, data.errorS.errorMessage));\r\n break;\r\n }\r\n },\r\n err => {\r\n this.disableBtnOnSave = null;\r\n // this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['contract'], String.Format('ErrorCode 500 received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled exception ErrorCode received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.approvePCAContract);\r\n }\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n isSelected(name: string): boolean {\r\n if (!this.selectedLink) {\r\n return false;\r\n }\r\n return (this.selectedLink === name);\r\n }\r\n isFieldValid(field: string) {\r\n return !this.approvePCAContract.get(field).valid && this.approvePCAContract.get(field).touched;\r\n }\r\n isFieldValidStep(field: string) {\r\n return !this.PCAContractForm.get(field).valid && this.PCAContractForm.get(field).touched;\r\n }\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n displayFieldCssStep(field: string) {\r\n return {\r\n 'has-error': this.isFieldValidStep(field),\r\n 'has-feedback': this.isFieldValidStep(field)\r\n };\r\n }\r\n setradio(e: string): void {\r\n if (e == 'Approve') {\r\n this.disableSignature = true;\r\n this.approvePCAContract.controls['email_signature'].setValidators([Validators.required]);\r\n this.approvePCAContract.controls['email_signature'].updateValueAndValidity();\r\n this.approvePCAContract.controls['user_notes'].clearValidators();\r\n this.approvePCAContract.controls['user_notes'].updateValueAndValidity();\r\n this.approvePCAContract.controls['user_notes'].setValue('');\r\n }\r\n if (e == 'Reject') {\r\n this.disableSignature = null;\r\n this.approvePCAContract.controls['email_signature'].clearValidators();;\r\n this.approvePCAContract.controls['email_signature'].updateValueAndValidity();\r\n this.approvePCAContract.controls['user_notes'].setValidators([Validators.required]);\r\n this.approvePCAContract.controls['user_notes'].updateValueAndValidity();\r\n this.approvePCAContract.controls['email_signature'].setValue('');\r\n }\r\n this.selectedLink = e;\r\n }\r\n\r\n okClicked() {\r\n this.display = false;\r\n }\r\n Ok() {\r\n this.uploadDoc = false;\r\n }\r\n onSubmit() {\r\n this.saveFiles(this.files);\r\n }\r\n checker(value) {\r\n var special_characters = ['<', '>', ':', '\"', '/', '\\\\', '|', '?', '*', '%', '!', '@', '#', '$', '&'];\r\n for (var i = 0; i < special_characters.length; i++) {\r\n if (value.indexOf(special_characters[i]) > -1) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n saveFiles(files) {\r\n if (this.uploadedFileName === '') {\r\n this.uploadDoc = true;\r\n this.message_text = 'Please upload the file.';\r\n return;\r\n }\r\n\r\n if (!this.checker(this.uploadedFileName)) {\r\n this.uploadDoc = true;\r\n this.message_text = '< > : \" / \\ | ? * % ! @ # $ & characters are not allowed in the filename. Please rename the file and try again.';\r\n return;\r\n }\r\n if (this.proofInsurances.length < 3) {\r\n if (files.length > 0) {\r\n if (this.isValidFiles(files)) {\r\n let formData: FormData = new FormData();\r\n for (var j = 0; j < files.length; j++) {\r\n formData.append('file', files[j]);\r\n }\r\n this.uploadBtn = true;\r\n var index = this.proofInsurances.findIndex(item => item.fileName === files[0].name);\r\n if (index > -1) {\r\n this.uploadedFileName = '';\r\n this.uploadDoc = true;\r\n this.message_text = 'There is already a file with the same name in this location, please try a different file name.';\r\n return;\r\n }\r\n var data = new Date().getTime();\r\n var file_display_name = sessionStorage['clinic_agreement_pk'] + '_' + this.uploadedFileName;\r\n this._contractService.UploadProofOfInsurance(sessionStorage['clinic_agreement_pk'], formData).subscribe(data => {\r\n this.uploadedFileName = '';\r\n this.getProofOfInsurance(sessionStorage['clinic_agreement_pk']);\r\n },\r\n err => {\r\n this.uploadedFileName = '';\r\n switch (err) {\r\n case 500:\r\n alert('ErrorCode 500 received from Service');\r\n break;\r\n case 400:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n default:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n }\r\n });\r\n }\r\n else {\r\n this.message_text = 'Please upload JPG or JPEG formats.';\r\n this.uploadDoc = true;\r\n }\r\n }\r\n }\r\n else {\r\n this.uploadedFileName = '';\r\n this.uploadDoc = true;\r\n this.message_text = 'Only 3 documents can be uploaded.';\r\n }\r\n }\r\n getProofOfInsurance(clinic_agreement_pk) {\r\n this._contractService.GetProofOfInsurance(clinic_agreement_pk).subscribe((data: any) => {\r\n this.proofInsurances = data;\r\n if (this.proofInsurances.length > 0) {\r\n this.removeValidator();\r\n }\r\n });\r\n }\r\n Delete(pk) {\r\n this._contractService.DeleteProofOfInsurance(pk).subscribe(data => {\r\n this.getProofOfInsurance(sessionStorage['clinic_agreement_pk']);\r\n var index = this.proofInsurances.findIndex(item => item.pk === pk);\r\n if (index > -1) {\r\n this.proofInsurances.splice(index, 1);\r\n }\r\n });\r\n }\r\n private isValidFiles(files) {\r\n return this.isValidFileExtension(files);\r\n }\r\n private isValidFileExtension(files) {\r\n\r\n for (var i = 0; i < files.length; i++) {\r\n // Get file extension\r\n var ext = files[i].name.toLocaleUpperCase().split('.').pop() || files[i].name;\r\n\r\n // Check the extension exists\r\n var exists = this.fileExt.filter(element => element == ext);\r\n\r\n if (exists.length <= 0) {\r\n\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n Download(file_name) {\r\n window.open(environment.RESOURCES.PROOF_OF_DOCUMENTS + '/' + file_name);\r\n // this.image_source = environment.API_URL + '/ProofOfDocs/' + this.uploadedFileName;\r\n }\r\n\r\n removeValidator() {\r\n this.PCAContractForm.get('inputFile').clearValidators();\r\n this.PCAContractForm.get('inputFile').updateValueAndValidity();\r\n }\r\n print() {\r\n this.utility.print(\"asolulaContract\", \"Limited Use License Agreement\");\r\n }\r\n\r\n loadtAndCInsurance() {\r\n switch (this.clinicType) {\r\n case 10:\r\n // if(this.agreement_model.clinicList[0].clinicImzQtyList[0].immunizationName===\"HIV testing and screening services and HIV/AIDS counseling to individuals\"){\r\n this.tandC.insurance = `At all times, during the Term, Host Licensee shall maintain, or shall cause to be maintained at Host Licensee's sole cost and expense, (a) Workers Compensation and Employers Liability Insurance; (b) Professional Liability Insurance for all professionals conducting any ${this.headerLabel.toUpperCase()} Testing and counseling services at the Event with minimum limits of $1,000,000 each claim; $3,000,000 aggregate; (c) Commercial General Liability Insurance with minimum limits of $1,000,000 per occurrence, $1,000,000 for Personal Injury subject to $2,000,000 aggregate and coverage for product liability with minimum limits of $2,000,000 per occurrence; $2,000,000 aggregate naming Walgreen Co. as Additional Insured. Host Licensee shall provide Walgreen Co. with a certificate of insurance prior to execution of this Agreement.`;\r\n // }\r\n // else if(this.agreement_model.clinicList[0].clinicImzQtyList[0].immunizationName===\"Hepatitis C testing and screening services and Hepatitis C counseling to individuals\"){\r\n // this.tandC.insurance = \"At all times, during the Term, Host Licensee shall maintain, or shall cause to be maintained at Host Licensee's sole cost and expense, (a) Workers Compensation and Employers Liability Insurance; (b) Professional Liability Insurance for all professionals conducting any HCV Testing and counseling services at the Event with minimum limits of $1,000,000 each claim; $3,000,000 aggregate; (c) Commercial General Liability Insurance with minimum limits of $1,000,000 per occurrence, $1,000,000 for Personal Injury subject to $2,000,000 aggregate and coverage for product liability with minimum limits of $2,000,000 per occurrence; $2,000,000 aggregate naming Walgreen Co. as Additional Insured. Host Licensee shall provide Walgreen Co. with a certificate of insurance prior to execution of this Agreement.\";\r\n // }\r\n // else if(this.agreement_model.clinicList[0].clinicImzQtyList[0].immunizationName===\"HIV and Hepatitis C testing and screening services and HIV/AIDS and Hepatitis C counseling to individuals\"){\r\n // this.tandC.insurance = \"At all times, during the Term, Host Licensee shall maintain, or shall cause to be maintained at Host Licensee's sole cost and expense, (a) Workers Compensation and Employers Liability Insurance; (b) Professional Liability Insurance for all professionals conducting any HIV and HCV Testing and counseling services at the Event with minimum limits of $1,000,000 each claim; $3,000,000 aggregate; (c) Commercial General Liability Insurance with minimum limits of $1,000,000 per occurrence, $1,000,000 for Personal Injury subject to $2,000,000 aggregate and coverage for product liability with minimum limits of $2,000,000 per occurrence; $2,000,000 aggregate naming Walgreen Co. as Additional Insured. Host Licensee shall provide Walgreen Co. with a certificate of insurance prior to execution of this Agreement.\";\r\n // }\r\n break;\r\n case 12:\r\n this.tandC.insurance = \"At all times, during the Term, Host Licensee shall maintain, or shall cause to be maintained at Host Licensee's sole cost and expense, (a) Workers Compensation and Employers Liability Insurance; (b) Professional Liability Insurance for all professionals conducting any cancer screening services at the Event with minimum limits of $1,000,000 each claim; $3,000,000 aggregate; (c) Commercial General Liability Insurance with minimum limits of $1,000,000 per occurrence, $1,000,000 for Personal Injury subject to $2,000,000 aggregate and coverage for product liability with minimum limits of $2,000,000 per occurrence; $2,000,000 aggregate naming Walgreen Co. as Additional Insured. Host Licensee shall provide Walgreen Co. with a certificate of insurance prior to execution of this Agreement.\";\r\n break;\r\n default:\r\n this.tandC.insurance = \"At all times, during the term of this Agreement, Host Licensee shall maintain at its sole expense the following policies of insurance: (a) Workers Compensation and Employers Liability Insurance in amounts required by applicable law; and (b) Professional Liability Insurance for all professionals providing any service at the HIV Testing Event with individual or aggregate limits of liability acceptable to Walgreens. A certificate of insurance showing evidence of the required coverage must be submitted to Walgreens prior to or simultaneously with the execution of this Agreement by Host Licensee.\";\r\n break;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { PcacontractAgreementService } from '../../Services/pcacontract-agreement.service';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { PCAContractAgreementModel, ClientInfo } from '../../../../models/PCAContractAgreementModel';\r\nimport { Util } from '../../../../utility/util';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { String } from 'typescript-string-operations';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { LulaAso, LulaGov, OpoLula, CancerLula } from '../../../../models/pcaTandC';\r\nimport { ThankyouData } from '../../../../models/thankyouData';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { LulaAsoRelease2 } from '../../../../models/pcaTandC-release2';\r\n\r\n@Component({\r\n selector: 'app-lula-contract-agreement-for-user',\r\n templateUrl: './lula-contract-agreement-for-user.component.html',\r\n styleUrls: ['./lula-contract-agreement-for-user.component.css']\r\n})\r\nexport class LulaContractAgreementForUserComponent implements OnInit {\r\n image_source: any;\r\n step1: boolean = true;\r\n step2: boolean = false;\r\n step3: boolean = false;\r\n firstName: string = '';\r\n lastName: string = '';\r\n titleName: string = '';\r\n Lulasteps: boolean = true;\r\n uploadedFileName: string = '';\r\n PCAContractForm: FormGroup;\r\n approvePCAContract: FormGroup;\r\n files: any;\r\n storeAddress: any;\r\n tandC: LulaAso = new LulaAso();\r\n clinicType: number = 8;\r\n lulaHdr: string = \"LIMITED USE LICENSE AGREEMENT
TESTING EVENT\";\r\n storeId: any;\r\n apprOrRejectTextBox: boolean = false;\r\n agreement_model: PCAContractAgreementModel = new PCAContractAgreementModel();\r\n private selectedLink: string;\r\n date: Date;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n proofInsurances = [];\r\n fileExt: string[] = ['JPG', 'JPEG', 'PDF'];\r\n uploadDoc: boolean = false;\r\n message_text: any;\r\n uploadTitle: string = 'Upload Proof of Insurance';\r\n disableBtn: boolean;\r\n alrdApprd: boolean = false;\r\n client_name: any;\r\n client_signature: any;\r\n client_title: any;\r\n approveRejectEmail: any;\r\n uploadBtn: boolean = true;\r\n disableBtnOnSave: boolean = null;\r\n isApproved: boolean = null;\r\n disableSignature: boolean = true;\r\n tempTncInsurance:string;\r\n oldPcaReleaseDate: string;\r\n PcaReleaseDate2022_1: any;\r\n constructor(private router: Router, private utility: Util,\r\n private _contractService: PcacontractAgreementService, private formBuilder: FormBuilder) {\r\n }\r\n\r\n ngOnInit() {\r\n this.date = new Date();\r\n this.PCAContractForm = this.formBuilder.group({\r\n firstName: ['',\r\n Validators.required,\r\n ],\r\n lastName: ['',\r\n Validators.required,\r\n ],\r\n titleName: ['',\r\n Validators.required,\r\n ],\r\n inputFile: ['', Validators.required,\r\n ]\r\n });\r\n this.approvePCAContract = this.formBuilder.group({\r\n email_signature: this.formBuilder.control('', null),\r\n user_notes: this.formBuilder.control('', null),\r\n radioBtn: this.formBuilder.control('', Validators.required),\r\n });\r\n this.getProofOfInsurance(sessionStorage['clinic_agreement_pk']);\r\n this.getPCAContractAgreementData(sessionStorage['clinic_agreement_pk'], null);\r\n this.oldPcaReleaseDate = new LulaAso().tnCCutOffDate;\r\n this.PcaReleaseDate2022_1 = new LulaAsoRelease2().tnCCutOffDate;\r\n }\r\n\r\n goto(e: number) {\r\n\r\n if (e == 1) {\r\n this.step1 = true;\r\n this.step2 = false;\r\n }\r\n if (e == 2) {\r\n if (this.proofInsurances.length > 0) {\r\n this.removeValidator();\r\n }\r\n else {\r\n this.PCAContractForm.controls['inputFile'].setValidators([Validators.required]);\r\n this.PCAContractForm.controls['inputFile'].updateValueAndValidity();\r\n }\r\n\r\n if (this.PCAContractForm.valid) {\r\n this.client_name = this.PCAContractForm.controls['firstName'].value.trim() + ' ' + this.PCAContractForm.controls['lastName'].value.trim();\r\n this.client_title = this.PCAContractForm.controls['titleName'].value;\r\n this.step1 = false;\r\n this.step2 = true;\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.PCAContractForm);\r\n if (this.proofInsurances.length > 0) {\r\n this.removeValidator();\r\n }\r\n }\r\n\r\n }\r\n }\r\n onFileChange(event) {\r\n this.files = event.target.files;\r\n this.uploadedFileName = event.target.files[0].name;\r\n this.uploadBtn = null;\r\n //event= null\r\n\r\n }\r\n\r\n apprOrReject(e) {\r\n if (e.target.value == '1') {\r\n this.apprOrRejectTextBox = false;\r\n }\r\n if (e.target.value == '2') {\r\n this.apprOrRejectTextBox = true;\r\n }\r\n }\r\n getPCAContractAgreementData(agreement_pk, user_type) {\r\n this._contractService.getPCAContractAgreement(sessionStorage['clinic_agreement_pk'], user_type).subscribe((data :any)=> {\r\n this.agreement_model = data;\r\n this.PCAContractForm.controls.firstName.setValue(this.agreement_model.clientInfo.name.split(' ')[0]);\r\n this.PCAContractForm.controls.lastName.setValue(this.agreement_model.clientInfo.name.split(' ')[1]);\r\n this.isApproved = data.isApproved;\r\n if (this.agreement_model.isCurrent != null && this.agreement_model.isCurrent != undefined && !this.agreement_model.isCurrent) {\r\n this.router.navigate(['/invalidCotract']);\r\n }\r\n if(new Date(Util.getFormatedDate(this.agreement_model.dateApproved)) > new Date(this.PcaReleaseDate2022_1))\r\n {\r\n this.router.navigate(['/login']);\r\n }\r\n //var name = data.walgreenCoInfo.rhdName.split(' ');\r\n this.approveRejectEmail = data.walgreenCoInfo.rhdEmail;\r\n this.storeId = data.storeInfo.storeId;\r\n this.storeAddress = data.storeInfo.storeAddress;\r\n this.disableBtn = (this.agreement_model.isApproved == true || this.agreement_model.isApproved == false) ? true : null;\r\n this.alrdApprd = this.agreement_model.isApproved == null ? false : true;\r\n if (this.agreement_model.isApproved == true || this.agreement_model.isApproved == false) {\r\n this.Lulasteps = false;\r\n this.step1 = false;\r\n this.step2 = true;\r\n this.client_name = this.agreement_model.isApproved == true ? this.agreement_model.clientInfo.name : '';\r\n this.client_signature = this.agreement_model.signature;\r\n this.client_title = this.agreement_model.isApproved == true ? this.agreement_model.clientInfo.title : '';\r\n if (this.agreement_model.isApproved == false) {\r\n this.isSelected('Reject');\r\n this.selectedLink = 'Reject';\r\n }\r\n this.approvePCAContract.controls['email_signature'].setValue(this.agreement_model.isApproved == true ? this.agreement_model.clientInfo.name : '');\r\n this.approvePCAContract.controls['user_notes'].setValue(this.agreement_model.isApproved == false ? this.agreement_model.notes : '');\r\n this.approvePCAContract.controls['radioBtn'].setValue(this.agreement_model.isApproved == true ? '1' : this.agreement_model.isApproved == false ? '2' : '');\r\n }\r\n this.clinicType = sessionStorage['clinic_type'];\r\n switch (sessionStorage['clinic_type']) {\r\n case 11:\r\n case '11':\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
ORGAN DONOR REGISTRATION EVENT\";\r\n break;\r\n case 12:\r\n case '12':\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
CANCER SCREENING EVENT\";\r\n break;\r\n default:\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
TESTING EVENT\";\r\n break;\r\n }\r\n this.uploadTitle = 'Upload Proof of Insurance or Letter of Self-Insurance';\r\n \r\n let tnCCutOffDate = null;\r\n let dateApproved = null;\r\n if(data.dateApproved){\r\n let dateString = data.dateApproved.substring(0, data.dateApproved.indexOf('T')); // hack for TImezone for -9+\r\n let dateSplitTokens = dateString.split('-');\r\n dateApproved = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n }\r\n switch (sessionStorage['clinic_type']) {\r\n case 10:\r\n case '10':\r\n this.tandC = new LulaGov(data.storeInfo.state);\r\n tnCCutOffDate = new Date(this.tandC.tnCCutOffDate);\r\n if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"HIV testing and screening services and HIV/AIDS counseling to individuals\"\r\n && (dateApproved>=tnCCutOffDate ||dateApproved === null|| data.isApproved===null|| data.isApproved===0) ){\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HIV Testing and counseling services\");\r\n }\r\n else if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"Hepatitis C testing and screening services and Hepatitis C counseling to individuals\"\r\n && (dateApproved>=tnCCutOffDate ||dateApproved === null || data.isApproved===null|| data.isApproved===0) ){\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HCV Testing and counseling services\");\r\n }\r\n else if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"HIV and Hepatitis C testing and screening services and HIV/AIDS and Hepatitis C counseling to individuals\"\r\n && (dateApproved>=tnCCutOffDate ||dateApproved === null|| data.isApproved===null|| data.isApproved===0) ){\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HIV and HCV Testing and counseling services\");\r\n }\r\n break;\r\n case 11:\r\n case '11':\r\n this.tandC = new OpoLula(data.storeInfo.state);\r\n break;\r\n case 12:\r\n case '12':\r\n this.tandC = new CancerLula(data.storeInfo.state);\r\n tnCCutOffDate = new Date(this.tandC.tnCCutOffDate);\r\n if( dateApproved>=tnCCutOffDate || dateApproved === null|| data.isApproved===null|| data.isApproved===0){\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"cancer screening services\");\r\n }\r\n break;\r\n default:\r\n this.tandC = new LulaAso();\r\n tnCCutOffDate = new Date(this.tandC.tnCCutOffDate);\r\n if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"HIV testing and screening services and HIV/AIDS counseling to individuals\"\r\n && (dateApproved === null || dateApproved>=tnCCutOffDate|| data.isApproved===null|| data.isApproved===0) ){\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HIV Testing and counseling services\");\r\n }\r\n else if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"Hepatitis C testing and screening services and Hepatitis C counseling to individuals\"\r\n && ( dateApproved === null || dateApproved>=tnCCutOffDate|| data.isApproved===null|| data.isApproved===0) ){\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HCV Testing and counseling services\");\r\n }\r\n else if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"HIV and Hepatitis C testing and screening services and HIV/AIDS and Hepatitis C counseling to individuals\"\r\n &&( dateApproved === null || dateApproved>=tnCCutOffDate || data.isApproved===null|| data.isApproved===0) ){\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HIV and HCV Testing and counseling services\");\r\n }\r\n break;\r\n }\r\n });\r\n }\r\n\r\n Save() {\r\n var client_info = new ClientInfo();\r\n if (this.approvePCAContract.value.email_signature.trim() === '' && this.approvePCAContract.value.user_notes.trim() === '') {\r\n if (!this.approvePCAContract.controls['radioBtn'].value) {\r\n this.showDialog('Approve Agreement Error', 'Please select either \\'Approve\\' or \\'Request Changes\\' option from Approve Agreement section.');\r\n return false\r\n }\r\n }\r\n\r\n if (this.approvePCAContract.valid) {\r\n if (Number(this.approvePCAContract.controls['radioBtn'].value) === 1 &&\r\n this.approvePCAContract.value.email_signature.toLowerCase().trim() !== (this.PCAContractForm.controls['firstName'].value.trim() + ' ' + this.PCAContractForm.controls['lastName'].value.trim()).toLowerCase()) {\r\n if (this.approvePCAContract.controls[\"email_signature\"].value.trim() !== '') {\r\n this.showDialog(ErrorMessages['ElectronicSignatureErrorHdng'], ErrorMessages['ElectronicSignatureErrorMsg']);\r\n }\r\n else {\r\n this.approvePCAContract.controls['email_signature'].setValue('');\r\n this.approvePCAContract.controls['email_signature'].updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.approvePCAContract);\r\n }\r\n return false;\r\n }\r\n this.disableBtnOnSave = true;\r\n switch (this.selectedLink) {\r\n case 'Approve':\r\n this.agreement_model.isApproved = 1;\r\n this.agreement_model.isEmailSent = Number(this.agreement_model.isEmailSent);\r\n this.client_signature = this.agreement_model.signature = this.approvePCAContract.value.email_signature.trim();\r\n this.agreement_model.contractPostedByUser = 'Business User';\r\n this.agreement_model.approvedOrRejectedBy = sessionStorage['approveRejectEmail'];// this.approveRejectEmail;\r\n this.agreement_model.dateApproved = new Date();\r\n client_info.client = this.agreement_model.testingPartnerInfo.businessName;\r\n client_info.name = this.PCAContractForm.controls['firstName'].value.trim() + ' ' + this.PCAContractForm.controls['lastName'].value.trim();\r\n client_info.title = this.PCAContractForm.controls['titleName'].value;\r\n client_info.reviewedDate = new Date();\r\n this.agreement_model.clientInfo = client_info;\r\n this._contractService.updateContractForTestingPartner(this.agreement_model.storeInfo.storeId, sessionStorage['clinic_type'], this.agreement_model).subscribe((data: any) => {\r\n this.disableBtnOnSave = null;\r\n switch (data.errorS.errorCode) {\r\n case 'success':\r\n case null:\r\n case 'null':\r\n case 0:\r\n case '0':\r\n sessionStorage['Reject'] = null;\r\n var thankuData = new ThankyouData();\r\n thankuData.printContents = document.getElementById('asolulaContract').innerHTML;\r\n\r\n SessionDetails.setThankUDetails(thankuData);\r\n this.router.navigate(['/torgthankyou']);\r\n break;\r\n case -2:\r\n case '-2':\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n case -5:\r\n this.router.navigate(['/invalidCotract']);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled ErrorCode received from Service errorCode:{0}, errorMessage:{1}', data.errorS.errorCode, data.errorS.errorMessage));\r\n break;\r\n }\r\n },\r\n err => {\r\n this.disableBtnOnSave = null;\r\n // this.spinner.hide();\r\n switch (err) {\r\n\r\n case 500:\r\n this.showDialog(ErrorMessages['contract'], String.Format('ErrorCode 500 received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled exception ErrorCode received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n }\r\n });\r\n break;\r\n case 'Reject':\r\n if (this.approvePCAContract.value.user_notes.trim() === '') {\r\n this.approvePCAContract.controls['user_notes'].setValue('');\r\n this.approvePCAContract.controls['user_notes'].updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.approvePCAContract);\r\n this.disableBtnOnSave = null;\r\n return false;\r\n }\r\n this.agreement_model.isApproved = 0;\r\n this.agreement_model.isEmailSent = Number(this.agreement_model.isEmailSent);\r\n this.agreement_model.signature = this.approvePCAContract.value.email_signature;\r\n this.agreement_model.contractPostedByUser = 'Business User';\r\n this.agreement_model.dateApproved = new Date();\r\n this.agreement_model.notes = this.approvePCAContract.value.user_notes.trim();\r\n this.agreement_model.approvedOrRejectedBy = sessionStorage['approveRejectEmail'];// this.approveRejectEmail;\r\n client_info.client = this.agreement_model.testingPartnerInfo.businessName;\r\n client_info.name = this.PCAContractForm.controls['firstName'].value.trim() + ' ' + this.PCAContractForm.controls['lastName'].value.trim();\r\n client_info.title = this.PCAContractForm.controls['titleName'].value;\r\n client_info.reviewedDate = new Date();\r\n this.agreement_model.clientInfo = client_info;\r\n this._contractService.updateContractForTestingPartner(this.agreement_model.storeInfo.storeId, sessionStorage['clinic_type'], this.agreement_model).subscribe((data: any) => {\r\n this.disableBtnOnSave = null;\r\n switch (data.errorS.errorCode) {\r\n case 'success':\r\n case null:\r\n case 'null':\r\n case 0:\r\n case '0':\r\n sessionStorage['Reject'] = 'Reject';\r\n // var thankuData = new ThankyouData();\r\n // thankuData.printContents = document.getElementById('asolulaContract').innerHTML;\r\n\r\n // SessionDetails.setThankUDetails(thankuData);\r\n this.router.navigate(['/torgthankyou']);\r\n break;\r\n case -2:\r\n case '-2':\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n case -5:\r\n this.router.navigate(['/invalidCotract']);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled ErrorCode received from Service errorCode:{0}, errorMessage:{1}', data.errorS.errorCode, data.errorS.errorMessage));\r\n break;\r\n }\r\n },\r\n err => {\r\n this.disableBtnOnSave = null;\r\n // this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['contract'], String.Format('ErrorCode 500 received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled exception ErrorCode received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.approvePCAContract);\r\n }\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n isSelected(name: string): boolean {\r\n if (!this.selectedLink) {\r\n return false;\r\n }\r\n return (this.selectedLink === name);\r\n }\r\n isFieldValid(field: string) {\r\n return !this.approvePCAContract.get(field).valid && this.approvePCAContract.get(field).touched;\r\n }\r\n isFieldValidStep(field: string) {\r\n return !this.PCAContractForm.get(field).valid && this.PCAContractForm.get(field).touched;\r\n }\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n displayFieldCssStep(field: string) {\r\n return {\r\n 'has-error': this.isFieldValidStep(field),\r\n 'has-feedback': this.isFieldValidStep(field)\r\n };\r\n }\r\n setradio(e: string): void {\r\n if (e == 'Approve') {\r\n this.disableSignature = true;\r\n this.approvePCAContract.controls['email_signature'].setValidators([Validators.required]);\r\n this.approvePCAContract.controls['email_signature'].updateValueAndValidity();\r\n this.approvePCAContract.controls['user_notes'].clearValidators();\r\n this.approvePCAContract.controls['user_notes'].updateValueAndValidity();\r\n this.approvePCAContract.controls['user_notes'].setValue('');\r\n }\r\n if (e == 'Reject') {\r\n this.disableSignature = null;\r\n this.approvePCAContract.controls['email_signature'].clearValidators();;\r\n this.approvePCAContract.controls['email_signature'].updateValueAndValidity();\r\n this.approvePCAContract.controls['user_notes'].setValidators([Validators.required]);\r\n this.approvePCAContract.controls['user_notes'].updateValueAndValidity();\r\n this.approvePCAContract.controls['email_signature'].setValue('');\r\n }\r\n this.selectedLink = e;\r\n }\r\n\r\n okClicked() {\r\n this.display = false;\r\n }\r\n Ok() {\r\n this.uploadDoc = false;\r\n }\r\n onSubmit() {\r\n this.saveFiles(this.files);\r\n }\r\n checker(value){\r\n var special_characters = ['<','>',':','\"','/','\\\\','|','?','*','%','!','@','#','$','&'];\r\n for (var i = 0; i < special_characters.length; i++) {\r\n if (value.indexOf(special_characters[i]) > -1) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n saveFiles(files) {\r\n if (this.uploadedFileName === '') {\r\n this.uploadDoc = true;\r\n this.message_text = 'Please upload the file.';\r\n return;\r\n }\r\n \r\n if (!this.checker(this.uploadedFileName) ) {\r\n this.uploadDoc = true;\r\n this.message_text = '< > : \" / \\ | ? * % ! @ # $ & characters are not allowed in the filename. Please rename the file and try again.';\r\n return;\r\n }\r\n if (this.proofInsurances.length < 3) {\r\n if (files.length > 0) {\r\n if (this.isValidFiles(files)) {\r\n let formData: FormData = new FormData();\r\n for (var j = 0; j < files.length; j++) {\r\n formData.append('file', files[j]);\r\n }\r\n this.uploadBtn = true;\r\n var index = this.proofInsurances.findIndex(item => item.fileName === files[0].name);\r\n if (index > -1) {\r\n this.uploadedFileName = '';\r\n this.uploadDoc = true;\r\n this.message_text = 'There is already a file with the same name in this location, please try a different file name.';\r\n return;\r\n }\r\n var data = new Date().getTime();\r\n var file_display_name = sessionStorage['clinic_agreement_pk'] + '_' + this.uploadedFileName;\r\n this._contractService.UploadProofOfInsurance(sessionStorage['clinic_agreement_pk'], formData).subscribe(data => {\r\n this.uploadedFileName = '';\r\n this.getProofOfInsurance(sessionStorage['clinic_agreement_pk']);\r\n },\r\n err => {\r\n this.uploadedFileName = '';\r\n switch (err) {\r\n case 500:\r\n alert('ErrorCode 500 received from Service');\r\n break;\r\n case 400:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n default:\r\n alert('Unhandled exception error code received from Service');\r\n break;\r\n }\r\n });\r\n }\r\n else {\r\n this.message_text = 'Please upload JPG or JPEG formats.';\r\n this.uploadDoc = true;\r\n }\r\n }\r\n }\r\n else {\r\n this.uploadedFileName = '';\r\n this.uploadDoc = true;\r\n this.message_text = 'Only 3 documents can be uploaded.';\r\n }\r\n }\r\n getProofOfInsurance(clinic_agreement_pk) {\r\n this._contractService.GetProofOfInsurance(clinic_agreement_pk).subscribe((data:any) => {\r\n this.proofInsurances = data;\r\n if (this.proofInsurances.length > 0) {\r\n this.removeValidator();\r\n }\r\n });\r\n }\r\n Delete(pk) {\r\n this._contractService.DeleteProofOfInsurance(pk).subscribe(data => {\r\n this.getProofOfInsurance(sessionStorage['clinic_agreement_pk']);\r\n var index = this.proofInsurances.findIndex(item => item.pk === pk);\r\n if (index > -1) {\r\n this.proofInsurances.splice(index, 1);\r\n }\r\n });\r\n }\r\n private isValidFiles(files) {\r\n return this.isValidFileExtension(files);\r\n }\r\n private isValidFileExtension(files) {\r\n\r\n for (var i = 0; i < files.length; i++) {\r\n // Get file extension\r\n var ext = files[i].name.toLocaleUpperCase().split('.').pop() || files[i].name;\r\n\r\n // Check the extension exists\r\n var exists = this.fileExt.filter(element => element == ext);\r\n\r\n if (exists.length <= 0) {\r\n\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n Download(file_name) {\r\n window.open(environment.RESOURCES.PROOF_OF_DOCUMENTS + '/' + file_name);\r\n // this.image_source = environment.API_URL + '/ProofOfDocs/' + this.uploadedFileName;\r\n }\r\n\r\n removeValidator() {\r\n this.PCAContractForm.get('inputFile').clearValidators();\r\n this.PCAContractForm.get('inputFile').updateValueAndValidity();\r\n }\r\n print() {\r\n this.utility.print(\"asolulaContract\", \"Limited Use License Agreement\");\r\n }\r\n\r\n loadtAndCInsurance(){\r\n switch (this.clinicType) {\r\n case 10:\r\n if(this.agreement_model.clinicList[0].clinicImzQtyList[0].immunizationName===\"HIV testing and screening services and HIV/AIDS counseling to individuals\"){\r\n this.tandC.insurance = \"At all times, during the Term, Host Licensee shall maintain, or shall cause to be maintained at Host Licensee's sole cost and expense, (a) Workers Compensation and Employers Liability Insurance; (b) Professional Liability Insurance for all professionals conducting any HIV Testing and counseling services at the Event with minimum limits of $1,000,000 each claim; $3,000,000 aggregate; (c) Commercial General Liability Insurance with minimum limits of $1,000,000 per occurrence, $1,000,000 for Personal Injury subject to $2,000,000 aggregate and coverage for product liability with minimum limits of $2,000,000 per occurrence; $2,000,000 aggregate naming Walgreen Co. as Additional Insured. Host Licensee shall provide Walgreen Co. with a certificate of insurance prior to execution of this Agreement.\";\r\n }\r\n else if(this.agreement_model.clinicList[0].clinicImzQtyList[0].immunizationName===\"Hepatitis C testing and screening services and Hepatitis C counseling to individuals\"){\r\n this.tandC.insurance = \"At all times, during the Term, Host Licensee shall maintain, or shall cause to be maintained at Host Licensee's sole cost and expense, (a) Workers Compensation and Employers Liability Insurance; (b) Professional Liability Insurance for all professionals conducting any HCV Testing and counseling services at the Event with minimum limits of $1,000,000 each claim; $3,000,000 aggregate; (c) Commercial General Liability Insurance with minimum limits of $1,000,000 per occurrence, $1,000,000 for Personal Injury subject to $2,000,000 aggregate and coverage for product liability with minimum limits of $2,000,000 per occurrence; $2,000,000 aggregate naming Walgreen Co. as Additional Insured. Host Licensee shall provide Walgreen Co. with a certificate of insurance prior to execution of this Agreement.\";\r\n }\r\n else if(this.agreement_model.clinicList[0].clinicImzQtyList[0].immunizationName===\"HIV and Hepatitis C testing and screening services and HIV/AIDS and Hepatitis C counseling to individuals\"){\r\n this.tandC.insurance = \"At all times, during the Term, Host Licensee shall maintain, or shall cause to be maintained at Host Licensee's sole cost and expense, (a) Workers Compensation and Employers Liability Insurance; (b) Professional Liability Insurance for all professionals conducting any HIV and HCV Testing and counseling services at the Event with minimum limits of $1,000,000 each claim; $3,000,000 aggregate; (c) Commercial General Liability Insurance with minimum limits of $1,000,000 per occurrence, $1,000,000 for Personal Injury subject to $2,000,000 aggregate and coverage for product liability with minimum limits of $2,000,000 per occurrence; $2,000,000 aggregate naming Walgreen Co. as Additional Insured. Host Licensee shall provide Walgreen Co. with a certificate of insurance prior to execution of this Agreement.\";\r\n }\r\n break;\r\n case 12:\r\n this.tandC.insurance=\"At all times, during the Term, Host Licensee shall maintain, or shall cause to be maintained at Host Licensee's sole cost and expense, (a) Workers Compensation and Employers Liability Insurance; (b) Professional Liability Insurance for all professionals conducting any cancer screening services at the Event with minimum limits of $1,000,000 each claim; $3,000,000 aggregate; (c) Commercial General Liability Insurance with minimum limits of $1,000,000 per occurrence, $1,000,000 for Personal Injury subject to $2,000,000 aggregate and coverage for product liability with minimum limits of $2,000,000 per occurrence; $2,000,000 aggregate naming Walgreen Co. as Additional Insured. Host Licensee shall provide Walgreen Co. with a certificate of insurance prior to execution of this Agreement.\";\r\n break;\r\n default:\r\n this.tandC.insurance= \"At all times, during the term of this Agreement, Host Licensee shall maintain at its sole expense the following policies of insurance: (a) Workers Compensation and Employers Liability Insurance in amounts required by applicable law; and (b) Professional Liability Insurance for all professionals providing any service at the HIV Testing Event with individual or aggregate limits of liability acceptable to Walgreens. A certificate of insurance showing evidence of the required coverage must be submitted to Walgreens prior to or simultaneously with the execution of this Agreement by Host Licensee.\";\r\n break;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { PcaContract } from '../../../../models/pcaclinic';\r\nimport { ContractData } from '../../../../models/contract';\r\nimport { STEPS } from '../../../contractaggreement/workflow/workflow.model';\r\nimport { PcaContractsService } from '../../services/pca-contracts.service';\r\nimport { OutreachProgramService } from '../../../contractaggreement/services/outreach-program.service';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Util } from '../../../../utility/util';\r\nimport { PcaImmunizationsComponent } from '../pca-immunizations/pca-immunizations.component';\r\nimport { PcaLocationListComponent } from '../pca-location-list/pca-location-list.component';\r\nimport { PcaPharmacyInfoComponent } from '../pca-pharmacy-info/pca-pharmacy-info.component';\r\nimport { OpoLula } from '../../../../models/pcaTandC';\r\n\r\n@Component({\r\n selector: 'app-opolula',\r\n templateUrl: './opolula.component.html',\r\n styleUrls: ['./opolula.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class OpolulaComponent implements OnInit {\r\n @ViewChild(PcaImmunizationsComponent) imzcmp: PcaImmunizationsComponent;\r\n @ViewChild(PcaLocationListComponent) loccmp: PcaLocationListComponent;\r\n @ViewChild(PcaPharmacyInfoComponent) witcmp: PcaPharmacyInfoComponent;\r\n\r\n showHints:boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\"))=='yes')?false:true;\r\n pageName:string = \"asolula\";\r\n\r\n step: number = 1;\r\n step_desc: string;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n contractType: string;\r\n tandC:OpoLula = null;\r\n contractData:any;\r\n OutReachProgramType: number = 11;\r\n locationName:string = \"Registration Event\";\r\n isPharmacyFormValid:boolean = false;\r\n isLocationsFormValid:boolean = false;\r\n RHDRVPEmails=[];\r\n index_value:number;\r\n hideSaveBtn:boolean=false;\r\n startTimeEndTimesStep_desc:string ;\r\n showStartTimeEndTimeValid :boolean = false;\r\n isTimeValid:Number = 0;\r\n constructor( private router: Router, private spinner: NgxSpinnerService\r\n , private pcaContractService:PcaContractsService, private confirmationService:ConfirmationService,\r\n private _localContractService: OutreachProgramService, private utility:Util, private _datePipe: DatePipe) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.spinner.show();\r\n this.pcaContractService.wipeData();\r\n this.tandC = new OpoLula();\r\n this.pcaContractService.setLulaTandC(this.tandC);\r\n this.spinner.hide();\r\n this.getRHDRVPEmails();\r\n \r\n }\r\n \r\n getRHDRVPEmails()\r\n {\r\n let storeId = SessionDetails.GetStoreId();\r\n if(storeId === null || storeId === undefined ){\r\n this.showDialog(ErrorMessages['clientError'],ErrorMessages['nullStoreId']);\r\n return;\r\n }\r\n this.pcaContractService.validateRHDRVPEmails(storeId).subscribe((data:any)=>\r\n { \r\n this.RHDRVPEmails = data;\r\n });\r\n }\r\n GoToStep(step: number) {\r\n let step_desc = this.getStepDesc(step);\r\n this.step_desc = this.getStepDesc(this.step);\r\n this.contractData = this.pcaContractService.fetchPcaContractAgreementData();\r\n \r\n if (this.loccmp) {\r\n if (this.loccmp.contractForm.value.contactPhone.indexOf(\"X\") > -1) {\r\n this.loccmp.contractForm.controls.contactPhone.setValue(null);\r\n this.loccmp.contractForm.controls.contactPhone.updateValueAndValidity();\r\n let errMsg = ErrorMessages['MandatoryFields'];\r\n let sumMsg = 'Error'\r\n this.showDialog(sumMsg, errMsg);\r\n return false;\r\n }\r\n }\r\n\r\n\r\n\r\n this.hideSaveBtn = this.contractData.isEmailSent === true && ( this.contractData.isApproved !== false) && ( this.contractData.isRhdApproved !== false);\r\n if (step < this.step) {\r\n this.cacheInEnteredData(this.step_desc);\r\n this.step = step;\r\n this.step_desc = step_desc;\r\n return;\r\n }\r\n if (this.OnSave(this.step_desc, step, this.step)) {\r\n if (this.step_desc !== step_desc) {\r\n this.step = step ;\r\n }\r\n }\r\n \r\n }\r\n getStepDesc(step: number) {\r\n if (step === 1)\r\n return STEPS.immunization;\r\n if (step === 2)\r\n return STEPS.location;\r\n if (step === 3)\r\n return STEPS.witness;\r\n if (step === 4)\r\n {\r\n\r\n return STEPS.review;\r\n }\r\n }\r\n cacheInEnteredData(step_desc: any, currentStep?: number, prevStep?: number) { \r\n let return_value: boolean = false;\r\n if (this.step_desc === STEPS.immunization) {\r\n return_value = this.imzcmp.simpleSave();\r\n }\r\n else if (this.step_desc === STEPS.location) {\r\n if (this.loccmp !== undefined) {\r\n this.loccmp.simpleSave();\r\n \r\n if(!this.loccmp.isFormValid() ){\r\n this.isLocationsFormValid = false;\r\n } else {\r\n this.isLocationsFormValid = true;\r\n }\r\n \r\n }\r\n }\r\n else if (this.step_desc === STEPS.witness) {\r\n if (this.witcmp !== undefined) {\r\n this.witcmp.simpleSave();\r\n if(!this.witcmp.isFormValid()){\r\n this.isPharmacyFormValid = false;\r\n } else {\r\n this.isPharmacyFormValid = true;\r\n }\r\n }\r\n }\r\n }\r\n OnSave(step_desc: any, currentStep: number, prevStep: number) {\r\n this.index_value = 1;\r\n let return_value = false;\r\n if (this.step_desc === STEPS.immunization) {\r\n return_value = this.imzcmp.save();\r\n }\r\n else if (this.step_desc === STEPS.location) {\r\n if(this.loccmp.isClinicDateReminderBefore2WksReq()){\r\n let sumMsg = ErrorMessages['impRmndrFor2Wks'];\r\n let errMsg = ErrorMessages['eventDateReminderBefore2WeeksEN'];\r\n var userProfile = SessionDetails.GetUserProfile();\r\n var lowerCaseName = userProfile.userRole.toLowerCase();\r\n if (lowerCaseName == \"regionalvp\" ||\r\n lowerCaseName === \"regionaldirector\" || lowerCaseName === \"admin\" ||\r\n lowerCaseName === \"regional vice president\" ||\r\n lowerCaseName === \"regional healthcare director\" || 1==1\r\n ) { // 1==1 is temporary\r\n this.step = 2;\r\n this.dialogSummary = sumMsg;\r\n this.confirm(sumMsg, errMsg, step_desc);\r\n return false;\r\n }\r\n else {\r\n errMsg = ErrorMessages['eventDateReminderBefore2WeeksEN'];\r\n this.showDialog(sumMsg, errMsg);\r\n this.step = 2;\r\n return false;\r\n }\r\n }\r\n this.isTimeValid = this.loccmp.isStartTimeEndTimeValid();\r\n if(this.isTimeValid){\r\n this.startTimeEndTimesStep_desc = step_desc;\r\n this.showStartTimeEndTimeValid = true;\r\n this.dialogSummary = \"Alert\";\r\n if(this.isTimeValid==1)\r\n this.dialogMsg = ErrorMessages['clinicLengthMoreThan8Hrs'];\r\n else if(this.isTimeValid == 2){\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = ErrorMessages['clinicLengthAlert'];\r\n }\r\n else {\r\n this.dialogMsg = \"Please contact support.\";\r\n }\r\n return false;\r\n }\r\n return_value = this.loccmp.save();\r\n }\r\n else if (this.step_desc === STEPS.witness) {\r\n return_value = this.witcmp.save();\r\n let a = this.witcmp.getRHDEmail();\r\n if(a.match(/@/g)!='@'){\r\n let sMsg = ErrorMessages['ValidateRHDEmail'];\r\n let sumMsg = \"Invalid Email\";\r\n if(a.length<=0){\r\n sMsg=ErrorMessages['MandatoryFields'];\r\n }\r\n this.showDialog(sumMsg, sMsg);\r\n return false;\r\n }\r\n this.witcmp.getRHDEmail().split(',').forEach(element => {\r\n var index = this.RHDRVPEmails.findIndex(q=>q.toLowerCase() === element.toLowerCase()); \r\n if(index==-1)\r\n {\r\n this.index_value = index;\r\n let sMsg = ErrorMessages['ValidateRHDEmail'];\r\n let sumMsg = \"Invalid Email\";\r\n this.showDialog(sumMsg, sMsg);\r\n }\r\n });\r\n if(this.index_value==-1)\r\n return false;\r\n }\r\n\r\n if(this.pcaContractService.getPcaContractData().isEmailSent === 1 ) {\r\n this.isLocationsFormValid = true;\r\n this.isPharmacyFormValid=true;\r\n } \r\n if (currentStep > prevStep + 1) {\r\n //user has navigated one step further due to previous iteration.\r\n for (let count = prevStep ; count <= currentStep; count++) {\r\n switch (count) {\r\n case 1:\r\n if(!this.imzcmp.checkIfAnyImmunizationsAdded()){\r\n this.step = 1;\r\n return false;\r\n }\r\n break;\r\n case 2:\r\n if(this.imzcmp != null && this.imzcmp != undefined ){\r\n\r\n if ( !this.isLocationsFormValid || this.pcaContractService.getValidationsRequiredStatus() )\r\n {//this.imzcmp.validateLocForm ||\r\n this.step = 2;\r\n this.imzcmp.validateLocForm = false;\r\n return false;\r\n }\r\n } else if(this.pcaContractService.getValidationsRequiredStatus()) {\r\n this.step = 2;\r\n this.imzcmp.validateLocForm = false;\r\n return false;\r\n }\r\n break;\r\n case 3:\r\n if(!this.isPharmacyFormValid ){\r\n this.step = 3;\r\n return false;\r\n }\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n return return_value;\r\n }\r\n setLula(state:string){\r\n this.tandC = new OpoLula();\r\n this.pcaContractService.setLulaTandC(this.tandC);\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n confirm(hdr: string, msg: string, step_desc: any) {\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n this.isTimeValid = this.loccmp.isStartTimeEndTimeValid();\r\n if(this.isTimeValid){\r\n this.showStartTimeEndTimeValid = true;\r\n this.startTimeEndTimesStep_desc = step_desc;\r\n this.dialogSummary = \"Alert\";\r\n if(this.isTimeValid==1)\r\n this.dialogMsg = ErrorMessages['clinicLengthMoreThan8Hrs'];\r\n else if(this.isTimeValid == 2){\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = ErrorMessages['clinicLengthAlert'];\r\n }\r\n else {\r\n this.dialogMsg = \"Please contact support\";\r\n }\r\n return false;\r\n }\r\n if (this.loccmp.save()) {\r\n this.step = this.step + 1;\r\n }\r\n else {\r\n this.step = 2;\r\n return false;\r\n }\r\n return true;\r\n },\r\n reject: () => {\r\n this.step = 2;\r\n return false;\r\n }\r\n });\r\n \r\n }\r\n okClicked() {\r\n this.display = false;\r\n }\r\n saveBtnClicked() {\r\n this.spinner.show();\r\n let return_value = false;\r\n if (this.step_desc === STEPS.immunization || this.step <= 1) {\r\n if (this.imzcmp !== undefined) {\r\n return_value = this.imzcmp.simpleSave();\r\n }\r\n }\r\n if (this.step_desc === STEPS.location || this.step === 2) {\r\n if (this.loccmp !== undefined) {\r\n \r\n return_value = this.loccmp.simpleSave();\r\n }\r\n }\r\n if (this.step_desc === STEPS.witness || this.step >= 3)\r\n if (this.witcmp !== undefined) {\r\n\r\n return_value = this.witcmp.simpleSave();\r\n }\r\n if( !return_value ) {\r\n this.spinner.hide(); \r\n return false; }\r\n \r\n let contractData = new PcaContract();\r\n contractData = this.pcaContractService.getPcaContractData();\r\n\r\n let orthoDoxContract = new ContractData();\r\n this.utility.transformPcaAgreementToOrthoDoxContractJson(contractData,\"\", this._datePipe,orthoDoxContract);\r\n orthoDoxContract.isEmailSent = 0;\r\n orthoDoxContract.contactWagUser = null;\r\n orthoDoxContract.isApproved = null;\r\n this._localContractService.saveAgreementData(SessionDetails.GetStoreId(), 8,orthoDoxContract).subscribe((data: any) => {\r\n this.spinner.hide();\r\n switch (data.errorS.errorCode) {\r\n case '0':\r\n case 0:\r\n this.showDialog(ErrorMessages['asoLula'], ErrorMessages['asoLulaSaved']);\r\n break; \r\n case -4:\r\n case '-4':\r\n this.showDialog(ErrorMessages['resolve'], data.errorS.errorMessage);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break; \r\n }\r\n \r\n },\r\n err => {\r\n this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n break;\r\n }\r\n });\r\n return return_value;\r\n }\r\n cancelContract() {\r\n this.router.navigateByUrl('/communityoutreach/storehome');\r\n }\r\n showDialogCancel(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n }\r\n EditTimes(){\r\n this.showStartTimeEndTimeValid=false;\r\n }\r\n ContinueToNextStep(){\r\n this.showStartTimeEndTimeValid=false;\r\n if (this.loccmp.save()) {\r\n this.step = this.step + 1;\r\n }\r\n else {\r\n this.step = 2;\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\nimport { PcaContractsService } from '../../services/pca-contracts.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Util } from '../../../../utility/util';\r\nimport { PcaContract, Store, OpportunityInfo } from '../../../../models/pcaclinic';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ContractData } from '../../../../models/contract';\r\nimport { OutreachProgramService } from '../../../contractaggreement/services/outreach-program.service';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\r\nimport { TimeToDatePipe } from '../../../contractaggreement/pipes/time-to-date.pipe';\r\nimport { Router } from '@angular/router';\r\nimport { PcacontractAgreementService } from '../../Services/pcacontract-agreement.service';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { MobileOrg } from '../../../../models/pcaclinic';\r\nimport { OrgMobileType } from '../../../../utility/enum';\r\n@Component({\r\n selector: 'app-pca-agreement-Release2',\r\n templateUrl: './pca-agreement-Release2.component.html',\r\n styleUrls: ['./pca-agreement-Release2.component.css'],\r\n providers: [DatePipe, TimeToDatePipe]\r\n})\r\nexport class PcaAgreementComponent2022 implements OnInit {\r\n contractData: PcaContract = new PcaContract();\r\n orthoDoxContract: ContractData = new ContractData();\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n success_message: boolean = true;\r\n regularContract: FormGroup;\r\n @Input('outReachProgramType')\r\n outReachProgramType: number;\r\n tAndC: any;\r\n lulaHdr: string = \"LIMITED USE LICENSE AGREEMENT
TESTING EVENT\";\r\n hideSaveBtn: boolean = false;\r\n disableSendOrSave: boolean = null;\r\n proofInsurances = null;\r\n mobileOrg: typeof MobileOrg = MobileOrg;\r\n orgMobileType: typeof OrgMobileType = OrgMobileType;\r\n //tempTncInsurance:string;\r\n @Output() clinicSubmit: EventEmitter = new EventEmitter();\r\n\r\n serviceLabel: string = \"\";\r\n headerLabel: string = \"\";\r\n constructor(\r\n private pcaContractService: PcaContractsService, \r\n private utility: Util,\r\n private _datePipe: DatePipe, \r\n private spinner: NgxSpinnerService,\r\n private _apiservice: OutreachProgramService, \r\n private _timeToDatePipe: TimeToDatePipe,\r\n private _fb: FormBuilder, \r\n private router: Router, \r\n private _contractService: PcacontractAgreementService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.contractData = this.pcaContractService.getPcaContractData();\r\n if(this.outReachProgramType != 11 && this.outReachProgramType != 12) {\r\n if(this.contractData.immunization.length){\r\n let serviceLabelList = this.contractData.immunization.map((immunization) => {\r\n let idx = immunization.immunizationName.indexOf(\"testing\");\r\n return immunization.immunizationName.substring(0,idx);\r\n });\r\n serviceLabelList = serviceLabelList.sort();\r\n if(serviceLabelList.length > 1){\r\n let lastEle = serviceLabelList.pop();\r\n let label = `${serviceLabelList.join(', ')} and ${lastEle}`;\r\n this.headerLabel = `${serviceLabelList.join(',')} and ${lastEle}`.replace(\" ,\", \", \");\r\n this.serviceLabel = `${label.replace(\" ,\", \", \")} testing and screening services and ${label.replace(\" ,\",\", \").replace(\"HIV\", \"HIV/AIDS\")} counseling to individuals`;\r\n } else {\r\n let label = `${serviceLabelList.join(',')}`;\r\n this.headerLabel = `${serviceLabelList.join(',')}`.replace(\" ,\", \", \");\r\n this.serviceLabel = `${label.replace(\" ,\", \", \")} testing and screening services and ${label.replace(\" ,\",\", \").replace(\"HIV\", \"HIV/AIDS\")} counseling to individuals`;\r\n }\r\n }\r\n }\r\n \r\n if (this.outReachProgramType == 12) this.hideSaveBtn = true;\r\n else\r\n this.hideSaveBtn = this.contractData.isEmailSent == 1 && (this.contractData.isApproved != 0) && (this.contractData.isRhdApproved != 0)\r\n this.contractData.pcaEvenScheduleList.forEach(element => {\r\n try {\r\n element.endTime = this._timeToDatePipe.transform(new Date(element.eventDate), element.endTime);\r\n element.startTime = this._timeToDatePipe.transform(new Date(element.eventDate), element.startTime);\r\n }\r\n catch (e) {\r\n\r\n }\r\n });\r\n this.regularContract = this._fb.group({\r\n email: this._fb.control('', null)\r\n });\r\n\r\n if (this.contractData.testingPartner == null || this.contractData.testingPartner.businessName == \"\") {\r\n\r\n this.pcaContractService.getTpOpportunityDetailsUsingBusinessPk(SessionDetails.GetopportunitiesData().businessPk).subscribe((data:any) => {\r\n this.contractData.testingPartner = data;\r\n this.contractData.testingPartner.zip = data.zipCode;\r\n this.contractData.licenseAgreementNum = this.contractData.store.storeId + \"_\" + this.contractData.testingPartner.businessName.toUpperCase().replace(/[^A-Z0-9]+/ig, \"\").substr(0, 6) + \"_\" + this._datePipe.transform(new Date(), \"MMddyyyy\") + \"-\" + this._datePipe.transform(new Date(), \"HHmm\");\r\n },\r\n err => {\r\n console.log(err.json().Message);\r\n }\r\n );\r\n if (this.contractData.store == null) {\r\n this.contractData.store = new Store();\r\n this.setStoreData();\r\n }\r\n if (this.contractData.testingPartner == null) {\r\n this.contractData.testingPartner = new OpportunityInfo();\r\n }\r\n }\r\n else if (this.contractData.licenseAgreementNum == null || this.contractData.licenseAgreementNum == undefined ||\r\n this.contractData.licenseAgreementNum == \"\") {\r\n this.contractData.licenseAgreementNum = this.contractData.store.storeId + \"_\" + this.contractData.testingPartner.businessName.toUpperCase().replace(/[^A-Z0-9]+/ig, \"\").substr(0, 6) + \"_\" + this._datePipe.transform(new Date(), \"MMddyyyy\") + \"-\" + this._datePipe.transform(new Date(), \"HHmm\");\r\n }\r\n\r\n \r\n this.tAndC = this.pcaContractService.getLulaTandC();\r\n switch (this.outReachProgramType) {\r\n case 11:\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
ORGAN DONOR REGISTRATION EVENT\";\r\n break;\r\n case 12:\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
CANCER SCREENING EVENT\";\r\n break;\r\n default:\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
TESTING EVENT\";\r\n break;\r\n }\r\n this.tAndC.conditionalTnCInsurance = this.tAndC.conditionalTnCInsurance.replace( new RegExp(\"@serviceValue\", 'g'),this.headerLabel.toUpperCase());\r\n this.tAndC.use = this.tAndC.use.map(paragraph => { return paragraph.replace(new RegExp('@serviceValue', 'g'),this.headerLabel.toUpperCase());});\r\n this.tAndC.term = this.tAndC.term.replace( new RegExp(\"@serviceValue\", 'g'),this.headerLabel.toUpperCase());\r\n this.tAndC.tradenames_publications =this.tAndC.tradenames_publications.replace( new RegExp(\"@serviceValue\", 'g'),this.headerLabel.toUpperCase());\r\n this.tAndC.indemnity = this.tAndC.indemnity.map(paragraph => { return paragraph.replace(new RegExp('@serviceValue', 'g'),this.headerLabel.toUpperCase());});\r\n this.tAndC.surrender =this.tAndC.surrender.replace( new RegExp(\"@serviceValue\", 'g'),this.headerLabel.toUpperCase());\r\n this.tAndC.insurance= this.tAndC.insurance.replace( new RegExp(\"@serviceValue\", 'g'),this.headerLabel.toUpperCase());\r\n this.tAndC.miscellaneous= this.tAndC.miscellaneous.replace( new RegExp(\"@serviceValue\", 'g'),this.headerLabel.toUpperCase());\r\n this.tAndC.conditionalTnCInsurance= this.tAndC.conditionalTnCInsurance.replace( new RegExp(\"@serviceValue\", 'g'),this.headerLabel.toUpperCase());\r\n\r\n // this.tAndC.conditionalTnCInsurance = this.tAndC.conditionalTnCInsurance.replace( new RegExp(\"HIV and/or HEPATITIS\", 'g'),this.headerLabel.toUpperCase());\r\n // this.tAndC.use = this.tAndC.use.map(paragraph => { return paragraph.replace(new RegExp('HIV and/or HEPATITIS', 'g'),this.headerLabel.toUpperCase());});\r\n // this.tAndC.term = this.tAndC.term.replace( new RegExp(\"HIV and/or HEPATITIS\", 'g'),this.headerLabel.toUpperCase());\r\n // this.tAndC.tradenames_publications =this.tAndC.tradenames_publications.replace( new RegExp(\"HIV and/or HEPATITIS\", 'g'),this.headerLabel.toUpperCase());\r\n // this.tAndC.indemnity = this.tAndC.indemnity.map(paragraph => { return paragraph.replace(new RegExp('HIV and/or HEPATITIS', 'g'),this.headerLabel.toUpperCase());});\r\n // this.tAndC.surrender =this.tAndC.surrender.replace( new RegExp(\"HIV and/or HEPATITIS\", 'g'),this.headerLabel.toUpperCase());\r\n // this.tAndC.insurance= this.tAndC.insurance.replace( new RegExp(\"HIV and/or HEPATITIS\", 'g'),this.headerLabel.toUpperCase());\r\n // this.tAndC.miscellaneous= this.tAndC.miscellaneous.replace( new RegExp(\"HIV and/or HEPATITIS\", 'g'),this.headerLabel.toUpperCase());\r\n // this.tAndC.conditionalTnCInsurance= this.tAndC.conditionalTnCInsurance.replace( new RegExp(\"HIV and/or HEPATITIS\", 'g'),this.headerLabel.toUpperCase());\r\n\r\n this.loadtAndCInsurance();\r\n }\r\n setStoreData() {\r\n let profile_data = SessionDetails.getStoreProfileData();\r\n this.contractData.store = profile_data[0];\r\n this.contractData.store.zipCode = this.contractData.store.zip;\r\n }\r\n sendEmail() {\r\n this.disableSendOrSave = true;\r\n let emailList: string = '';\r\n if (this.regularContract.value.email != null) {\r\n emailList = this.regularContract.value.email.replace(/ /g, \"\");\r\n }\r\n if (!this.utility.validateEmail(emailList)) {\r\n this.regularContract.controls['email'].setValidators([Validators.required]);\r\n this.regularContract.controls['email'].updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.regularContract);\r\n let sumMsg = ErrorMessages['errMsg'];\r\n let sMsg = ErrorMessages['emailList'];\r\n this.showDialog(sumMsg, sMsg, false);\r\n this.disableSendOrSave = null;\r\n return;\r\n }\r\n this.contractData.clinicAgreementPk = SessionDetails.GetAgreementPK();\r\n this.utility.transformPcaAgreementToOrthoDoxContractJson(this.contractData, emailList, this._datePipe, this.orthoDoxContract);\r\n this.orthoDoxContract.isApproved = null;\r\n this.orthoDoxContract.isRHDApproved = null;\r\n this.orthoDoxContract.dateApproved = null;\r\n this.orthoDoxContract.dateRHDApproved = null;\r\n if (this.orthoDoxContract.clinicList.length <= 0) {\r\n let sumMsg = ErrorMessages['errMsg'];\r\n let sMsg = ErrorMessages['clinicListEmpty'];\r\n this.showDialog(sumMsg, sMsg, false);\r\n return;\r\n }\r\n this.orthoDoxContract.isEmailSent = 1;\r\n if (this.contractData.licenseAgreementNum == null || this.contractData.licenseAgreementNum == undefined ||\r\n this.contractData.licenseAgreementNum == \"\") {\r\n this.contractData.licenseAgreementNum = this.contractData.store.storeId + \"_\" + this.contractData.testingPartner.businessName.toUpperCase().replace(/[^A-Z0-9]+/ig, \"\").substr(0, 6) + \"_\" + this._datePipe.transform(new Date(), \"MMddyyyy\") + \"-\" + this._datePipe.transform(new Date(), \"HHmm\");\r\n }\r\n this.spinner.show();\r\n this._apiservice.saveAgreementData(SessionDetails.GetStoreId(), this.outReachProgramType, this.orthoDoxContract).subscribe((data: any) => {\r\n this.spinner.hide();\r\n\r\n switch (data.errorS.errorCode) {\r\n case '0':\r\n case 0:\r\n this.disableSendOrSave = null;\r\n this.showDialog(ErrorMessages['asoLula'], ErrorMessages['asolulaEmailSent'], true);\r\n break;\r\n case -4:\r\n case '-4':\r\n this.disableSendOrSave = null;\r\n this.contractData.isEmailSent = 0;\r\n this.contractData.isApproved = null;\r\n\r\n this.showDialog(ErrorMessages['asoLula'], data.errorS.errorMessage, false);\r\n break;\r\n default:\r\n this.contractData.isEmailSent = 0;\r\n this.disableSendOrSave = null;\r\n this.contractData.isApproved = null;\r\n\r\n this.showDialog(ErrorMessages['asoLula'], data.errorS.errorMessage, false);\r\n break;\r\n }\r\n\r\n },\r\n err => {\r\n this.disableSendOrSave = null;\r\n this.spinner.hide();\r\n this.contractData.isEmailSent = 0;\r\n this.contractData.isApproved = null;\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message, false);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n }\r\n });\r\n }\r\n saveAgreement() {\r\n this.disableSendOrSave = true;\r\n let emailList: string = '';\r\n if (this.regularContract.value.email != null) {\r\n\r\n emailList = this.regularContract.value.email.replace(/ /g, \"\");\r\n }\r\n\r\n this.contractData.clinicAgreementPk = SessionDetails.GetAgreementPK();\r\n this.utility.transformPcaAgreementToOrthoDoxContractJson(this.contractData, emailList, this._datePipe, this.orthoDoxContract);\r\n //this.orthoDoxContract.businessUserEmails\r\n this.orthoDoxContract.isEmailSent = 0;\r\n this.orthoDoxContract.isApproved = null;\r\n this.orthoDoxContract.isRHDApproved = null;\r\n this.orthoDoxContract.dateApproved = null;\r\n this.orthoDoxContract.dateRHDApproved = null;\r\n this.spinner.show();\r\n this._apiservice.saveAgreementData(SessionDetails.GetStoreId(), this.outReachProgramType, this.orthoDoxContract).subscribe((data: any) => {\r\n this.spinner.hide();\r\n\r\n\r\n switch (data.errorS.errorCode) {\r\n case '0':\r\n case 0:\r\n this.showDialog(ErrorMessages['asoLula'], ErrorMessages['asoLulaSaved'], true)\r\n this.disableSendOrSave = null;\r\n break;\r\n case -4:\r\n case '-4':\r\n this.disableSendOrSave = null;\r\n this.contractData.isEmailSent = 0;\r\n this.contractData.isApproved = null;\r\n this.showDialog(ErrorMessages['asoLula'], data.errorS.errorMessage, false);\r\n break;\r\n default:\r\n this.disableSendOrSave = null;\r\n this.contractData.isEmailSent = 0;\r\n this.contractData.isApproved = null;\r\n this.showDialog(ErrorMessages['asoLula'], data.errorS.errorMessage, false);\r\n break;\r\n }\r\n\r\n },\r\n err => {\r\n this.disableSendOrSave = null;\r\n this.spinner.hide();\r\n this.contractData.isEmailSent = 0;\r\n this.contractData.isApproved = null;\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message, false);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n }\r\n\r\n });\r\n }\r\n\r\n isFieldValid(field: string) {\r\n return !this.regularContract.get(field).valid && this.regularContract.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n showDialog(msgSummary: string, msgDetail: string, success_message: boolean) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n this.success_message = success_message;\r\n }\r\n okClicked() {\r\n this.display = false;\r\n this.disableSendOrSave = null;\r\n if (this.success_message) {\r\n this.router.navigateByUrl('/communityoutreach/storehome');\r\n }\r\n }\r\n btnClick() {\r\n this.clinicSubmit.emit(1);\r\n };\r\n cancelAgreementClicked() {\r\n this.router.navigate(['./communityoutreach/storehome']);\r\n }\r\n print() {\r\n this.utility.print(\"asolulaContract\", \"Limited Use License Agreement\");\r\n }\r\n\r\n loadtAndCInsurance() {\r\n let tnCCutOffDate = new Date(this.tAndC.tnCCutOffDate);\r\n let dateApproved = null;\r\n if(this.contractData && this.contractData.dateApproved){\r\n dateApproved = new Date(this.contractData.dateApproved);\r\n }\r\n switch (this.outReachProgramType) {\r\n case 10:\r\n case 8:\r\n // if(this.contractData.immunization.immunizationName===\"HIV testing and screening services and HIV/AIDS counseling to individuals\" \r\n // && (dateApproved === null || dateApproved>=tnCCutOffDate || this.contractData.isApproved===0 ) ){\r\n // this.tAndC.insurance = this.tAndC.conditionalTnCInsurance.replace('{0}', \"HIV Testing and counseling services\");\r\n // }\r\n // else if(this.contractData.immunization.immunizationName===\"Hepatitis C testing and screening services and Hepatitis C counseling to individuals\" \r\n // && (dateApproved === null || dateApproved>=tnCCutOffDate || this.contractData.isApproved===0 ) ){\r\n // this.tAndC.insurance = this.tAndC.conditionalTnCInsurance.replace('{0}', \"HCV Testing and counseling services\");\r\n // }\r\n // else if(this.contractData.immunization.immunizationName===\"HIV and Hepatitis C testing and screening services and HIV/AIDS and Hepatitis C counseling to individuals\"\r\n // && (dateApproved === null || dateApproved>=tnCCutOffDate || this.contractData.isApproved===0 ) ){\r\n // this.tAndC.insurance = this.tAndC.conditionalTnCInsurance.replace('{0}', \"HIV and HCV Testing and counseling services\");\r\n // }\r\n break;\r\n case 12:\r\n if (dateApproved === null || dateApproved>=tnCCutOffDate || this.contractData.isApproved===0 ) {\r\n this.tAndC.insurance = this.tAndC.conditionalTnCInsurance.replace('{0}', \"cancer screening services\");\r\n }\r\n break;\r\n }\r\n if((!this.contractData.isApproved && this.contractData.isApproved != null )||(!this.contractData.isRhdApproved&&this.contractData.isRhdApproved!=null))\r\n this.proofInsurances = this._contractService.getProofInsuranceDocumentList();\r\n }\r\n Download(file_name) {\r\n window.open(environment.RESOURCES.PROOF_OF_DOCUMENTS + \"/\" + file_name);\r\n }\r\n }\r\n \r\n\r\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\nimport { PcaContractsService } from '../../services/pca-contracts.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Util } from '../../../../utility/util';\r\nimport { PcaContract, Store, OpportunityInfo } from '../../../../models/pcaclinic';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ContractData } from '../../../../models/contract';\r\nimport { OutreachProgramService } from '../../../contractaggreement/services/outreach-program.service';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\r\nimport { TimeToDatePipe } from '../../../contractaggreement/pipes/time-to-date.pipe';\r\nimport { Router } from '@angular/router';\r\nimport { PcacontractAgreementService } from '../../Services/pcacontract-agreement.service';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { MobileOrg } from '../../../../models/pcaclinic';\r\nimport { OrgMobileType } from '../../../../utility/enum';\r\n\r\n@Component({\r\n selector: 'app-pca-agreement',\r\n templateUrl: './pca-agreement.component.html',\r\n styleUrls: ['./pca-agreement.component.css'],\r\n providers: [DatePipe, TimeToDatePipe]\r\n})\r\nexport class PcaAgreementComponent implements OnInit {\r\n contractData: PcaContract = new PcaContract();\r\n orthoDoxContract: ContractData = new ContractData();\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n success_message: boolean = true;\r\n regularContract: FormGroup;\r\n @Input('outReachProgramType')\r\n outReachProgramType: number;\r\n tAndC: any;\r\n lulaHdr: string = \"LIMITED USE LICENSE AGREEMENT
TESTING EVENT\";\r\n hideSaveBtn: boolean = false;\r\n disableSendOrSave: boolean = null;\r\n proofInsurances = null;\r\n serviceLabel = \"\";\r\n headerLabel = \"\";\r\n mobileOrg: typeof MobileOrg = MobileOrg;\r\n orgMobileType: typeof OrgMobileType = OrgMobileType;\r\n //tempTncInsurance:string;\r\n @Output() clinicSubmit: EventEmitter = new EventEmitter();\r\n constructor(private pcaContractService: PcaContractsService, private utility: Util,\r\n private _datePipe: DatePipe, private spinner: NgxSpinnerService,\r\n private _apiservice: OutreachProgramService, private _timeToDatePipe: TimeToDatePipe,\r\n private _fb: FormBuilder, private router: Router, private _contractService: PcacontractAgreementService) { }\r\n\r\n ngOnInit() {\r\n this.contractData = this.pcaContractService.getPcaContractData();\r\n if(this.outReachProgramType != 11 && this.outReachProgramType != 12) {\r\n if(this.contractData.immunization.length){\r\n let serviceLabelList = this.contractData.immunization.map((immunization) => {\r\n let idx = immunization.immunizationName.indexOf(\"testing\");\r\n return immunization.immunizationName.substring(0,idx);\r\n });\r\n serviceLabelList = serviceLabelList.sort();\r\n if(serviceLabelList.length > 1){\r\n let lastEle = serviceLabelList.pop();\r\n let label = `${serviceLabelList.join(', ')} and ${lastEle}`;\r\n this.headerLabel = `${serviceLabelList.join(',')} and ${lastEle}`.replace(\" ,\", \", \");\r\n this.serviceLabel = `${label.replace(\" ,\", \", \")} testing and screening services and ${label.replace(\" ,\",\", \").replace(\"HIV\", \"HIV/AIDS\")} counseling to individuals`;\r\n } else {\r\n let label = `${serviceLabelList.join(',')}`;\r\n this.headerLabel = `${serviceLabelList.join(',')}`.replace(\" ,\", \", \");\r\n this.serviceLabel = `${label.replace(\" ,\", \", \")} testing and screening services and ${label.replace(\" ,\",\", \").replace(\"HIV\", \"HIV/AIDS\")} counseling to individuals`;\r\n }\r\n }\r\n }\r\n \r\n \r\n if (this.outReachProgramType == 12) this.hideSaveBtn = true;\r\n else\r\n this.hideSaveBtn = this.contractData.isEmailSent == 1 && (this.contractData.isApproved != 0) && (this.contractData.isRhdApproved != 0)\r\n this.contractData.pcaEvenScheduleList.forEach(element => {\r\n try {\r\n element.endTime = this._timeToDatePipe.transform(new Date(element.eventDate), element.endTime);\r\n element.startTime = this._timeToDatePipe.transform(new Date(element.eventDate), element.startTime);\r\n }\r\n catch (e) {\r\n\r\n }\r\n });\r\n this.regularContract = this._fb.group({\r\n email: this._fb.control('', null)\r\n });\r\n\r\n if (this.contractData.testingPartner == null || this.contractData.testingPartner.businessName == \"\") {\r\n\r\n this.pcaContractService.getTpOpportunityDetailsUsingBusinessPk(SessionDetails.GetopportunitiesData().businessPk).subscribe((data:any) => {\r\n this.contractData.testingPartner = data;\r\n this.contractData.testingPartner.zip = data.zipCode;\r\n this.contractData.licenseAgreementNum = this.contractData.store.storeId + \"_\" + this.contractData.testingPartner.businessName.toUpperCase().replace(/[^A-Z0-9]+/ig, \"\").substr(0, 6) + \"_\" + this._datePipe.transform(new Date(), \"MMddyyyy\") + \"-\" + this._datePipe.transform(new Date(), \"HHmm\");\r\n },\r\n err => {\r\n console.log(err.json().Message);\r\n }\r\n );\r\n if (this.contractData.store == null) {\r\n this.contractData.store = new Store();\r\n this.setStoreData();\r\n }\r\n if (this.contractData.testingPartner == null) {\r\n this.contractData.testingPartner = new OpportunityInfo();\r\n }\r\n }\r\n else if (this.contractData.licenseAgreementNum == null || this.contractData.licenseAgreementNum == undefined ||\r\n this.contractData.licenseAgreementNum == \"\") {\r\n this.contractData.licenseAgreementNum = this.contractData.store.storeId + \"_\" + this.contractData.testingPartner.businessName.toUpperCase().replace(/[^A-Z0-9]+/ig, \"\").substr(0, 6) + \"_\" + this._datePipe.transform(new Date(), \"MMddyyyy\") + \"-\" + this._datePipe.transform(new Date(), \"HHmm\");\r\n }\r\n\r\n this.tAndC = this.pcaContractService.getLulaTandC();\r\n switch (this.outReachProgramType) {\r\n case 11:\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
ORGAN DONOR REGISTRATION EVENT\";\r\n break;\r\n case 12:\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
CANCER SCREENING EVENT\";\r\n break;\r\n default:\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
TESTING EVENT\";\r\n break;\r\n }\r\n this.loadtAndCInsurance();\r\n }\r\n setStoreData() {\r\n let profile_data = SessionDetails.getStoreProfileData();\r\n this.contractData.store = profile_data[0];\r\n this.contractData.store.zipCode = this.contractData.store.zip;\r\n }\r\n sendEmail() {\r\n this.disableSendOrSave = true;\r\n let emailList: string = '';\r\n if (this.regularContract.value.email != null) {\r\n emailList = this.regularContract.value.email.replace(/ /g, \"\");\r\n }\r\n if (!this.utility.validateEmail(emailList)) {\r\n this.regularContract.controls['email'].setValidators([Validators.required]);\r\n this.regularContract.controls['email'].updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.regularContract);\r\n let sumMsg = ErrorMessages['errMsg'];\r\n let sMsg = ErrorMessages['emailList'];\r\n this.showDialog(sumMsg, sMsg, false);\r\n this.disableSendOrSave = null;\r\n return;\r\n }\r\n this.contractData.clinicAgreementPk = SessionDetails.GetAgreementPK();\r\n this.utility.transformPcaAgreementToOrthoDoxContractJson(this.contractData, emailList, this._datePipe, this.orthoDoxContract);\r\n this.orthoDoxContract.isApproved = null;\r\n this.orthoDoxContract.isRHDApproved = null;\r\n this.orthoDoxContract.dateApproved = null;\r\n this.orthoDoxContract.dateRHDApproved = null;\r\n if (this.orthoDoxContract.clinicList.length <= 0) {\r\n let sumMsg = ErrorMessages['errMsg'];\r\n let sMsg = ErrorMessages['clinicListEmpty'];\r\n this.showDialog(sumMsg, sMsg, false);\r\n return;\r\n }\r\n this.orthoDoxContract.isEmailSent = 1;\r\n if (this.contractData.licenseAgreementNum == null || this.contractData.licenseAgreementNum == undefined ||\r\n this.contractData.licenseAgreementNum == \"\") {\r\n this.contractData.licenseAgreementNum = this.contractData.store.storeId + \"_\" + this.contractData.testingPartner.businessName.toUpperCase().replace(/[^A-Z0-9]+/ig, \"\").substr(0, 6) + \"_\" + this._datePipe.transform(new Date(), \"MMddyyyy\") + \"-\" + this._datePipe.transform(new Date(), \"HHmm\");\r\n }\r\n this.spinner.show();\r\n this._apiservice.saveAgreementData(SessionDetails.GetStoreId(), this.outReachProgramType, this.orthoDoxContract).subscribe((data: any) => {\r\n this.spinner.hide();\r\n\r\n switch (data.errorS.errorCode) {\r\n case '0':\r\n case 0:\r\n this.disableSendOrSave = null;\r\n this.showDialog(ErrorMessages['asoLula'], ErrorMessages['asolulaEmailSent'], true);\r\n break;\r\n case -4:\r\n case '-4':\r\n this.disableSendOrSave = null;\r\n this.contractData.isEmailSent = 0;\r\n this.contractData.isApproved = null;\r\n\r\n this.showDialog(ErrorMessages['asoLula'], data.errorS.errorMessage, false);\r\n break;\r\n default:\r\n this.contractData.isEmailSent = 0;\r\n this.disableSendOrSave = null;\r\n this.contractData.isApproved = null;\r\n\r\n this.showDialog(ErrorMessages['asoLula'], data.errorS.errorMessage, false);\r\n break;\r\n }\r\n\r\n },\r\n err => {\r\n this.disableSendOrSave = null;\r\n this.spinner.hide();\r\n this.contractData.isEmailSent = 0;\r\n this.contractData.isApproved = null;\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message, false);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n }\r\n });\r\n }\r\n saveAgreement() {\r\n this.disableSendOrSave = true;\r\n let emailList: string = '';\r\n if (this.regularContract.value.email != null) {\r\n\r\n emailList = this.regularContract.value.email.replace(/ /g, \"\");\r\n }\r\n\r\n this.contractData.clinicAgreementPk = SessionDetails.GetAgreementPK();\r\n this.utility.transformPcaAgreementToOrthoDoxContractJson(this.contractData, emailList, this._datePipe, this.orthoDoxContract);\r\n //this.orthoDoxContract.businessUserEmails\r\n this.orthoDoxContract.isEmailSent = 0;\r\n this.orthoDoxContract.isApproved = null;\r\n this.orthoDoxContract.isRHDApproved = null;\r\n this.orthoDoxContract.dateApproved = null;\r\n this.orthoDoxContract.dateRHDApproved = null;\r\n this.spinner.show();\r\n this._apiservice.saveAgreementData(SessionDetails.GetStoreId(), this.outReachProgramType, this.orthoDoxContract).subscribe((data: any) => {\r\n this.spinner.hide();\r\n\r\n\r\n switch (data.errorS.errorCode) {\r\n case '0':\r\n case 0:\r\n this.showDialog(ErrorMessages['asoLula'], ErrorMessages['asoLulaSaved'], true)\r\n this.disableSendOrSave = null;\r\n break;\r\n case -4:\r\n case '-4':\r\n this.disableSendOrSave = null;\r\n this.contractData.isEmailSent = 0;\r\n this.contractData.isApproved = null;\r\n this.showDialog(ErrorMessages['asoLula'], data.errorS.errorMessage, false);\r\n break;\r\n default:\r\n this.disableSendOrSave = null;\r\n this.contractData.isEmailSent = 0;\r\n this.contractData.isApproved = null;\r\n this.showDialog(ErrorMessages['asoLula'], data.errorS.errorMessage, false);\r\n break;\r\n }\r\n\r\n },\r\n err => {\r\n this.disableSendOrSave = null;\r\n this.spinner.hide();\r\n this.contractData.isEmailSent = 0;\r\n this.contractData.isApproved = null;\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message, false);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message, false);\r\n break;\r\n }\r\n\r\n });\r\n }\r\n\r\n isFieldValid(field: string) {\r\n return !this.regularContract.get(field).valid && this.regularContract.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n showDialog(msgSummary: string, msgDetail: string, success_message: boolean) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n this.success_message = success_message;\r\n }\r\n okClicked() {\r\n this.display = false;\r\n this.disableSendOrSave = null;\r\n if (this.success_message) {\r\n this.router.navigateByUrl('/communityoutreach/storehome');\r\n }\r\n }\r\n btnClick() {\r\n this.clinicSubmit.emit(1);\r\n };\r\n cancelAgreementClicked() {\r\n this.router.navigate(['./communityoutreach/storehome']);\r\n }\r\n print() {\r\n this.utility.print(\"asolulaContract\", \"Limited Use License Agreement\");\r\n }\r\n\r\n loadtAndCInsurance() {\r\n let tnCCutOffDate = new Date(this.tAndC.tnCCutOffDate);\r\n let dateApproved = null;\r\n if(this.contractData && this.contractData.dateApproved){\r\n dateApproved = new Date(this.contractData.dateApproved);\r\n }\r\n switch (this.outReachProgramType) {\r\n case 10:\r\n case 8:\r\n if(this.contractData.immunization[0].immunizationName===\"HIV testing and screening services and HIV/AIDS counseling to individuals\" \r\n && (dateApproved === null || dateApproved>=tnCCutOffDate || this.contractData.isApproved===0 ) ){\r\n this.tAndC.insurance = this.tAndC.conditionalTnCInsurance.replace('{0}', \"HIV Testing and counseling services\");\r\n }\r\n else if(this.contractData.immunization[0]?.immunizationName===\"Hepatitis C testing and screening services and Hepatitis C counseling to individuals\" \r\n && (dateApproved === null || dateApproved>=tnCCutOffDate || this.contractData.isApproved===0 ) ){\r\n this.tAndC.insurance = this.tAndC.conditionalTnCInsurance.replace('{0}', \"HCV Testing and counseling services\");\r\n }\r\n else if(this.contractData.immunization[0].immunizationName===\"HIV and Hepatitis C testing and screening services and HIV/AIDS and Hepatitis C counseling to individuals\"\r\n && (dateApproved === null || dateApproved>=tnCCutOffDate || this.contractData.isApproved===0 ) ){\r\n this.tAndC.insurance = this.tAndC.conditionalTnCInsurance.replace('{0}', \"HIV and HCV Testing and counseling services\");\r\n }\r\n break;\r\n case 12:\r\n if (dateApproved === null || dateApproved>=tnCCutOffDate || this.contractData.isApproved===0 ) {\r\n this.tAndC.insurance = this.tAndC.conditionalTnCInsurance.replace('{0}', \"cancer screening services\");\r\n }\r\n break;\r\n }\r\n if((!this.contractData.isApproved && this.contractData.isApproved != null )||(!this.contractData.isRhdApproved&&this.contractData.isRhdApproved!=null))\r\n this.proofInsurances = this._contractService.getProofInsuranceDocumentList();\r\n }\r\n Download(file_name) {\r\n window.open(environment.RESOURCES.PROOF_OF_DOCUMENTS + \"/\" + file_name);\r\n }\r\n }\r\n \r\n\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { PcaContractsService } from '../../services/pca-contracts.service';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { Util } from '../../../../utility/util';\r\nimport { TimeToDatePipe } from '../../../contractaggreement/pipes/time-to-date.pipe';\r\nimport { PcaContract, PcaImmunization } from '../../../../models/pcaclinic';\r\nimport { Router } from '@angular/router';\r\nimport { PcacontractAgreementService } from '../../Services/pcacontract-agreement.service';\r\nimport { PcaType } from '../../../../utility/enum';\r\n\r\n\r\n@Component({\r\n selector: 'app-pca-immunizations',\r\n templateUrl: './pca-immunizations.component.html',\r\n styleUrls: ['./pca-immunizations.component.css'],\r\n providers: [TimeToDatePipe]\r\n})\r\nexport class PcaImmunizationsComponent implements OnInit {\r\n immunizationForm: FormGroup;\r\n immunizations: any[];\r\n selectedImmunization: any;\r\n addedImmunizations: any[] = [];\r\n immunization_data: any[];\r\n immunization_data1: any[];\r\n boundImmunizations: any[];\r\n clinic_agreement_pk;\r\n display: boolean = false;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n validateLocForm: boolean = true;\r\n pcaType = PcaType;\r\n @Input('outReachProgramType')\r\n outReachProgramType: number;\r\n @Output() clinicSubmit: EventEmitter = new EventEmitter();\r\n @Output() initializeLula: EventEmitter = new EventEmitter();\r\n constructor(private formBuilder: FormBuilder, private spinner: NgxSpinnerService\r\n , private pcaContractService: PcaContractsService, private utility: Util, private _timeToDatePipe: TimeToDatePipe,\r\n private router: Router, private _contractService: PcacontractAgreementService) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.spinner.show();\r\n this.formControls();\r\n this.clinic_agreement_pk = SessionDetails.GetAgreementPK();\r\n let pcaContractData = this.pcaContractService.fetchPcaContractAgreementData();\r\n\r\n this.pcaContractService.getImmunizationsList(this.clinic_agreement_pk, this.outReachProgramType).subscribe((data: any) => {\r\n // const addedServicesList = pcaContractData.immunization.map((immunization) => immunization.immunizationPk);\r\n // const hideImmunizationServicePKList = environment.hideImmunizationServicePK.filter((item) => !addedServicesList.includes(String(item)));\r\n // this.boundImmunizations = this.boundImmunizations.filter((immunization) => !hideImmunizationServicePKList.includes(immunization.immunizationPk));\r\n // if(pcaContractData.pcaClinic== null || pcaContractData.pcaClinic==undefined)\r\n // {\r\n\r\n // this.boundImmunizations = data.immunizationList.filter(x=>x.immunizationId!==162);\r\n // this.boundImmunizations = this.boundImmunizations.filter(x=>x.immunizationId!==165);\r\n // this.boundImmunizations = this.boundImmunizations.filter(x=>x.immunizationId!==168);\r\n // //162,165,168\r\n // }\r\n\r\n this.boundImmunizations = data.immunizationList;\r\n this.immunizations = [...data.immunizationList];\r\n if (pcaContractData == null || pcaContractData.immunization == null || pcaContractData.immunization == undefined) {\r\n this.getContractAgreementData(this.clinic_agreement_pk);\r\n this.getProofOfInsurance(this.clinic_agreement_pk);\r\n }\r\n else {\r\n this.addedImmunizations = pcaContractData.immunization;\r\n pcaContractData.immunization.map((immunization) => {\r\n let index = this.boundImmunizations.findIndex(item => immunization.immunizationPk == item.immunizationId);\r\n this.boundImmunizations.splice(index, 1);\r\n });\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n getProofOfInsurance(clinic_agreement_pk) {\r\n this._contractService.GetProofOfInsurance(clinic_agreement_pk).subscribe((data: any) => {\r\n this._contractService.setProofInsuranceDocumentList(data);\r\n });\r\n }\r\n getContractAgreementData(clinic_agreement_pk) {\r\n // this.spinner.show(); \r\n this.pcaContractService.getPCAContractAgreement(clinic_agreement_pk).subscribe((data: any) => {\r\n data.clinicList.forEach(element => {\r\n try {\r\n element.endTime = this._timeToDatePipe.transform(new Date(element.clinicDate), element.endTime);\r\n element.startTime = this._timeToDatePipe.transform(new Date(element.clinicDate), element.startTime);\r\n }\r\n catch (e) {\r\n\r\n }\r\n });\r\n var contractData = this.pcaContractService.cacheDBContractData(data);\r\n if (this.addedImmunizations.length <= 0 && contractData &&\r\n contractData.immunization && contractData.immunization.length > 0) {\r\n\r\n this.addedImmunizations = contractData.immunization;\r\n contractData.immunization.map((immunization) => {\r\n\r\n let index = this.boundImmunizations.findIndex(item => item.immunizationId == immunization.immunizationPk);\r\n this.boundImmunizations.splice(index, 1);\r\n })\r\n }\r\n if (contractData != null && contractData != undefined &&\r\n contractData.immunization != null && contractData.immunization != undefined) {\r\n this.pcaContractService.setPcaContractData(contractData);\r\n }\r\n if (contractData.isCurrent != null && contractData.isCurrent != undefined && contractData.isCurrent == 0) {\r\n this.router.navigate(['/invalidCotract']);\r\n }\r\n if (contractData != null && contractData != undefined && contractData.isEmailSent != null &&\r\n ((contractData.isEmailSent == 1) ||\r\n (contractData.isApproved != null || contractData.isRhdApproved != null))) {\r\n if (contractData.store.state) {\r\n this.initializeLula.emit(contractData.store.state);\r\n }\r\n else {\r\n let profile_data = SessionDetails.getStoreProfileData();\r\n if (profile_data && profile_data.length > 0) {\r\n this.initializeLula.emit(profile_data[0].state);\r\n }\r\n }\r\n this.clinicSubmit.emit(4);\r\n }\r\n },\r\n err => {\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n return false;\r\n default:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message);\r\n return false;\r\n }\r\n }\r\n );\r\n }\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n isFieldValid(field: string) {\r\n if (this.immunizationForm.get(field) != null)\r\n return !this.immunizationForm.get(field).valid && this.immunizationForm.get(field).touched;\r\n }\r\n formControls() {\r\n this.immunizationForm = this.formBuilder.group({\r\n immunizationSelected: this.formBuilder.control('', this.addedImmunizations.length > 0 ? null : [Validators.required])\r\n })\r\n }\r\n addImmunization() {\r\n\r\n if (!this.immunizationForm.valid) {\r\n\r\n let dtlMsg;\r\n if (this.addedImmunizations.length > 0) {\r\n dtlMsg = ErrorMessages['AtleastPcaImmunization'];\r\n }\r\n else {\r\n dtlMsg = ErrorMessages['MandatoryFields'];\r\n }\r\n if (this.addedImmunizations.length <= 0) { //&& this.everGreenValue !== ''\r\n dtlMsg = ErrorMessages['AtleastPcaImmunization'];\r\n }\r\n let err = ErrorMessages['errMsg'];\r\n this.showDialog(err, dtlMsg);\r\n this.utility.validateAllFormFields(this.immunizationForm);\r\n return;\r\n }\r\n if (this.immunizationForm.controls['immunizationSelected'].value == \"\") {\r\n let dtlMsg = ErrorMessages['AtleastPcaImmunization'];\r\n let err = ErrorMessages['errMsg'];\r\n this.showDialog(err, dtlMsg);\r\n this.utility.validateAllFormFields(this.immunizationForm);\r\n return;\r\n }\r\n this.immunizationForm.controls['immunizationSelected'].value == 0 ? this.addAllImmunizationData() : this.addimmunizationData(); // this adds the data to local DS.\r\n }\r\n addAllImmunizationData() {\r\n this.addedImmunizations = [];\r\n this.pcaContractService.setImmunizationsData(this.addedImmunizations);\r\n this.addedImmunizations = this.immunizations.map((immunization) => ({\r\n \"immunizationPk\": immunization.immunizationId,\r\n \"immunizationName\": immunization.immunizationName,\r\n \"immunizationSpanishName\": immunization.immunizationSpanishName,\r\n \"paymentTypeId\": immunization.paymentTypeId,\r\n \"paymentTypeName\": immunization.paymentTypeName,\r\n \"paymentTypeSpanishName\": immunization.paymentTypeSpanishName,\r\n \"sendInvoiceTo\": immunization.sendInvoiceTo,\r\n \"price\": immunization.price,\r\n \"directBillPrice\": null,\r\n }));\r\n this.boundImmunizations = [];\r\n this.immunizationForm.controls['immunizationSelected'].updateValueAndValidity();\r\n this.pcaContractService.setImmunizationsData(this.addedImmunizations);\r\n this.clearFormFields();\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n addimmunizationData() {\r\n this.addedImmunizations.push({\r\n \"immunizationPk\": this.immunizationForm.controls['immunizationSelected'].value,\r\n \"immunizationName\": this.boundImmunizations.filter(f => f.immunizationId == this.immunizationForm.controls['immunizationSelected'].value)[0].immunizationName,\r\n \"immunizationSpanishName\": null,\r\n \"paymentTypeId\": null,\r\n \"paymentTypeName\": null,\r\n \"paymentTypeSpanishName\": null,\r\n \"sendInvoiceTo\": 0,\r\n \"price\": 0,\r\n \"directBillPrice\": null,\r\n });\r\n const ind = this.boundImmunizations.findIndex(f => f.immunizationId == this.immunizationForm.controls['immunizationSelected'].value);\r\n this.boundImmunizations.splice(ind, 1);\r\n this.immunizationForm.controls['immunizationSelected'].updateValueAndValidity();\r\n this.pcaContractService.setImmunizationsData(this.addedImmunizations);\r\n this.clearFormFields();\r\n }\r\n clearFormFields() {\r\n this.immunizationForm.value.immunizationSelected = '';\r\n this.immunizationForm = this.formBuilder.group({\r\n immunizationSelected: this.formBuilder.control('', this.addedImmunizations.length > 0 ? null : [Validators.required])\r\n });\r\n }\r\n deleteImmunization(index: any) {\r\n\r\n let immunization = this.addedImmunizations;\r\n this.boundImmunizations.push({\r\n \"immunizationId\": immunization[index].immunizationPk,\r\n \"immunizationName\": immunization[index].immunizationName,\r\n \"immunizationSpanishName\": null,\r\n });\r\n this.addedImmunizations.splice(index, 1);\r\n this.pcaContractService.setImmunizationsData([]);\r\n this.pcaContractService.setImmunizationsData(this.addedImmunizations);\r\n this.immunizationForm.controls['immunizationSelected'].updateValueAndValidity();\r\n this.validateLocForm = true;\r\n }\r\n save(outReachPrgType?: string): boolean {\r\n if (this.addedImmunizations.length > 0) {\r\n this.pcaContractService.setImmunizationsData(this.addedImmunizations);\r\n return true;\r\n }\r\n else {\r\n let dtlMsg = ErrorMessages['MandatoryFields'];\r\n if (this.addedImmunizations.length <= 0) {\r\n dtlMsg = ErrorMessages['AtleastPcaImmunization'];\r\n }\r\n let err = ErrorMessages['errMsg'];\r\n this.showDialog(err, dtlMsg);\r\n this.utility.validateAllFormFields(this.immunizationForm);\r\n return false;\r\n }\r\n }\r\n simpleSave(outReachPrgType?: string): boolean {\r\n this.immunizationForm.controls['immunizationSelected'].updateValueAndValidity();\r\n this.pcaContractService.setImmunizationsData(this.addedImmunizations);\r\n return true;\r\n }\r\n checkIfAnyImmunizationsAdded() {\r\n if (this.addedImmunizations.length > 0) {\r\n return true;\r\n } else {\r\n this.utility.validateAllFormFields(this.immunizationForm);\r\n return false;\r\n }\r\n }\r\n getFormData(pcaObject: PcaContract) {\r\n if (this.immunizationForm.controls['immunizationSelected'].value != \"\") {\r\n pcaObject.immunization = new Array();\r\n pcaObject.immunization.push({\r\n immunizationPk: this.immunizationForm.controls['immunizationSelected'].value,\r\n immunizationName: this.boundImmunizations.filter(f => f.immunizationId == this.immunizationForm.controls['immunizationSelected'].value)[0].immunizationName,\r\n paymentTypeId: null\r\n });\r\n // pcaObject.immunization.immunizationPk = this.immunizationForm.controls['immunizationSelected'].value ;\r\n // pcaObject.immunization.immunizationName = this.boundImmunizations.filter(f=>f.immunizationId==this.immunizationForm.controls['immunizationSelected'].value)[0].immunizationName; \r\n // pcaObject.immunization.paymentTypeId = null;\r\n }\r\n else if (this.addedImmunizations.length > 0) {\r\n pcaObject.immunization = new Array();\r\n this.addedImmunizations.map((immunization: PcaImmunization) => {\r\n pcaObject.immunization.push({\r\n immunizationPk: immunization.immunizationPk,\r\n immunizationName: immunization.immunizationName,\r\n paymentTypeId: null\r\n });\r\n })\r\n // pcaObject.immunization.immunizationPk = this.addedImmunizations[0].immunizationPk ;\r\n // pcaObject.immunization.immunizationName = this.addedImmunizations[0].immunizationName; \r\n // pcaObject.immunization.paymentTypeId = null;\r\n }\r\n else {\r\n pcaObject.immunization = null;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, FormArray, FormControl } from '@angular/forms';\r\nimport { Util } from '../../../../utility/util';\r\nimport { DatePipe } from '@angular/common';\r\nimport { TimeToDatePipe } from '../../../contractaggreement/pipes/time-to-date.pipe';\r\nimport { PcaContractsService } from '../../services/pca-contracts.service';\r\nimport { PcaImmunization, PcaContract, PcaEvent, PcaEventSchedule, PCACancerMetrics } from '../../../../models/pcaclinic';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { String } from 'typescript-string-operations';\r\nimport { Clinic } from '../../../../models/contract';;\r\n\r\n@Component({\r\n selector: 'app-pca-location-list',\r\n templateUrl: './pca-location-list.component.html',\r\n styleUrls: ['./pca-location-list.component.css'],\r\n providers: [TimeToDatePipe, DatePipe]\r\n})\r\nexport class PcaLocationListComponent implements OnInit {\r\n contractForm: FormGroup;\r\n public addedImmunization: Array;\r\n public contractData: PcaContract = new PcaContract();\r\n location_number: number = 0;\r\n locListErrModalDlg: boolean = false;\r\n locListModalDlg: boolean = false;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n isDateTimeConflictPresent = false;\r\n @Input('outReachProgramType')\r\n outReachProgramType: number;\r\n @Input('locationName')\r\n locationName: string;\r\n locationRequirementLabel: string = \"\";\r\n locationRequirementLabel1: string = \"\";\r\n locationRequirementLabel2: string = \"\";\r\n disableAddEvents: boolean = false;\r\n user_data: any;\r\n cancerMetrics: PCACancerMetrics[] = [];\r\n\r\n constructor(private _fb: FormBuilder, private pcaContractService: PcaContractsService,\r\n private _timeToDatePipe: TimeToDatePipe,\r\n private _datePipe: DatePipe, private utility: Util) { }\r\n\r\n ngOnInit() {\r\n this.contractData = this.pcaContractService.fetchPcaContractAgreementData();\r\n let profile_data = SessionDetails.getStoreProfileData();\r\n this.user_data = SessionDetails.getUserProfileData();\r\n\r\n if (this.outReachProgramType == 12) {\r\n this.pcaContractService.getTotalCancelEvents(profile_data[0].storeId, this.contractData.clinicAgreementPk).subscribe(data => {\r\n SessionDetails.SetTotalCancerEvents(data);\r\n },\r\n error => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n if (this.outReachProgramType == 12) {\r\n this.locationRequirementLabel = String.Format(\"Store {0} has a dedicated parking lot that can accomodate a mobile cancer screening unit.\",\r\n this.contractData.pcaClinic.storeId != null && this.contractData.pcaClinic.storeId != undefined && this.contractData.pcaClinic.storeId != \"\" ? this.contractData.pcaClinic.storeId : profile_data[0].storeId);\r\n }\r\n else if (this.outReachProgramType == 8 || this.outReachProgramType == 10) {\r\n this.locationRequirementLabel = String.Format(\"Store {0} has a dedicated parking lot that can accomodate a mobile cancer screening unit.\", this.contractData.pcaClinic.storeId != null && this.contractData.pcaClinic.storeId != undefined && this.contractData.pcaClinic.storeId != \"\" ? this.contractData.pcaClinic.storeId : profile_data[0].storeId);\r\n this.locationRequirementLabel1 = String.Format(\"Store {0} has a dedicated private health room or modular private health room that can accommodate free testing & counseling services.\", this.contractData.pcaClinic.storeId != null && this.contractData.pcaClinic.storeId != undefined && this.contractData.pcaClinic.storeId != \"\" ? this.contractData.pcaClinic.storeId : profile_data[0].storeId);\r\n this.locationRequirementLabel2 = String.Format(\"Store {0} has a dedicated parking lot that can accommodate a mobile testing unit that the testing partner will be parking on-site.\", this.contractData.pcaClinic.storeId != null && this.contractData.pcaClinic.storeId != undefined && this.contractData.pcaClinic.storeId != \"\" ? this.contractData.pcaClinic.storeId : profile_data[0].storeId);\r\n }\r\n\r\n if (this.contractData.isLocationReqAvailable == 0 || this.contractData.isLocationReqAvailable == undefined) {\r\n this.contractData.isLocationReqAvailable = null;\r\n }\r\n if (this.contractData.isHealthRoomAvailable == 0 || this.contractData.isHealthRoomAvailable == undefined) {\r\n this.contractData.isHealthRoomAvailable = null;\r\n }\r\n\r\n this.contractForm = this._fb.group({\r\n contactFirstName: this._fb.control(this.contractData.pcaClinic.contactFirstName ? this.contractData.pcaClinic.contactFirstName.trim() : \"\", [Validators.required]),\r\n contactLastName: this._fb.control(this.contractData.pcaClinic.contactLastName ? this.contractData.pcaClinic.contactLastName.trim() : \"\", [Validators.required]),\r\n jobTitle: this._fb.control(this.contractData.pcaClinic.jobTitle ? this.contractData.pcaClinic.jobTitle.trim() : \"\", [Validators.required]),\r\n contactPhone: this._fb.control(this.contractData.pcaClinic.contactPhone, [Validators.required]),\r\n contactEmail: this._fb.control(this.contractData.pcaClinic.contactEmail ? this.contractData.pcaClinic.contactEmail.trim() : \"\", [Validators.required]),\r\n address1: this._fb.control(this.contractData.pcaClinic.address1 !== null && this.contractData.pcaClinic.address1 !== undefined && this.contractData.pcaClinic.address1 !== \"\" ? this.contractData.pcaClinic.address1 : profile_data[0].address, [Validators.required]),\r\n city: this._fb.control(this.contractData.pcaClinic.city !== null && this.contractData.pcaClinic.city !== undefined && this.contractData.pcaClinic.city !== \"\" ? this.contractData.pcaClinic.city : profile_data[0].city, [Validators.required]),\r\n zipCode: this._fb.control(this.contractData.pcaClinic.zipCode !== null && this.contractData.pcaClinic.zipCode !== undefined && this.contractData.pcaClinic.zipCode !== \"\" ? this.contractData.pcaClinic.zipCode : profile_data[0].zip, [Validators.required]),\r\n state: this._fb.control(this.contractData.pcaClinic.state !== null && this.contractData.pcaClinic.state !== undefined && this.contractData.pcaClinic.state !== \"\" ? this.contractData.pcaClinic.state : profile_data[0].state, [Validators.required]),\r\n storeId: this._fb.control(this.contractData.pcaClinic.storeId !== null && this.contractData.pcaClinic.storeId !== undefined && this.contractData.pcaClinic.storeId !== \"\" ? this.contractData.pcaClinic.storeId : profile_data[0].storeId, [Validators.required]),\r\n isLocationReqAvailable: this._fb.control(this.contractData.isLocationReqAvailable, this.outReachProgramType === 12 ? [Validators.required] : null),\r\n isHealthRoomAvailable: this._fb.control(this.contractData.isHealthRoomAvailable, (this.outReachProgramType === 8 || this.outReachProgramType == 10) && (this.contractData.isLocationReqAvailable === 0 || this.contractData.isLocationReqAvailable === undefined || this.contractData.isLocationReqAvailable === null) ? [Validators.required] : null),\r\n locations: this._fb.array([])\r\n });\r\n\r\n //work around to fill the input mask fields\r\n setTimeout(() => {\r\n const maskedInputControl = this.contractForm.get('contactPhone') as FormControl;\r\n maskedInputControl.setValue(maskedInputControl.value);\r\n });\r\n\r\n this.addedImmunization = this.contractData.immunization;\r\n if (this.contractData.pcaEvenScheduleList.length > 0) {\r\n this.contractData.pcaEvenScheduleList.forEach(element => {\r\n let pcaEventSchedule = new PcaEventSchedule();\r\n pcaEventSchedule.eventDate = element.eventDate;\r\n try {\r\n pcaEventSchedule.endTime = this._timeToDatePipe.transform(new Date(element.eventDate), element.endTime);\r\n pcaEventSchedule.startTime = this._timeToDatePipe.transform(new Date(element.eventDate), element.startTime);\r\n }\r\n catch (e) {\r\n pcaEventSchedule.endTime = element.endTime;\r\n pcaEventSchedule.startTime = element.startTime;\r\n }\r\n\r\n pcaEventSchedule.estimatedQuantity = element.estimatedQuantity;\r\n if (this.outReachProgramType == 12)\r\n pcaEventSchedule.mobileOrg = 1;\r\n else if (this.outReachProgramType == 11)\r\n pcaEventSchedule.mobileOrg = 0;\r\n else\r\n pcaEventSchedule.mobileOrg = element.mobileOrg;\r\n pcaEventSchedule.location = element.location;\r\n this.addLocation(pcaEventSchedule);\r\n });\r\n }\r\n else {\r\n this.addLocation(undefined);\r\n }\r\n }\r\n\r\n addLocation(location) {\r\n if (this.outReachProgramType === 12)\r\n this.diableEventsButton(true);\r\n if (!this.disableAddEvents) {\r\n const control = this.contractForm.controls['locations'];\r\n const addrCtrl = this.initLocation(location);\r\n control.push(addrCtrl);\r\n this.pcaContractService.setValidationsRequiredStatus(true);\r\n }\r\n }\r\n initLocation(eventSchdule: PcaEventSchedule) {\r\n this.location_number++;\r\n if (eventSchdule === undefined) {\r\n eventSchdule = new PcaEventSchedule();\r\n if (this.outReachProgramType == 12)\r\n eventSchdule.mobileOrg = 1;\r\n else if (this.outReachProgramType == 11)\r\n eventSchdule.mobileOrg = 0;\r\n eventSchdule.location = String.Format(\"{0} {1}\", this.locationName, this.location_number);\r\n return this._fb.group({\r\n location: this._fb.control(eventSchdule.location),\r\n immunizationPk: this._fb.control(this.contractData.immunization?.[0]?.immunizationPk), //future if change add multiple take care\r\n immunizationName: this._fb.control(this.contractData.immunization?.[0]?.immunizationName),//future if change add multiple take care\r\n estimatedQuantity: this._fb.control(eventSchdule.estimatedQuantity, [Validators.required]),\r\n eventDate: this._fb.control((eventSchdule.eventDate === null || eventSchdule.eventDate === undefined || eventSchdule.eventDate === \"\") ? \"\" : new Date(eventSchdule.eventDate), [Validators.required]),\r\n startTime: this._fb.control(eventSchdule.startTime, [Validators.required]),\r\n endTime: this._fb.control(eventSchdule.endTime, [Validators.required]),\r\n mobileOrg: this._fb.control(eventSchdule.mobileOrg, [Validators.required])\r\n });\r\n }\r\n else {\r\n\r\n return this._fb.group({\r\n location: this._fb.control(eventSchdule.location),\r\n immunizationPk: this._fb.control(this.contractData.immunization?.[0]?.immunizationPk, [Validators.required]), //future if change add multiple take care\r\n immunizationName: this._fb.control(this.contractData.immunization?.[0]?.immunizationName, [Validators.required]), //future if change add multiple take care\r\n estimatedQuantity: this._fb.control(eventSchdule.estimatedQuantity, [Validators.required]),\r\n eventDate: this._fb.control((eventSchdule.eventDate === null || eventSchdule.eventDate === undefined || eventSchdule.eventDate === \"\") ? \"\" : new Date(eventSchdule.eventDate), [Validators.required]),\r\n startTime: this._fb.control(eventSchdule.startTime, [Validators.required]),\r\n endTime: this._fb.control(eventSchdule.endTime, [Validators.required]),\r\n mobileOrg: this._fb.control(eventSchdule.mobileOrg, [Validators.required])\r\n });\r\n }\r\n }\r\n removeLocation(i: number) {\r\n let control = this.contractForm.controls['locations'];\r\n control.removeAt(i);\r\n this.location_number--;\r\n\r\n for (let index = 0; index < this.location_number; index++) {\r\n let fGrp: FormGroup = control.controls[index] as FormGroup;\r\n fGrp.controls['location'].setValue(String.Format(\"{0} {1}\", this.locationName, index + 1));\r\n }\r\n this.pcaContractService.setValidationsRequiredStatus(true);\r\n if (this.outReachProgramType === 12)\r\n this.diableEventsButton(false);\r\n }\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n isFieldValid(field: string) {\r\n return !this.contractForm.get(field).valid && this.contractForm.get(field).touched;\r\n }\r\n\r\n isFormValid(): boolean {\r\n let frmar: FormArray = this.contractForm.get('locations') as FormArray;\r\n for (let index = 0; index < frmar.length; index++) {\r\n const element = frmar.controls[index] as FormGroup;\r\n this.utility.validateAllFormFields(element);\r\n }\r\n this.utility.validateAllFormFields(this.contractForm);\r\n return this.contractForm.valid;\r\n }\r\n\r\n isLocationReqAvailableChanged(checked) {\r\n if (!checked) {\r\n this.contractForm.controls['isHealthRoomAvailable'].setValidators([Validators.required]);\r\n }\r\n else {\r\n this.contractForm.controls['isHealthRoomAvailable'].setValidators(null);\r\n }\r\n this.contractForm.controls['isHealthRoomAvailable'].updateValueAndValidity();\r\n this.contractForm.updateValueAndValidity();\r\n }\r\n save(outReachPrgType?: string): boolean {\r\n if ((this.outReachProgramType == 8 || this.outReachProgramType == 10) && this.contractForm.value.isLocationReqAvailable == true) {\r\n var isHealthRoomAvailableCtrl = this.contractForm.controls['isHealthRoomAvailable'];\r\n isHealthRoomAvailableCtrl.setValidators(null);;\r\n isHealthRoomAvailableCtrl.updateValueAndValidity();\r\n this.contractForm.updateValueAndValidity();\r\n }\r\n if (this.isFormValid()) {\r\n try {\r\n var locConflictList = [];\r\n var errMsgV1: string[] = [];\r\n for (let count = 0; count < this.contractForm.value.locations.length; count++) {\r\n try {\r\n let locEventDate: Date = new Date(this.contractForm.value.locations[count].eventDate);\r\n let locStartTime = new Date(locEventDate.getFullYear(), locEventDate.getMonth(), locEventDate.getDate(), this.contractForm.value.locations[count].startTime.getHours(), this.contractForm.value.locations[count].startTime.getMinutes(), 0);\r\n\r\n let locEndTime = new Date(locEventDate.getFullYear(), locEventDate.getMonth(), locEventDate.getDate(), this.contractForm.value.locations[count].endTime.getHours(), this.contractForm.value.locations[count].endTime.getMinutes(), 0);\r\n let locationsCpy = JSON.parse(JSON.stringify(this.contractForm.value.locations));\r\n var index = locationsCpy.findIndex(it => it.location === this.contractForm.value.locations[count].location);\r\n if (index > -1) {\r\n locationsCpy.splice(index, 1);\r\n }\r\n locationsCpy.forEach(element => {\r\n element.eventDate = new Date(element.eventDate);\r\n element.startTime = new Date(element.eventDate.getFullYear(), element.eventDate.getMonth(), element.eventDate.getDate(), new Date(element.startTime).getHours(), new Date(element.startTime).getMinutes(), 0);\r\n element.endTime = new Date(element.eventDate.getFullYear(), element.eventDate.getMonth(), element.eventDate.getDate(), new Date(element.endTime).getHours(), new Date(element.endTime).getMinutes(), 0);\r\n });\r\n let conflictLocs = locationsCpy.filter(locItem => locEventDate.getFullYear() === locItem.eventDate.getFullYear() && locEventDate.getMonth() === locItem.eventDate.getMonth() && locEventDate.getDate() === locItem.eventDate.getDate());\r\n let endDateAdd39Mts: Date;\r\n if (locEndTime.toString().toLowerCase().search('am') !== -1 || locEndTime.toString().toLowerCase().search('pm') !== -1) {\r\n endDateAdd39Mts = this._timeToDatePipe.transform(locEventDate, locEndTime);\r\n }\r\n else {\r\n endDateAdd39Mts = locEndTime;\r\n }\r\n let startDatetmToDt: Date;\r\n if (locStartTime.toString().toLowerCase().search('am') !== -1 || locStartTime.toString().toLowerCase().search('pm') !== -1) {\r\n startDatetmToDt = this._timeToDatePipe.transform(locEventDate, locStartTime);\r\n }\r\n else {\r\n startDatetmToDt = locStartTime;\r\n }\r\n let add30MinTS: Date = new Date(locEventDate.getFullYear(), locEventDate.getMonth(), locEventDate.getDate(), endDateAdd39Mts.getHours(), endDateAdd39Mts.getMinutes() + 30, endDateAdd39Mts.getSeconds());\r\n let locStart: Date = new Date(startDatetmToDt);\r\n\r\n if (conflictLocs.length > 0) {\r\n var conflictLocsCpy = JSON.parse(JSON.stringify(conflictLocs));\r\n conflictLocsCpy.forEach(element => {\r\n element.eventDate = new Date(element.eventDate);\r\n element.startTime = new Date(element.eventDate.getFullYear(), element.eventDate.getMonth(), element.eventDate.getDate(), new Date(element.startTime).getHours(), new Date(element.startTime).getMinutes(), 0);\r\n element.endTime = new Date(element.eventDate.getFullYear(), element.eventDate.getMonth(), element.eventDate.getDate(), new Date(element.endTime).getHours(), new Date(element.endTime).getMinutes(), 0);\r\n });\r\n\r\n conflictLocs = conflictLocsCpy.filter(locItem => locEventDate.getFullYear() === locItem.eventDate.getFullYear() && locEventDate.getMonth() === locItem.eventDate.getMonth() && locEventDate.getDate() === locItem.eventDate.getDate() && ((locItem.startTime.valueOf() >= locStart.valueOf() && locItem.startTime.valueOf() < add30MinTS.valueOf()) || (locItem.endTime.valueOf() > locStart.valueOf() && locItem.endTime.valueOf() < add30MinTS.valueOf())));\r\n if (conflictLocs.length > 0) {\r\n locConflictList.push({\r\n srcLocName: this.contractForm.value.locations[count],\r\n dstLocName: conflictLocs\r\n });\r\n }\r\n }\r\n } catch (e) {\r\n\r\n }\r\n }\r\n let conflictClinicList: any[] = [];\r\n locConflictList.forEach(item => {\r\n\r\n item.dstLocName.forEach(element => {\r\n let duplicateEntry = conflictClinicList.filter(l => l.location == element.location);\r\n if (duplicateEntry.length <= 0) {\r\n conflictClinicList.push(element);\r\n }\r\n });\r\n\r\n });\r\n\r\n if (conflictClinicList.length > 0) {\r\n conflictClinicList.sort((leftItem, rightItem): number => {\r\n if (leftItem.location < rightItem.location) return -1;\r\n if (leftItem.location > rightItem.location) return 1;\r\n return 0;\r\n });\r\n\r\n if (conflictClinicList.length <= 2 && this.contractForm.value.locations.length <= 2) {\r\n if (conflictClinicList.length === 2) {\r\n errMsgV1.push(String.Format(ErrorMessages['eventLocDateTimeSingleConflict'], conflictClinicList[1].location, this._datePipe.transform(conflictClinicList[0].eventDate, \"shortDate\"), this._datePipe.transform(conflictClinicList[0].startTime, 'shortTime'), this._datePipe.transform(conflictClinicList[0].endTime, 'shortTime'), SessionDetails.GetopportunitiesData().businessName));\r\n } else {\r\n errMsgV1.push(String.Format(ErrorMessages['eventLocDateTimeSingleConflict'], conflictClinicList[0].location, this._datePipe.transform(conflictClinicList[0].eventDate, \"shortDate\"), this._datePipe.transform(conflictClinicList[0].startTime, 'shortTime'), this._datePipe.transform(conflictClinicList[0].endTime, 'shortTime'), SessionDetails.GetopportunitiesData().businessName));\r\n }\r\n this.showDialog(ErrorMessages['resolve'], errMsgV1.join('

'));\r\n this.isDateTimeConflictPresent = true;\r\n return false;\r\n }\r\n if (conflictClinicList.length >= 1) {\r\n errMsgV1 = [];\r\n conflictClinicList.forEach(loc => {\r\n errMsgV1.push(String.Format(ErrorMessages['eventLocDateTimeMultipleConflict'], loc.location, this._datePipe.transform(loc.eventDate, \"shortDate\"), this._datePipe.transform(loc.startTime, 'shortTime'), this._datePipe.transform(loc.endTime, 'shortTime'), SessionDetails.GetopportunitiesData().businessName));\r\n });\r\n if (conflictClinicList.length <= 1) {\r\n errMsgV1 = [];\r\n errMsgV1.push(String.Format(ErrorMessages['eventLocDateTimeSingleConflict'], conflictClinicList[0].location, this._datePipe.transform(conflictClinicList[0].eventDate, \"shortDate\"), this._datePipe.transform(conflictClinicList[0].startTime, 'shortTime'), this._datePipe.transform(conflictClinicList[0].endTime, 'shortTime'), SessionDetails.GetopportunitiesData().businessName));\r\n this.showDialog(ErrorMessages['resolve'], errMsgV1.join('

'));\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['resolve'], String.Format(\"{0}{1}\", ErrorMessages['multipleEventsDatesConflictLineItem'], errMsgV1.join('

')));\r\n }\r\n this.isDateTimeConflictPresent = true;\r\n return false;\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n if (this.outReachProgramType === 12 && !this.contractForm.value.isLocationReqAvailable) {\r\n this.contractForm.value.isLocationReqAvailable = null;\r\n this.contractData.isLocationReqAvailable = null;\r\n this.contractForm.updateValueAndValidity();\r\n this.showDialog(ErrorMessages[\"locationRequirementsHeading\"], ErrorMessages[\"locationRequirements\"])\r\n\r\n return false;\r\n }\r\n if ((this.outReachProgramType == 8 || this.outReachProgramType == 10) && !this.contractForm.value.isHealthRoomAvailable\r\n && !this.contractForm.value.isLocationReqAvailable) {\r\n this.contractForm.value.isLocationReqAvailable = null;\r\n this.contractData.isLocationReqAvailable = null;\r\n this.contractForm.value.isHealthRoomAvailable = null;\r\n this.contractData.isHealthRoomAvailable = null;\r\n this.contractForm.updateValueAndValidity();\r\n this.showMobileUnitErrorDialog();\r\n return false;\r\n }\r\n if (!this.checkEventLocation(this.contractForm.value.locations)) return false;\r\n this.pcaContractService.setTestingLocation(this.contractForm.value);\r\n this.pcaContractService.setValidationsRequiredStatus(false);\r\n return true;\r\n }\r\n\r\n if (this.outReachProgramType === 12 && !this.contractForm.value.isLocationReqAvailable) {\r\n this.showDialog(ErrorMessages[\"locationRequirementsHeading\"], ErrorMessages[\"locationRequirements\"])\r\n return false;\r\n }\r\n if ((this.outReachProgramType == 8 || this.outReachProgramType == 10) && !this.contractForm.value.isHealthRoomAvailable\r\n && !this.contractForm.value.isLocationReqAvailable) {\r\n this.contractForm.value.isLocationReqAvailable = null;\r\n this.contractData.isLocationReqAvailable = null;\r\n this.contractForm.value.isHealthRoomAvailable = null;\r\n this.contractData.isHealthRoomAvailable = null;\r\n this.contractForm.updateValueAndValidity();\r\n this.showMobileUnitErrorDialog();\r\n return false;\r\n }\r\n return false;\r\n }\r\n isClinicDateReminderBefore2WksReq() {\r\n if (!this.contractForm.valid) {\r\n return false;\r\n }\r\n return this.utility.isClinicDateReminderBefore2WksReq(this.contractForm);\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.locListErrModalDlg = true;\r\n }\r\n closeErrModalDlg() {\r\n this.locListErrModalDlg = false;\r\n }\r\n simpleSave(): boolean {\r\n if (!this.isFormValidForSimpleSave()) {\r\n return false;\r\n }\r\n this.pcaContractService.setTestingLocation(this.contractForm.value);\r\n return true;\r\n }\r\n isFormValidForSimpleSave(): boolean {\r\n let frmar: FormArray = this.contractForm.get('locations') as FormArray;\r\n let isFormValid: boolean = true;\r\n for (let index = 0; index < frmar.length; index++) {\r\n const element = frmar.controls[index] as FormGroup;\r\n isFormValid = this.utility.validateFormGroupForSimpleSave(element);\r\n }\r\n isFormValid = this.utility.validateFormGroupForSimpleSave(this.contractForm);\r\n //this.utility.validateAllFormFields(this.contractForm);\r\n return isFormValid;//&& this.contractForm.valid;\r\n }\r\n getFormData(pcaObject: PcaContract) {\r\n pcaObject.pcaClinic = new PcaEvent();\r\n var locForm = this.contractForm.value;\r\n\r\n pcaObject.pcaClinic.contactFirstName = locForm.contactFirstName;\r\n pcaObject.pcaClinic.contactLastName = locForm.contactLastName;\r\n pcaObject.pcaClinic.jobTitle = locForm.jobTitle;\r\n pcaObject.pcaClinic.contactPhone = locForm.contactPhone;\r\n pcaObject.pcaClinic.contactEmail = locForm.contactEmail;\r\n pcaObject.pcaClinic.address1 = locForm.address1;\r\n pcaObject.pcaClinic.city = locForm.city;\r\n pcaObject.pcaClinic.state = locForm.state;\r\n pcaObject.pcaClinic.zipCode = locForm.zipCode;\r\n pcaObject.pcaClinic.storeId = locForm.storeId;\r\n pcaObject.pcaClinic.immunization = locForm.locations;\r\n // pcaObject.pcaClinic.immunizationPk = locForm.locations[0].immunizationPk;\r\n pcaObject.pcaEvenScheduleList = [];\r\n locForm.locations.forEach(element => {\r\n let pcaEventSchedule = new PcaEventSchedule();\r\n pcaEventSchedule.eventDate = element.clinicDate !== null && element.clinicDate !== undefined ? JSON.parse(element.clinicDate) : null;\r\n pcaEventSchedule.startTime = element.startTime !== null && element.startTime !== undefined ? JSON.parse(element.startTime) : null;\r\n pcaEventSchedule.endTime = element.endTime !== null && element.endTime !== undefined ? JSON.parse(element.endTime) : null;\r\n pcaEventSchedule.estimatedQuantity = element.estimatedQuantity;\r\n if (pcaEventSchedule.estimatedQuantity || pcaEventSchedule.estimatedQuantity === 0) {\r\n pcaEventSchedule.location = element.location;\r\n }\r\n else {\r\n pcaEventSchedule.location = null;\r\n }\r\n pcaObject.pcaEvenScheduleList.push(pcaEventSchedule);\r\n });\r\n }\r\n diableEventsButton(isAdd: boolean) {\r\n var userProfile = SessionDetails.GetUserProfile();\r\n //\r\n var totalNewEvents = 0;\r\n for (let count = 0; count < this.contractForm.value.locations.length; count++) {\r\n if (new Date(this.contractForm.value.locations[count].eventDate).getFullYear() === new Date().getFullYear()) {\r\n totalNewEvents += 1;\r\n }\r\n }\r\n if (userProfile.userRole.toLowerCase() !== \"admin\") {\r\n if (totalNewEvents >= 2) this.disableAddEvents = true;\r\n else this.disableAddEvents = false;\r\n }\r\n }\r\n calcualteNewEventsinCurrentYear() {\r\n var currentYearEvents = 0;\r\n var nextYearEvents = 0\r\n var schedulledCurrentYearEvents = 0;\r\n var schedulledNextYearEvents = 0;\r\n var events = [];\r\n\r\n var thisYear = new Date().getFullYear();\r\n // for(let count=0;count q === this.contractForm.value.locations[count].location)=== -1){\r\n if (new Date(this.contractForm.value.locations[count].eventDate).getFullYear() === thisYear) {\r\n currentYearEvents += 1;\r\n }\r\n else if (new Date(this.contractForm.value.locations[count].eventDate).getFullYear() === thisYear + 1) {\r\n nextYearEvents += 1;\r\n }\r\n //}\r\n }\r\n this.cancerMetrics = [];\r\n var pcaMetric = new PCACancerMetrics();\r\n pcaMetric.EventCount = currentYearEvents + schedulledCurrentYearEvents;\r\n pcaMetric.Year = thisYear;\r\n this.cancerMetrics.push(pcaMetric);\r\n\r\n pcaMetric = new PCACancerMetrics();\r\n pcaMetric.EventCount = nextYearEvents + schedulledNextYearEvents;\r\n pcaMetric.Year = thisYear + 1;\r\n this.cancerMetrics.push(pcaMetric);\r\n return this.cancerMetrics;\r\n }\r\n isStartTimeEndTimeValid() {\r\n\r\n let isValidCode: Number = 0;\r\n try {\r\n this.contractForm.value.locations.forEach(loc => {\r\n try {\r\n if (loc.startTime != \"\")\r\n try {\r\n loc.startTime = this._datePipe.transform(loc.startTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n if (loc.endTime != \"\") {\r\n try {\r\n loc.endTime = this._datePipe.transform(loc.endTime, 'shortTime');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e); // here the exception is delibarately caught because when you click back, startTime & end\r\n // Time is not correct timeformat. Hence we are ignoring this by catching here.\r\n }\r\n });\r\n let today = new Date();\r\n for (let count = 0; count < this.contractForm.value.locations.length; count++) {\r\n\r\n let locClinicDate: Date = new Date(this.contractForm.value.locations[count].eventDate);\r\n let locStartTime = this.contractForm.value.locations[count].startTime;\r\n let locEndTime = this.contractForm.value.locations[count].endTime;\r\n // if (this.contractForm.value.locations[count].isNoClinic >= 1 || \r\n // this.contractForm.value.locations[count].isNoClinic === '1' || \r\n // this.contractForm.value.locations[count].isReassign >= 1 || \r\n // this.contractForm.value.locations[count].isReassign === '1') {\r\n // continue;\r\n // }\r\n let endDate: Date;\r\n if (locEndTime != null) {\r\n if (locEndTime.toString().toLowerCase().search('am') !== -1 || locEndTime.toString().toLowerCase().search('pm') !== -1) {\r\n endDate = this._timeToDatePipe.transform(locClinicDate, locEndTime);\r\n }\r\n else {\r\n endDate = locEndTime;\r\n }\r\n }\r\n let startDatetmToDt: Date;\r\n if (locStartTime != null) {\r\n if (locStartTime.toString().toLowerCase().search('am') !== -1 || locStartTime.toString().toLowerCase().search('pm') !== -1) {\r\n startDatetmToDt = this._timeToDatePipe.transform(locClinicDate, locStartTime);\r\n }\r\n else {\r\n startDatetmToDt = locStartTime;\r\n }\r\n }\r\n let locStart: Date = new Date(startDatetmToDt);\r\n let locEnd: Date = new Date(endDate);\r\n if (locEnd.valueOf() - locStart.valueOf() <= 0) {\r\n isValidCode = 2;\r\n break;\r\n }\r\n else if (locEnd.valueOf() - locStart.valueOf() > 28800000) {\r\n isValidCode = 1;\r\n break;\r\n }\r\n else {\r\n isValidCode = 0;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n return 3;\r\n }\r\n return isValidCode;\r\n }\r\n\r\n getMobileOrgEventsYesIndex(locations: Array) {\r\n return (locations.reduce((acc, curr, index): any => {\r\n if (curr.mobileOrg == 1) {\r\n acc.push(index);\r\n }\r\n return acc;\r\n }, []));\r\n }\r\n\r\n getMobileOrgEventsNoIndex(locations: Array) {\r\n return (locations.reduce((acc, curr, index): any => {\r\n if (curr.mobileOrg == 0) {\r\n acc.push(index);\r\n }\r\n return acc;\r\n }, []));\r\n }\r\n\r\n hasMobileOrgEventYes(locations: Array) {\r\n return locations.every((event: Clinic) => event.mobileOrg == 1);\r\n }\r\n\r\n hasMobileOrgEventNo(locations: Array) {\r\n return locations.every((event: Clinic) => event.mobileOrg == 0);\r\n }\r\n\r\n showMobileUnitErrorDialog() {\r\n let mobileOrgEventsNoIndex = (this.getMobileOrgEventsNoIndex(this.contractForm.value.locations)).map(val => val + 1);\r\n let mobileOrgEventsYesIndex = (this.getMobileOrgEventsYesIndex(this.contractForm.value.locations)).map(val => val + 1);\r\n if (!this.contractForm.value.isHealthRoomAvailable && !this.contractForm.value.isLocationReqAvailable) {\r\n this.showDialog(ErrorMessages[\"locationRequirementsHeading\"], ErrorMessages['locationHealthRoomRequirements']);\r\n return;\r\n }\r\n // let frmar: FormArray = this.contractForm.get('locations') as FormArray;\r\n if ((mobileOrgEventsNoIndex.length > 0 && mobileOrgEventsYesIndex.length > 1) || (mobileOrgEventsNoIndex.length > 1 && mobileOrgEventsYesIndex.length > 0)) {\r\n let errorMessage = `${ErrorMessages[\"locationHealthRoomRequirementsYes\"].replace('{0}', mobileOrgEventsYesIndex.join(', '))}

${ErrorMessages[\"locationHealthRoomRequirementsNo\"].replace('{0}', mobileOrgEventsNoIndex)}

${ErrorMessages[\"locationHealthRoomRequiredFooter\"]}`;\r\n this.showDialog(ErrorMessages[\"locationRequirementsHeading\"], errorMessage)\r\n }\r\n else if (mobileOrgEventsYesIndex.length > 1 && this.hasMobileOrgEventYes(this.contractForm.value.locations)) {\r\n let errorMessage = `${ErrorMessages[\"locationHealthRoomRequirementsYes\"].replace('{0}', mobileOrgEventsYesIndex.join(', '))}

${ErrorMessages[\"locationHealthRoomRequiredFooter\"]}`;\r\n this.showDialog(ErrorMessages[\"locationRequirementsHeading\"], errorMessage)\r\n } else if (mobileOrgEventsNoIndex.length > 1 && this.hasMobileOrgEventNo(this.contractForm.value.locations)) {\r\n let errorMessage = `${ErrorMessages[\"locationHealthRoomRequirementsNo\"].replace('{0}', mobileOrgEventsNoIndex.join(', '))}

${ErrorMessages[\"locationHealthRoomRequiredFooter\"]}`;\r\n this.showDialog(ErrorMessages[\"locationRequirementsHeading\"], errorMessage)\r\n } else if (this.contractForm.value.locations.length == 1) {\r\n if (this.hasMobileOrgEventYes(this.contractForm.value.locations)) {\r\n let errorMessage = `${ErrorMessages[\"locationHealthRoomRequirementsYes\"].replace('{0}', 1)}

${ErrorMessages[\"locationHealthRoomRequiredFooter\"]}`;\r\n this.showDialog(ErrorMessages[\"locationRequirementsHeading\"], errorMessage)\r\n } else if (this.hasMobileOrgEventNo(this.contractForm.value.locations)) {\r\n let errorMessage = `${ErrorMessages[\"locationHealthRoomRequirementsNo\"].replace('{0}', 1)}

${ErrorMessages[\"locationHealthRoomRequiredFooter\"]}`;\r\n this.showDialog(ErrorMessages[\"locationRequirementsHeading\"], errorMessage)\r\n }\r\n }\r\n }\r\n\r\n checkEventLocation(locations: Array) {\r\n if (this.outReachProgramType == 8 || this.outReachProgramType == 10) {\r\n const mobileUnitWithYes = locations.some((loc: Clinic) => loc.mobileOrg == 1);\r\n const mobileUnitWithNo = locations.some((loc: Clinic) => loc.mobileOrg == 0);\r\n const mobileOrgEventsNoIndex = (this.getMobileOrgEventsNoIndex(this.contractForm.value.locations)).map(val => val + 1);\r\n const mobileOrgEventsYesIndex = (this.getMobileOrgEventsYesIndex(this.contractForm.value.locations)).map(val => val + 1);\r\n if (!this.contractForm.value.isLocationReqAvailable && mobileUnitWithYes) {\r\n let errorMessage = `${ErrorMessages[\"locationHealthRoomRequirementsYes\"].replace('{0}', mobileOrgEventsYesIndex.join(', '))}

${ErrorMessages[\"locationHealthRoomRequiredFooter\"]}`;\r\n this.showDialog(ErrorMessages[\"locationRequirementsHeading\"], errorMessage);\r\n return false;\r\n\r\n }\r\n if (mobileUnitWithNo && !this.contractForm.value.isHealthRoomAvailable) {\r\n let errorMessage = `${ErrorMessages[\"locationHealthRoomRequirementsNo\"].replace('{0}', mobileOrgEventsNoIndex.join(', '))}

${ErrorMessages[\"locationHealthRoomRequiredFooter\"]}`;\r\n this.showDialog(ErrorMessages[\"locationRequirementsHeading\"], errorMessage);\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { Util } from '../../../../utility/util';\r\nimport { PcaContractsService } from '../../services/pca-contracts.service';\r\nimport { PcaImmunization, PcaContract } from '../../../../models/pcaclinic';\r\n\r\n@Component({\r\n selector: 'app-pca-location',\r\n templateUrl: './pca-location.component.html',\r\n styleUrls: ['./pca-location.component.css']\r\n})\r\nexport class PcaLocationComponent implements OnInit {\r\n @Input('group')\r\n public locationForm: FormGroup;\r\n @Input('eventNumber')\r\n public eventNumber: number;\r\n public addedImmunization: PcaImmunization;\r\n public contractData: PcaContract = new PcaContract();\r\n defaultStartTime: Date;\r\n defaultEndTime: Date;\r\n defaultDate: Date = new Date();\r\n maxDateValue: Date = new Date();\r\n minDateValue: Date = new Date();\r\n invalidDates: Date[] = [];\r\n serviceLabel: string = \"\";\r\n @Input('outReachProgramType')\r\n outReachProgramType: number;\r\n constructor(private utility: Util, private spinner: NgxSpinnerService,\r\n private pcaContractService: PcaContractsService) { }\r\n\r\n ngOnInit() {\r\n this.spinner.show();\r\n let today = new Date();\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n if (this.outReachProgramType === 12) this.maxDateValue = new Date(today.getFullYear() + 1, 12);\r\n else this.maxDateValue = new Date(today.getFullYear() + 1, today.getMonth(), today.getDate() - 1);\r\n this.defaultEndTime = this.defaultStartTime = null;//new Date(today.getFullYear(), today.getMonth(), today.getDate(),8,0,0);\r\n this.contractData = this.pcaContractService.fetchPcaContractAgreementData();\r\n this.invalidDates.push(new Date(2020, 5, 27));\r\n if (this.outReachProgramType !== 11 && this.outReachProgramType !== 12) {\r\n if (this.contractData.immunization.length) {\r\n let serviceLabelList = this.contractData.immunization.map((immunization) => {\r\n let idx = immunization.immunizationName.indexOf(\"testing\");\r\n return immunization.immunizationName.substring(0, idx);\r\n });\r\n serviceLabelList = serviceLabelList.sort();\r\n if (serviceLabelList.length > 1) {\r\n let lastEle = serviceLabelList.pop();\r\n let label = `${serviceLabelList.join(',')} and ${lastEle}`;\r\n this.serviceLabel = `${label.replace(\" ,\", \", \")} testing and screening services and ${label.replace(\" ,\", \", \").replace(\"HIV\", \"HIV/AIDS\")} counseling to individuals`;\r\n } else {\r\n let label = `${serviceLabelList.join(',')}`;\r\n this.serviceLabel = `${label.replace(\" ,\", \", \")} testing and screening services and ${label.replace(\" ,\", \", \").replace(\"HIV\", \"HIV/AIDS\")} counseling to individuals`;\r\n }\r\n\r\n }\r\n }\r\n if (this.eventNumber > this.contractData.pcaEvenScheduleList.length) {\r\n this.defaultEndTime = this.defaultStartTime = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n }\r\n else {\r\n let startTime: Date = new Date(this.contractData.pcaEvenScheduleList[this.eventNumber - 1].startTime);\r\n if (startTime.getHours() < 12) {\r\n this.defaultEndTime = this.defaultStartTime = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n }\r\n else {\r\n this.defaultStartTime = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 12, 0, 0);\r\n }\r\n let endTime: Date = new Date(this.contractData.pcaEvenScheduleList[this.eventNumber - 1].endTime);\r\n if (endTime.getHours() < 12) {\r\n this.defaultEndTime = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n }\r\n else {\r\n this.defaultEndTime = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 12, 0, 0);\r\n }\r\n }\r\n this.spinner.hide();\r\n\r\n }\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n isFieldValid(field: string) {\r\n if (this.locationForm.get(field) !== null) {\r\n return !this.locationForm.get(field).valid && this.locationForm.get(field).touched;\r\n }\r\n }\r\n isFormValid(): boolean {\r\n this.utility.validateAllFormFields(this.locationForm);\r\n return this.locationForm.valid;\r\n }\r\n save(outReachPrgType?: string): boolean {\r\n if (this.isFormValid()) {\r\n this.pcaContractService.setTestingLocation(this.locationForm.value);\r\n return true;\r\n }\r\n return false;\r\n }\r\n isValidArrayField(fields: string, index: number) {\r\n let return_value = false;\r\n Object.keys(this.locationForm.controls).forEach(field => {\r\n const control = this.locationForm.get(field);\r\n if (control instanceof FormArray) {\r\n return_value = !control.controls[index].get(fields).valid && control.controls[index].get(fields).touched;\r\n }\r\n });\r\n return return_value;\r\n }\r\n\r\n getMobileUnitDisableStatus() {\r\n if (this.outReachProgramType == 11 || this.outReachProgramType == 12)\r\n return true;\r\n return null;\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { PcaContractsService } from '../../services/pca-contracts.service';\r\nimport { Util } from '../../../../utility/util';\r\nimport { WalgreenCo } from '../../../../models/contract';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { DatePipe } from '@angular/common';\r\nimport { PcaContract } from '../../../../models/pcaclinic';\r\n\r\n@Component({\r\n selector: 'app-pca-pharmacy-info',\r\n templateUrl: './pca-pharmacy-info.component.html',\r\n styleUrls: ['./pca-pharmacy-info.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class PcaPharmacyInfoComponent implements OnInit {\r\n witnessForm:FormGroup;\r\n minDate = new Date();\r\n witnessInfo1: any;\r\n preparedDate:any;\r\n witnessInfo: WalgreenCo;\r\n profile_data: any;\r\n @Input('outReachProgramType')\r\n outReachProgramType: string;\r\n constructor(private _fb: FormBuilder, private pcaContractService:PcaContractsService, private utility: Util,\r\n private _datePipe: DatePipe) { \r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.witnessInfo1 = this.pcaContractService.fetchPcaContractAgreementData();\r\n\r\n this.witnessInfo = this.witnessInfo1.walgreenCoInfo;\r\n \r\n this.profile_data = SessionDetails.getStoreProfileData();\r\n this.preparedDate = this.witnessInfo !== null && this.witnessInfo.preparedDate !== '' ? new Date(this.witnessInfo.preparedDate) : new Date();\r\n if(this.witnessInfo == null || this.witnessInfo == undefined){\r\n this.pcaContractService.getStoreRhdDetails(this.profile_data[0].storeId).subscribe((data:any)=>{ \r\n this.witnessInfo = new WalgreenCo(); \r\n this.witnessInfo.rhdName = data.name;\r\n this.witnessInfo.rhdEmail = data.email;\r\n this.bindControls();\r\n },\r\n err =>{\r\n console.log(err);\r\n });\r\n }\r\n this.bindControls();\r\n }\r\n getRHDEmail()\r\n {\r\n return this.witnessForm.controls[\"rhdEmail\"].value;\r\n }\r\n bindControls(){\r\n this.witnessForm = this._fb.group({\r\n title: this._fb.control(this.witnessInfo != null && this.witnessInfo != undefined && this.witnessInfo.title != \"\" ? this.witnessInfo.title:\"Regional Vice President\", [Validators.required]),\r\n preparedDate: this._fb.control(this.preparedDate, Validators.required),\r\n rhdName: this._fb.control(this.witnessInfo != null && this.witnessInfo != undefined && this.witnessInfo.rhdName != null && this.witnessInfo.rhdName != \"\" ?this.witnessInfo.rhdName:\"\", null),\r\n rhdEmail: this._fb.control(this.witnessInfo != null && this.witnessInfo != undefined && this.witnessInfo.rhdEmail != null && this.witnessInfo.rhdEmail != \"\" ? this.witnessInfo.rhdEmail:\"\", [Validators.required]),\r\n });\r\n }\r\n simpleSave(): boolean {\r\n this.witnessInfo.preparedDate = this._datePipe.transform(this.preparedDate, \"shortDate\");\r\n this.pcaContractService.setWalgreensWitnessData(this.witnessForm.value);\r\n return true;\r\n }\r\n save(): boolean {\r\n this.witnessInfo.preparedDate = this._datePipe.transform(this.preparedDate, \"shortDate\");\r\n if (!this.isFormValid()) {\r\n this.utility.validateAllFormFields(this.witnessForm);\r\n return false;\r\n }\r\n\r\n this.pcaContractService.setWalgreensWitnessData(this.witnessForm.value);\r\n return true;\r\n }\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n isFormValid() { \r\n let validForm: boolean = true;\r\n if (this.witnessForm.controls['title'].value && this.witnessForm.controls['rhdEmail'].value ) {\r\n return validForm;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n \r\n isFieldValid(field: string) {\r\n if (this.witnessForm.get(field) != null) {\r\n let ret: boolean = !this.witnessForm.get(field).valid && this.witnessForm.get(field).touched;\r\n if (ret) {\r\n return ret;\r\n } else {\r\n if (field.search('name') !== -1 || field.search('title') !== -1) {\r\n let validField: boolean = this.witnessForm.controls[field].value!=null? this.witnessForm.controls[field].value.trim().length > 0:false;\r\n return !validField;\r\n }\r\n else if (field.search('districtNumber') !== -1) {\r\n let validNo: number = +this.witnessForm.controls[field].value;\r\n if (validNo > 0) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\ngetFormData(pcaObject:PcaContract){\r\n pcaObject.walgreenCoInfo = new WalgreenCo();\r\n let pharmacyInfo = this.witnessForm.value;\r\n pcaObject.walgreenCoInfo.title = pharmacyInfo.title\r\n pcaObject.walgreenCoInfo.rhdName = pharmacyInfo.rhdName\r\n pcaObject.walgreenCoInfo.rhdEmail = pharmacyInfo.rhdEmail\r\n}\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormGroup, FormBuilder, Validators, FormArray, NgForm } from '@angular/forms';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { PcaDetailsService } from '../../Services/pcadetailsservice.service';\r\nimport { KeysLogPipe } from '../../../store/pipes/keyslog';\r\nimport { CSTDateConvertPipe } from '../../../store/pipes/cstDateConvert';\r\nimport { TimeToDatePipe } from '../../../contractaggreement/pipes/time-to-date.pipe';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Util } from '../../../../utility/util';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { AlertService } from '../../../../alert.service';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { ClinicsUpdateHistoryLogList } from '../../../../models/local-clinic-details';\r\nimport { PCADetailsFields } from '../../../../JSON/pcaDetailsFields';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { PCATestingEventDetails } from '../../../../models/pcaTestingEventDetails';\r\nimport { ClinicDetailsDelete } from '../../../../models/clinicDetailsDelete';\r\nimport { FormCanDeactivate } from '../../../../guards/form-can-deactivate/form-can-deactivate';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { PcacontractAgreementService } from '../../Services/pcacontract-agreement.service';\r\nimport { LulaAso } from '../../../../models/pcaTandC';\r\nimport { LulaAsoRelease2 } from '../../../../models/pcaTandC-release2';\r\n\r\n@Component({\r\n selector: 'app-pcadetails',\r\n templateUrl: './pcadetails.component.html',\r\n styleUrls: ['./pcadetails.component.css'],\r\n providers: [TimeToDatePipe, DatePipe, KeysLogPipe, CSTDateConvertPipe]\r\n})\r\nexport class PcadetailsComponent extends FormCanDeactivate implements OnInit {\r\n\r\n @ViewChild('form')\r\n form: NgForm;\r\n\r\n showCanRouteChange: boolean;\r\n\r\n showHints: boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) === 'yes') ? false : true;\r\n pageName: string = \"pcadetails\";\r\n\r\n pcaDetailsForm: FormGroup;\r\n\r\n private group = this.formBuilder.group({});\r\n defaultDate: Date = new Date();\r\n maxDateValue: Date = new Date(this.defaultDate.getFullYear() + 5, this.defaultDate.getMonth(), this.defaultDate.getDate());\r\n minDateValue: Date = new Date();\r\n defaultStartTime: Date;\r\n invalidDates: Array = [];\r\n eventDetails: any;\r\n userProfile: any;\r\n updateLogHistory: any = [];\r\n\r\n validateCancel: boolean = null;\r\n validateComplete: boolean = null;\r\n validateConfirm: boolean = null;\r\n\r\n private pcaDetailsSource: PCATestingEventDetails = new PCATestingEventDetails();\r\n pcaDetails: PCATestingEventDetails = new PCATestingEventDetails();\r\n\r\n usPhoneNoRegEx: RegExp = /^((\\(\\d{3}\\) ?)|(\\d{3}-))?\\d{3}-\\d{4}$/\r\n\r\n deleteAgreement: boolean = false;\r\n\r\n isAdmin: boolean = false;\r\n\r\n stepValue: any = 1;\r\n viewSteps: boolean = true;\r\n totalSteps: number = 3;\r\n currentStep: number;\r\n\r\n showSimpleDialog: boolean = false;\r\n isErrorMessage: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n\r\n changedDateTime: boolean = false;\r\n changeDateTimeHeader: string = \"\";\r\n changeDateTimeBody: string = \"\";\r\n changeDateTimeActionStatus: string = \"\";\r\n\r\n servicesQuantityText = \"\";\r\n\r\n clinicNotConfirmedMsgDlg = false;\r\n noPCAData: boolean = false;\r\n cancelEvent: boolean = false;\r\n\r\n errorPopUp: boolean = false;\r\n showRemoveCancelledStatus: boolean = false;\r\n showRemoveCancelledStatusDlg: boolean = false;\r\n showRemoveCancelledStatusResult: boolean = false;\r\n\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n clinicAgreementDateApproved: any;\r\n oldPcaReleaseDate: any;\r\n PcaReleaseDate2022_1: any;\r\n serviceLabel: string = \"\";\r\n\r\n constructor(private router: Router, private formBuilder: FormBuilder, private spinner: NgxSpinnerService,\r\n private pcaDetailsService: PcaDetailsService, private _keysPipe: KeysLogPipe, private _cstDate: CSTDateConvertPipe, private utility: Util, private _alertService: AlertService, private _datePipe: DatePipe,\r\n private confirmationService: ConfirmationService, private messageService: MessageServiceService,\r\n private _contractService: PcacontractAgreementService) {\r\n super();\r\n this.messageService.getCanShowRouteChangeConfirmation().subscribe(message => {\r\n this.showCanRouteChange = message.text;\r\n });\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n\r\n this.setMinMaxDateTimes();\r\n\r\n this.eventDetails = SessionDetails.GetEventDetails();\r\n\r\n this.servicesQuantityText = (this.eventDetails.clinicTypeCode == 11) ? 'Registered Organ Donors' : 'Preliminary Positives';\r\n\r\n this.spinner.show();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.isAdmin = this.userProfile.isAdmin;\r\n this.pcaDetailsForm = this.group;\r\n this.getPCADetails();\r\n\r\n this.createForm();\r\n this.oldPcaReleaseDate = new LulaAso().tnCCutOffDate;\r\n this.PcaReleaseDate2022_1 = new LulaAsoRelease2().tnCCutOffDate;\r\n }\r\n\r\n getContractAgreementData(clinicAgreementPk) {\r\n this._contractService.getPCAContractAgreement(clinicAgreementPk, null).subscribe((data: any) => {\r\n this.spinner.hide();\r\n this.clinicAgreementDateApproved = Util.getFormatedDate(data.dateApproved);\r\n });\r\n }\r\n //Creates Form Group with created form controls.\r\n createForm() {\r\n let user_role: string = \"\";\r\n let need_req_qty_validation = ((user_role) ? Validators.required : null);\r\n\r\n //Store Information\r\n this.group.addControl(\"assignedTo\", this.formBuilder.control(\"\", Validators.required));\r\n\r\n //Testing Organization Information.\r\n this.group.addControl(\"clientName\", this.formBuilder.control(\"\", Validators.compose([Validators.required])));\r\n this.group.addControl(\"contactEmail\", this.formBuilder.control(\"\", Validators.compose([Validators.required, Validators.pattern(/^[a-zA-Z][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$/)])));\r\n this.group.addControl(\"firstName\", this.formBuilder.control(\"\", Validators.compose([Validators.required, Validators.pattern(\"^[a-zA-Z\\\\s]*$\")])));\r\n this.group.addControl(\"lastName\", this.formBuilder.control(\"\", Validators.compose([Validators.required, Validators.pattern(\"^[a-zA-Z\\\\s-]*$\")])));\r\n this.group.addControl(\"phone\", this.formBuilder.control(\"\", Validators.compose([Validators.required])));\r\n this.group.addControl(\"additionalComments\", this.formBuilder.control(\"\", null));\r\n this.group.addControl(\"licenseAgreement\", this.formBuilder.control(\"\"));\r\n\r\n //Testing & Screening.\r\n this.group.addControl(\"clinicImmunizationList\", this.formBuilder.array([]));\r\n\r\n //Testing Locations.\r\n this.group.addControl(\"clinicList\", this.formBuilder.array([]));\r\n\r\n //Feedback notes\r\n this.group.addControl(\"feedbackNotes\", this.formBuilder.control(\"\", null));\r\n }\r\n\r\n //Initializes Testing And Screening Info.\r\n initTestingAndScreeningInfo() {\r\n let imz_qty_controls: FormArray = new FormArray([]);\r\n this.pcaDetails.clinicList[0].clinicImzQtyList.forEach(imz => imz_qty_controls.push(\r\n this.formBuilder.group({\r\n pk: this.formBuilder.control(imz.clinicPk),\r\n immunizationPk: this.formBuilder.control(imz.immunizationPk),\r\n estimatedQuantity: this.formBuilder.control(imz.estimatedQuantity, Validators.compose([Validators.required])),\r\n immunizationName: this.formBuilder.control(imz.immunizationName),\r\n paymentTypeName: this.formBuilder.control(imz.paymentTypeName),\r\n paymentTypeId: this.formBuilder.control(imz.paymentTypeId),\r\n price: this.formBuilder.control(this.getPrice(imz.immunizationPk, imz.paymentTypeId)),\r\n totalImmAdministered: this.formBuilder.control(imz.totalImmAdministered),\r\n preliminaryPositives: this.formBuilder.control(imz.preliminaryPositives)\r\n })\r\n ));\r\n return imz_qty_controls;\r\n }\r\n\r\n //Initializes the Testing Locations.\r\n initTestingLocations() {\r\n let location_controls: FormArray = new FormArray([]);\r\n this.pcaDetails.clinicList.forEach(loc => {\r\n location_controls.push(\r\n this.formBuilder.group(\r\n {\r\n clinicPk: this.formBuilder.control(loc.clinicPk),\r\n clinicStoreId: this.formBuilder.control(loc.clinicStoreId),\r\n clinicNumber: this.formBuilder.control(loc.clinicNumber),\r\n naClinicLocation: this.formBuilder.control(loc.naClinicLocation.toUpperCase().replace(\"LOCATION \", \"\").trim()),\r\n naClinicAddress1: this.formBuilder.control(loc.naClinicAddress1, Validators.required),\r\n naClinicAddress2: this.formBuilder.control(loc.naClinicAddress2, null),\r\n naClinicCity: this.formBuilder.control(loc.naClinicCity, Validators.required),\r\n naClinicState: this.formBuilder.control(loc.naClinicState, Validators.required),\r\n naClinicZip: this.formBuilder.control(loc.naClinicZip, Validators.required),\r\n clinicDate: this.formBuilder.control(loc.clinicDate, [Validators.required]),\r\n naClinicStartTime: this.formBuilder.control(loc.naClinicStartTime, Validators.required),//Need to change\r\n naClinicEndTime: this.formBuilder.control(loc.naClinicEndTime, Validators.required),//Need to change\r\n naContactFirstName: this.formBuilder.control(loc.naContactFirstName.trim(), Validators.compose([Validators.required, Validators.pattern(\"^[a-zA-Z\\\\s]*$\")])),\r\n naContactLastName: this.formBuilder.control(loc.naContactLastName, Validators.compose([Validators.required, Validators.pattern(\"^[a-zA-Z\\\\s-]*$\")])),\r\n mobileOrg: this.formBuilder.control(loc.mobileorg),\r\n confirmedClientName: this.formBuilder.control(loc.confirmedClientName, Validators.compose([null, Validators.pattern(/^[a-zA-Z]*$/)])),\r\n naClinicContactPhone: this.formBuilder.control(loc.naClinicContactPhone, Validators.compose([Validators.required])),\r\n naContactEmail: this.formBuilder.control(loc.naContactEmail, Validators.compose([Validators.required, Validators.pattern(/^[a-zA-Z][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$/)])),\r\n isCancelled: this.formBuilder.control(loc.isCancelled == true ? 1 : 0, null),\r\n isConfirmed: this.formBuilder.control(loc.isConfirmed == true ? 1 : 0, null),\r\n isCompleted: this.formBuilder.control(loc.isCompleted == true ? 1 : 0, null),\r\n coOutreachTypeId: this.formBuilder.control(loc.coOutreachTypeId, null),\r\n coOutreachTypeDesc: this.formBuilder.control(loc.coOutreachTypeDesc, null),\r\n clinicLatitude: this.formBuilder.control(loc.clinicLatitude, null),\r\n clinicLongitude: this.formBuilder.control(loc.clinicLongitude, null),\r\n clinicImzQtyList: this.addInitialclinicImmunizationsInfo(),\r\n }\r\n )\r\n );\r\n });\r\n return location_controls;\r\n }\r\n\r\n //Adds Initial Clinic Immunizations (Testing & Screening services) info\r\n addInitialclinicImmunizationsInfo() {\r\n let imz_array: any[] = [];\r\n this.pcaDetails.clinicList[0].clinicImzQtyList.forEach(imz => {\r\n imz_array.push(\r\n this.formBuilder.group(\r\n {\r\n clinicPk: this.formBuilder.control(imz.clinicPk),\r\n immunizationPk: this.formBuilder.control(imz.immunizationPk),\r\n estimatedQuantity: this.formBuilder.control(imz.estimatedQuantity),\r\n immunizationName: this.formBuilder.control(imz.immunizationName),\r\n paymentTypeName: this.formBuilder.control(imz.paymentTypeName),\r\n paymentTypeId: this.formBuilder.control(imz.paymentTypeId),\r\n totalImmAdministered: this.formBuilder.control(imz.totalImmAdministered),\r\n preliminaryPositives: this.formBuilder.control(imz.preliminaryPositives)\r\n }\r\n )\r\n )\r\n });\r\n\r\n return this.formBuilder.array(imz_array);\r\n\r\n }\r\n\r\n //Returns the price of the speficied immunization from clinicImmunizationList dictionary.\r\n getPrice(immunization_pk, paymentTypeId): Number {\r\n let imz_array: any[] = [];\r\n let price;\r\n price = this.pcaDetails.clinicImmunizationList.filter(imz => (imz.immunizationPk == immunization_pk && imz.paymentTypeId == paymentTypeId));\r\n return price[0].price;\r\n }\r\n\r\n //setting Min & Max, default and invalid date values\r\n setMinMaxDateTimes() {\r\n let today = new Date();\r\n if (this.userProfile.userRole.toLowerCase() == \"store manager\" || this.userProfile.userRole.toLowerCase() == \"pharmacy manager\") {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 14);\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 14);\r\n\r\n } else {\r\n this.defaultDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n this.minDateValue = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n }\r\n this.maxDateValue = new Date(today.getFullYear() + 5, today.getMonth(), today.getDate() - 1);\r\n this.defaultStartTime = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n }\r\n\r\n //Call the PCA Details information by initiating the API service call.\r\n //Sets data formats in the reponse data.\r\n //Generates the update Log History.\r\n //Sets the steps values.\r\n //Sets the control values in the form using the response data.\r\n getPCADetails() {\r\n this.spinner.show();\r\n this.pcaDetailsService.getPcaDetails(this.eventDetails.clinicPk, this.userProfile.userRole).subscribe((data: any) => {\r\n this.getContractAgreementData(data.opportunityInfo.clinicAgreementPk);\r\n if (data.errorS.errorCode === -7) {\r\n this.noPCAData = true;\r\n this.showDialog(\"Alert\", ErrorMessages.eventRemoved, false, false);\r\n return false;\r\n }\r\n\r\n this.formatGetDataValues(data);\r\n\r\n this.pcaDetailsSource = JSON.parse(JSON.stringify(data));\r\n this.pcaDetails = data;\r\n if (this.pcaDetails.clinicImmunizationList.length) {\r\n let serviceLabelList = this.pcaDetails.clinicImmunizationList.map((immunization) => {\r\n let idx = immunization.immunizationName.indexOf(\"testing\");\r\n return immunization.immunizationName.substring(0, idx);\r\n });\r\n serviceLabelList = serviceLabelList.sort();\r\n if (serviceLabelList.length > 1) {\r\n let lastEle = serviceLabelList.pop();\r\n let label = `${serviceLabelList.join(',')} and ${lastEle}`;\r\n this.serviceLabel = `${label.replace(\" ,\", \", \")} testing and screening services and ${label.replace(\" ,\", \", \").replace(\"HIV\", \"HIV/AIDS\")} counseling to individuals`;\r\n } else {\r\n let label = `${serviceLabelList.join(',')}`;\r\n this.serviceLabel = `${label.replace(\" ,\", \", \")} testing and screening services and ${label.replace(\" ,\", \", \").replace(\"HIV\", \"HIV/AIDS\")} counseling to individuals`;\r\n }\r\n }\r\n\r\n if ((this.pcaDetailsSource.clinicList[0].isCancelled == true || this.pcaDetailsSource.clinicList[0].isConfirmed == true || this.pcaDetailsSource.clinicList[0].isCompleted == true) && this.isAdmin) {\r\n this.showRemoveCancelledStatus = true;\r\n }\r\n\r\n // if(this.pcaDetailsSource.clinicList[0].isCancelled == true){\r\n // this.showRemoveCancelledStatus = true;\r\n // }\r\n this.makeUpdateLogHistory();\r\n this.setStepValus();\r\n this.setFormControlValues();\r\n });\r\n }\r\n\r\n //Extracts and makes the updateLogHistory from the received data\r\n makeUpdateLogHistory() {\r\n var ala_sql = require('alasql');\r\n let source = this.pcaDetails.clinicsUpdateHistoryLogList;\r\n source.reverse();\r\n let updateLogHistoryQuery = ala_sql(\"SELECT updatedOn, updateAction, ARRAY({updateSubCategory:x.updateSubCategory, updatedField:x.updatedField}) AS updateField, ARRAY({updateSubCategory:x.updateSubCategory, updatedValue:x.updatedValue}) as updatedValue, x.updatedBy updatedBy \\\r\n FROM ? x \\\r\n GROUP BY updatedOn,updateAction,updatedBy ORDER BY updatedOn DESC\", [source]);\r\n for (var i = 0; i < updateLogHistoryQuery.length; i++) {\r\n updateLogHistoryQuery[i].updateField = this._keysPipe.transform(updateLogHistoryQuery[i].updateField);\r\n updateLogHistoryQuery[i].updatedValue = this._keysPipe.transform(updateLogHistoryQuery[i].updatedValue);\r\n }\r\n this.updateLogHistory = updateLogHistoryQuery;\r\n }\r\n\r\n //formats the received data.\r\n formatGetDataValues(data) {\r\n for (let i = 0; i < data.clinicList.length; i++) {\r\n if (data.clinicList[i].clinicDate != null && data.clinicList[i].clinicDate != undefined && data.clinicList[i].clinicDate != \"\") {\r\n /*var c_date = new Date(data.clinicList[i].clinicDate);\r\n data.clinicList[i].clinicDate = c_date.getMonth() + 1 + \"/\" + c_date.getDate() + \"/\" + c_date.getFullYear();*/\r\n var temp_dt = data.clinicList[i].clinicDate.substring(0, data.clinicList[i].clinicDate.indexOf('T'));\r\n let temp_dt_parts = temp_dt.split('-');\r\n var dt = new Date(temp_dt_parts[0], temp_dt_parts[1] - 1, temp_dt_parts[2], 18, 30, 30);\r\n data.clinicList[i].clinicDate = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate(), 18, 30, 30);\r\n } else {\r\n var c_date = new Date();\r\n data.clinicList[i].clinicDate = c_date.getMonth() + 1 + \"/\" + c_date.getDate() + \"/\" + c_date.getFullYear();\r\n }\r\n data.clinicList[i].clinicImzQtyList.forEach(imzQtyItem => {\r\n imzQtyItem[\"imzNameAndPmtMethod\"] = \"\";//imzQtyItem.immunizationName;\r\n });\r\n\r\n if (data.clinicList[i].naClinicStartTime != null) {\r\n if (data.clinicList[i].naClinicStartTime.indexOf(' ') == -1) {\r\n data.clinicList[i].naClinicStartTime = data.clinicList[i].naClinicStartTime.toLocaleLowerCase().replace('am', ' AM').replace('pm', ' PM');\r\n }\r\n }\r\n if (data.clinicList[i].naClinicEndTime != null) {\r\n if (data.clinicList[i].naClinicEndTime.indexOf(' ') == -1) {\r\n data.clinicList[i].naClinicEndTime = data.clinicList[i].naClinicEndTime.toLocaleLowerCase().replace('am', ' AM').replace('pm', ' PM');\r\n }\r\n }\r\n data.clinicList[i].naContactFirstName = data.clinicList[i].naContactFirstName.trim();\r\n data.clinicList[i].naContactLastName = data.clinicList[i].naContactLastName.trim();\r\n data.clinicList[i].naClinicAddress1 = data.clinicList[i].naClinicAddress1.trim();\r\n data.clinicList[i].naClinicAddress2 = data.clinicList[i].naClinicAddress2.trim();\r\n data.clinicList[i].naClinicCity = data.clinicList[i].naClinicCity.trim();\r\n data.clinicList[i].naClinicState = data.clinicList[i].naClinicState.trim();\r\n data.clinicList[i].naClinicZip = data.clinicList[i].naClinicZip.trim();\r\n data.clinicList[i].naClinicContactPhone = data.clinicList[i].naClinicContactPhone.trim();\r\n }\r\n data.opportunityInfo.firstName = data.opportunityInfo.firstName.trim();\r\n data.opportunityInfo.lastName = data.opportunityInfo.lastName.trim();\r\n data.opportunityInfo.phone = data.opportunityInfo.phone.trim();\r\n data.opportunityInfo.businessContactEmail = data.opportunityInfo.businessContactEmail.trim();\r\n }\r\n\r\n //Sets the step values.\r\n setStepValus() {\r\n if (this.pcaDetails.clinicList[0].isConfirmed == true) {\r\n this.validateConfirm = true;\r\n this.currentStep = 2\r\n this.stepValue = 2;\r\n }\r\n if (this.pcaDetails.clinicList[0].isCancelled == true) {\r\n this.validateCancel = true;\r\n this.currentStep = -1\r\n this.stepValue = -1;\r\n }\r\n if (this.pcaDetails.clinicList[0].isCompleted == true) {\r\n this.validateCancel = true;\r\n this.validateComplete = true;\r\n this.validateConfirm = true;\r\n this.currentStep = 3\r\n this.stepValue = 3;\r\n }\r\n }\r\n\r\n //sets the values to the controls in the form using received data.\r\n setFormControlValues() {\r\n this.pcaDetailsForm.controls['assignedTo'].setValue(this.pcaDetails.opportunityInfo.storeId)\r\n this.pcaDetailsForm.controls[\"clientName\"].setValue(this.pcaDetails.opportunityInfo.businessName);\r\n this.pcaDetailsForm.controls[\"contactEmail\"].setValue(this.pcaDetails.opportunityInfo.businessContactEmail);\r\n this.pcaDetailsForm.controls[\"firstName\"].setValue(this.pcaDetails.opportunityInfo.firstName.trim());\r\n this.pcaDetailsForm.controls[\"lastName\"].setValue(this.pcaDetails.opportunityInfo.lastName);\r\n this.pcaDetailsForm.controls[\"phone\"].setValue(this.pcaDetails.opportunityInfo.phone);\r\n\r\n this.pcaDetailsForm.controls[\"feedbackNotes\"].setValue(this.pcaDetails.feedback);\r\n this.pcaDetailsForm.controls[\"feedbackNotes\"].setValidators(null);\r\n this.pcaDetailsForm.controls[\"additionalComments\"].setValue(this.pcaDetails.opportunityInfo.naClinicAddlComments);\r\n this.pcaDetailsForm.controls[\"licenseAgreement\"].setValue(this.pcaDetails.opportunityInfo.licenseAgreementNum);\r\n\r\n this.pcaDetailsForm.setControl('clinicImmunizationList', this.initTestingAndScreeningInfo());\r\n\r\n this.pcaDetailsForm.setControl('clinicList', this.initTestingLocations());\r\n\r\n this.pcaDetailsForm.updateValueAndValidity();\r\n }\r\n\r\n //Initiates the save functionality for the changes in screen.\r\n saveChanges() {\r\n this.validateAndSaveOrContinue(\"Submit\");\r\n }\r\n\r\n //Initiates the confirm clinic functionality.\r\n confirmClinic() {\r\n this.validateAndSaveOrContinue(\"Confirmed\");\r\n }\r\n\r\n //Initiates the complete clinic functionality.\r\n completeClinic() {\r\n if (this.pcaDetailsSource.clinicList[0].isConfirmed == false) {\r\n this.clinicNotConfirmedMsgDlg = true;\r\n this.showClinicNotConfirmedDialog('Alert', ErrorMessages['clinicNotConfirmedMsg']);\r\n return false;\r\n } else {\r\n this.validateAndSaveOrContinue(\"Completed\");\r\n }\r\n }\r\n\r\n //Initiates the Cancel clinic functionality.\r\n cancelClinic() {\r\n this.cancelEvent = false;\r\n this.validateAndSaveOrContinue(\"Cancelled\");\r\n }\r\n\r\n //Checks the control is a valid field.\r\n isFieldValid(field: string) {\r\n if (this.pcaDetailsForm.get(field) != null)\r\n return !this.pcaDetailsForm.get(field).valid && this.pcaDetailsForm.get(field).touched;\r\n }\r\n\r\n //Returns the error css for invalid field.\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n\r\n //Returns the error css for the fields in the array.\r\n displayFieldCssForArray(field: string, index: number) {\r\n let return_value = this.isValidArrayField(field, index);\r\n return {\r\n 'has-error': return_value,\r\n 'has-feedback': return_value\r\n };\r\n }\r\n\r\n //Returns the error css for the quantity fields.\r\n displayFieldCssForLocImm(field: string, i: number, im: number) {\r\n const control = this.pcaDetailsForm.controls['clinicList'];\r\n const immArray = control.controls[i].get('clinicImzQtyList');\r\n const estQty = immArray.controls[im].get('estimatedQuantity');\r\n let return_val = !estQty.valid && estQty.touched;\r\n return {\r\n 'has-error': return_val,\r\n 'has-feedback': return_val\r\n };\r\n }\r\n\r\n //Verifies the field in an array is valid/invalid.\r\n isValidArrayField(fields: string, index: number) {\r\n let return_value = false;\r\n Object.keys(this.pcaDetailsForm.controls).forEach(field => {\r\n const control = this.pcaDetailsForm.get(field);\r\n if (control instanceof FormArray) {\r\n if (control.controls[index] !== undefined) {\r\n if (control.controls[index].get(fields) != null) {\r\n return_value = !control.controls[index].get(fields).valid && control.controls[index].get(fields).touched;\r\n }\r\n }\r\n }\r\n if (return_value) {\r\n return false;\r\n }\r\n });\r\n return return_value;\r\n }\r\n\r\n //Generates the required JSON object and call the function initiate the save API.\r\n continueWithSaving(action_status) {\r\n var error_message = \"\";\r\n let pca_details = this.saveData(action_status);\r\n if (action_status.toLowerCase() == 'completed') {\r\n error_message = ErrorMessages['eventComplete'];\r\n } else if (action_status.toLowerCase() == 'confirmed') {\r\n error_message = ErrorMessages['eventConfirm'];\r\n } else if (action_status.toLowerCase() == 'cancelled') {\r\n error_message = ErrorMessages['eventCancel'];\r\n }\r\n else {\r\n error_message = ErrorMessages['eventSave'];\r\n }\r\n\r\n /*this._alertService.clear();\r\n if (action_status == null || action_status.toLowerCase() != 'completed') {\r\n this._alertService.info(ErrorMessages['eventDateReminderAfter2WeeksEN'], false);\r\n }*/\r\n this.scrolling();\r\n this.updatePCADetails(pca_details, error_message);\r\n }\r\n\r\n //Generates the object to save the data.\r\n saveData(action_status): any {\r\n\r\n let control = this.pcaDetailsForm.controls['clinicList'];\r\n let index;\r\n for (index = 0; index < control.controls.length; index++) {\r\n\r\n let address1: string = control.controls[index].get('naClinicAddress1').value;\r\n let address2: string = control.controls[index].get('naClinicAddress2').value;\r\n\r\n let address = (address1 + address2).trim().replace(/[\\[\\]().-]+/g, '');\r\n address = address.replace(/\\s/g, '');\r\n if (address.toLowerCase().includes(\"pobox\")) {\r\n this.dialogHeader = \"Alert\";\r\n this.dialogBody = \"Addresses containing a P.O. Box are not allowed. Please enter a valid location address.\";\r\n\r\n this.showDialog(this.dialogHeader, this.dialogBody, false, false);\r\n return;\r\n }\r\n\r\n }\r\n\r\n this.updateDataFromFormFields(this.pcaDetails);\r\n\r\n this.pcaDetails.clinicsUpdateHistoryLogList = [];\r\n\r\n this.pcaDetails.clinicList.forEach(item => {\r\n try {\r\n item.naClinicStartTime = this._datePipe.transform(item.naClinicStartTime, \"shortTime\");\r\n } catch (e) {\r\n console.log('save changes' + e);\r\n }\r\n try {\r\n item.naClinicEndTime = this._datePipe.transform(item.naClinicEndTime, \"shortTime\");\r\n } catch (e) {\r\n console.log('save changes' + e);\r\n }\r\n });\r\n\r\n this.pcaDetails.userPk = this.pcaDetailsSource.userPk;\r\n\r\n this.pcaDetails.clinicContactStatus = action_status == null ? \"Submit\" : this.pcaDetailsSource.clinicContactStatus;\r\n\r\n this.makeLogHisoryList();\r\n\r\n this.pcaDetails.userPk = this.userProfile.userPk;\r\n\r\n if (action_status != null) {\r\n if (action_status.toLowerCase() == \"cancelled\") {\r\n this.pcaDetails.clinicContactStatus = \"Cancelled\";\r\n this.pcaDetails.clinicList[0].isCancelled = 1;\r\n this.pcaDetails.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Cancelled\", \"\", \"\", \"\"));\r\n } else if (action_status.toLowerCase() == \"completed\") {\r\n this.pcaDetails.clinicContactStatus = \"Completed\";\r\n this.pcaDetails.clinicList[0].isCancelled = 1;\r\n this.pcaDetails.clinicList[0].isCompleted = 1;\r\n this.pcaDetails.clinicList[0].isConfirmed = 1;\r\n this.pcaDetails.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Completed\", \"\", \"\", \"\"));\r\n } else if (action_status.toLowerCase() == \"confirmed\") {\r\n this.pcaDetails.clinicContactStatus = \"Confirmed\";\r\n this.pcaDetails.clinicList[0].isConfirmed = 1;\r\n var confirmed_status = 'Confirmed';\r\n this.pcaDetails.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(confirmed_status, \"\", \"\", \"\"));\r\n } else {\r\n this.pcaDetails.clinicContactStatus = \"Submit\";\r\n }\r\n }\r\n\r\n this.pcaDetails.clinicList.forEach(item => {\r\n try {\r\n item.clinicImzQtyList.forEach(imzQtyItem => {\r\n delete imzQtyItem[\"imzNameAndPmtMethod\"];\r\n });\r\n } catch (e) {\r\n console.log('save changes' + e);\r\n }\r\n });\r\n return this.pcaDetails;\r\n }\r\n\r\n //Updates the save data object with the values from the FormFields.\r\n updateDataFromFormFields(target_obj) {\r\n target_obj.opportunityInfo.businessContactEmail = this.pcaDetailsForm.value.contactEmail;\r\n target_obj.opportunityInfo.firstName = this.pcaDetailsForm.value.firstName;\r\n target_obj.opportunityInfo.lastName = this.pcaDetailsForm.value.lastName;\r\n target_obj.opportunityInfo.naClinicAddlComments = this.pcaDetailsForm.value.additionalComments;\r\n\r\n target_obj.opportunityInfo.phone = this.pcaDetailsForm.value.phone;\r\n target_obj.errorS.errorCode = 0;\r\n target_obj.errorS.errorMessage = null;\r\n\r\n target_obj.proofOfDocs = [];\r\n\r\n for (let i = 0; i < this.pcaDetailsForm.value.clinicList.length; i++) {\r\n for (let j = 0; j < this.pcaDetailsForm.value.clinicImmunizationList.length; j++) {\r\n target_obj.clinicList[i].clinicImzQtyList[j].totalImmAdministered =\r\n this.pcaDetailsForm.value.clinicImmunizationList[j].totalImmAdministered;\r\n target_obj.clinicList[i].clinicImzQtyList[j].preliminaryPositives =\r\n this.pcaDetailsForm.value.clinicImmunizationList[j].preliminaryPositives;\r\n }\r\n\r\n if (this.pcaDetailsForm.value.clinicList[i].clinicDate != null && this.pcaDetailsForm.value.clinicList[i].clinicDate != '') {\r\n let c_date = new Date(this.pcaDetailsForm.value.clinicList[i].clinicDate);\r\n target_obj.clinicList[i].clinicDate = c_date.getMonth() + 1 + \"/\" + c_date.getDate() + \"/\" + c_date.getFullYear();\r\n }\r\n else {\r\n target_obj.clinicList[i].clinicDate = null;\r\n }\r\n if (this.pcaDetailsSource.clinicList[i].clinicDate !== null && this.pcaDetailsSource.clinicList[i].clinicDate !== '') {\r\n let c_date = new Date(this.pcaDetailsSource.clinicList[i].clinicDate);\r\n this.pcaDetailsSource.clinicList[i].clinicDate = c_date.getMonth() + 1 + \"/\" + c_date.getDate() + \"/\" + c_date.getFullYear();\r\n }\r\n\r\n target_obj.clinicList[i].naClinicContactPhone = this.pcaDetailsForm.value.clinicList[i].naClinicContactPhone;\r\n\r\n target_obj.clinicList[i].naContactFirstName = this.pcaDetailsForm.value.clinicList[i].naContactFirstName;\r\n target_obj.clinicList[i].naContactLastName = this.pcaDetailsForm.value.clinicList[i].naContactLastName;\r\n target_obj.clinicList[i].naContactEmail = this.pcaDetailsForm.value.clinicList[i].naContactEmail;\r\n target_obj.clinicList[i].naClinicStartTime = this.pcaDetailsForm.value.clinicList[i].naClinicStartTime;\r\n target_obj.clinicList[i].naClinicEndTime = this.pcaDetailsForm.value.clinicList[i].naClinicEndTime;\r\n target_obj.clinicList[i].confirmedClientName = this.pcaDetailsForm.value.clinicList[i].confirmedClientName;\r\n }\r\n\r\n target_obj.clinicList[0].naClinicContactPhoneExt = this.pcaDetailsSource.clinicList[0].naClinicContactPhoneExt;\r\n\r\n\r\n // for (let j = 0; j < target_obj.clinicList.length; j++) {\r\n for (let i = 0; i < target_obj.clinicList[0].clinicImzQtyList.length; i++) {\r\n target_obj.clinicList[0].clinicImzQtyList[i].estimatedQuantity =\r\n this.pcaDetailsForm.value.clinicImmunizationList[i].estimatedQuantity;\r\n\r\n target_obj.clinicList[0].clinicImzQtyList[i][\"imzNameAndPmtMethod\"] = \"\";//target_obj.clinicList[0].clinicImzQtyList[i].immunizationName + \"
\" + target_obj.clinicList[0].clinicImzQtyList[i].paymentTypeName;\r\n }\r\n this.pcaDetailsSource.clinicList.forEach(list => {\r\n list.naClinicLocation = list.naClinicLocation.trim();\r\n });\r\n\r\n target_obj.feedback = (this.pcaDetailsForm.value.feedbackNotes) ? this.pcaDetailsForm.value.feedbackNotes : this.pcaDetailsSource.feedback;\r\n }\r\n\r\n //Makes Log History List based on the updated fields.\r\n makeLogHisoryList = function () {\r\n //Identifying the updated value\r\n let data: any = this.utility.getDifference(this.pcaDetailsSource, this.pcaDetails);\r\n console.log(data);\r\n let pcaAliasName = PCADetailsFields;\r\n\r\n for (let item in data) {\r\n if (item != \"userPk\" && item != \"clinicContactStatus\") {\r\n let opp: any = Object.getOwnPropertyNames(data[item]);\r\n if (typeof data[item] == 'object') {\r\n var temp_obj;\r\n if (item == \"clinicList\") {\r\n temp_obj = data[item][0];\r\n } else {\r\n temp_obj = data[item];\r\n }\r\n for (let updated_item in temp_obj) {\r\n let value = temp_obj[updated_item];\r\n if (typeof value == 'object') {\r\n\r\n for (let updated_imz_item in temp_obj[updated_item]) {\r\n for (let updated_imz_qty in temp_obj[updated_item][updated_imz_item]) {\r\n value = temp_obj[updated_item][updated_imz_item][updated_imz_qty];\r\n let alias_and_group_name = pcaAliasName.map(group_item => {\r\n if (group_item.aliasNames[updated_imz_qty]) {\r\n return group_item.aliasNames[updated_imz_qty] + \"~\" + group_item.groupName\r\n }\r\n }).filter(test_item => test_item != undefined);\r\n if (alias_and_group_name.length > 0) {\r\n let alias_name = alias_and_group_name[0].substring(0, alias_and_group_name[0].indexOf('~'));\r\n let group_name = alias_and_group_name[0].substring(alias_and_group_name[0].indexOf('~') + 1);\r\n alias_name = (this.eventDetails.clinicTypeCode == 11) ? ((alias_name.indexOf('_') > -1) ? alias_name.substring(alias_name.indexOf('_') + 1) : alias_name) : alias_name;\r\n //alias_name = /*temp_obj[updated_item][updated_imz_item][\"imzNameAndPmtMethod\"] + '
' +*/ (this.eventDetails.clinicTypeCode == 11)? 'Registered Organ Donors' : 'Preliminary Positives'; alias_name;\r\n if (alias_name === environment.constants.preliminarypositivesanddonors) {\r\n alias_name = this.eventDetails.clinicTypeCode === 11 \r\n ? environment.constants.registereddonors \r\n : [8, 9, 10].includes(this.eventDetails.clinicTypeCode) \r\n ? environment.constants.preliminarypositives \r\n : alias_name;\r\n }\r\n this.pcaDetails.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Update\", value, group_name, alias_name));\r\n }\r\n }\r\n }\r\n\r\n }\r\n else {\r\n let alias_and_group_name = pcaAliasName.map(group_item => {\r\n if (group_item.aliasNames[updated_item]) {\r\n return group_item.aliasNames[updated_item] + \"~\" + group_item.groupName\r\n }\r\n }).filter(test_item => test_item != undefined);\r\n if (alias_and_group_name.length > 0) {\r\n let alias_name = alias_and_group_name[0].substring(0, alias_and_group_name[0].indexOf('~'));\r\n let group_name = alias_and_group_name[0].substring(alias_and_group_name[0].indexOf('~') + 1);\r\n //alias_name = (this.eventDetails.clinicTypeCode == 11) ? ((alias_name.indexOf('_') > -1) ? alias_name.substring(alias_name.indexOf('_') + 1) : alias_name) : alias_name;\r\n this.pcaDetails.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Update\", value, group_name, alias_name));\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n let value = data[item];\r\n let alias_and_group_name = pcaAliasName.map(group_item => {\r\n if (group_item.aliasNames[item]) {\r\n return group_item.aliasNames[item] + \"~\" + group_item.groupName\r\n }\r\n }).filter(test_item => test_item != undefined);\r\n if (alias_and_group_name.length > 0) {\r\n let alias_name = alias_and_group_name[0].substring(0, alias_and_group_name[0].indexOf('~'));\r\n let group_name = alias_and_group_name[0].substring(alias_and_group_name[0].indexOf('~') + 1);\r\n //alias_name = (this.eventDetails.clinicTypeCode == 11) ? ((alias_name.indexOf('_') > -1) ? alias_name.substring(alias_name.indexOf('_') + 1) : alias_name) : alias_name;\r\n this.pcaDetails.clinicsUpdateHistoryLogList.push(this.makeLogHistoryItem(\"Update\", value, group_name, alias_name));\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n //Creates an Log History Object for an updated field.\r\n makeLogHistoryItem = function (update_status, updated_value, group_name, item_alias_name) {\r\n var logHistory = new ClinicsUpdateHistoryLogList();\r\n logHistory.pk = 0;\r\n logHistory.updateAction = update_status;\r\n logHistory.updatedField = item_alias_name\r\n logHistory.updatedValue = updated_value;\r\n logHistory.updateSubCategory = group_name;\r\n logHistory.updatedBy = this.userProfile.email;\r\n logHistory.updatedOn = new Date();\r\n return logHistory;\r\n }\r\n\r\n scrolling() {\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n //Initiates the UPDATE API call to save the modified data.\r\n updatePCADetails(pca_details: any, error_message: string) {\r\n this.pcaDetailsService.updatePCADetails(pca_details.clinicList[0].clinicPk,\r\n pca_details).subscribe((res: any) => {\r\n //if (res.status == \"200\") {\r\n if (res.errorS != null) {\r\n if (res.errorS.errorCode != 0) {\r\n this.showDialog(ErrorMessages['eventDetails'], res.errorS.errorMessage, true, false);\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['eventDetails'], error_message, false, false);\r\n }\r\n }\r\n else {\r\n this.showDialog(ErrorMessages['eventDetails'], error_message, false, false);\r\n }\r\n //}\r\n },\r\n err => {\r\n // switch (err) {\r\n // default:\r\n // this.showDialog(ErrorMessages['serverError'], err.json().Message, true);\r\n // break;\r\n // case 500:\r\n this.showDialog(ErrorMessages['serverError'], err.json().Message, true, false);\r\n // break;\r\n // }\r\n });\r\n }\r\n\r\n //Updates the modified field label in the object.\r\n updateLabel(obj: any) {\r\n obj.value[\"imzNameAndPmtMethod\"] = \"\";// obj.value.immunizationName + \"
\" + obj.value.paymentTypeName;\r\n }\r\n\r\n //Allows only numbers input into the field.\r\n onlyNumbers(event: any) {\r\n Util.onlyNumbers(event);\r\n }\r\n\r\n //Checks the clinic date is with in 2 weeks the current date.\r\n isClinicDateReminderBefore2WksReq(action_status: string): boolean {\r\n let is_clinic_date_reminder: boolean = false;\r\n\r\n try {\r\n let today = new Date();\r\n let start_index = 0;\r\n if (action_status != null && action_status.toLowerCase() == \"completed\") {\r\n if (this.pcaDetailsForm.value.clinicList.length > 1) {\r\n start_index = 1;\r\n }\r\n }\r\n for (let index = start_index; index < this.pcaDetailsForm.value.clinicList.length; index++) {\r\n const loc = this.pcaDetailsForm.value.clinicList[index];\r\n let clinicDate: Date = null;\r\n let initialClinicDate: Date = null;\r\n if (typeof (loc.clinicDate) == \"string\") {\r\n var dt = loc.clinicDate.split(\"/\");\r\n\r\n clinicDate = new Date(dt[2], dt[0] - 1, dt[1]);\r\n } else {\r\n clinicDate = loc.clinicDate;\r\n }\r\n if (typeof (this.pcaDetailsSource.clinicList[0].clinicDate) == \"string\") {\r\n var idt = this.pcaDetailsSource.clinicList[0].clinicDate.split(\"/\");\r\n initialClinicDate = new Date(parseInt(idt[2]), parseInt(idt[0]) - 1, parseInt(idt[1]));\r\n } else {\r\n initialClinicDate = this.pcaDetailsSource.clinicList[0].clinicDate;\r\n }\r\n if (initialClinicDate != null && index <= 0 &&\r\n (initialClinicDate.getFullYear() != clinicDate.getFullYear() || initialClinicDate.getMonth() != clinicDate.getMonth() ||\r\n initialClinicDate.getDate() != clinicDate.getDate())) {\r\n // let diffDays: number = clinicDate.getMonth() == today.getMonth() ? Math.round(clinicDate.getDate() - today.getDate())\r\n // : this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n // new Date(clinicDate.getFullYear(), clinicDate.getMonth(), clinicDate.getDate(), 0, 0, 0));\r\n let diffDays: number = this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n new Date(clinicDate.getFullYear(), clinicDate.getMonth(), clinicDate.getDate(), 0, 0, 0));\r\n if (diffDays < 14) {\r\n is_clinic_date_reminder = true;\r\n }\r\n }\r\n else if (this.pcaDetailsForm.value.clinicList.length > 1 && index > 0) {\r\n // let diffDays: number = clinicDate.getMonth() == today.getMonth() ? Math.round(clinicDate.getDate() - today.getDate())\r\n // : this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n // new Date(clinicDate.getFullYear(), clinicDate.getMonth(), clinicDate.getDate(), 0, 0, 0));\r\n let diffDays: number = this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n new Date(clinicDate.getFullYear(), clinicDate.getMonth(), clinicDate.getDate(), 0, 0, 0));\r\n if (diffDays < 14) {\r\n is_clinic_date_reminder = true;\r\n }\r\n }\r\n else if (initialClinicDate == null) {\r\n // let diffDays: number = clinicDate.getMonth() == today.getMonth() ? Math.round(clinicDate.getDate() - today.getDate())\r\n // : this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n // new Date(clinicDate.getFullYear(), clinicDate.getMonth(), clinicDate.getDate(), 0, 0, 0));\r\n let diffDays: number = this.utility.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n new Date(clinicDate.getFullYear(), clinicDate.getMonth(), clinicDate.getDate(), 0, 0, 0));\r\n if (diffDays < 14) {\r\n is_clinic_date_reminder = true;\r\n }\r\n }\r\n }\r\n } catch (e) {\r\n\r\n return e;\r\n }\r\n return is_clinic_date_reminder;\r\n }\r\n\r\n isClinicDateisPast(): boolean {\r\n let is_clinic_date_past: boolean = false;\r\n let today = new Date();\r\n for (let index = 0; index < this.pcaDetailsForm.value.clinicList.length; index++) {\r\n const loc = this.pcaDetailsForm.value.clinicList[index];\r\n let clinicDate: Date = null;\r\n let initialClinicDate: Date = null;\r\n if (typeof (loc.clinicDate) == \"string\") {\r\n var dt = loc.clinicDate.split(\"/\");\r\n\r\n clinicDate = new Date(dt[2], dt[0] - 1, dt[1]);\r\n } else {\r\n clinicDate = loc.clinicDate;\r\n }\r\n today = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0);\r\n clinicDate = new Date(clinicDate.getFullYear(), clinicDate.getMonth(), clinicDate.getDate(), 0, 0, 0);\r\n if (clinicDate < today) {\r\n is_clinic_date_past = true;\r\n }\r\n }\r\n return is_clinic_date_past;\r\n }\r\n //Waiting for user input to Confirm\r\n confirm(hdr: string, msg: string, action_status) {\r\n this.confirmationService.confirm({\r\n message: msg,\r\n header: hdr,\r\n accept: () => {\r\n let is_data_time_changed = this.verifyDateAndTimeUpdated(action_status);\r\n if (is_data_time_changed && ((action_status == \"Confirmed\" || action_status == \"Submit\") && (!this.pcaDetailsSource.clinicList[0].isCancelled && !this.pcaDetailsSource.clinicList[0].isCompleted))) {\r\n this.setDateTimeChangeDialogInfo(action_status);\r\n return false;\r\n } else {\r\n this.continueWithSaving(action_status);\r\n return true;\r\n }\r\n },\r\n reject: () => {\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n //Sets the Message Dialog header, body info and opens.\r\n setDateTimeChangeDialogInfo(action_status: string) {\r\n this.changeDateTimeBody = ErrorMessages[\"eventDateTimeChanged\"];\r\n this.changeDateTimeHeader = ErrorMessages['impRmndrFor2Wks'];\r\n this.changeDateTimeActionStatus = action_status;\r\n this.changedDateTime = true;\r\n }\r\n\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, is_error: boolean, is_remove_cancelled_status: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.isErrorMessage = is_error;\r\n this.showRemoveCancelledStatusResult = is_remove_cancelled_status;\r\n this.showSimpleDialog = true;\r\n }\r\n\r\n //closes the message dialog.\r\n closeSimpleDialog() {\r\n if (this.noPCAData) {\r\n this.noPCAData = false;\r\n window.location.href = '/communityoutreach/pcahome';\r\n return false;\r\n }\r\n else if (this.isErrorMessage) {\r\n this.isErrorMessage = false;\r\n } else if (this.showRemoveCancelledStatusResult) {\r\n this.loadClinicDataAfterRemove();\r\n } else {\r\n this.getPCADetails();\r\n }\r\n this.showSimpleDialog = false;\r\n }\r\n\r\n //Validates the entered email\r\n validateEmail(email: any, show_msg_dialog: boolean): boolean {\r\n let is_valid: boolean = true;\r\n //if ((this.pcaDetailsForm.value.email != null || this.pcaDetailsForm.value.email != undefined) && this.pcaDetailsForm.value.email.trim().length > 0) {\r\n if ((email != null || email != undefined) && (email.trim().length > 0 && !this.utility.validateSingleEmail(email.trim()))) {\r\n is_valid = false;\r\n } else {\r\n is_valid = true;\r\n }\r\n return is_valid;\r\n }\r\n\r\n //Validates the location address.\r\n validateLocationAddress() {\r\n let controlclinicList = this.pcaDetailsForm.controls['clinicList'];\r\n let index_clinic;\r\n for (index_clinic = 0; index_clinic < controlclinicList.length; index_clinic++) {\r\n\r\n let address1: string = controlclinicList.controls[index_clinic].get('naClinicAddress1').value;\r\n let address2: string = controlclinicList.controls[index_clinic].get('naClinicAddress2').value;\r\n\r\n let address = (address1 + address2).trim().replace(/[\\[\\]().-]+/g, '');\r\n address = address.replace(/\\s/g, '');\r\n if (address.toLowerCase().includes(\"pobox\")) {\r\n this.dialogHeader = \"Alert\";\r\n this.dialogBody = \"Addresses containing a P.O. Box are not allowed. Please enter a valid location address.\";\r\n\r\n this.showDialog(this.dialogHeader, this.dialogBody, false, false);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n //Applies the Validators on quantities based on the action performing.\r\n setValidatorsAndValidateQuantities(totalImmAdministeredIsOK: Boolean, prelimPositiveIsOk: Boolean, action_type: string) {\r\n\r\n let control: FormGroup = this.pcaDetailsForm.controls['clinicImmunizationList']['controls'][0];\r\n\r\n if (control != null || control != undefined) {\r\n if (((action_type == \"Submit\" && this.pcaDetailsSource.clinicList[0].isCompleted)) || (action_type == \"Completed\")) {\r\n control.get('totalImmAdministered').setValidators([Validators.required]);\r\n control.get('totalImmAdministered').updateValueAndValidity();\r\n if (this.eventDetails.clinicTypeCode != 12) {\r\n control.get('preliminaryPositives').setValidators([Validators.required]);\r\n control.get('preliminaryPositives').updateValueAndValidity();\r\n }\r\n }\r\n else {\r\n control.get('totalImmAdministered').setValidators(null);\r\n control.get('totalImmAdministered').updateValueAndValidity();\r\n if (this.eventDetails.clinicTypeCode != 12) {\r\n control.get('preliminaryPositives').setValidators(null);\r\n control.get('preliminaryPositives').updateValueAndValidity();\r\n }\r\n }\r\n\r\n control.get('estimatedQuantity').setValidators([Validators.required, Validators.pattern(\"^((?!(0))[0-9]+)$\")]);\r\n control.get('estimatedQuantity').updateValueAndValidity();\r\n\r\n //Need to look into the validations\r\n this.utility.validateAllFormFields(control);\r\n if (action_type == 'Completed'/* || action_type == \"Confirmed\"*/) {\r\n if (totalImmAdministeredIsOK && control.get('totalImmAdministered').value != null) {\r\n if (Number(control.get('totalImmAdministered').value) < 0 && control.get('totalImmAdministered').value != \"\") {\r\n totalImmAdministeredIsOK = false;\r\n }\r\n }\r\n if (this.eventDetails.clinicTypeCode != 12 && prelimPositiveIsOk && control.get('preliminaryPositives').value != null) {\r\n if (Number(control.get('preliminaryPositives').value) < 0 && control.get('preliminaryPositives').value != \"\") {\r\n prelimPositiveIsOk = false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n //Validates the Confirmed By field data.\r\n setValidatorAndValidateConfirmedClientName(action_type: string) {\r\n\r\n let control = this.pcaDetailsForm.controls['clinicList'];\r\n let index;\r\n for (index = 0; index < control.length; index++) {\r\n if (((action_type == \"Submit\" && this.pcaDetailsSource.clinicList[0].isCompleted) && index == 0) || (action_type == \"Completed\" || action_type == \"Confirmed\")) {\r\n control.controls[0].get('confirmedClientName').setValidators([Validators.required]);\r\n control.controls[0].get('confirmedClientName').updateValueAndValidity();\r\n }\r\n else {\r\n control.controls[0].get('confirmedClientName').setValidators(null);\r\n control.controls[0].get('confirmedClientName').updateValueAndValidity();\r\n }\r\n this.utility.validateAllFormFields(control.controls[index]);\r\n }\r\n }\r\n\r\n //Validates the feedback/notes\r\n validateFeedbackOrNotes(action_status: string) {\r\n if (action_status == \"Cancelled\") {\r\n this.pcaDetailsForm.controls[\"feedbackNotes\"].setValidators(Validators.required);\r\n this.pcaDetailsForm.controls[\"feedbackNotes\"].updateValueAndValidity();\r\n }\r\n else {\r\n this.pcaDetailsForm.controls[\"feedbackNotes\"].setValidators(null);\r\n this.pcaDetailsForm.controls[\"feedbackNotes\"].updateValueAndValidity();\r\n }\r\n }\r\n\r\n //Validates the data and proceeds to save or seeks the user input to save.\r\n validateAndSaveOrContinue(action_status: string) {\r\n let totalImmAdministeredIsOK: Boolean = new Boolean(true);\r\n let preliminaryPositivesIsOk: Boolean = new Boolean(true);\r\n\r\n //Sets the validators and validate quantity based on action status.\r\n this.setValidatorsAndValidateQuantities(totalImmAdministeredIsOK, preliminaryPositivesIsOk, action_status);\r\n\r\n if (action_status == 'Confirmed' || action_status == 'Completed' || action_status == 'Cancelled' || action_status == 'Submit') {\r\n //Sets validators and validates confirmed client name \r\n this.setValidatorAndValidateConfirmedClientName(action_status);\r\n }\r\n\r\n this.validateFeedbackOrNotes(action_status);\r\n if (this.pcaDetailsForm.valid) {\r\n if (this.pcaDetailsForm.value.phone.indexOf(\"X\") > -1) {\r\n this.pcaDetailsForm.controls.phone.setValue(null);\r\n this.pcaDetailsForm.controls.phone.updateValueAndValidity();\r\n let sumMsg = ErrorMessages['serverError'];\r\n let erMsg = ErrorMessages['MandatoryFields'];\r\n this.showDialog(sumMsg, erMsg, true, false);\r\n return false;\r\n }\r\n\r\n if (this.pcaDetailsForm.value.clinicList[0].naClinicContactPhone.indexOf(\"X\") > -1) {\r\n this.pcaDetailsForm.value.phone\r\n let icontrol = this.pcaDetailsForm.controls['clinicList'];\r\n icontrol.controls[0].get('naClinicContactPhone').setValue(null);\r\n icontrol.controls[0].get('naClinicContactPhone').updateValueAndValidity();\r\n this.utility.validateAllFormFields(icontrol.controls[0]);\r\n let sumMsg = ErrorMessages['serverError'];\r\n let erMsg = ErrorMessages['MandatoryFields'];\r\n this.showDialog(sumMsg, erMsg, true, false);\r\n return false;\r\n }\r\n\r\n\r\n\r\n if (action_status != \"Submit\") {\r\n this.validateEmail(this.pcaDetailsForm.value.email, true);\r\n }\r\n this.validateLocationAddress();\r\n let ret: Boolean = false;\r\n // ret = this.isClinicDateReminderBefore2WksReq(action_status);\r\n if (!ret) {\r\n let is_data_time_changed = this.verifyDateAndTimeUpdated(action_status);\r\n if (is_data_time_changed && ((action_status === \"Confirmed\" || action_status === \"Submit\") && (!this.pcaDetailsSource.clinicList[0].isCancelled && !this.pcaDetailsSource.clinicList[0].isCompleted))) {\r\n this.setDateTimeChangeDialogInfo(action_status);\r\n return false;\r\n }\r\n }\r\n if (!ret || (action_status === \"Confirmed\" && this.isClinicDateisPast()) || ((action_status == \"Completed\" || action_status == \"Cancelled\") && this.pcaDetailsForm.value.clinicList.length <= 1)) {\r\n switch (action_status) {\r\n case \"Confirmed\":\r\n case \"Completed\":\r\n case \"Cancelled\":\r\n this.continueWithSaving(action_status);\r\n break;\r\n default:\r\n let pca_details = this.saveData(null);\r\n pca_details.clinicContactStatus = \"Submit\";\r\n /*this._alertService.clear();\r\n this._alertService.info(ErrorMessages['eventDateReminderAfter2WeeksEN'], false);*/\r\n this.scrolling();\r\n this.updatePCADetails(pca_details, ErrorMessages['eventSave']);\r\n break;\r\n }\r\n } else {\r\n //Bypassing 2 weeks before validation for the clinics past the clinic date in case they just didn’t Confirm before the event.\r\n if (!this.isClinicDateisPast()) {\r\n let sumMsg = ErrorMessages['impRmndrFor2Wks'];\r\n let errMsg = ErrorMessages['eventDateReminderBefore2WeeksEN'];\r\n var userProfile = SessionDetails.GetUserProfile();\r\n if (userProfile.userRole.toLowerCase() === \"admin\" ||\r\n /*userProfile.userRole.toLowerCase() == \"regional vice president\" ||*/\r\n userProfile.userRole.toLowerCase() == \"regional healthcare director\" || 1 == 1) {\r\n this.confirm(sumMsg, errMsg, action_status);\r\n return\r\n }\r\n else {\r\n errMsg = ErrorMessages['eventDateReminderBefore2WeeksEN'];\r\n this.showDialog(sumMsg, errMsg, true, false);\r\n return\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (!this.validateEmail(this.pcaDetailsForm.value.email, false)) {\r\n this.utility.validateAllFormFields(this.pcaDetailsForm);\r\n this.showDialog(ErrorMessages['serverError'], ErrorMessages['invalidEmail'], true, false);\r\n return;\r\n }\r\n this.showDialog(ErrorMessages['serverError'], ErrorMessages['MandatoryFields'], true, false);\r\n this.utility.validateAllFormFields(this.pcaDetailsForm);\r\n return;\r\n }\r\n }\r\n\r\n //Verify if user has changed the date and time\r\n verifyDateAndTimeUpdated(action_status: string): boolean {\r\n let is_clinic_date_time_changed: boolean = false;\r\n\r\n try {\r\n const loc = this.pcaDetailsForm.value.clinicList[0];\r\n let clinic_date: Date = null;\r\n let initial_clinic_st_time = null;\r\n let initial_clinic_end_time = null;\r\n let initial_clinic_date: Date = null;\r\n let st_time = null;\r\n let end_time = null;\r\n if (typeof (loc.clinicDate) == \"string\") {\r\n if (loc.clinicDate.indexOf(\"/\") > -1) {\r\n let dt = loc.clinicDate.split(\"/\");\r\n clinic_date = new Date(dt[2], dt[0] - 1, dt[1]);\r\n } else {\r\n let dt = new Date(loc.clinicDate);\r\n let dt_temp = dt.getMonth() + \"/\" + dt.getDate() + \"/\" + dt.getFullYear();\r\n let dt_temp_comp = dt_temp.split(\"/\");\r\n clinic_date = new Date(parseInt(dt_temp_comp[2]), parseInt(dt_temp_comp[0]), parseInt(dt_temp_comp[1]));\r\n }\r\n\r\n } else {\r\n clinic_date = loc.clinicDate;\r\n }\r\n if (typeof (this.pcaDetailsSource.clinicList[0].clinicDate) == \"string\") {\r\n if (this.pcaDetailsSource.clinicList[0].clinicDate.indexOf(\"/\") > -1) {\r\n let idt = this.pcaDetailsSource.clinicList[0].clinicDate.split(\"/\");\r\n initial_clinic_date = new Date(parseInt(idt[2]), parseInt(idt[0]) - 1, parseInt(idt[1]));\r\n } else {\r\n let idt = new Date(this.pcaDetailsSource.clinicList[0].clinicDate);\r\n let idt_temp = idt.getMonth() + \"/\" + idt.getDate() + \"/\" + idt.getFullYear();\r\n let idt_temp_components = idt_temp.split(\"/\");\r\n //initial_clinic_date = new Date(parseInt(idt_temp_components[2]), parseInt(idt_temp_components[0]), parseInt(idt_temp_components[1]));\r\n initial_clinic_date = new Date(parseInt(idt_temp_components[2]), parseInt(idt_temp_components[0]), parseInt(idt_temp_components[1]));\r\n }\r\n //var idt = this.pcaDetailsSource.clinicList[0].clinicDate.split(\"/\");\r\n //initial_clinic_date = new Date(parseInt(idt[2]), parseInt(idt[0]) - 1, parseInt(idt[1]));\r\n } else {\r\n initial_clinic_date = this.pcaDetailsSource.clinicList[0].clinicDate;\r\n }\r\n\r\n initial_clinic_st_time = this.pcaDetailsSource.clinicList[0].naClinicStartTime;\r\n initial_clinic_end_time = this.pcaDetailsSource.clinicList[0].naClinicEndTime;\r\n\r\n st_time = this.pcaDetailsForm.value.clinicList[0].naClinicStartTime;\r\n end_time = this.pcaDetailsForm.value.clinicList[0].naClinicEndTime;\r\n\r\n if (initial_clinic_date != null &&\r\n (initial_clinic_date.getFullYear() != clinic_date.getFullYear() || initial_clinic_date.getMonth() != clinic_date.getMonth() ||\r\n initial_clinic_date.getDate() != clinic_date.getDate())) {\r\n is_clinic_date_time_changed = true;\r\n }\r\n else if (initial_clinic_st_time != null && (initial_clinic_st_time != st_time || initial_clinic_end_time != end_time)) {\r\n is_clinic_date_time_changed = true;\r\n }\r\n } catch (e) {\r\n return e;\r\n }\r\n return is_clinic_date_time_changed;\r\n }\r\n\r\n //Displays the confirmation message to user when delete button is clicked.\r\n deleteAgreementData() {\r\n this.deleteAgreement = true;\r\n }\r\n\r\n //Initiates the API call to deletes the agreement.\r\n deleteClinicDetails() {\r\n\r\n this.deleteAgreement = false;\r\n let clinic_details = new ClinicDetailsDelete();\r\n clinic_details.userPk = this.userProfile.userPk;\r\n clinic_details.username = this.userProfile.userName;\r\n clinic_details.businessName = this.pcaDetails.opportunityInfo.businessName;\r\n clinic_details.clinicPk = this.pcaDetails.clinicList[0].clinicPk;\r\n clinic_details.clinicStoreId = this.pcaDetails.clinicList[0].clinicStoreId;\r\n clinic_details.contractedStoreId = this.pcaDetails.opportunityInfo.contractedStoreId;\r\n clinic_details.clinicType = this.pcaDetails.opportunityInfo.clinicType;;\r\n clinic_details.clinicName = this.pcaDetails.clinicList[0].naClinicLocation.replace(\"LOCATION \", \"CLINIC \");\r\n\r\n this.pcaDetailsService.deletePCADetails(\r\n clinic_details).subscribe((res: any) => {\r\n //if (res.status == \"200\") {\r\n this.showDialog(ErrorMessages['eventDetails'], ErrorMessages['eventDetailsDelete'], false, false);\r\n this.router.navigateByUrl(\"/communityoutreach/storehome\");\r\n //}\r\n });\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n //Cancels the delete agreement window.\r\n deleteAgreementCancel() {\r\n this.deleteAgreement = false;\r\n }\r\n\r\n //Downloads the Proof o Docs.\r\n downloadProofOfDocs(value: any) {\r\n let pod_path = environment.RESOURCES.PROOF_OF_DOCUMENTS + '/' + value;\r\n window.open(pod_path);\r\n }\r\n\r\n //Navigates to home page when Home button is clicked.\r\n goToHome() {\r\n this.router.navigateByUrl(\"/communityoutreach/storehome\");\r\n }\r\n\r\n //Opens the contract agreement in view mode (Read Only).\r\n viewContractAgreement() {\r\n sessionStorage[\"clinic_agreement_pk\"] = this.pcaDetails.opportunityInfo.clinicAgreementPk;\r\n sessionStorage['clinic_type'] = this.eventDetails.clinicTypeCode;\r\n sessionStorage[\"fromPcaDetails\"] = true;\r\n if (new Date(this.clinicAgreementDateApproved) >= new Date(this.PcaReleaseDate2022_1) || this.clinicAgreementDateApproved == null) {\r\n this.router.navigateByUrl('/rhdContractAgreement-2023-1');\r\n }\r\n else {\r\n this.router.navigateByUrl('/communityoutreach/rhdContractAgreement');\r\n }\r\n }\r\n\r\n //Continue to save the changes. \r\n continueToChange() {\r\n this.changedDateTime = false;\r\n this.continueWithSaving(this.changeDateTimeActionStatus);\r\n this.changeDateTimeActionStatus = \"\";\r\n this.changeDateTimeBody = \"\";\r\n this.changeDateTimeHeader = \"\";\r\n\r\n }\r\n\r\n //Cancel the changes.\r\n cancelTheChange() {\r\n this.changeDateTimeActionStatus = \"\";\r\n this.changeDateTimeBody = \"\";\r\n this.changeDateTimeHeader = \"\";\r\n this.changedDateTime = false;\r\n }\r\n\r\n //Returns the difference between two objects.\r\n getModelDiff() {\r\n let temp: any = JSON.stringify(this.pcaDetailsSource)\r\n temp = JSON.parse(temp);\r\n\r\n this.updateDataFromFormFields(temp);\r\n temp.clinicList.forEach(item => {\r\n try {\r\n item.clinicImzQtyList.forEach(imzQtyItem => {\r\n delete imzQtyItem[\"imzNameAndPmtMethod\"];\r\n });\r\n } catch (e) {\r\n console.log('save changes' + e);\r\n }\r\n });\r\n let obj1 = this.deepCopy(this.pcaDetailsSource);\r\n obj1.clinicList.forEach(item => {\r\n try {\r\n item.clinicImzQtyList.forEach(imzQtyItem => {\r\n delete imzQtyItem[\"imzNameAndPmtMethod\"];\r\n });\r\n } catch (e) {\r\n console.log('save changes' + e);\r\n }\r\n });\r\n let diff = this.utility.getDifference(obj1, temp);\r\n return diff;\r\n }\r\n\r\n //Copied the from one object to another object \r\n deepCopy(oldObj: any) {\r\n var newObj = oldObj;\r\n if (oldObj && typeof oldObj === \"object\") {\r\n newObj = Object.prototype.toString.call(oldObj) === \"[object Array]\" ? [] : {};\r\n for (var i in oldObj) {\r\n newObj[i] = this.deepCopy(oldObj[i]);\r\n }\r\n }\r\n return newObj;\r\n }\r\n\r\n //Leaves the current route (page).\r\n leaveRoute() {\r\n this.showCanRouteChange = false;\r\n this.messageService.setCanShowRouteChangeConfirmation(false);\r\n this.messageService.setCanRouteChange(true);\r\n }\r\n\r\n //remains or continue with the current route (page).\r\n cancelRoute() {\r\n this.showCanRouteChange = false;\r\n this.messageService.setCanShowRouteChangeConfirmation(false);\r\n this.messageService.setCanRouteChange(false);\r\n }\r\n\r\n //\r\n restrictSpaces(event: any) {\r\n //if(event.keyCode == 32){\r\n // return false;\r\n //}else{\r\n return true;\r\n //}\r\n }\r\n\r\n getPrevSiblingInHist(obj: any, index: number, inner_index: number, value: any) {\r\n try {\r\n if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].indexOf(' -1)\r\n return 'minHeight65';\r\n else if (value.length > 500) {\r\n return 'enableScroller';\r\n }\r\n else if (value.length > 400) {\r\n return 'minHeight150';\r\n }\r\n else if (value.length > 300) {\r\n return 'minHeight100';\r\n }\r\n else if (value.length > 41) {\r\n return 'minHeight90';\r\n }\r\n else\r\n return '';\r\n }\r\n catch (e) {\r\n return '';\r\n }\r\n }\r\n\r\n getNextSiblingInHist(obj: any, index: number, inner_index: number) {\r\n try {\r\n if (obj.updateField[index] && obj.updateField[index].value[inner_index] && obj.updateField[index].value[inner_index].indexOf(' -1)\r\n return 'minHeight65';\r\n else if ((obj.updatedValue[index] && obj.updatedValue[index].value[inner_index] && obj.updatedValue[index].value[inner_index].length > 500)) {\r\n return 'enableScrollerHeight';\r\n }\r\n else if ((obj.updatedValue[index] && obj.updatedValue[index].value[inner_index] && obj.updatedValue[index].value[inner_index].length > 400)) {\r\n return 'minHeight150';\r\n }\r\n else if ((obj.updatedValue[index] && obj.updatedValue[index].value[inner_index] && obj.updatedValue[index].value[inner_index].length > 300)) {\r\n return 'minHeight100';\r\n }\r\n else if ((obj.updatedValue[index] && obj.updatedValue[index].value[inner_index] && obj.updatedValue[index].value[inner_index].length > 41)) {\r\n return 'minHeight90';\r\n }\r\n else\r\n return '';\r\n }\r\n catch (e) {\r\n return '';\r\n }\r\n }\r\n\r\n clinicNotConfirmedMsgOk() {\r\n this.clinicNotConfirmedMsgDlg = false;\r\n }\r\n\r\n showClinicNotConfirmedDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogBody = msgDetail;\r\n this.dialogHeader = msgSummary;\r\n this.clinicNotConfirmedMsgDlg = true;\r\n }\r\n\r\n showCancelEventConfirmation() {\r\n this.dialogBody = ErrorMessages.confirmCancelEvent;\r\n this.dialogHeader = \"Review Event Cancellation\";\r\n this.cancelEvent = true;\r\n }\r\n\r\n removeCancelledStatus() {\r\n this.showRemoveCancelledStatusDlg = true;\r\n }\r\n\r\n cancelRemoveCancelledStatus() {\r\n this.showRemoveCancelledStatusDlg = false;\r\n }\r\n\r\n continueToRemoveCancelledStatus() {\r\n var clinic_pk = this.pcaDetails.clinicList[0].clinicPk;\r\n this.pcaDetailsService.removeClinicCancelledStatus(\r\n clinic_pk).subscribe((res: any) => {\r\n if (res == \"success\") {\r\n\r\n this.showRemoveCancelledStatusDlg = false;\r\n this.showRemoveCancelledStatus = false;\r\n this.showRemoveCancelledStatusDialogResult(ErrorMessages['clinicDetails'], 'The last logged status has been removed successfully.');\r\n\r\n //this.showDialog(ErrorMessages['clinicDetails'], ErrorMessages['removeCancelledClinicStatus'],false,true);\r\n }\r\n }, error => {\r\n this.showRemoveCancelledStatusDlg = false;\r\n this.showDialog(ErrorMessages['clinicDetails'], ErrorMessages['error'], true, false);\r\n });\r\n }\r\n\r\n showRemoveCancelledStatusDialogResult(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.showRemoveCancelledStatusResult = true;\r\n }\r\n\r\n loadClinicDataAfterRemove() {\r\n this.showRemoveCancelledStatusResult = false;\r\n this.validateCancel = null;\r\n this.validateComplete = null;\r\n this.validateConfirm = null;\r\n this.showRemoveCancelledStatus = false;\r\n this.getPCADetails();\r\n this.pcaDetailsForm.updateValueAndValidity();\r\n }\r\n\r\n}\r\n\r\n","import { Component, OnInit, SimpleChange, Input } from '@angular/core';\r\nimport { Subscription, Subject } from 'rxjs';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-pcadetailsteps',\r\n templateUrl: './pcadetailsteps.component.html',\r\n styleUrls: ['./pcadetailsteps.component.css']\r\n})\r\nexport class PcadetailstepsComponent implements OnInit {\r\n\r\n subscription: Subscription;\r\n step: number = 1;\r\n clinicstatus: string = \"Completed Event\";\r\n clickedPath = 'PCADetails';\r\n message: any;\r\n store_id: any;\r\n\r\n @Input(\"totalSteps\") totalSteps: any;\r\n @Input(\"viewSteps\") viewSteps: any;\r\n @Input(\"currentStep\") currentStep: any;\r\n\r\n private onDestroy$ = new Subject();\r\n\r\n constructor() {}\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges(changes: { [propKey: string]: SimpleChange }) {\r\n if (changes[\"viewSteps\"]) {\r\n this.viewSteps = changes[\"viewSteps\"].currentValue;\r\n }\r\n if (changes[\"totalSteps\"]) {\r\n this.totalSteps = changes[\"totalSteps\"].currentValue;\r\n }\r\n this.currentStep = ((changes[\"currentStep\"].currentValue) ? changes[\"currentStep\"].currentValue : this.step);\r\n \r\n this.GoToStep(this.currentStep);\r\n }\r\n\r\n GoToStep(step: number) {\r\n if (step === 2) {\r\n step = 2;\r\n this.clinicstatus = 'Completed Event';\r\n }\r\n if (step === -1) {\r\n if (this.totalSteps === 2) {\r\n step = 2;\r\n this.clinicstatus = 'Cancelled Event';\r\n } else if (this.totalSteps === 3) {\r\n step = 3;\r\n this.clinicstatus = 'Cancelled Event';\r\n }\r\n }\r\n\r\n this.step = step;\r\n return;\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { PcacontractAgreementService } from '../../Services/pcacontract-agreement.service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Util } from '../../../../utility/util';\r\nimport { PCAContractAgreementModel, ClientInfo } from '../../../../models/PCAContractAgreementModel';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { String } from 'typescript-string-operations';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { Location } from '@angular/common';\r\nimport { CancerLulaRelease2, LulaAsoRelease2, LulaGovRelease2, OpoLulaRelease2 } from '../../../../models/pcaTandC-release2';\r\nimport { LulaAso } from '../../../../models/pcaTandC';\r\nimport { MobileOrg } from '../../../../models/pcaclinic';\r\nimport { OrgMobileType } from '../../../../utility/enum';\r\n\r\n@Component({\r\n selector: 'app-rhd-contract-agreement-release2',\r\n templateUrl: './rhd-contract-agreement-release2.component.html',\r\n styleUrls: ['./rhd-contract-agreement-release2.component.css']\r\n})\r\nexport class RhdContractAgreementrelease2Component implements OnInit {\r\n\r\n showHints: boolean = false;\r\n pageName: string = \"rhdcontractagreement\";\r\n\r\n isApproved: boolean = null;\r\n image_source: any;\r\n step1: boolean = true;\r\n step2: boolean = false;\r\n step3: boolean = false;\r\n firstName: string = '';\r\n lastName: string = '';\r\n titleName: string = '';\r\n uploadedFileName: string = '';\r\n PCAContractForm: FormGroup;\r\n approvePCAContract: FormGroup;\r\n files: any;\r\n storeAddress: any;\r\n storeId: any;\r\n apprOrRejectTextBox: boolean = false;\r\n agreement_model: PCAContractAgreementModel = new PCAContractAgreementModel();\r\n private selectedLink: string;\r\n date: Date;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n proofInsurances = [];\r\n fileExt: string[] = [\"JPG\", \"JPEG\", \"PDF\"];\r\n uploadDoc: boolean = false;\r\n message_text: any;\r\n load: boolean = false;\r\n isRHDApproved: boolean;\r\n tandC: any = new LulaAsoRelease2();\r\n clinicType: number = null;\r\n uploadTitle: string = \"Upload Proof of Insurance\";\r\n approveRejectEmail: any;\r\n disableBtn: boolean = null;\r\n isTestingPartner: boolean = false;\r\n disableSignature: boolean = true;\r\n //tempTncInsurance:string;\r\n lulaHdr: string = \"LIMITED USE LICENSE AGREEMENT
TESTING EVENT\";\r\n private isFromPcaDetails: boolean = (sessionStorage[\"fromPcaDetails\"]) ? true : false;\r\n private isFromActionItemsReport: boolean = (sessionStorage[\"fromActionItemsReport\"]) ? true : false;\r\n outReachProgramType: any;\r\n oldPcaReleaseDate: any;\r\n PcaReleaseDate2022_1: string;\r\n isSTI: boolean = false;\r\n isHepatitis: boolean = false;\r\n isHIV: boolean = false;\r\n isHIVAndHepatitis: boolean = false;\r\n headerLabel = \"\";\r\n serviceLabel = \"\";\r\n mobileOrg: typeof MobileOrg = MobileOrg;\r\n orgMobileType: typeof OrgMobileType = OrgMobileType;\r\n constructor(\r\n private _location: Location, \r\n private spinner: NgxSpinnerService, \r\n private router: Router, \r\n private utility: Util, \r\n private _contractService: PcacontractAgreementService, \r\n private formBuilder: FormBuilder\r\n ) { }\r\n\r\n\r\n ngOnInit() {\r\n \r\n this.outReachProgramType = sessionStorage['clinic_type'];\r\n this.isRHDApproved = null;\r\n this.spinner.show();\r\n this.date = new Date();\r\n this.PCAContractForm = this.formBuilder.group({\r\n firstName: ['',\r\n Validators.required,\r\n ],\r\n lastName: ['',\r\n Validators.required,\r\n ],\r\n titleName: ['',\r\n Validators.required,\r\n ],\r\n });\r\n this.approvePCAContract = this.formBuilder.group({\r\n email_signature: this.formBuilder.control('', null),\r\n user_notes: this.formBuilder.control('', null),\r\n radioBtn: this.formBuilder.control('', Validators.required),\r\n });\r\n this.getProofOfInsurance(sessionStorage[\"clinic_agreement_pk\"]);\r\n this.getPCAContractAgreementData(sessionStorage[\"clinic_agreement_pk\"], null);\r\n this.isTestingPartner = sessionStorage[\"testing_partner\"] == 'TP' ? true : false;\r\n sessionStorage.removeItem(\"fromPcaDetails\");\r\n this.oldPcaReleaseDate = new LulaAso().tnCCutOffDate;\r\n this.PcaReleaseDate2022_1 = new LulaAsoRelease2().tnCCutOffDate;\r\n }\r\n goto(e: number) {\r\n\r\n if (e == 1) {\r\n this.step1 = true;\r\n this.step2 = false;\r\n }\r\n if (e == 2) {\r\n if (this.PCAContractForm.valid) {\r\n this.step1 = false;\r\n this.step2 = true;\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.PCAContractForm);\r\n }\r\n }\r\n }\r\n\r\n onFileChange(event) {\r\n this.files = event.target.files;\r\n this.uploadedFileName = event.target.files[0].name;\r\n\r\n }\r\n apprOrReject(e) {\r\n if (e.target.value == \"1\") {\r\n this.apprOrRejectTextBox = false;\r\n }\r\n if (e.target.value == \"2\") {\r\n this.apprOrRejectTextBox = true;\r\n }\r\n }\r\n getPCAContractAgreementData(agreement_pk, user_type) {\r\n this._contractService.getPCAContractAgreement(agreement_pk, user_type).subscribe((data:any) => { \r\n this.load = true;\r\n data.clinicList.forEach(element => { \r\n let dateString = element.clinicDate.substring(0, element.clinicDate.indexOf('T'));\r\n let dateSplitTokens = dateString.split('-');\r\n var dt = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n element.clinicDate=dt;\r\n });\r\n this.agreement_model = data;\r\n if (SessionDetails.GetfromUserPage() == true\r\n && this.agreement_model.isCurrent != null && this.agreement_model.isCurrent != undefined && !this.agreement_model.isCurrent) {\r\n this.router.navigate(['/invalidCotract']);\r\n }\r\n if(this.PcaReleaseDate2022_1 != null && new Date(Util.getFormatedDate(this.agreement_model.dateApproved)) < new Date(this.PcaReleaseDate2022_1))\r\n {\r\n this.router.navigate(['/login']);\r\n }\r\n this.isApproved = data.isRHDApproved;\r\n this.showHints = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) == 'yes' || data.isRHDApproved) ? false : true;\r\n\r\n this.approveRejectEmail = data.walgreenCoInfo.rhdEmail;\r\n this.storeId = data.storeInfo.storeId;\r\n this.clinicType = sessionStorage['clinic_type'];\r\n this.storeAddress = data.storeInfo.storeAddress;\r\n if(this.clinicType != 11 && this.clinicType != 12) {\r\n if(data.clinicImmunizationList.length){\r\n let serviceLabelList = data.clinicImmunizationList.map((immunization) => {\r\n let idx = immunization.immunizationName.indexOf(\"testing\");\r\n return immunization.immunizationName.substring(0,idx);\r\n });\r\n serviceLabelList = serviceLabelList.sort();\r\n if(serviceLabelList.length > 1){\r\n let lastEle = serviceLabelList.pop();\r\n let label = `${serviceLabelList.join(', ')} and ${lastEle}`;\r\n this.headerLabel = `${serviceLabelList.join(',')} and ${lastEle}`.replace(\" ,\", \", \");\r\n this.serviceLabel = `${label.replace(\" ,\", \", \")} testing and screening services and ${label.replace(\" ,\",\", \").replace(\"HIV\", \"HIV/AIDS\")} counseling to individuals`;\r\n } else {\r\n let label = `${serviceLabelList.join(',')}`;\r\n this.headerLabel = `${serviceLabelList.join(',')}`.replace(\" ,\", \", \");\r\n this.serviceLabel = `${label.replace(\" ,\", \", \")} testing and screening services and ${label.replace(\" ,\",\", \").replace(\"HIV\", \"HIV/AIDS\")} counseling to individuals`;\r\n }\r\n }\r\n }\r\n if (this.agreement_model.isRHDApproved == true || this.agreement_model.isRHDApproved == false) {\r\n this.isRHDApproved = true;\r\n this.approvePCAContract.controls[\"email_signature\"].setValue(this.agreement_model.isRHDApproved == true ? this.agreement_model.walgreenCoInfo.rhdName : null);\r\n this.approvePCAContract.controls[\"user_notes\"].setValue(this.agreement_model.notes);\r\n if (this.agreement_model.isRHDApproved == false) {\r\n this.selectedLink = \"Reject\";\r\n }\r\n this.approvePCAContract.controls[\"radioBtn\"].setValue(this.agreement_model.isRHDApproved == true ? \"1\" : this.agreement_model.isRHDApproved == false ? \"2\" : \"\");\r\n }\r\n this.uploadTitle = \"Upload Proof of Insurance or Letter of Self-Insurance\";\r\n let tnCCutOffDate = new Date(this.tandC.tnCCutOffDate);\r\n let dateString = data.dateApproved.substring(0, data.dateApproved.indexOf('T')); // hack for TImezone for -9+\r\n let dateSplitTokens = dateString.split('-');\r\n var dateApproved = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n\r\n switch (sessionStorage[\"clinic_type\"]) {\r\n case 10:\r\n case \"10\":\r\n this.tandC = new LulaGovRelease2(data.storeInfo.state);\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
TESTING EVENT\";\r\n // if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"HIV testing and screening services and HIV/AIDS counseling to individuals\"\r\n // && dateApproved>=tnCCutOffDate && data.dateApproved ) {\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', `${this.headerLabel} Testing and counseling services`);\r\n // }\r\n // else if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"Hepatitis C testing and screening services and Hepatitis C counseling to individuals\"\r\n // && dateApproved>=tnCCutOffDate && data.dateApproved) {\r\n // this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HCV Testing and counseling services\");\r\n // }\r\n // else if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"HIV and Hepatitis C testing and screening services and HIV/AIDS and Hepatitis C counseling to individuals\"\r\n // && dateApproved>=tnCCutOffDate && data.dateApproved) {\r\n // this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HIV and HCV Testing and counseling services\");\r\n // }\r\n break;\r\n case 11:\r\n case \"11\":\r\n this.tandC = new OpoLulaRelease2(data.storeInfo.state);\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
ORGAN DONOR REGISTRATION EVENT\";\r\n break;\r\n case 12:\r\n case '12':\r\n this.tandC = new CancerLulaRelease2(data.storeInfo.state);\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
CANCER SCREENING EVENT\";\r\n if(dateApproved>=tnCCutOffDate === true && data.dateApproved)\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"cancer screening services\");\r\n break; \r\n default:\r\n this.tandC = new LulaAsoRelease2();\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
TESTING EVENT\";\r\n if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"HIV testing and screening services and HIV/AIDS counseling to individuals\"\r\n && dateApproved>=tnCCutOffDate && data.dateApproved ) {\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HIV Testing and counseling services\");\r\n }\r\n else if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"Hepatitis C testing and screening services and Hepatitis C counseling to individuals\"\r\n && dateApproved>=tnCCutOffDate && data.dateApproved) {\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HCV Testing and counseling services\");\r\n }\r\n else if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"HIV and Hepatitis C testing and screening services and HIV/AIDS and Hepatitis C counseling to individuals\"\r\n && dateApproved>=tnCCutOffDate && data.dateApproved) {\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HIV and HCV Testing and counseling services\");\r\n }\r\n break;\r\n }\r\n \r\n // const immunizationName = this.agreement_model.clinicList[0].clinicImzQtyList[0].immunizationName\r\n if(this.clinicType == 8 || this.clinicType == 10) {\r\n this.tandC.conditionalTnCInsurance = this.tandC.conditionalTnCInsurance.replace( new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n \r\n this.tandC.use = this.tandC.use.map(paragraph => { return paragraph.replace(new RegExp('@serviceValue', 'g'), this.headerLabel);});\r\n \r\n\r\n this.tandC.term = this.tandC.term.replace( new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n this.tandC.tradenames_publications =this.tandC.tradenames_publications.replace( new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n this.tandC.indemnity = this.tandC.indemnity.map(paragraph => { return paragraph.replace(new RegExp('@serviceValue', 'g'), this.headerLabel);});\r\n this.tandC.surrender =this.tandC.surrender.replace( new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n this.tandC.insurance= this.tandC.insurance.replace( new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n this.tandC.miscellaneous= this.tandC.miscellaneous.replace( new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n this.tandC.conditionalTnCInsurance= this.tandC.conditionalTnCInsurance.replace( new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n }\r\n\r\n // if(immunizationName === \"HIV and Hepatitis C testing and screening services and HIV/AIDS and Hepatitis C counseling to individuals\"){\r\n // this.isHIVAndHepatitis = true;\r\n // this.isHIV = false;\r\n // this.isHepatitis = false;\r\n // this.isSTI = false;\r\n // }\r\n // else if(immunizationName === \"HIV testing and screening services and HIV/AIDS counseling to individuals\"){\r\n // this.isHIVAndHepatitis = false;\r\n // this.isHIV = true;\r\n // this.isHepatitis = false;\r\n // this.isSTI = false;\r\n // }\r\n // else if(immunizationName === \"Hepatitis C testing and screening services and Hepatitis C counseling to individuals\"){\r\n // this.isHIVAndHepatitis = false;\r\n // this.isHIV = false;\r\n // this.isHepatitis = true;\r\n // this.isSTI = false;\r\n // }\r\n // else if(immunizationName === \"STI testing and screening services and STI counseling to individuals\"){\r\n // this.isHIVAndHepatitis = false;\r\n // this.isHIV = false;\r\n // this.isHepatitis = false;\r\n // this.isSTI = true;\r\n // }\r\n \r\n // if (this.isSTI) { \r\n // this.tandC.conditionalTnCInsurance = this.tandC.conditionalTnCInsurance.replace( new RegExp(\"@serviceValue\", 'g'),'STI');\r\n \r\n // this.tandC.use = this.tandC.use.map(paragraph => { return paragraph.replace(new RegExp('@serviceValue', 'g'),'STI');});\r\n \r\n \r\n // this.tandC.term = this.tandC.term.replace( new RegExp(\"@serviceValue\", 'g'),'STI');\r\n // this.tandC.tradenames_publications =this.tandC.tradenames_publications.replace( new RegExp(\"@serviceValue\", 'g'),'STI');\r\n // this.tandC.indemnity = this.tandC.indemnity.map(paragraph => { return paragraph.replace(new RegExp('@serviceValue', 'g'),'STI');});\r\n // this.tandC.surrender =this.tandC.surrender.replace( new RegExp(\"@serviceValue\", 'g'),'STI');\r\n // this.tandC.insurance= this.tandC.insurance.replace( new RegExp(\"@serviceValue\", 'g'),'STI');\r\n // this.tandC.miscellaneous= this.tandC.miscellaneous.replace( new RegExp(\"@serviceValue\", 'g'),'STI');\r\n // this.tandC.conditionalTnCInsurance= this.tandC.conditionalTnCInsurance.replace( new RegExp(\"@serviceValue\", 'g'),'STI');\r\n\r\n \r\n // }\r\n // else if (this.isHIVAndHepatitis) { \r\n // // this.tAndC = new LulaHIVAndHepatitisRelease2(); \r\n // // this.tAndC.conditionalTnCInsurance\r\n // // this.tAndC.use\r\n // // this.tAndC.term\r\n // // this.tAndC.tradenames_publications\r\n // // this.tAndC.indemnity\r\n // // this.tAndC.surrender\r\n // // this.tAndC.insurance\r\n // // this.tAndC.miscellaneous\r\n // // this.tAndC.conditionalTnCInsurance\r\n // }\r\n // else if (this.isHIV) { \r\n // this.tandC.conditionalTnCInsurance = this.tandC.conditionalTnCInsurance.replace( new RegExp(\"@serviceValue\", 'g'),'HIV'); \r\n // this.tandC.use = this.tandC.use.map(paragraph => { return paragraph.replace(new RegExp('@serviceValue', 'g'),'HIV');}); \r\n // this.tandC.term = this.tandC.term.replace( new RegExp(\"@serviceValue\", 'g'),'HIV');\r\n // this.tandC.tradenames_publications =this.tandC.tradenames_publications.replace( new RegExp(\"@serviceValue\", 'g'),'HIV');\r\n // this.tandC.indemnity = this.tandC.indemnity.map(paragraph => { return paragraph.replace(new RegExp('@serviceValue', 'g'),'HIV');});\r\n // this.tandC.surrender =this.tandC.surrender.replace( new RegExp(\"@serviceValue\", 'g'),'HIV');\r\n // this.tandC.insurance= this.tandC.insurance.replace( new RegExp(\"@serviceValue\", 'g'),'HIV');\r\n // this.tandC.miscellaneous= this.tandC.miscellaneous.replace( new RegExp(\"@serviceValue\", 'g'),'HIV');\r\n // this.tandC.conditionalTnCInsurance= this.tandC.conditionalTnCInsurance.replace( new RegExp(\"@serviceValue\", 'g'),'HIV');\r\n\r\n \r\n // }\r\n // else if (this.isHepatitis) {\r\n \r\n // this.tandC.conditionalTnCInsurance = this.tandC.conditionalTnCInsurance.replace( new RegExp(\"@serviceValue\", 'g'),'HEPATITIS'); \r\n // this.tandC.use = this.tandC.use.map(paragraph => { return paragraph.replace(new RegExp('@serviceValue', 'g'),'HEPATITIS');}); \r\n // this.tandC.term = this.tandC.term.replace( new RegExp(\"@serviceValue\", 'g'),'HEPATITIS');\r\n // this.tandC.tradenames_publications =this.tandC.tradenames_publications.replace( new RegExp(\"@serviceValue\", 'g'),'HEPATITIS');\r\n // this.tandC.indemnity = this.tandC.indemnity.map(paragraph => { return paragraph.replace(new RegExp('@serviceValue', 'g'),'HEPATITIS');});\r\n // this.tandC.surrender =this.tandC.surrender.replace( new RegExp(\"@serviceValue\", 'g'),'HEPATITIS');\r\n // this.tandC.insurance= this.tandC.insurance.replace( new RegExp(\"@serviceValue\", 'g'),'HEPATITIS');\r\n // this.tandC.miscellaneous= this.tandC.miscellaneous.replace( new RegExp(\"@serviceValue\", 'g'),'HEPATITIS');\r\n // this.tandC.conditionalTnCInsurance= this.tandC.conditionalTnCInsurance.replace( new RegExp(\"@serviceValue\", 'g'),'HEPATITIS');\r\n\r\n \r\n // }\r\n this.spinner.hide();\r\n });\r\n }\r\n Save() {\r\n var client_info = new ClientInfo();\r\n if (this.approvePCAContract.value.email_signature.trim() == '' && this.approvePCAContract.value.user_notes.trim() == '') {\r\n if (!this.approvePCAContract.controls['radioBtn'].value) {\r\n this.showDialog('Approve Agreement Error', 'Please select either \\\"Approve\\\" or \\\"Request Changes\\\" option from Approve Agreement section.');\r\n }\r\n }\r\n if (this.approvePCAContract.valid) {\r\n\r\n this.disableBtn = true;\r\n if (this.agreement_model.isApproved) {\r\n switch (this.selectedLink) {\r\n case 'Approve':\r\n this.approvePCAContract.controls['email_signature'].setValidators([Validators.required]);\r\n this.agreement_model.isApproved = 1;\r\n this.agreement_model.isEmailSent = Number(this.agreement_model.isEmailSent);\r\n this.agreement_model.rhdSignature = this.approvePCAContract.controls[\"email_signature\"].value.trim();\r\n this.agreement_model.isRHDApproved = 1;\r\n this.agreement_model.contractPostedByUser = 'Business User';\r\n this.agreement_model.rvpApprovedOrRejectedBy = sessionStorage[\"approveRejectEmail\"];\r\n this.agreement_model.dateRHDApproved = new Date();\r\n client_info.client = this.agreement_model.testingPartnerInfo.businessName;\r\n client_info.name = this.agreement_model.clientInfo.name;\r\n client_info.title = this.agreement_model.clientInfo.title;\r\n client_info.reviewedDate = new Date();\r\n this.agreement_model.clientInfo = client_info;\r\n this._contractService.approveAgreementData(this.agreement_model.storeInfo.storeId, sessionStorage[\"clinic_type\"], true, this.agreement_model).subscribe((data: any) => {\r\n this.disableBtn = null;\r\n switch (data.errorS.errorCode) {\r\n case 'success':\r\n case null:\r\n case \"null\":\r\n case 0:\r\n case '0':\r\n SessionDetails.setIsPCA(true);\r\n this.router.navigate(['communityoutreach/storehome']);\r\n break;\r\n case -2:\r\n case '-2':\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n case -5:\r\n this.router.navigate(['/invalidCotract']);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled ErrorCode received from Service errorCode:{0}, errorMessage:{1}', data.errorS.errorCode, data.errorS.errorMessage));\r\n break;\r\n }\r\n },\r\n err => {\r\n this.disableBtn = null;\r\n // this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['contract'], String.Format('ErrorCode 500 received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled exception ErrorCode received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n }\r\n });\r\n break;\r\n case 'Reject':\r\n if (this.approvePCAContract.controls[\"user_notes\"].value.trim() == '') {\r\n this.approvePCAContract.controls['user_notes'].setValue('');\r\n this.approvePCAContract.controls['user_notes'].updateValueAndValidity();\r\n this.disableBtn = null;\r\n this.utility.validateAllFormFields(this.approvePCAContract);\r\n return false;\r\n }\r\n this.agreement_model.isApproved = 0;\r\n this.agreement_model.isEmailSent = 1;\r\n this.agreement_model.rhdSignature = null;\r\n this.agreement_model.isRHDApproved = 0;\r\n this.agreement_model.notes = this.approvePCAContract.controls[\"user_notes\"].value.trim();\r\n this.agreement_model.contractPostedByUser = 'Business User';\r\n this.agreement_model.dateRHDApproved = new Date();\r\n this.agreement_model.rvpApprovedOrRejectedBy = sessionStorage[\"approveRejectEmail\"];\r\n client_info.client = this.agreement_model.testingPartnerInfo.businessName;\r\n client_info.name = this.agreement_model.clientInfo.name.trim();\r\n client_info.title = this.agreement_model.clientInfo.title;\r\n client_info.reviewedDate = new Date();\r\n this.agreement_model.clientInfo = client_info;\r\n this._contractService.approveAgreementData(this.agreement_model.storeInfo.storeId, sessionStorage[\"clinic_type\"], true, this.agreement_model).subscribe((data: any) => {\r\n this.disableBtn = null;\r\n switch (data.errorS.errorCode) {\r\n case 'success':\r\n case null:\r\n case \"null\":\r\n case 0:\r\n case '0':\r\n SessionDetails.setIsPCA(true);\r\n this.router.navigate(['communityoutreach/storehome']);\r\n break;\r\n case -2:\r\n case '-2':\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n case -5:\r\n this.router.navigate(['/invalidCotract']);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled ErrorCode received from Service errorCode:{0}, errorMessage:{1}', data.errorS.errorCode, data.errorS.errorMessage));\r\n break;\r\n }\r\n },\r\n err => {\r\n this.disableBtn = null;\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['contract'], String.Format('ErrorCode 500 received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled exception ErrorCode received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n this.disableBtn = null;\r\n this.showDialog(ErrorMessages['contract'], \"Sorry, the testing partner must approve and sign this agreement, prior to the RVP. A change request may have been submitted, after a link was sent to you for approval. Once the testing partner approves and signs, you will receive another email for your approval and signature.\");\r\n }\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.approvePCAContract);\r\n }\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n isSelected(name: string): boolean {\r\n if (!this.selectedLink) {\r\n return false;\r\n }\r\n return (this.selectedLink === name);\r\n }\r\n isFieldValid(field: string) {\r\n return !this.approvePCAContract.get(field).valid && this.approvePCAContract.get(field).touched;\r\n }\r\n isFieldValidStep(field: string) {\r\n return !this.PCAContractForm.get(field).valid && this.PCAContractForm.get(field).touched;\r\n }\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n displayFieldCssStep(field: string) {\r\n return {\r\n 'has-error': this.isFieldValidStep(field),\r\n 'has-feedback': this.isFieldValidStep(field)\r\n };\r\n }\r\n setradio(e: string): void {\r\n if (e == 'Approve') {\r\n this.disableSignature = true;\r\n this.approvePCAContract.controls['email_signature'].setValidators([Validators.required]);\r\n this.approvePCAContract.controls['email_signature'].updateValueAndValidity();\r\n this.approvePCAContract.controls['user_notes'].clearValidators();\r\n this.approvePCAContract.controls['user_notes'].updateValueAndValidity();\r\n this.approvePCAContract.controls['user_notes'].setValue('');\r\n }\r\n if (e == 'Reject') {\r\n this.disableSignature = null;\r\n this.approvePCAContract.controls['email_signature'].setValue('');\r\n this.approvePCAContract.controls['email_signature'].clearValidators();;\r\n this.approvePCAContract.controls['email_signature'].updateValueAndValidity();\r\n this.approvePCAContract.controls['user_notes'].setValidators([Validators.required]);\r\n this.approvePCAContract.controls['user_notes'].updateValueAndValidity();\r\n }\r\n this.selectedLink = e;\r\n }\r\n\r\n okClicked() {\r\n this.display = false;\r\n }\r\n Ok() {\r\n this.uploadDoc = false;\r\n }\r\n getProofOfInsurance(clinic_agreement_pk) {\r\n this._contractService.GetProofOfInsurance(clinic_agreement_pk).subscribe((data:any) => {\r\n this.proofInsurances = data;\r\n });\r\n }\r\n Delete(pk) {\r\n this._contractService.DeleteProofOfInsurance(pk).subscribe(data => {\r\n this.getProofOfInsurance(sessionStorage[\"clinic_agreement_pk\"]);\r\n });\r\n }\r\n private isValidFiles(files) {\r\n return this.isValidFileExtension(files);\r\n }\r\n private isValidFileExtension(files) {\r\n\r\n for (var i = 0; i < files.length; i++) {\r\n // Get file extension\r\n var ext = files[i].name.toLocaleUpperCase().split('.').pop() || files[i].name;\r\n\r\n // Check the extension exists\r\n var exists = this.fileExt.filter(element => element == ext);\r\n\r\n if (exists.length <= 0) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n Download(file_name) { \r\n window.open(environment.RESOURCES.PROOF_OF_DOCUMENTS + \"/\" + file_name);\r\n }\r\n\r\n print() {\r\n this.utility.print(\"asolulaContract\", \"Limited Use License Agreement\");\r\n }\r\n cancel() {\r\n if (this.isFromPcaDetails) {\r\n sessionStorage.removeItem(\"clinic_agreement_pk\");\r\n sessionStorage.removeItem(\"fromPcaDetails\");\r\n sessionStorage.removeItem(\"clinic_type\");\r\n this._location.back();\r\n }\r\n else if (this.isFromActionItemsReport) {\r\n sessionStorage.removeItem(\"clinic_agreement_pk\");\r\n sessionStorage.removeItem(\"fromActionItemsReport\");\r\n sessionStorage.removeItem(\"clinic_type\");\r\n this._location.back();\r\n } else {\r\n this.router.navigate(['/communityoutreach/pcahome']);\r\n }\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { PcacontractAgreementService } from '../../Services/pcacontract-agreement.service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Util } from '../../../../utility/util';\r\nimport { PCAContractAgreementModel, ClientInfo } from '../../../../models/PCAContractAgreementModel';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { String } from 'typescript-string-operations';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { LulaAso, LulaGov, OpoLula, CancerLula } from '../../../../models/pcaTandC';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { Location } from '@angular/common';\r\nimport { LulaAsoRelease2 } from '../../../../models/pcaTandC-release2';\r\nimport { MobileOrg } from '../../../../models/pcaclinic';\r\nimport { OrgMobileType } from '../../../../utility/enum';\r\n\r\n@Component({\r\n selector: 'app-rhd-contract-agreement',\r\n templateUrl: './rhd-contract-agreement.component.html',\r\n styleUrls: ['./rhd-contract-agreement.component.css']\r\n})\r\nexport class RhdContractAgreementComponent implements OnInit {\r\n\r\n showHints: boolean = false;\r\n pageName: string = \"rhdcontractagreement\";\r\n\r\n isApproved: boolean = null;\r\n image_source: any;\r\n step1: boolean = true;\r\n step2: boolean = false;\r\n step3: boolean = false;\r\n firstName: string = '';\r\n lastName: string = '';\r\n titleName: string = '';\r\n uploadedFileName: string = '';\r\n PCAContractForm: FormGroup;\r\n approvePCAContract: FormGroup;\r\n files: any;\r\n storeAddress: any;\r\n storeId: any;\r\n apprOrRejectTextBox: boolean = false;\r\n agreement_model: PCAContractAgreementModel = new PCAContractAgreementModel();\r\n private selectedLink: string;\r\n date: Date;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n display: boolean = false;\r\n proofInsurances = [];\r\n fileExt: string[] = [\"JPG\", \"JPEG\", \"PDF\"];\r\n uploadDoc: boolean = false;\r\n message_text: any;\r\n load: boolean = false;\r\n isRHDApproved: boolean;\r\n tandC: any = new LulaAso();\r\n clinicType: number = null;\r\n uploadTitle: string = \"Upload Proof of Insurance\";\r\n approveRejectEmail: any;\r\n disableBtn: boolean = null;\r\n isTestingPartner: boolean = false;\r\n disableSignature: boolean = true;\r\n //tempTncInsurance:string;\r\n lulaHdr: string = \"LIMITED USE LICENSE AGREEMENT
TESTING EVENT\";\r\n private isFromPcaDetails: boolean = (sessionStorage[\"fromPcaDetails\"]) ? true : false;\r\n private isFromActionItemsReport: boolean = (sessionStorage[\"fromActionItemsReport\"]) ? true : false;\r\n oldPcaReleaseDate: any;\r\n PcaReleaseDate2022_1: any;\r\n headerLabel = \"\";\r\n serviceLabel = \"\";\r\n mobileOrg: typeof MobileOrg = MobileOrg;\r\n orgMobileType: typeof OrgMobileType = OrgMobileType;\r\n\r\n constructor(private _location: Location, private spinner: NgxSpinnerService, private router: Router, private utility: Util, private _contractService: PcacontractAgreementService, private formBuilder: FormBuilder) { }\r\n\r\n\r\n ngOnInit() {\r\n\r\n this.isRHDApproved = null;\r\n this.spinner.show();\r\n this.date = new Date();\r\n this.PCAContractForm = this.formBuilder.group({\r\n firstName: ['',\r\n Validators.required,\r\n ],\r\n lastName: ['',\r\n Validators.required,\r\n ],\r\n titleName: ['',\r\n Validators.required,\r\n ],\r\n });\r\n this.approvePCAContract = this.formBuilder.group({\r\n email_signature: this.formBuilder.control('', null),\r\n user_notes: this.formBuilder.control('', null),\r\n radioBtn: this.formBuilder.control('', Validators.required),\r\n });\r\n this.getProofOfInsurance(sessionStorage[\"clinic_agreement_pk\"]);\r\n this.getPCAContractAgreementData(sessionStorage[\"clinic_agreement_pk\"], null);\r\n this.isTestingPartner = sessionStorage[\"testing_partner\"] == 'TP' ? true : false;\r\n sessionStorage.removeItem(\"fromPcaDetails\");\r\n this.oldPcaReleaseDate = new LulaAso().tnCCutOffDate;\r\n this.PcaReleaseDate2022_1 = new LulaAsoRelease2().tnCCutOffDate;\r\n }\r\n goto(e: number) {\r\n\r\n if (e == 1) {\r\n this.step1 = true;\r\n this.step2 = false;\r\n }\r\n if (e == 2) {\r\n if (this.PCAContractForm.valid) {\r\n this.step1 = false;\r\n this.step2 = true;\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.PCAContractForm);\r\n }\r\n }\r\n }\r\n\r\n onFileChange(event) {\r\n this.files = event.target.files;\r\n this.uploadedFileName = event.target.files[0].name;\r\n\r\n }\r\n apprOrReject(e) {\r\n if (e.target.value == \"1\") {\r\n this.apprOrRejectTextBox = false;\r\n }\r\n if (e.target.value == \"2\") {\r\n this.apprOrRejectTextBox = true;\r\n }\r\n }\r\n getPCAContractAgreementData(agreement_pk, user_type) { \r\n this._contractService.getPCAContractAgreement(agreement_pk, user_type).subscribe((data:any) => { \r\n this.load = true;\r\n data.clinicList.forEach(element => { \r\n let dateString = element.clinicDate.substring(0, element.clinicDate.indexOf('T'));\r\n let dateSplitTokens = dateString.split('-');\r\n var dt = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n element.clinicDate=dt;\r\n });\r\n this.agreement_model = data;\r\n if (SessionDetails.GetfromUserPage() == true\r\n && this.agreement_model.isCurrent != null && this.agreement_model.isCurrent != undefined && !this.agreement_model.isCurrent) {\r\n this.router.navigate(['/invalidCotract']);\r\n }\r\n if(new Date(Util.getFormatedDate(this.agreement_model.dateApproved)) >= new Date(this.PcaReleaseDate2022_1))\r\n {\r\n this.router.navigate(['/login']);\r\n }\r\n this.isApproved = data.isRHDApproved;\r\n this.showHints = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) == 'yes' || data.isRHDApproved) ? false : true;\r\n\r\n this.approveRejectEmail = data.walgreenCoInfo.rhdEmail;\r\n this.storeId = data.storeInfo.storeId;\r\n this.storeAddress = data.storeInfo.storeAddress;\r\n if(this.clinicType != 11 && this.clinicType != 12) {\r\n if(data.clinicImmunizationList.length){\r\n let serviceLabelList = data.clinicImmunizationList.map((immunization) => {\r\n let idx = immunization.immunizationName.indexOf(\"testing\");\r\n return immunization.immunizationName.substring(0,idx);\r\n });\r\n serviceLabelList = serviceLabelList.sort();\r\n if(serviceLabelList.length > 1){\r\n let lastEle = serviceLabelList.pop();\r\n let label = `${serviceLabelList.join(', ')} and ${lastEle}`;\r\n this.headerLabel = `${serviceLabelList.join(',')} and ${lastEle}`.replace(\" ,\", \", \");\r\n this.serviceLabel = `${label.replace(\" ,\", \", \")} testing and screening services and ${label.replace(\" ,\",\", \").replace(\"HIV\", \"HIV/AIDS\")} counseling to individuals`;\r\n } else {\r\n let label = `${serviceLabelList.join(',')}`;\r\n this.headerLabel = `${serviceLabelList.join(',')}`.replace(\" ,\", \", \");\r\n this.serviceLabel = `${label.replace(\" ,\", \", \")} testing and screening services and ${label.replace(\" ,\",\", \").replace(\"HIV\", \"HIV/AIDS\")} counseling to individuals`;\r\n }\r\n }\r\n }\r\n if (this.agreement_model.isRHDApproved == true || this.agreement_model.isRHDApproved == false) {\r\n this.isRHDApproved = true;\r\n this.approvePCAContract.controls[\"email_signature\"].setValue(this.agreement_model.isRHDApproved == true ? this.agreement_model.walgreenCoInfo.rhdName : null);\r\n this.approvePCAContract.controls[\"user_notes\"].setValue(this.agreement_model.notes);\r\n if (this.agreement_model.isRHDApproved == false) {\r\n this.selectedLink = \"Reject\";\r\n }\r\n this.approvePCAContract.controls[\"radioBtn\"].setValue(this.agreement_model.isRHDApproved == true ? \"1\" : this.agreement_model.isRHDApproved == false ? \"2\" : \"\");\r\n }\r\n this.clinicType = sessionStorage['clinic_type'];\r\n this.uploadTitle = \"Upload Proof of Insurance or Letter of Self-Insurance\";\r\n let tnCCutOffDate = new Date(this.tandC.tnCCutOffDate);\r\n let dateString = data.dateApproved.substring(0, data.dateApproved.indexOf('T')); // hack for TImezone for -9+\r\n let dateSplitTokens = dateString.split('-');\r\n var dateApproved = new Date(dateSplitTokens[0], dateSplitTokens[1] - 1, dateSplitTokens[2], 18, 30, 30);\r\n\r\n switch (sessionStorage[\"clinic_type\"]) {\r\n case 10:\r\n case \"10\":\r\n this.tandC = new LulaGov(data.storeInfo.state);\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
TESTING EVENT\";\r\n this.tandC.conditionalTnCInsurance = this.tandC.conditionalTnCInsurance.replace( new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n // if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"HIV testing and screening services and HIV/AIDS counseling to individuals\"\r\n // && dateApproved>=tnCCutOffDate && data.dateApproved ) {\r\n // this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HIV Testing and counseling services\");\r\n // }\r\n // else if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"Hepatitis C testing and screening services and Hepatitis C counseling to individuals\"\r\n // && dateApproved>=tnCCutOffDate && data.dateApproved) {\r\n // this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HCV Testing and counseling services\");\r\n // }\r\n // else if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"HIV and Hepatitis C testing and screening services and HIV/AIDS and Hepatitis C counseling to individuals\"\r\n // && dateApproved>=tnCCutOffDate && data.dateApproved) {\r\n // this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HIV and HCV Testing and counseling services\");\r\n // }\r\n break;\r\n case 11:\r\n case \"11\":\r\n this.tandC = new OpoLula(data.storeInfo.state);\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
ORGAN DONOR REGISTRATION EVENT\";\r\n break;\r\n case 12:\r\n case '12':\r\n this.tandC = new CancerLula(data.storeInfo.state);\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
CANCER SCREENING EVENT\";\r\n if(dateApproved>=tnCCutOffDate === true && data.dateApproved)\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"cancer screening services\");\r\n break; \r\n default:\r\n this.tandC = new LulaAso();\r\n this.lulaHdr = \"LIMITED USE LICENSE AGREEMENT
TESTING EVENT\";\r\n if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"HIV testing and screening services and HIV/AIDS counseling to individuals\"\r\n && dateApproved>=tnCCutOffDate && data.dateApproved ) {\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HIV Testing and counseling services\");\r\n }\r\n else if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"Hepatitis C testing and screening services and Hepatitis C counseling to individuals\"\r\n && dateApproved>=tnCCutOffDate && data.dateApproved) {\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HCV Testing and counseling services\");\r\n }\r\n else if (data.clinicList[0].clinicImzQtyList[0].immunizationName === \"HIV and Hepatitis C testing and screening services and HIV/AIDS and Hepatitis C counseling to individuals\"\r\n && dateApproved>=tnCCutOffDate && data.dateApproved) {\r\n this.tandC.insurance = this.tandC.conditionalTnCInsurance.replace('{0}', \"HIV and HCV Testing and counseling services\");\r\n }\r\n break;\r\n }\r\n if(this.clinicType == 8 || this.clinicType == 10) {\r\n\r\n this.tandC.conditionalTnCInsurance = this.tandC.conditionalTnCInsurance.replace( new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n \r\n this.tandC.use = this.tandC.use.map(paragraph => { return paragraph.replace(new RegExp('@serviceValue', 'g'), this.headerLabel);});\r\n\r\n\r\n this.tandC.term = this.tandC.term.replace( new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n this.tandC.tradenames_publications =this.tandC.tradenames_publications.replace( new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n this.tandC.indemnity = this.tandC.indemnity.map(paragraph => { return paragraph.replace(new RegExp('@serviceValue', 'g'), this.headerLabel);});\r\n this.tandC.surrender =this.tandC.surrender.replace( new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n this.tandC.insurance= this.tandC.insurance.replace( new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n this.tandC.miscellaneous= this.tandC.miscellaneous.replace( new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n this.tandC.conditionalTnCInsurance= this.tandC.conditionalTnCInsurance.replace( new RegExp(\"@serviceValue\", 'g'), this.headerLabel);\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n Save() {\r\n var client_info = new ClientInfo();\r\n if (this.approvePCAContract.value.email_signature.trim() == '' && this.approvePCAContract.value.user_notes.trim() == '') {\r\n if (!this.approvePCAContract.controls['radioBtn'].value) {\r\n this.showDialog('Approve Agreement Error', 'Please select either \\\"Approve\\\" or \\\"Request Changes\\\" option from Approve Agreement section.');\r\n }\r\n }\r\n if (this.approvePCAContract.valid) {\r\n\r\n this.disableBtn = true;\r\n if (this.agreement_model.isApproved) {\r\n switch (this.selectedLink) {\r\n case 'Approve':\r\n this.approvePCAContract.controls['email_signature'].setValidators([Validators.required]);\r\n this.agreement_model.isApproved = 1;\r\n this.agreement_model.isEmailSent = Number(this.agreement_model.isEmailSent);\r\n this.agreement_model.rhdSignature = this.approvePCAContract.controls[\"email_signature\"].value.trim();\r\n this.agreement_model.isRHDApproved = 1;\r\n this.agreement_model.contractPostedByUser = 'Business User';\r\n this.agreement_model.rvpApprovedOrRejectedBy = sessionStorage[\"approveRejectEmail\"];\r\n this.agreement_model.dateRHDApproved = new Date();\r\n client_info.client = this.agreement_model.testingPartnerInfo.businessName;\r\n client_info.name = this.agreement_model.clientInfo.name;\r\n client_info.title = this.agreement_model.clientInfo.title;\r\n client_info.reviewedDate = new Date();\r\n this.agreement_model.clientInfo = client_info;\r\n this._contractService.approveAgreementData(this.agreement_model.storeInfo.storeId, sessionStorage[\"clinic_type\"], true, this.agreement_model).subscribe((data: any) => {\r\n this.disableBtn = null;\r\n switch (data.errorS.errorCode) {\r\n case 'success':\r\n case null:\r\n case \"null\":\r\n case 0:\r\n case '0':\r\n SessionDetails.setIsPCA(true);\r\n this.router.navigate(['communityoutreach/storehome']);\r\n break;\r\n case -2:\r\n case '-2':\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n case -5:\r\n this.router.navigate(['/invalidCotract']);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled ErrorCode received from Service errorCode:{0}, errorMessage:{1}', data.errorS.errorCode, data.errorS.errorMessage));\r\n break;\r\n }\r\n },\r\n err => {\r\n this.disableBtn = null;\r\n // this.spinner.hide();\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['contract'], String.Format('ErrorCode 500 received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled exception ErrorCode received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n }\r\n });\r\n break;\r\n case 'Reject':\r\n if (this.approvePCAContract.controls[\"user_notes\"].value.trim() == '') {\r\n this.approvePCAContract.controls['user_notes'].setValue('');\r\n this.approvePCAContract.controls['user_notes'].updateValueAndValidity();\r\n this.disableBtn = null;\r\n this.utility.validateAllFormFields(this.approvePCAContract);\r\n return false;\r\n }\r\n this.agreement_model.isApproved = 0;\r\n this.agreement_model.isEmailSent = 1;\r\n this.agreement_model.rhdSignature = null;\r\n this.agreement_model.isRHDApproved = 0;\r\n this.agreement_model.notes = this.approvePCAContract.controls[\"user_notes\"].value.trim();\r\n this.agreement_model.contractPostedByUser = 'Business User';\r\n this.agreement_model.dateRHDApproved = new Date();\r\n this.agreement_model.rvpApprovedOrRejectedBy = sessionStorage[\"approveRejectEmail\"];\r\n client_info.client = this.agreement_model.testingPartnerInfo.businessName;\r\n client_info.name = this.agreement_model.clientInfo.name.trim();\r\n client_info.title = this.agreement_model.clientInfo.title;\r\n client_info.reviewedDate = new Date();\r\n this.agreement_model.clientInfo = client_info;\r\n this._contractService.approveAgreementData(this.agreement_model.storeInfo.storeId, sessionStorage[\"clinic_type\"], true, this.agreement_model).subscribe((data: any) => {\r\n this.disableBtn = null;\r\n switch (data.errorS.errorCode) {\r\n case 'success':\r\n case null:\r\n case \"null\":\r\n case 0:\r\n case '0':\r\n SessionDetails.setIsPCA(true);\r\n this.router.navigate(['communityoutreach/storehome']);\r\n break;\r\n case -2:\r\n case '-2':\r\n this.showDialog(ErrorMessages['contract'], data.errorS.errorMessage);\r\n break;\r\n case -5:\r\n this.router.navigate(['/invalidCotract']);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled ErrorCode received from Service errorCode:{0}, errorMessage:{1}', data.errorS.errorCode, data.errorS.errorMessage));\r\n break;\r\n }\r\n },\r\n err => {\r\n this.disableBtn = null;\r\n switch (err) {\r\n case 500:\r\n this.showDialog(ErrorMessages['contract'], String.Format('ErrorCode 500 received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n case 400:\r\n this.showDialog(ErrorMessages['clientError'], err.json().Message);\r\n break;\r\n default:\r\n this.showDialog(ErrorMessages['contract'], String.Format('Unhandled exception ErrorCode received from Service errorMessage:{0}', err.json().Message));\r\n break;\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n this.disableBtn = null;\r\n this.showDialog(ErrorMessages['contract'], \"Sorry, the testing partner must approve and sign this agreement, prior to the RVP. A change request may have been submitted, after a link was sent to you for approval. Once the testing partner approves and signs, you will receive another email for your approval and signature.\");\r\n }\r\n }\r\n else {\r\n this.utility.validateAllFormFields(this.approvePCAContract);\r\n }\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n this.display = true;\r\n }\r\n isSelected(name: string): boolean {\r\n if (!this.selectedLink) {\r\n return false;\r\n }\r\n return (this.selectedLink === name);\r\n }\r\n isFieldValid(field: string) {\r\n return !this.approvePCAContract.get(field).valid && this.approvePCAContract.get(field).touched;\r\n }\r\n isFieldValidStep(field: string) {\r\n return !this.PCAContractForm.get(field).valid && this.PCAContractForm.get(field).touched;\r\n }\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n displayFieldCssStep(field: string) {\r\n return {\r\n 'has-error': this.isFieldValidStep(field),\r\n 'has-feedback': this.isFieldValidStep(field)\r\n };\r\n }\r\n setradio(e: string): void {\r\n if (e == 'Approve') {\r\n this.disableSignature = true;\r\n this.approvePCAContract.controls['email_signature'].setValidators([Validators.required]);\r\n this.approvePCAContract.controls['email_signature'].updateValueAndValidity();\r\n this.approvePCAContract.controls['user_notes'].clearValidators();\r\n this.approvePCAContract.controls['user_notes'].updateValueAndValidity();\r\n this.approvePCAContract.controls['user_notes'].setValue('');\r\n }\r\n if (e == 'Reject') {\r\n this.disableSignature = null;\r\n this.approvePCAContract.controls['email_signature'].setValue('');\r\n this.approvePCAContract.controls['email_signature'].clearValidators();;\r\n this.approvePCAContract.controls['email_signature'].updateValueAndValidity();\r\n this.approvePCAContract.controls['user_notes'].setValidators([Validators.required]);\r\n this.approvePCAContract.controls['user_notes'].updateValueAndValidity();\r\n }\r\n this.selectedLink = e;\r\n }\r\n\r\n okClicked() {\r\n this.display = false;\r\n }\r\n Ok() {\r\n this.uploadDoc = false;\r\n }\r\n getProofOfInsurance(clinic_agreement_pk) {\r\n this._contractService.GetProofOfInsurance(clinic_agreement_pk).subscribe((data:any) => {\r\n this.proofInsurances = data;\r\n });\r\n }\r\n Delete(pk) {\r\n this._contractService.DeleteProofOfInsurance(pk).subscribe(data => {\r\n this.getProofOfInsurance(sessionStorage[\"clinic_agreement_pk\"]);\r\n });\r\n }\r\n private isValidFiles(files) {\r\n return this.isValidFileExtension(files);\r\n }\r\n private isValidFileExtension(files) {\r\n\r\n for (var i = 0; i < files.length; i++) {\r\n // Get file extension\r\n var ext = files[i].name.toLocaleUpperCase().split('.').pop() || files[i].name;\r\n\r\n // Check the extension exists\r\n var exists = this.fileExt.filter(element => element == ext);\r\n\r\n if (exists.length <= 0) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n Download(file_name) { \r\n window.open(environment.RESOURCES.PROOF_OF_DOCUMENTS + \"/\" + file_name);\r\n }\r\n\r\n print() {\r\n this.utility.print(\"asolulaContract\", \"Limited Use License Agreement\");\r\n }\r\n cancel() {\r\n if (this.isFromPcaDetails) {\r\n sessionStorage.removeItem(\"clinic_agreement_pk\");\r\n sessionStorage.removeItem(\"fromPcaDetails\");\r\n sessionStorage.removeItem(\"clinic_type\");\r\n this._location.back();\r\n }\r\n else if (this.isFromActionItemsReport) {\r\n sessionStorage.removeItem(\"clinic_agreement_pk\");\r\n sessionStorage.removeItem(\"fromActionItemsReport\");\r\n sessionStorage.removeItem(\"clinic_type\");\r\n this._location.back();\r\n } else {\r\n this.router.navigate(['/communityoutreach/pcahome']);\r\n }\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AddpcaComponent } from './components/addpca/addpca.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\r\nimport { LulaContractAgreementForUserComponent } from './components/lula-contract-agreement-for-user/lula-contract-agreement-for-user.component';\r\nimport { PcadetailsComponent } from './components/pcadetails/pcadetails.component';\r\nimport { RhdContractAgreementComponent } from './components/rhd-contract-agreement/rhd-contract-agreement.component';\r\nimport { AddTestingOrganizationService } from './Services/add-testing-organization.service';\r\nimport { ReusableModule } from '../common/components/reusable.module';\r\nimport { PcacontractAgreementService } from './Services/pcacontract-agreement.service';\r\nimport { AsolulaComponent } from './components/asolula/asolula.component';\r\nimport { PcaImmunizationsComponent } from './components/pca-immunizations/pca-immunizations.component';\r\nimport { PcaLocationComponent } from './components/pca-location/pca-location.component';\r\nimport { PcaPharmacyInfoComponent } from './components/pca-pharmacy-info/pca-pharmacy-info.component';\r\nimport { PcaAgreementComponent } from './components/pca-agreement/pca-agreement.component';\r\nimport { PcaContractsService } from './services/pca-contracts.service';\r\nimport { PcaLocationListComponent } from './components/pca-location-list/pca-location-list.component';\r\nimport { NgPipesModule } from 'ngx-pipes';\r\nimport { GovlulaAgreementComponent } from './components/govlula-agreement/govlula-agreement.component';\r\nimport { PcadetailstepsComponent } from './components/pcadetailsteps/pcadetailsteps.component';\r\nimport { PcaDetailsService } from './Services/pcadetailsservice.service';\r\nimport { OpolulaComponent } from './components/opolula/opolula.component';\r\nimport { CsslulaComponent } from './components/csslula/csslula.component';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { InputMaskModule } from 'primeng/inputmask';\r\nimport { KeyFilterModule } from 'primeng/keyfilter';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport {ConfirmationService} from 'primeng/api';\r\nimport { PcaAgreementComponent2022 } from './components/pca-agreement-Release2/pca-agreement-Release2.component';\r\nimport { LulaContractAgreementForUserrelease2Component } from './components/lula-contract-agreement-for-user-release2/lula-contract-agreement-for-user-release2.component';\r\nimport { RhdContractAgreementrelease2Component } from './components/rhd-contract-agreement-release2/rhd-contract-agreement-release2.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DialogModule,\r\n RouterModule,\r\n ReusableModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n AccordionModule,\r\n ConfirmDialogModule,\r\n CalendarModule,\r\n DialogModule,\r\n KeyFilterModule,\r\n NgPipesModule,\r\n InputMaskModule,NgxSpinnerModule\r\n ],\r\n declarations: [AddpcaComponent, LulaContractAgreementForUserComponent,LulaContractAgreementForUserrelease2Component,\r\n PcadetailsComponent, RhdContractAgreementComponent,RhdContractAgreementrelease2Component, AsolulaComponent, PcaImmunizationsComponent,\r\n PcaLocationComponent, PcaPharmacyInfoComponent, PcaAgreementComponent,PcaAgreementComponent2022, PcaLocationListComponent, \r\n GovlulaAgreementComponent,PcadetailstepsComponent, OpolulaComponent, CsslulaComponent],\r\n providers:[AddTestingOrganizationService,PcacontractAgreementService,PcaContractsService, ConfirmationService,PcaDetailsService]\r\n})\r\nexport class PatientcareadvocacyModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { WalgreenCo, Client } from '../../../models/contract';\r\nimport { PcaContract, PcaImmunization, PcaEvent, PcaEventSchedule, OpportunityInfo } from '../../../models/pcaclinic';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class PcaContractsService {\r\n private formData: PcaContract = new PcaContract();\r\n private contractData: PcaContract = new PcaContract();\r\n private lulaTandC: any;\r\n private isDataValidationsRequired: boolean = false;\r\n\r\n constructor(private _http: HttpClient) { }\r\n getImmunizationsList(agreement_pk, clinic_type) {\r\n let url = environment.API_URL + environment.RESOURCES.GET_IMMUNIZATION_LIST + \"/\" + agreement_pk + \"/\" + clinic_type;\r\n return this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n getImmunizationsData() {\r\n if (this.formData.immunization !== undefined) {\r\n let immunizationArray = [];\r\n if (this.formData.immunization != null) {\r\n immunizationArray.push(this.formData.immunization);\r\n }\r\n return immunizationArray;\r\n }\r\n else {\r\n return [];\r\n }\r\n }\r\n wipeData() {\r\n this.contractData.wipeData();\r\n this.formData.wipeData();\r\n }\r\n setImmunizationsData(data) {\r\n if (this.formData == null) {\r\n this.formData = new PcaContract();\r\n }\r\n if (!this.formData.immunization || !this.formData.immunization.length) {\r\n this.formData.immunization = new Array();\r\n }\r\n if (this.formData.pcaClinic == null) {\r\n this.formData.pcaClinic = new PcaEvent();\r\n }\r\n\r\n // if(data[0] != undefined && data[0].immunizationPk != undefined && data[0].immunizationPk != null) {\r\n // this.formData.immunization.immunizationPk = data[0].immunizationPk;\r\n // this.formData.immunization.immunizationName = data[0].immunizationName;\r\n // this.formData.pcaClinic.immunizationPk = data[0].immunizationPk;\r\n // this.formData.pcaClinic.immunizationName = data[0].immunizationName;\r\n // }\r\n if (data.length <= 0) {\r\n this.formData.immunization = null;\r\n } else {\r\n if (!this.formData.immunization.length) {\r\n data.map((immunization) => {\r\n this.formData.immunization.push({ immunizationPk: immunization.immunizationPk, immunizationName: immunization.immunizationName });\r\n // this.formData.pcaClinic.push({immunizationPk: immunization.immunizationPk, immunizationName: immunization.immunizationName});\r\n })\r\n } else {\r\n let immunizationiPkArray = this.formData.immunization.map((immunization) => immunization.immunizationPk);\r\n data.map((obj) => {\r\n if (!immunizationiPkArray.includes(obj.immunizationPk)) {\r\n this.formData.immunization.push({ immunizationPk: obj.immunizationPk, immunizationName: obj.immunizationName });\r\n this.formData.pcaClinic.immunization.push({ immunizationPk: obj.immunizationPk, immunizationName: obj.immunizationName });\r\n }\r\n })\r\n }\r\n }\r\n\r\n }\r\n fetchPcaContractAgreementData() {\r\n if (this.formData !== undefined) {\r\n return this.formData;\r\n }\r\n return null;\r\n }\r\n\r\n setSelectedImmunization(imm: any) {\r\n let immunizationiPkArray = this.formData.pcaClinic.immunization.map((immunization) => immunization.immunizationPk);\r\n if (this.formData.pcaClinic.immunization.length || !immunizationiPkArray.includes(imm.immunizationPk))\r\n this.formData.pcaClinic.immunization.push({\r\n immunizationPk: imm.immunizationPk,\r\n immunizationName: imm.immunizatioName\r\n })\r\n }\r\n\r\n getPcaContractData() {\r\n if (this.formData !== undefined) {\r\n return this.formData;\r\n }\r\n return null;\r\n }\r\n setPcaContractData(pcaCtData: any) {\r\n this.formData = pcaCtData;\r\n }\r\n setWalgreensWitnessData(wallgreenCoData: any) {\r\n if (this.formData.walgreenCoInfo == null) {\r\n this.formData.walgreenCoInfo = new WalgreenCo();\r\n }\r\n this.formData.walgreenCoInfo = wallgreenCoData;\r\n }\r\n setTestingLocation(testingLocation) {\r\n this.formData.isLocationReqAvailable = testingLocation.isLocationReqAvailable;\r\n this.formData.isHealthRoomAvailable = testingLocation.isHealthRoomAvailable;\r\n this.formData.pcaClinic = testingLocation;\r\n this.formData.pcaEvenScheduleList = testingLocation.locations;\r\n }\r\n getStoreRhdDetails(storeId) {\r\n let url = environment.API_URL + environment.RESOURCES.GET_RHD_DETAILS + \"/\" + storeId;\r\n return this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n getTotalCancelEvents(storeId, clinicAgreementPk) {\r\n let url = environment.API_URL + environment.RESOURCES.GET_CANCEREVENTS_COUNT + \"/\" + storeId + \"/\" + clinicAgreementPk;\r\n return this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n getTpOpportunityDetails(agreementPk: number, outReachPk: number) {\r\n let url = environment.API_URL + environment.RESOURCES.GET_TPOPPORTUNITY_DETAILS + \"/\" + agreementPk + \"/\" + outReachPk;\r\n return this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n getTpOpportunityDetailsUsingBusinessPk(businessPk: number) {\r\n let url = environment.API_URL + environment.RESOURCES.GET_PCA_OpportunityDetails + \"/\" + businessPk;\r\n return this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n setValidationsRequiredStatus(isvalidationsRequired: boolean) {\r\n this.isDataValidationsRequired = isvalidationsRequired;\r\n }\r\n getValidationsRequiredStatus() {\r\n return this.isDataValidationsRequired;\r\n }\r\n cacheDBContractData(dbData) {\r\n this.formData.clinicAgreementPk = this.contractData.clinicAgreementPk = dbData.clinicAgreementPk;\r\n this.formData.contactLogPk = this.contractData.contactLogPk = dbData.contactLogPk;\r\n this.formData.isLocationReqAvailable = this.contractData.isLocationReqAvailable = dbData.isLocationReqAvailable;\r\n this.formData.isHealthRoomAvailable = this.contractData.isHealthRoomAvailable = dbData.isHealthRoomAvailable;\r\n if (dbData.clinicImmunizationList != null && dbData.clinicImmunizationList != undefined &&\r\n dbData.clinicImmunizationList.length > 0) {\r\n this.contractData.immunization = new Array();\r\n this.formData.immunization = new Array();\r\n this.formData.immunization = dbData.clinicImmunizationList;\r\n this.contractData.immunization = dbData.clinicImmunizationList;\r\n\r\n if (dbData.clinicList != null && dbData.clinicList != undefined &&\r\n dbData.clinicList.length > 0) {\r\n this.contractData.pcaClinic = new PcaEvent();\r\n this.formData.pcaClinic = new PcaEvent();\r\n this.formData.pcaClinic = this.contractData.pcaClinic = dbData.clinicList[0];\r\n this.formData.pcaEvenScheduleList = this.contractData.pcaEvenScheduleList = [];\r\n dbData.clinicList.forEach(element => {\r\n let pcaEventSchedule = new PcaEventSchedule();\r\n pcaEventSchedule.eventDate = element.clinicDate;\r\n pcaEventSchedule.startTime = element.startTime;\r\n pcaEventSchedule.endTime = element.endTime;\r\n pcaEventSchedule.mobileOrg = element.mobileOrg;\r\n pcaEventSchedule.estimatedQuantity = element.clinicImzQtyList[0].estimatedQuantity;\r\n pcaEventSchedule.location = element.location;\r\n this.contractData.pcaEvenScheduleList.push(pcaEventSchedule);\r\n\r\n });\r\n this.formData.pcaEvenScheduleList = this.contractData.pcaEvenScheduleList;\r\n this.contractData.walgreenCoInfo = new WalgreenCo();\r\n this.contractData.walgreenCoInfo = dbData.walgreenCoInfo;\r\n this.contractData.testingPartner = new OpportunityInfo();\r\n this.formData.testingPartner = this.contractData.testingPartner = dbData.testingPartnerInfo;\r\n this.formData.store = this.contractData.store = dbData.storeInfo;\r\n this.contractData.licenseAgreementNum = dbData.licenseAgreementNum;\r\n this.contractData.businessUserEmails = dbData.businessUserEmails;\r\n this.contractData.isEmailSent = dbData.isEmailSent;\r\n this.contractData.isApproved = dbData.isApproved;\r\n this.contractData.isRhdApproved = dbData.isRHDApproved;\r\n this.formData.isCurrent = this.contractData.isCurrent = dbData.isCurrent;\r\n this.contractData.clinicAgreementPk = dbData.clinicAgreementPk;\r\n this.contractData.approvedOrRejectedBy = dbData.approvedOrRejectedBy;\r\n this.contractData.contactLogPk = dbData.contactLogPk;\r\n this.contractData.lastUpdatedDate = dbData.lastUpdatedDate;\r\n this.contractData.dateCreated = dbData.dateCreated;\r\n this.contractData.dateApproved = dbData.dateApproved;\r\n this.contractData.dateRHDApproved = dbData.dateRHDApproved;\r\n this.formData.notes = this.contractData.notes = dbData.notes;\r\n this.formData.signature = this.contractData.signature = dbData.signature;\r\n this.formData.rhdSignature = this.contractData.rhdSignature = dbData.rhdSignature;\r\n if (dbData.clientInfo) {\r\n this.formData.clientInfo = new Client();\r\n this.contractData.clientInfo = new Client();\r\n this.contractData.clientInfo = this.formData.clientInfo = dbData.clientInfo;\r\n }\r\n }\r\n return this.contractData;\r\n } else if (dbData.clinicList.length <= 0 && (Object.keys(dbData.testingPartnerInfo).length)) {\r\n this.contractData.pcaClinic = new PcaEvent();\r\n this.formData.pcaClinic = new PcaEvent();\r\n this.formData.pcaClinic.contactFirstName = dbData.testingPartnerInfo.firstName;\r\n this.formData.pcaClinic.contactLastName = dbData.testingPartnerInfo.lastName;\r\n this.formData.pcaClinic.contactEmail = dbData.testingPartnerInfo.email;\r\n this.formData.pcaClinic.jobTitle = dbData.testingPartnerInfo.jobTitle;\r\n this.formData.pcaClinic.contactPhone = dbData.testingPartnerInfo.phone;\r\n }\r\n\r\n }\r\n getPCAContractAgreement(agreement_pk) {\r\n var url = environment.API_URL + environment.RESOURCES.GET_PCA_CONTRACTAGREEMENT + \"/\" + agreement_pk;\r\n return this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n setLulaTandC(tAndC: any) {\r\n this.lulaTandC = tAndC;\r\n }\r\n getLulaTandC() {\r\n return this.lulaTandC;\r\n }\r\n validateRHDRVPEmails(store_id) {\r\n var url = environment.API_URL + environment.RESOURCES.VALIDATE_RHD_RVP + \"/\" + store_id;\r\n return this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup,FormBuilder } from '@angular/forms';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { ActivityReportService } from '../../services/activityreport.services';\r\nimport { ActivityReport } from '../../../../models/ActivityReport';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { CommonservicesService } from '../../services/commonservices.service';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { UserRole } from \"../../../../config-files/UserRole\";\r\n@Component({\r\n selector: 'app-activityreport',\r\n templateUrl: './activityreport.component.html',\r\n styleUrls: ['./activityreport.component.css']\r\n})\r\n\r\nexport class ActivityreportComponent implements OnInit {\r\n loading: boolean = true;\r\n \r\n showGrid:boolean = false;\r\n userProfile: any;\r\n activityReportForm: FormGroup;\r\n activityReportArray: any;\r\n private datasource: any;\r\n ddlFilterBy: any;\r\n ddlRegion: any;\r\n ddlArea: any;\r\n ddlPOd: any;\r\n ddlDistrict: any;\r\n ddlTimePeriod: string;\r\n \r\n private outreachEffort = ApplicationSettings.outreachEffortSO;\r\n totalRecords: number;\r\n markets: any = [];\r\n areas: any = [];\r\n districts: any = [];\r\n podList: any;\r\n ddlYear: any = [];\r\n ddlFiscalYear: any;\r\n ddlQuarter: any;\r\n ddlFormat: string;\r\n private isCurrentSeason: number;\r\n private outreachStartDate: Date;\r\n Filter: any;\r\n private userType: string = \"\";\r\n FilterByArray: any;\r\n showArea: boolean = true;\r\n showRegionFilter:boolean=false;\r\n showAreaFilter:boolean=false;\r\n showPodFilter = false;\r\n showDistrictFilter:boolean= false;\r\n showDistrict: boolean = true;\r\n showStoreId: boolean = true;\r\n showRegion:boolean=false;\r\n showFilterBy:boolean=true;\r\n showddlState = false;\r\n canExport:boolean=true;\r\n Quarter:any[];\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n private dt = new Date();\r\n private defaultQuarters:any[]=ApplicationSettings.getReportYearQuarters();\r\n private startMonth ={\r\n \"2018\":\"5\"\r\n }\r\n private month_names: any = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\r\n constructor( private fb: FormBuilder, private activityreport: ActivityReportService, private spinner: NgxSpinnerService, private common_services:CommonservicesService) {\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n if(this.userProfile.userRole.toLowerCase() == UserRole.ADMIN)\r\n this.userType = \"Region\";\r\n if (this.userProfile.userRole.toLowerCase() == UserRole.REGIONALVICEPRESIDENT || this.userProfile.userRole.toLowerCase() == UserRole.REGIONALHEALTHCAREDIRECTOR)\r\n this.userType = \"Area\";\r\n if (this.userProfile.userRole.toLowerCase() == UserRole.HEALTHCARESUPERVISOR || this.userProfile.userRole.toLowerCase() == UserRole.DIRECTORPHARMACYRETAILOPERATIONS)\r\n this.userType = \"Pod\";\r\n if(this.userProfile.userRole.toLocaleLowerCase() == UserRole.PODUSER)\r\n this.userType = \"District\";\r\n if(this.userProfile.userRole.toLocaleLowerCase() == UserRole.DISTRICTMANAGER)\r\n this.userType = \"District\";\r\n if (this.userType == \"\") {\r\n this.userType = \"-1\";\r\n }\r\n this.FilterByArray = new FilterByArray(null, null);\r\n if (this.userProfile.userRole == \"Admin\") {\r\n // this.Filter = [\r\n // new FilterByArray(\"0\", \"-- Select --\"),\r\n // new FilterByArray(\"1\", \"Region\"),\r\n // new FilterByArray(\"2\", \"Area\"),\r\n // new FilterByArray(\"3\", \"District\")\r\n // ];\r\n this.showRegionFilter=true;\r\n this.showAreaFilter=true;\r\n this.showPodFilter = true;\r\n this.showDistrictFilter = true;\r\n } else if (this.userProfile.userRole.toLowerCase() == UserRole.REGIONALVICEPRESIDENT || this.userProfile.userRole.toLowerCase() == UserRole.REGIONALHEALTHCAREDIRECTOR) {\r\n // this.Filter = [\r\n // new FilterByArray(\"0\", \"-- Select --\"),\r\n // new FilterByArray(\"2\", \"Area\"),\r\n // new FilterByArray(\"3\", \"District\")\r\n // ];\r\n this.showAreaFilter=true;\r\n this.showDistrictFilter = true;\r\n this.showPodFilter = true;\r\n } else if(this.userProfile.userRole.toLowerCase() == UserRole.HEALTHCARESUPERVISOR || this.userProfile.userRole.toLocaleLowerCase() == UserRole.DIRECTORPHARMACYRETAILOPERATIONS){\r\n this.showPodFilter = true;\r\n this.showDistrictFilter = true;\r\n this.showAreaFilter = false;\r\n this.showRegionFilter = false;\r\n } else if(this.userProfile.userRole.toLowerCase() == UserRole.PODUSER) {\r\n this.showDistrictFilter = true;\r\n this.showPodFilter = false;\r\n this.showAreaFilter = false;\r\n } else if(this.userProfile.userRole.toLowerCase()== UserRole.STOREMANAGER|| this.userProfile.userRole.toLowerCase()== UserRole.PHARMACYMANAGER || this.userProfile.userRole.toLowerCase() == UserRole.DISTRICTMANAGER ){\r\n this.showDistrictFilter=false;\r\n this.showPodFilter = false;\r\n this.showAreaFilter = false;\r\n }\r\n // this.showFilterBy=(this.Filter);\r\n }\r\n ngOnInit() {\r\n this.ddlFormat = \"xlsxv\";\r\n this.ddlFiscalYear = (new Date(ApplicationSettings.getSRStartDate(this.dt.getFullYear()))).getFullYear();\r\n this.ddlFilterBy = \"0\";\r\n this.ddlDistrict = \"-1\";\r\n this.ddlArea = \"-1\";\r\n this.ddlRegion = \"-1\";\r\n this.ddlPOd = \"-1\";\r\n this.ddlTimePeriod = \"0\";\r\n this.outreachStartDate = new Date(ApplicationSettings.getSRStartDate(this.dt.getFullYear()));\r\n\r\n this.isCurrentSeason = ((this.ddlFiscalYear) != (new Date(this.outreachStartDate).getFullYear()) ? 0 : 1);\r\n this.getRegionAreaDistrict(this.userType);\r\n this.outreachStartDate = new Date(ApplicationSettings.getSRStartDate(this.dt.getFullYear()));\r\n for (let int_year: number = parseInt(ApplicationSettings.reportStartYear); int_year <= this.outreachStartDate.getFullYear() + 1; int_year++) {\r\n\r\n this.ddlYear.push({\r\n \"yearName\": int_year.toString(),\r\n \"yearCode\": int_year.toString()\r\n });\r\n }\r\n if (this.ddlYear.length > 0) {\r\n this.ddlFiscalYear = this.outreachStartDate.getFullYear() + 1;\r\n }\r\n this.loadQuarters();\r\n \r\n this.ddlTimePeriod = ApplicationSettings.getSRCurrentQuarter().toString();\r\n this.getTimePeriod();\r\n this.setFormControls();\r\n //this.generateReport();\r\n };\r\n\r\n getRegionAreaDistrict(region){\r\n let regionVal = region == \"Pod\" ? \"pod\" : region == \"District\" ? \"podDistrict\" : region;\r\n this.common_services.getAreaDist(regionVal, 0).subscribe(data => {\r\n let dataList = data;\r\n this.markets = [];\r\n this.areas = [];\r\n this.podList = [];\r\n this.districts = [];\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n if (region == \"Region\")\r\n this.markets.push({ key: keyValue, value: valueData });\r\n else if(region == \"Area\")\r\n this.areas.push({ key: keyValue, value: valueData });\r\n else if( region == \"Pod\" )\r\n this.podList.push({ key: keyValue, value: valueData });\r\n else if ( region == \"District\")\r\n this.districts.push({ key: keyValue, value: valueData });\r\n else \r\n this.markets.push({ key: keyValue, value: valueData });\r\n\r\n } \r\n });\r\n }\r\nloadQuarters():void{\r\n this.Quarter=[];\r\n this.defaultQuarters.forEach(qtr => {\r\n this.Quarter.push(qtr);\r\n });\r\n let months_count: number = 20;\r\n let curr_date: Date = new Date();\r\n let year_start_month = this.outreachStartDate.getMonth() + 1;\r\n //if(this.startMonth[this.ddlFiscalYear - 1]){\r\n months_count = (curr_date.getMonth() < year_start_month) ? (year_start_month + 3) + curr_date.getMonth() : curr_date.getMonth() + 1;\r\n // }\r\n // else\r\n // months_count = 20;\r\n \r\n // let start_month_number = 8;\r\n // start_month_number = this.outreachStartDate.getMonth(); //(this.startMonth[this.ddlFiscalYear - 1]) ? this.startMonth[this.ddlFiscalYear - 1] : 8;\r\n // for (let i: number = start_month_number; i < months_count; i++) {\r\n // this.Quarter.push(\r\n // new QuarterArray(this.month_names[((i >= 12) ? i - 12 : i)], (this.Quarter.length + 1).toString()+\"-\"+this.month_names[((i >= 12) ? i - 12 : i)])\r\n // );\r\n // }\r\n}\r\nsetFormControls() {\r\n this.activityReportForm = this.fb.group({\r\n 'ddlFormat': [this.ddlFormat],\r\n 'ddlFiscalYear': [this.ddlFiscalYear,null],\r\n 'ddlRegion': [this.ddlRegion,null],\r\n 'ddlDistrict': [this.ddlDistrict,null],\r\n 'ddlArea': [this.ddlArea,null],\r\n 'ddlPod': [this.ddlPOd, null],\r\n 'ddlFilterBy': [this.ddlFilterBy,null],\r\n 'ddlTimePeriod': [this.ddlTimePeriod,null]\r\n });\r\n //this.generateReport();\r\n }\r\n \r\n\r\n generateReport(): void {\r\n if(!this.showGrid){\r\n this.spinner.show();\r\n }\r\n else{\r\n this.loading = true;\r\n }\r\n console.log(\"this.ddlFilterby:\" + this.ddlFilterBy);\r\n console.log(\"this.ddlArea:\" + this.ddlArea);\r\n console.log(\"this.ddlDistrict:\" + this.ddlDistrict);\r\n console.log(\"this.ddlFiscalYear:\" + this.ddlFiscalYear);\r\n console.log(\"this.ddlRegion:\" + this.ddlRegion);\r\n console.log(\"this.ddlPod:\" + this.ddlPOd);\r\n \r\n let outreach_start_date = this.getQuarterStartDate();\r\n let quarter = this.getSelectedQuarter();\r\n let data = this.activityReportForm.value;\r\n let ar: ActivityReport = new ActivityReport(this.userProfile.userPk, this.userProfile.userRole, data.ddlFilterBy, data.ddlRegion, data.ddlArea, this.ddlPOd, data.ddlDistrict, outreach_start_date, quarter.toString(), this.outreachEffort, this.isCurrentSeason, \"\", \"\");\r\n \r\n this.activityreport.getActivityReportData(ar).subscribe((resultArray: any) => {\r\n this.showStoreId = (data.ddlFilterBy > 0);\r\n this.showDistrict = ((data.ddlFilterBy > 0 || (!this.showDistrictFilter)) && data.ddlFilterBy < 3);\r\n this.showArea = (data.ddlFilterBy == 1 || (!this.showAreaFilter));\r\n this.datasource = resultArray;\r\n this.totalRecords = this.datasource.length;\r\n this.showRegion=(!this.showRegionFilter);\r\n this.activityReportArray = this.datasource;\r\n //console.log(\"this.activityReportArray:\" + this.activityReportArray.length);\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.showGrid = true;\r\n this.canExport=true;\r\n }, 1000)\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.activityReportArray = [];\r\n this.totalRecords = 0;\r\n });\r\n }\r\n generatereportformat(): void {\r\n this.loading = true;\r\n let outreach_start_date = this.getQuarterStartDate();\r\n let quarter = this.getSelectedQuarter();\r\n let data = this.activityReportForm.value;\r\n let ar: ActivityReport = new ActivityReport(this.userProfile.userPk, this.userProfile.userRole, data.ddlFilterBy, data.ddlRegion, data.ddlArea, data.ddlPOd, data.ddlDistrict, outreach_start_date, quarter.toString(), this.outreachEffort, this.isCurrentSeason, \"ActivityReport\", \"xlsxv\");\r\n \r\n this.activityreport.exportReportData(ar).subscribe((res:any) => {\r\n importedSaveAs(res.body, \"ActivityReport.xlsx\");\r\n this.loading = false;\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n\r\n getArea(event) {\r\n let region=this.activityReportForm.get(\"ddlRegion\").value;\r\n this.common_services.getAreaDist('Area', region).subscribe((data) => {\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.areas.push({ key: keyValue, value: valueData });\r\n };\r\n this.podList = [];\r\n this.districts = [];\r\n this.ddlPOd = -1;\r\n this.ddlArea = -1;\r\n this.ddlDistrict = -1;\r\n });\r\n this.canExport=false;\r\n }\r\n getPod() {\r\n let area=this.activityReportForm.get(\"ddlArea\").value;\r\n this.common_services.getAreaDist('pod', area).subscribe((data) => {\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.podList.push({ key: keyValue, value: valueData });\r\n };\r\n this.districts = [];\r\n this.ddlPOd = -1;\r\n this.ddlDistrict = -1;\r\n });\r\n this.canExport=false;\r\n };\r\n getOutreachStartDate() {\r\n let outreach_start_date = new Date();\r\n // Need to select the outreachstartdate based on the program selected\r\n //return outreach_start_date = new Date(appReportSettings[\"outreachStartDate\" + appReportSettings.outreachProgramSelected].Length == 0 ? new Date() : appReportSettings[\"outreachStartDate\" + appReportSettings.outreachProgramSelected]);\r\n\r\n }\r\n\r\n getDistrict(event) {\r\n let podNumber=this.activityReportForm.get(\"ddlPod\").value;\r\n this.common_services.getAreaDist('podDistrict', podNumber).subscribe((data) => {\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.districts.push({ key: keyValue, value: valueData });\r\n };\r\n //this.markets = data[0]; \r\n this.ddlDistrict = -1;\r\n });\r\n \r\n \r\n this.canExport=false;\r\n }\r\n getTimePeriod() {\r\n let month = new Date().getMonth() + 1;\r\n\r\n }\r\n\r\n onFiscalYearChanged():void{\r\n this.loadQuarters();\r\n this.canExport=false;\r\n }\r\n\r\n canExportOnchange(){ \r\n this.canExport=false;\r\n }\r\n validateExportType(){\r\n if(this.ddlFormat==\"0\"||this.canExport==false)\r\n return true;\r\n else\r\n return false;\r\n }\r\n getSelectedQuarter(){\r\n let data = this.activityReportForm.value;\r\n if(data.ddlTimePeriod.length>1){\r\n let selected_index = parseInt(data.ddlTimePeriod.substring(0,data.ddlTimePeriod.indexOf('-')));\r\n return selected_index;\r\n }\r\n else{\r\n return data.ddlTimePeriod;\r\n }\r\n }\r\n\r\n getQuarterStartDate(){\r\n let t_dt=\"\";\r\n let data = this.activityReportForm.value;\r\n if(data.ddlTimePeriod.length>1){\r\n let selected_index = parseInt(data.ddlTimePeriod.substring(0,this.ddlTimePeriod.indexOf('-')));\r\n let selected_month = data.ddlTimePeriod.substring(data.ddlTimePeriod.indexOf('-')+1);\r\n selected_month = this.month_names.indexOf(selected_month)+1;\r\n //if(selected_index > ((this.startMonth[this.ddlFiscalYear - 1]) ? 12 : 9)){\r\n if(selected_index > ((this.outreachStartDate.getMonth() +1) ? 12 : 9)){\r\n t_dt = selected_month + \"/01/\" + this.ddlFiscalYear; \r\n }else{\r\n t_dt = selected_month + \"/01/\" + (this.ddlFiscalYear - 1); \r\n }\r\n }\r\n else{\r\n this.isCurrentSeason = ((data.ddlFiscalYear) != (new Date(this.outreachStartDate).getFullYear()+1) ? 0 : 1);\r\n let outreach_start_date:any = new Date(new Date(((this.isCurrentSeason)?(((this.outreachStartDate.getMonth() +1)?(this.outreachStartDate.getMonth() +1) + \"/01/\":\"09/01/\")):\"09/01/\") + (data.ddlFiscalYear -1)));\r\n t_dt = ((outreach_start_date.getMonth() + 1) + \"/\" + outreach_start_date.getDate() + \"/\" + outreach_start_date.getFullYear());\r\n }\r\n return t_dt;\r\n\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n\r\n reset(): void {\r\n //this.loading = true;\r\n \r\n this.showGrid = false;\r\n this.ddlFormat = \"xlsxv\";\r\n this.ddlFiscalYear = this.outreachStartDate.getFullYear() + 1;\r\n this.ddlFilterBy = \"0\";\r\n this.ddlDistrict = \"-1\";\r\n this.ddlArea = \"-1\";\r\n this.ddlRegion = \"-1\";\r\n let region = this.showddlState ? \"Region\" : \"Area\";\r\n this.getRegionAreaDistrict(region);\r\n this.ddlTimePeriod = ApplicationSettings.getSRCurrentQuarter().toString();\r\n this.setFormControls(); \r\n \r\n //this.generateReport();\r\n }\r\n}\r\nexport class FilterByArray {\r\n constructor(public id: string, public name: string) { }\r\n}\r\nexport class QuarterArray {\r\n constructor(public name: string, public id: string) { }\r\n}\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { LeadOpportunitiesService } from '../../../contractaggreement/services/lead-opportunities.service';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport * as appSettings from '../../globals';\r\n\r\n@Component({\r\n selector: 'app-contact-us-report',\r\n templateUrl: './contact-us-report.component.html',\r\n styleUrls: ['./contact-us-report.component.css']\r\n})\r\nexport class ContactUsReportComponent implements OnInit {\r\n LeadGenerationForm: FormGroup;\r\n LeadGenerationReportArray: any;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n loading: boolean;\r\n lgRData: any = [];\r\n ddlFormat: string = 'xlsxv';\r\n leadLaunchDate = \"05/01/2020\";\r\n seasons: any = [];\r\n ddlSeason: number;\r\n outreachStartDate = ApplicationSettings.outreachStartDateIP;\r\n private isCurrentSeason = 1;\r\n filterByDate: boolean = false;\r\n fromDate: Date;\r\n toDate: Date;\r\n minDate: Date;\r\n maxDate: Date;\r\n canExport: boolean = true;\r\n private currentSeason = appSettings.ipSeason;\r\n from_date: string;\r\n to_date: string;\r\n\r\n constructor(private fb: FormBuilder, private leadService: LeadOpportunitiesService, private spinner: NgxSpinnerService) { }\r\n\r\n ngOnInit() {\r\n for (let report_year: number = (new Date()).getFullYear(); report_year >= (new Date(this.leadLaunchDate)).getFullYear(); report_year--) {\r\n this.seasons.push({\r\n \"yearName\": report_year.toString() + \"-\" + (report_year + 1).toString(),\r\n \"yearCode\": report_year.toString()\r\n });\r\n }\r\n this.ddlSeason = (new Date(this.outreachStartDate)).getFullYear();\r\n this.setDates();\r\n this.setFormControls();\r\n this.loadReport();\r\n //this.generateReport();\r\n }\r\n setFormControls() {\r\n this.LeadGenerationForm = this.fb.group({\r\n 'filterByDate': [this.filterByDate],\r\n 'fromDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'toDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'ddlSeason': [this.ddlSeason],\r\n 'ddlFormat': [\"xlsxv\"],\r\n 'covidOnly': [false],\r\n 'isCurrentSeason': [this.isCurrentSeason],\r\n 'reportname': [\"contactUs\"],\r\n });\r\n }\r\n \r\n loadReport()\r\n {\r\n this.loading = true;\r\n let data = this.LeadGenerationForm.value;\r\n let leadModel = { isCovid: false, ddlFormat: \"xlsxv\", ddlSeason: data.ddlSeason, filterByDate: data.filterByDate, fromDate: data.fromDate, isCurrentSeason: this.isCurrentSeason, reportname: \"Contact-Us\", toDate: data.toDate };\r\n this.leadService.getContactUsReport(leadModel).subscribe((resultArray: any) => {\r\n resultArray.filter(p=>p.industry == 'Other').forEach(element => {\r\n element.industry = \"Other (\"+element.otherIndustry+\")\";\r\n });\r\n this.lgRData = resultArray;\r\n this.loading = false;\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.lgRData = [];\r\n });\r\n\r\n }\r\n\r\n generateReport(): void {\r\n // \r\n this.loading = true;\r\n let data = this.LeadGenerationForm.value;\r\n let leadModel = { isCovid: false, ddlFormat: \"xlsxv\", ddlSeason: data.ddlSeason, filterByDate: data.filterByDate, fromDate: data.fromDate, isCurrentSeason: this.isCurrentSeason, reportname: \"Contact-Us\", toDate: data.toDate };\r\n this.leadService.getContactUsReport(leadModel).subscribe((resultArray: any) => {\r\n this.lgRData = resultArray;\r\n this.loading = false;\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.lgRData = [];\r\n });\r\n }\r\n generateReportFormat(): void {\r\n // \r\n //if(this.ddlFormat == '0'){\r\n // return;\r\n //}\r\n this.loading = true;\r\n let data = this.LeadGenerationForm.value;\r\n this.LeadGenerationForm.value.isCurrentSeason = this.isCurrentSeason;\r\n this.leadService.exportReportData(this.LeadGenerationForm.value).subscribe((res: any) => {\r\n importedSaveAs(res.body, \"contactUs.xlsx\");\r\n this.loading = false;\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n setDates() {\r\n if (this.LeadGenerationForm != undefined) {\r\n this.ddlSeason = this.LeadGenerationForm.controls['ddlSeason'].value;\r\n }\r\n let tempMinDate: Date;\r\n let tempMaxDate: Date;\r\n tempMinDate = new Date(ApplicationSettings.getIMmunizationStartDate(this.ddlSeason));\r\n tempMaxDate = new Date(ApplicationSettings.getImmunizationEndDate(this.ddlSeason));\r\n this.minDate = new Date(tempMinDate);\r\n this.maxDate = new Date(tempMaxDate)\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n this.canExport = false;\r\n if (this.LeadGenerationForm != undefined) {\r\n this.LeadGenerationForm.controls['fromDate'].setValue(this.fromDate);\r\n this.LeadGenerationForm.controls['toDate'].setValue(this.toDate);\r\n }\r\n\r\n this.isCurrentSeason = (this.ddlSeason != this.currentSeason) ? 0 : 1;\r\n }\r\n setCalendarDates() {\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n this.canExport = false;\r\n }\r\n reset(): void {\r\n this.setFormControls();\r\n this.ddlSeason = this.currentSeason;\r\n this.setDates();\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { LeadOpportunitiesService } from '../../../contractaggreement/services/lead-opportunities.service';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { saveAs } from 'file-saver';\r\n\r\n@Component({\r\n selector: 'app-covid-contact-us-report',\r\n templateUrl: './covid-contact-us-report.component.html',\r\n styleUrls: ['./covid-contact-us-report.component.css']\r\n})\r\n\r\nexport class CovidContactUsReportComponent implements OnInit {\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n loading: boolean;\r\n lgRData: any = [];\r\n ddlFormat: string = '0';\r\n canExport: boolean = true;\r\n constructor(private leadService: LeadOpportunitiesService, private spinner: NgxSpinnerService) { }\r\n\r\n ngOnInit() {\r\n this.generateReport();\r\n }\r\n\r\n generateReport(): void {\r\n this.loading = true;\r\n this.spinner.show();\r\n let leadModel = { isCurrentSeason: 1, isCovid: true, fromDate: new Date(), toDate: new Date(),covidOpportunityTYpe:0 };\r\n this.leadService.getContactUsReport(leadModel).subscribe((resultArray: any) => {\r\n this.lgRData = resultArray;\r\n this.loading = false;\r\n this.canExport = true;\r\n this.spinner.hide();\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.lgRData = [];\r\n });\r\n }\r\n generateReportFormat(): void {\r\n if (this.ddlFormat == '0') {\r\n return;\r\n }\r\n this.loading = true;\r\n this.spinner.show();\r\n let leadModel = { isCurrentSeason: 1, isCovid: true, fromDate: new Date(), toDate: new Date(), ddlFormat: \"xlsxv\",covidOpportunityTYpe:0 };\r\n this.leadService.exportReportData(leadModel).subscribe((res: any) => {\r\n importedSaveAs(res.body, 'COVID ContactUs.xlsx');\r\n this.loading = false;\r\n this.spinner.hide();\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n // generateReportFormat2(): void {\r\n // this.loading = true;\r\n // if (this.ddlFormat == '0') {\r\n // return;\r\n // }\r\n // if (this.ddlFormat == \"xlsxv1\") {\r\n // this.leadService.exportReportDataV2().subscribe(res => {\r\n // //importedSaveAs(res, this.scheduleclinicreport.filename);\r\n // var dat = res.json();\r\n // if (dat) {\r\n // let url = environment.API_URL + \"/\" + dat;\r\n // window.open(url);\r\n // }\r\n // this.loading = false;\r\n\r\n // }, error => {\r\n // this.loading = false;\r\n // this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n // });\r\n // }\r\n // }\r\n validateExportType() {\r\n if (this.ddlFormat == \"0\" || !this.canExport)\r\n return true;\r\n else\r\n return false;\r\n }\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { GroupIdAssignmentReportService } from '../../services/groupidassignmentreport.services';\r\nimport * as appSettings from '../../globals';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n@Component({\r\n selector: 'app-covid-groupidassignmentreport',\r\n templateUrl: './covid-groupidassignmentreport.component.html',\r\n styleUrls: ['./covid-groupidassignmentreport.component.css']\r\n})\r\nexport class CovidGroupidassignmentreportComponent implements OnInit {\r\n GroupidassignmentreportForm: FormGroup;\r\n GroupidassignmentreportArray: any;\r\n ddlSeason: number;\r\n private isCurrentSeason = 1;\r\n ddlFormat: any;\r\n filterByDate: boolean = false;\r\n fromDate: Date;\r\n toDate: Date;\r\n minDate: Date;\r\n maxDate: Date;\r\n outreachStartDate = ApplicationSettings.outreachStartDateCovid;\r\n //groupIdLaunchDate = \"05/01/2018\";\r\n private from_date: string;\r\n private to_date: string;\r\n\r\n totalRecords: number;\r\n loading: boolean;\r\n private currentSeason = appSettings.covidSeason;\r\n seasons: any = [];\r\n canExport: boolean = true;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n\r\n showGrid: boolean = false;\r\n covidOnly: boolean = true;\r\n constructor(\r\n private fb: FormBuilder,\r\n private groupidassignmentreport: GroupIdAssignmentReportService,\r\n /* private logger: NGXLogger,*/ private spinner: NgxSpinnerService) {\r\n }\r\n ngOnInit() {\r\n for (let report_year: number = (new Date(this.outreachStartDate)).getFullYear(); report_year >=parseInt(appSettings.covidReportStartYear) ; report_year--){\r\n this.seasons.push({\r\n \"yearName\": report_year.toString() + \"-\" + (report_year + 1).toString(),\r\n \"yearCode\": report_year.toString()\r\n });\r\n }\r\n this.ddlSeason = (new Date(this.outreachStartDate)).getFullYear();\r\n\r\n this.ddlFormat = \"0\";\r\n this.filterByDate = false;\r\n this.setFormControls();\r\n this.setDates();\r\n this.fromDate = this.minDate;\r\n this.toDate = this.maxDate;\r\n\r\n\r\n //this.generateReport();\r\n }\r\n setFormControls() {\r\n this.GroupidassignmentreportForm = this.fb.group({\r\n 'chkFilterByDate': this.filterByDate,\r\n 'fDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'tDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'ddlSeason': [this.ddlSeason],\r\n 'ddlFormat': [\"0\"],\r\n 'covidOnly': [true]\r\n });\r\n }\r\n\r\n generateReport(): void {\r\n \r\n if (!this.showGrid) {\r\n this.spinner.show();\r\n }\r\n else {\r\n this.loading = true;\r\n }\r\n let data = this.GroupidassignmentreportForm.value;\r\n let d1 = data.fDate;\r\n let d2 = data.tDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n // this.logger.log(this.from_date);\r\n //this.logger.log(this.to_date);\r\n\r\n if (this.ddlSeason != this.currentSeason) {\r\n this.isCurrentSeason = 0;\r\n }\r\n this.groupidassignmentreport.getGroupidassignmentreportData(\r\n this.from_date,\r\n this.to_date, this.filterByDate, this.isCurrentSeason, this.ddlSeason, this.covidOnly).subscribe((resultArray: any) => {\r\n this.totalRecords = resultArray.length;\r\n // this.logger.log(\"totalRecords:\" + this.totalRecords);\r\n this.GroupidassignmentreportArray = resultArray;\r\n // this.logger.log(\"this.GroupidassignmentreportArray:\" + this.GroupidassignmentreportArray.length);\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.showGrid = true;\r\n this.canExport = true;\r\n }, 1000)\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.GroupidassignmentreportArray = [];\r\n this.totalRecords = 0;\r\n });\r\n this.canExport = true;\r\n }\r\n generateReportFormat(): void {\r\n \r\n this.loading = true;\r\n this.groupidassignmentreport.exportReportData(this.from_date,\r\n this.to_date, this.filterByDate, this.isCurrentSeason, this.ddlSeason, \"GroupIdAssignment\", \"xlsxv\", this.covidOnly).subscribe((res: any) => {\r\n importedSaveAs(res.body, \"GroupIdAssignment.xlsx\");\r\n this.loading = false;\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n setDates() {\r\n if (this != undefined) {\r\n this.ddlSeason = this.GroupidassignmentreportForm.controls['ddlSeason'].value;\r\n }\r\n let tempMinDate: Date;\r\n let tempMaxDate: Date;\r\n tempMinDate = new Date(ApplicationSettings.getCovidStartDate(this.ddlSeason));\r\n tempMaxDate = new Date(ApplicationSettings.getCovidEndDate(this.ddlSeason));\r\n this.minDate = new Date(tempMinDate);\r\n this.maxDate = new Date(tempMaxDate)\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n this.canExport = false;\r\n\r\n this.isCurrentSeason = (this.ddlSeason != this.currentSeason) ? 0 : 1;\r\n if (this.GroupidassignmentreportForm != undefined) {\r\n this.GroupidassignmentreportForm.controls['fDate'].setValue(this.fromDate);\r\n this.GroupidassignmentreportForm.controls['tDate'].setValue(this.toDate);\r\n }\r\n }\r\n setCalendarDates() {\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n this.canExport = false;\r\n }\r\n reset(): void {\r\n //this.loading = true;\r\n this.showGrid = false;\r\n this.ddlSeason = this.currentSeason;\r\n this.ddlFormat = 0;\r\n this.setDates();\r\n this, this.covidOnly = true;\r\n //this.generateReport();\r\n }\r\n validateExportType() {\r\n this.ddlFormat = this.GroupidassignmentreportForm.controls['ddlFormat'].value;\r\n if (this.ddlFormat == \"0\" || !this.canExport/*==false*/)\r\n return true;\r\n else\r\n return false;\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { Router } from '../../../../../../node_modules/@angular/router';\r\nimport { HighLevelStatus } from '../../../../models/HighLevelStatus';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { HighlevelstatusService } from '../../services/highlevelstatus.service';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { states } from '../../../../JSON/States';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-covid-highlevelstatusreportrt',\r\n templateUrl: './covid-highlevelstatusreportrt.component.html',\r\n styleUrls: ['./covid-highlevelstatusreportrt.component.css']\r\n})\r\n\r\nexport class CovidHighlevelstatusreportrtComponent implements OnInit {\r\n userProfile: any;\r\n showFilters: boolean = false;\r\n isPCA: boolean = false;\r\n highLevelStatusArray: any;\r\n private outreachEffort: number;\r\n totalRecords: number;\r\n ddlFormat: any;\r\n minDate: any;\r\n maxDate: any;\r\n fromDate: any;\r\n toDate: any;\r\n loading: boolean = false;\r\n canExport: boolean = true;\r\n showDistrictNames: boolean = false;\r\n districtNames: any = [];\r\n ddlDistrict: string;\r\n reportName: string = \"HighLevelStatus\";\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n covidOnly: boolean = true;\r\n stateList: any = [];\r\n ddlState: string = \"All\";\r\n private selectedDistrictId: number = null;\r\n covidHighlevelStatusForm: FormGroup;\r\n constructor(private router: Router, private highLevelStatus: HighlevelstatusService, private fb: FormBuilder) {\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n this.showDistrictNames = (this.userProfile.userRole.toLowerCase() != \"admin\" && this.userProfile.userRole.toLowerCase() != \"district manager\");\r\n if (this.router.url.indexOf('immunization') > -1) {\r\n this.showFilters = true;\r\n this.outreachEffort = ApplicationSettings.outreachEffortIP;\r\n }\r\n else if (this.router.url.indexOf('patientcareadvocacy') > -1) {\r\n this.isPCA = true;\r\n this.outreachEffort = 4;\r\n } else {\r\n this.outreachEffort = ApplicationSettings.outreachEffortSO;\r\n }\r\n }\r\n ngOnInit() {\r\n if (this.showDistrictNames) {\r\n this.highLevelStatus.getDistrictNames(this.userProfile.userPk).subscribe((resultArray: any) => {\r\n this.districtNames.push({\r\n \"districtNumber\": 0,\r\n \"Name\": \"All Districts\",\r\n \"userPk\": this.userProfile.userPk\r\n });\r\n resultArray.forEach(element => {\r\n this.districtNames.push(element);\r\n });\r\n });\r\n this.ddlDistrict = this.userProfile.userPk;\r\n this.selectedDistrictId = 0;\r\n }\r\n this.ddlFormat = \"0\";\r\n\r\n if (this.showFilters || this.isPCA) {\r\n this.setDates();\r\n } else {\r\n this.fromDate = (ApplicationSettings.getOutreachStartDate());\r\n this.toDate = (ApplicationSettings.getOutreachEndDate());\r\n if (this.outreachEffort == 1) {\r\n //this.fromDate = new Date(\"09/01/\" + this.fromDate.getFullYear());\r\n let dt = new Date();\r\n this.fromDate = ApplicationSettings.getSRStartDate(dt.getFullYear());\r\n this.toDate = ApplicationSettings.getSREndDate(dt.getFullYear());\r\n }\r\n }\r\n if (this.isPCA) {\r\n this.reportName = this.reportName + \"PCA\";\r\n }\r\n this.getStates();\r\n this.setFormControls();\r\n this.generateReport();\r\n };\r\n setFormControls() {\r\n this.covidHighlevelStatusForm = this.fb.group({\r\n 'fromDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'toDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'ddlState': [\"All\"],\r\n 'ddlDistricts':[0],\r\n 'outputType': [\"0\"]\r\n });\r\n }\r\n getStates(): void {\r\n this.stateList = states;\r\n }\r\n\r\n generateReport(): void {\r\n this.loading = true;\r\n let hlsr: HighLevelStatus;\r\n let data = this.covidHighlevelStatusForm.value;\r\n let f_date = new Date(this.fromDate);\r\n let t_date = new Date(this.toDate);\r\n var fr_date = f_date.getMonth() + 1 + \"/\" + f_date.getDate() + \"/\" + f_date.getFullYear();\r\n var tt_date = t_date.getMonth() + 1 + \"/\" + t_date.getDate() + \"/\" + t_date.getFullYear();\r\n hlsr = new HighLevelStatus(data.ddlState, this.outreachEffort.toString(), ((this.showDistrictNames) ? this.ddlDistrict : this.userProfile.userPk), data.ddlDistricts, data.fromDate, data.toDate, this.covidOnly, \"\", \"\");\r\n\r\n this.highLevelStatus.getHighLevelStatusReportData(hlsr).subscribe((resultArray: any) => {\r\n this.totalRecords = resultArray.length;\r\n\r\n this.highLevelStatusArray = resultArray;\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.canExport = true;\r\n }, 1000)\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.highLevelStatusArray = [];\r\n this.totalRecords = 0;\r\n });\r\n }\r\n generatereportformat(): void {\r\n this.loading = true;\r\n let hlsr: HighLevelStatus;\r\n let data = this.covidHighlevelStatusForm.value;\r\n let f_date = new Date(this.fromDate);\r\n let t_date = new Date(this.toDate);\r\n var fr_date = f_date.getMonth() + 1 + \"/\" + f_date.getDate() + \"/\" + f_date.getFullYear();\r\n var tt_date = t_date.getMonth() + 1 + \"/\" + t_date.getDate() + \"/\" + t_date.getFullYear();\r\n hlsr = new HighLevelStatus(data.ddlState, this.outreachEffort.toString(), ((this.showDistrictNames) ? this.ddlDistrict : this.userProfile.userPk), this.selectedDistrictId, data.fromDate, data.toDate, this.covidOnly, this.reportName, data.outputType);\r\n\r\n this.highLevelStatus.exportReportData(hlsr).subscribe((res: any) => {\r\n importedSaveAs(res.body, this.reportName + \".xlsx\");\r\n this.loading = false;\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n\r\n setDates() {\r\n let tempMinDate: Date;\r\n let tempMaxDate: Date;\r\n var tmp_year = new Date();\r\n if (this.isPCA) {\r\n tempMinDate = new Date(ApplicationSettings.getPCAStartDate(tmp_year.getFullYear()));\r\n tempMaxDate = new Date(ApplicationSettings.getPCAEndDate(tmp_year.getFullYear()));\r\n }\r\n else {\r\n tempMinDate = new Date(ApplicationSettings.getCovidStartDate(tmp_year.getFullYear()));\r\n tempMaxDate = new Date(ApplicationSettings.getCovidEndDate(tmp_year.getFullYear()));\r\n if (this.outreachEffort == 1) {\r\n // tempMinDate = new Date(\"09/01/\" + tempMinDate.getFullYear());\r\n // tempMaxDate = new Date(\"08/31/\" + tempMaxDate.getFullYear());\r\n let dt = new Date();\r\n tempMinDate = ApplicationSettings.getSRStartDate(dt.getFullYear());\r\n tempMaxDate = ApplicationSettings.getSREndDate(dt.getFullYear());\r\n }\r\n }\r\n this.minDate = new Date(tempMinDate);\r\n this.maxDate = new Date(tempMaxDate)\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n this.canExport = false;\r\n }\r\n reset() {\r\n this.ddlFormat = \"0\";\r\n this.ddlState = \"All\";\r\n this.covidOnly = true;\r\n if (this.showFilters || this.isPCA) {\r\n this.ddlDistrict = this.userProfile.userPk;\r\n this.selectedDistrictId = 0;\r\n this.setDates();\r\n } else {\r\n this.fromDate = (ApplicationSettings.getOutreachStartDate());\r\n this.toDate = (ApplicationSettings.getOutreachEndDate());\r\n if (this.outreachEffort == 1) {\r\n let dt = new Date();\r\n this.fromDate = ApplicationSettings.getSRStartDate(dt.getFullYear());\r\n this.toDate = ApplicationSettings.getSREndDate(dt.getFullYear());\r\n //this.fromDate = new Date(\"09/01/\" + this.fromDate.getFullYear());\r\n //this.toDate = new Date(\"08/31/\" + this.toDate.getFullYear());\r\n }\r\n this.ddlDistrict = this.userProfile.userPk;\r\n this.selectedDistrictId = 0;\r\n }\r\n this.setFormControls();\r\n this.generateReport();\r\n }\r\n\r\n validateExportType() {\r\n if (this.ddlFormat == \"0\" || !this.canExport)\r\n return true;\r\n else\r\n return false;\r\n }\r\n canExportOnchange() {\r\n this.canExport = false;\r\n }\r\n\r\n onDistrictChange(event: Event) {\r\n let ctrl = event.target || event.currentTarget || event.srcElement;\r\n let select_element_text = ctrl['options'][ctrl['options'].selectedIndex].text;\r\n var tmp = this.districtNames.filter(district => district.userPk.toString() == this.ddlDistrict && select_element_text.indexOf(district.districtNumber) > -1);\r\n this.selectedDistrictId = (tmp.length > 0) ? tmp[0].districtNumber : 0; \r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport * as appSettings from '../../globals';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MinimumshotexceptionsService } from '../../services/minimumshotexceptions.service';\r\nimport { MinimumShotExceptions } from '../../../../models/MinimumShotExceptions';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n\r\n@Component({\r\n selector: 'app-covid-minimumshotexceptions-report',\r\n templateUrl: './covid-minimumshotexceptions-report.component.html',\r\n styleUrls: ['./covid-minimumshotexceptions-report.component.css']\r\n})\r\n\r\nexport class CovidMinimumshotexceptionsReportComponent implements OnInit {\r\n minimumShotExceptionsForm: FormGroup;\r\n minimumShotExceptionsReportArray: any;\r\n ddlSeason: number;\r\n ddlClinicStatus: string;\r\n ddlClinicType: string;\r\n fromDate: Date;\r\n toDate: Date;\r\n ddlFormat: any;\r\n minDate: any;\r\n maxDate: any;\r\n season: any = [];\r\n filterByDate: boolean = false;\r\n canExport: boolean = true;\r\n outreachStartDate = ApplicationSettings.outreachStartDateCovid;\r\n seasons: any = [];\r\n private isCurrentSeason = 1;\r\n totalRecords: number;\r\n loading: boolean;\r\n includeDates: boolean = false;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n private currentSeason = appSettings.covidSeason;\r\n\r\n private from_date: string;\r\n private to_date: string;\r\n rowGroupMetadata: any;\r\n\r\n showGrid: boolean = false;\r\n covidOnly: boolean = true;\r\n constructor(private minimum_shot_exceptions_service: MinimumshotexceptionsService, private spinner: NgxSpinnerService, private fb: FormBuilder) { }\r\n\r\n ngOnInit() {\r\n for (let report_year: number = (appSettings.covidSeason); report_year >= parseInt(appSettings.covidReportStartYear); report_year--) {\r\n this.seasons.push({\r\n \"yearName\": report_year.toString() + \"-\" + (report_year + 1).toString(),\r\n \"yearCode\": report_year.toString()\r\n });\r\n }\r\n this.includeDates = false;\r\n this.ddlSeason = (new Date(this.outreachStartDate)).getFullYear();\r\n this.setDates();\r\n this.ddlFormat = \"0\";\r\n this.fromDate = this.minDate;\r\n this.toDate = this.maxDate;\r\n this.setFormControls();\r\n //this.generateReport();\r\n }\r\n setFormControls() {\r\n this.minimumShotExceptionsForm = this.fb.group({\r\n 'fromDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'toDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'ddlSeason': [this.currentSeason],\r\n 'includeDates': [false],\r\n 'ddlFormat': [\"0\"],\r\n 'covidOnly': [true]\r\n });\r\n }\r\n generateReport(): void {\r\n if (!this.showGrid) {\r\n this.spinner.show();\r\n } else {\r\n this.loading = true;\r\n }\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n let data = this.minimumShotExceptionsForm.value;\r\n if (data.ddlSeason != this.currentSeason) {\r\n this.isCurrentSeason = 0;\r\n }\r\n else {\r\n this.isCurrentSeason = 1;\r\n }\r\n let mse = new MinimumShotExceptions(data.fromDate, data.toDate, JSON.parse(this.isCurrentSeason.toString()), JSON.parse(data.includeDates.toString()), \"\", \"\", this.covidOnly);\r\n\r\n this.minimum_shot_exceptions_service.getExceptionShotDetailsReport(mse).subscribe((resultArray: any) => {\r\n this.totalRecords = resultArray.length;\r\n this.minimumShotExceptionsReportArray = resultArray;\r\n setTimeout(() => {\r\n this.spinner.hide();\r\n this.loading = false;\r\n this.canExport = true;\r\n this.showGrid = true;\r\n }, 1000)\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.minimumShotExceptionsReportArray = [];\r\n this.totalRecords = 0;\r\n });\r\n\r\n }\r\n\r\n generateReportFormat(): void {\r\n this.loading = true;\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n let data = this.minimumShotExceptionsForm.value;\r\n if (data.ddlSeason != this.currentSeason) {\r\n this.isCurrentSeason = 0;\r\n }\r\n else {\r\n this.isCurrentSeason = 1;\r\n }\r\n let mse = new MinimumShotExceptions(data.fromDate, data.toDate, JSON.parse(this.isCurrentSeason.toString()), JSON.parse(data.includeDates.toString()), \"MinimumShotExceptions\", data.ddlFormat, this.covidOnly);\r\n\r\n this.minimum_shot_exceptions_service.exportReportData(mse).subscribe((res: any) => {\r\n importedSaveAs(res.body, \"MinimumShotExceptions.xlsx\");\r\n this.loading = false;\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n setDates() {\r\n if(this.minimumShotExceptionsForm != undefined){\r\n this.ddlSeason=this.minimumShotExceptionsForm.controls['ddlSeason'].value;\r\n } \r\n let tempMinDate: Date;\r\n let tempMaxDate: Date;\r\n tempMinDate = new Date(ApplicationSettings.getCovidStartDate(this.ddlSeason));\r\n tempMaxDate = new Date(ApplicationSettings.getCovidEndDate(this.ddlSeason));\r\n this.minDate = new Date(tempMinDate);\r\n this.maxDate = new Date(tempMaxDate)\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n this.canExport = false;\r\n if(this.minimumShotExceptionsForm != undefined){\r\n this.minimumShotExceptionsForm.patchValue({\r\n fromDate:this.fromDate,\r\n toDate:this.toDate\r\n })\r\n }\r\n }\r\n setCalendarDates() {\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n this.canExport = false;\r\n }\r\n reset(): void {\r\n //this.loading = true;\r\n this.ddlSeason = this.currentSeason;\r\n this.ddlFormat = 0;\r\n this.setDates();\r\n this.showGrid = false;\r\n this.setFormControls();\r\n //this.generateReport();\r\n }\r\n validateExportType() {\r\n if (this.ddlFormat == \"0\" || !this.canExport)\r\n return true;\r\n else\r\n return false;\r\n }\r\n canExportOnchange() {\r\n this.canExport = false;\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}","\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { PotentialLocalBusinessAndContactStatusService } from '../../services/potential-local-business.service';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { PotentialCOVIDBusiness } from '../../../../models/PotentialLocalBusiness';\r\nimport { Router } from '../../../../../../node_modules/@angular/router';\r\nimport { Paginator } from '../../../../../../node_modules/primeng/paginator';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { ClinicdetailsService } from '../../../clinicdetails/services/clinicdetails.service';\r\nimport { ScheduledAppointmentsService } from '../../services/scheduledAppointments.service';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { states } from '../../../../JSON/States';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n@Component({\r\n selector: 'app-covid-opp-statusreport',\r\n templateUrl: './covid-opp-statusreport.component.html',\r\n styleUrls: ['./covid-opp-statusreport.component.css']\r\n})\r\nexport class CovidOppStatusreportComponent implements OnInit {\r\n\r\n loading: any;\r\n storeId: any;\r\n ddlFormat: any;\r\n canExport: any;\r\n outreachstatus: any;\r\n contacted: any;\r\n status: any;\r\n fromDate: any;\r\n toDate: any;\r\n outreachEffort: any;\r\n minDate: any;\r\n maxDate: any;\r\n from_date: any;\r\n to_date: any;\r\n isDisable: boolean = false;\r\n outreachStartDate: any;\r\n outreachEndDate: any;\r\n potentialLocalBusinessContactStatusReportArray: any = [];\r\n potentialLocalBusinessContactStatusReportSource: any;\r\n totalRecords: number = 0;\r\n allStatuses: any = [];\r\n canShowNoBusinessesText: boolean = false;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n regionList = [];\r\n areaList = [];\r\n districtList = [];\r\n //storeList = [];\r\n ddlArea: string = \"0\";\r\n ddlDistrict: string = \"0\";\r\n ddlRegion: string = \"0\";\r\n ddlStoreId: string = \"0\";\r\n @ViewChild('plbcsPager', { static: false }) plbcsPager: Paginator;\r\n userProfile: any;\r\n states: any[];\r\n ddlState: any = \"0\";\r\n showddlState: boolean = false;\r\n covidOppOutreachstatusForm: FormGroup;\r\n isDisableDates: boolean;\r\n constructor(private router: Router, private potential_service: PotentialLocalBusinessAndContactStatusService,\r\n private message_service: MessageServiceService,\r\n private coClinicdetailsService: ClinicdetailsService, private storeIdListService: ScheduledAppointmentsService\r\n , private spinner: NgxSpinnerService, private fb: FormBuilder) {\r\n // if (this.router.url.indexOf('immunization') > -1) {\r\n this.outreachEffort = \"3\";\r\n this.outreachStartDate = ApplicationSettings.getCovidStartDate(new Date().getFullYear());\r\n this.outreachEndDate = ApplicationSettings.getCovidEndDate(new Date().getFullYear());\r\n // } else {\r\n // this.outreachEffort = \"1\";\r\n // this.outreachStartDate = ApplicationSettings.getSRStartDate(new Date().getFullYear());\r\n // this.outreachEndDate = ApplicationSettings.getSREndDate(new Date().getFullYear());\r\n // }\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n if (this.userProfile.userRole == \"Admin\" || this.userProfile.userRole.toLowerCase() == \"regional vice president\" || this.userProfile.userRole.toLowerCase() == \"regional healthcare director\") {\r\n this.showddlState = true;\r\n }\r\n this.states = states.sort((a, b) => a.id.localeCompare(b.id));\r\n this.message_service.getStoreID().subscribe(x => {\r\n this.storeId = x.text;\r\n this.loading = true;\r\n this.generateReport();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.storeId = SessionDetails.GetStoreId();\r\n this.outreachstatus = \"-1\";\r\n this.contacted = \"3\";\r\n this.ddlFormat = \"0\";\r\n this.isDisableDates=true;\r\n this.potential_service.getOutreachStatus().subscribe((resultArray: any) => {\r\n let outreach_program = ((this.outreachEffort == \"1\") ? \"SR\" : \"IP\");\r\n this.allStatuses = resultArray;\r\n var temp = resultArray.filter(x => x.outreachProgram == outreach_program && x.isActive /*== true*/ && [0, 9, 10].indexOf(x.outreachStatusId) == -1);\r\n this.status = temp;\r\n this.setDates();\r\n let region = this.showddlState ? \"Region\" : \"Area\";\r\n this.coClinicdetailsService.getAreaDist(region,0).subscribe(data => {\r\n \r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n if (region == \"Region\")\r\n this.regionList.push({ key: keyValue, value: valueData });\r\n else\r\n this.areaList.push({ key: keyValue, value: valueData });\r\n }\r\n });\r\n this.setFormControls();\r\n \r\n //this.getStoreIdList(this.ddlRegion,this.ddlArea,this.ddlDistrict);\r\n //this.generateReport();\r\n });\r\n\r\n this.covidOppOutreachstatusForm.controls['areaNumber'].patchValue(\"0\");\r\n\r\n // this.covidOppOutreachstatusForm.patchValue({\r\n // areaNumber:0\r\n // })\r\n }\r\n setFormControls() {\r\n this.covidOppOutreachstatusForm = this.fb.group({\r\n 'fromDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'toDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'regionNumber': [\"0\"],\r\n 'areaNumber': [\"0\"],\r\n 'districtNumber': [\"0\"],\r\n 'state': [\"0\"],\r\n 'contacted': [\"3\"],\r\n 'status': [\"-1\"],\r\n 'outputType': [\"0\"]\r\n });\r\n }\r\n // onDistrictSelect(value, selected_value) { \r\n // this.getStoreIdList(this.ddlRegion,this.ddlArea,this.ddlDistrict);\r\n // //this.showAllLocationsOption = true;\r\n // }\r\n // getStoreIdList(regionNumber,areaNumber,districtNumber){\r\n // this.storeIdListService.getStoreIdListByRegionAreaDistict(\r\n // regionNumber,areaNumber,districtNumber).subscribe((data) => {\r\n // this.storeList = data;\r\n // });\r\n // }\r\n onSelect(value, selected_value) {\r\n \r\n switch (value) {\r\n case 'Area':\r\n this.areaList = [];\r\n this.districtList = [];\r\n this.ddlArea = '0';\r\n this.covidOppOutreachstatusForm.controls['areaNumber'].setValue('0');\r\n this.ddlDistrict = '0';\r\n this.coClinicdetailsService.getAreaDist(value,selected_value).subscribe(data => {\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.areaList.push({ key: keyValue, value: valueData });\r\n }\r\n //this.getSchedulerClients(this.ddlRegion,this.ddlArea>0?this.ddlArea:0,this.ddlDistrict>0?this.ddlDistrict:0);\r\n //this.showAllLocationsOption = true;\r\n //this.getStoreIdList(this.ddlRegion,0,0);\r\n });\r\n break;\r\n case \"District\":\r\n this.districtList = [];\r\n this.ddlDistrict = '0';\r\n this.covidOppOutreachstatusForm.controls['districtNumber'].setValue('0');\r\n this.coClinicdetailsService.getAreaDist(value,selected_value).subscribe(data => {\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.districtList.push({ key: keyValue, value: valueData });\r\n }\r\n //this.getSchedulerClients(this.ddlRegion,this.ddlArea,this.ddlDistrict>0?this.ddlDistrict:0);\r\n //this.showAllLocationsOption = true;\r\n //this.getStoreIdList(this.ddlRegion,this.ddlArea,0);\r\n });\r\n break;\r\n default:\r\n this.areaList = [];\r\n this.districtList = [];\r\n this.coClinicdetailsService.getAreaDist(value,0).subscribe(data => {\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.regionList.push({ key: keyValue, value: valueData });\r\n }\r\n });\r\n break;\r\n }\r\n }\r\n setDates() {\r\n this.minDate = this.fromDate = new Date(this.outreachStartDate);\r\n this.maxDate = this.toDate = new Date(this.outreachEndDate);\r\n // if(this.outreachEffort == 1){\r\n // this.minDate = this.fromDate = new Date(\"09/01/\" + this.fromDate.getFullYear());\r\n // this.maxDate = this.toDate = new Date(\"08/31/\" + this.toDate.getFullYear());\r\n // }\r\n //this.toDate.setMonth(this.toDate.getMonth() + 1);\r\n }\r\n setCalendarDates() {\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n }\r\n reset() {\r\n this.contacted = \"3\";\r\n this.ddlFormat = \"0\";\r\n this.outreachstatus = -1;\r\n this.setDates();\r\n this.ddlFormat = \"0\";\r\n this.ddlRegion = \"0\";\r\n this.ddlArea = \"0\";\r\n this.ddlDistrict = \"0\";\r\n this.ddlStoreId = \"0\";\r\n this.setFormControls();\r\n //this.generateReport();\r\n }\r\n generateReport() {\r\n \r\n let data=this.covidOppOutreachstatusForm.value;\r\n let d1 = data.fromDate;\r\n let d2 =data.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n \r\n let potential_local_business = new PotentialCOVIDBusiness(Number(this.ddlStoreId) > 0 ? Number(this.ddlStoreId) : 0, data.regionNumber,data.areaNumber, data.districtNumber, this.outreachEffort, data.contacted, this.from_date, this.to_date, data.status, \"\", \"\", data.state);\r\n this.spinner.show();\r\n this.potential_service.getPotentialCOVIDBusinessData(potential_local_business).subscribe((resultArray: any) => {\r\n if (resultArray.length == 0) {\r\n this.canShowNoBusinessesText = true;\r\n } else {\r\n this.canShowNoBusinessesText = false;\r\n }\r\nthis.potentialLocalBusinessContactStatusReportSource = resultArray;\r\n this.totalRecords = this.potentialLocalBusinessContactStatusReportSource.length;\r\n var temp = this.potentialLocalBusinessContactStatusReportSource.slice(0, 50);\r\n this.potentialLocalBusinessContactStatusReportArray = temp;\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.canExport = true;\r\n this.spinner.hide();\r\n }, 1000)\r\n }, error => {\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.potentialLocalBusinessContactStatusReportSource = [];\r\n this.totalRecords = 0;\r\n });\r\n this.ddlFormat = \"0\";\r\n }\r\n updateOutreachStatus() {\r\n \r\n let data=this.covidOppOutreachstatusForm.value;\r\n let outreach_program = ((this.outreachEffort == \"1\") ? \"SR\" : \"IP\");\r\n if (data.contacted == \"0\") {\r\n let temp = this.allStatuses.filter(x => x.outreachProgram == outreach_program && x.isActive /* == true*/ && [0,2].indexOf(x.outreachStatusId) > -1);\r\n this.status = temp;\r\n // this.isDisable = true;\r\n this.outreachstatus = 0;\r\n this.isDisableDates = true;\r\n }\r\n else if (data.contacted == \"1\") {\r\n let temp = this.allStatuses.filter(x => x.outreachProgram == outreach_program && x.isActive /* == true*/ && [0, 9, 10].indexOf(x.outreachStatusId) == -1 && x.outreachStatusId!=2);\r\n this.status = temp;\r\n // this.isDisable = true;\r\n this.outreachstatus = 0;\r\n this.isDisableDates = false;\r\n }\r\n else {\r\n let temp = this.allStatuses.filter(x => x.outreachProgram == outreach_program && x.isActive /* == true*/ && x.outreachStatusId!=9 && x.outreachStatusId!=10);// && [9, 10].indexOf(x.outreachStatusId) == -1 && x.outreachStatusId> -1);\r\n this.status = temp;\r\n // this.isDisable = false;\r\n this.outreachstatus = -1;\r\n this.isDisableDates = true;\r\n }\r\n this.canExportOnchange();\r\n }\r\n generatereportformat(): void {\r\n this.loading = true;\r\n let data=this.covidOppOutreachstatusForm.value;\r\n let d1 = data.fromDate;\r\n let d2 = data.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n let report_name: string = ((this.outreachEffort == \"1\") ? \"SR_\" : \"IP_\") + \"COVIDOpportunityAndContactStatus\";\r\n \r\n // let potential_local_business = new PotentialCOVIDBusiness(Number(this.ddlStoreId) > 0 ? Number(this.ddlStoreId) : 0, data.regionNumber,data.areaNumber, data.districtNumber, this.outreachEffort, data.contacted, this.from_date, this.to_date, data.status, \"\", \"\", data.state);\r\n let potential_local_business = new PotentialCOVIDBusiness(Number(this.ddlStoreId) > 0 ? Number(this.ddlStoreId) : 0, data.regionNumber,data.areaNumber, data.districtNumber,this.outreachEffort, data.contacted, this.from_date, this.to_date, data.status, report_name, data.outputType, data.state);\r\n this.spinner.show();\r\n this.potential_service.exportCOVIDReportData(potential_local_business).subscribe((res:any) => {\r\n importedSaveAs(res.body, report_name + \".xlsx\");\r\n this.loading = false;\r\n this.canExport = true;\r\n this.spinner.hide();\r\n }, error => {\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n this.ddlFormat = \"0\";\r\n }\r\n\r\n paginate(event) {\r\n this.potentialLocalBusinessContactStatusReportArray = [];\r\n this.loading = true;\r\n var curr_page_rec_count = event.first + event.rows;\r\n var page_to_get = curr_page_rec_count / 50;\r\n page_to_get = Math.ceil(page_to_get);\r\n var start_number = ((event.first < 50) ? (event.first - (50 * (page_to_get - 1))) : event.first);\r\n if (this.potentialLocalBusinessContactStatusReportSource) {\r\n var temp = this.potentialLocalBusinessContactStatusReportSource.slice(start_number, (start_number + 50));\r\n this.potentialLocalBusinessContactStatusReportArray = temp;\r\n this.totalRecords = this.potentialLocalBusinessContactStatusReportSource.length;\r\n }\r\n this.loading = false;\r\n }\r\n canExportOnchange() {\r\n this.canExport = false;\r\n }\r\n validateExportType() {\r\n if (this.ddlFormat == \"0\" || !this.canExport) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport * as appSettings from '../../globals';\r\nimport { RevisedClinicDatesAndVolumesService } from '../../services/revisedclinicdatesandvolumes.service';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { VaccinePurchase } from '../../../../models/VaccinePurchase';\r\n\r\n@Component({\r\n selector: 'app-covid-revised-clinicdates',\r\n templateUrl: './covid-revised-clinicdates.component.html',\r\n styleUrls: ['./covid-revised-clinicdates.component.css']\r\n})\r\n\r\nexport class CovidRevisedClinicdatesComponent implements OnInit {\r\n RevisedClinicDatesReportForm: FormGroup;\r\n RevisedClinicDatesreportArray: any;\r\n //private datasource: any;\r\n ddlSeason: number;\r\n //groupIdLaunchDate = \"05/01/2018\";\r\n private currentSeason = appSettings.covidSeason;\r\n outreachStartDate = ApplicationSettings.outreachStartDateCovid;\r\n //outreachStartYear = ApplicationSettings.getOutreachReportStartYear();\r\n ddlFormat: any;\r\n loading: boolean;\r\n private isCurrentSeason: any = 1;\r\n seasons: any = [];\r\n totalRecords: any = [];\r\n canExport: boolean = true;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n minDate: Date;\r\n maxDate: Date;\r\n fromDate: Date;\r\n toDate: Date;\r\n private from_date: string;\r\n private to_date: string;\r\n showGrid: boolean = false;\r\n covidOnly: boolean = true;\r\n constructor(\r\n private fb: FormBuilder,\r\n //private groupidassignmentreport: GroupIdAssignmentReportService,\r\n private revisedClinicDatesAndVolumes: RevisedClinicDatesAndVolumesService, //private logger: NGXLogger, \r\n private spinner: NgxSpinnerService) {\r\n\r\n };\r\n\r\n ngOnInit() {\r\n for (let report_year: number = (new Date(this.outreachStartDate)).getFullYear(); report_year >= (new Date(this.outreachStartDate)).getFullYear(); report_year--) {\r\n if (report_year <= 2015) {\r\n continue;\r\n }\r\n this.seasons.push({\r\n \"yearName\": report_year.toString() + \"-\" + (report_year + 1).toString(),\r\n \"yearCode\": report_year.toString()\r\n });\r\n }\r\n this.ddlSeason = (new Date(this.outreachStartDate)).getFullYear();\r\n this.setDates();\r\n this.fromDate = this.minDate;\r\n this.toDate = this.maxDate;\r\n this.ddlFormat = \"0\";\r\n this.setFormControls();\r\n //this.generateReport();\r\n }\r\n setFormControls() {\r\n this.RevisedClinicDatesReportForm = this.fb.group({\r\n 'fDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'tDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'ddlSeason': [this.ddlSeason],\r\n 'ddlFormat': [\"0\"]\r\n });\r\n }\r\n setDates() {\r\n let tempMinDate: Date;\r\n let tempMaxDate: Date;\r\n tempMinDate = new Date(ApplicationSettings.getCovidStartDate(this.ddlSeason));\r\n tempMaxDate = new Date(ApplicationSettings.getCovidEndDate(this.ddlSeason));\r\n this.minDate = new Date(tempMinDate);\r\n this.maxDate = new Date(tempMaxDate)\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n this.canExport = false;\r\n }\r\n setCalendarDates() {\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n this.canExport = false;\r\n }\r\n reset(): void {\r\n this.showGrid = false;\r\n this.loading = false;\r\n this.ddlSeason = this.currentSeason;\r\n this.setDates();\r\n this.isCurrentSeason = 1;\r\n this.ddlFormat = 0;\r\n this.setFormControls();\r\n //this.generateReport();\r\n }\r\n generateReport(): void {\r\n if (!this.showGrid) {\r\n this.spinner.show();\r\n } else {\r\n this.loading = true;\r\n }\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n //this.logger.log(this.from_date);\r\n //this.logger.log(this.to_date);\r\n\r\n\r\n //this.isCurrentSeason=((this.ddlSeason) != (new Date(this.outreachStartDate).getFullYear()) ? 0 : 1);\r\n let data = this.RevisedClinicDatesReportForm.value;\r\n if (data.ddlSeason != this.currentSeason) {\r\n this.isCurrentSeason = 0;\r\n }\r\n let vaccine_purchase = new VaccinePurchase(data.fDate, data.tDate, this.isCurrentSeason, \"\", this.covidOnly, \"\");\r\n this.RevisedClinicDatesreportArray = [];\r\n this.totalRecords = 0;\r\n this.revisedClinicDatesAndVolumes.getRevisedClinicDatesAndVolumeReportData(vaccine_purchase).subscribe((resultArray: any) => {\r\n this.totalRecords = resultArray.length;\r\n this.RevisedClinicDatesreportArray = resultArray;\r\n //this.logger.log(\"totalRecords:\" + this.totalRecords);\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.canExport = true;\r\n this.showGrid = true;\r\n this.spinner.hide();\r\n }, 1000)\r\n }, error => {\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.RevisedClinicDatesreportArray = [];\r\n this.totalRecords = 0;\r\n });\r\n }\r\n // reset(): void {\r\n // this.loading = true;\r\n // this.ddlSeason = this.currentSeason;\r\n // this.isCurrentSeason=1;\r\n // this.ddlFormat=0;\r\n // this.generateReport();\r\n // }\r\n canExportOnchange() {\r\n this.canExport = false;\r\n }\r\n validateExportType() {\r\n if (this.ddlFormat == \"0\" || !this.canExport)\r\n return true;\r\n else\r\n return false;\r\n }\r\n getOutreachStartDate() {\r\n //let outreach_start_date = new Date();\r\n // Need to select the outreachstartdate based on the program selected\r\n return /*outreach_start_date =*/ new Date(appSettings[\"outreachStartDate\" + appSettings.outreachProgramSelected].Length == 0 ? new Date() : appSettings[\"outreachStartDate\" + appSettings.outreachProgramSelected]);\r\n }\r\n\r\n generateReportFormat(): void {\r\n this.loading = true;\r\n let data = this.RevisedClinicDatesReportForm.value;\r\n let vaccine_purchase = new VaccinePurchase(data.fDate, data.tDate, this.isCurrentSeason, \"\", this.covidOnly, \"RevisedClinicsAndVolumes\", data.ddlFormat);\r\n this.revisedClinicDatesAndVolumes.exportReportData(vaccine_purchase).subscribe((res: any) => {\r\n importedSaveAs(res.body, \"RevisedClinicsAndVolumes.xlsx\");\r\n this.loading = false;\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { VaccinePurchasingReportService } from '../../services/vaccinepurchasing.services';\r\nimport * as appSettings from '../../globals';\r\n//import { NGXLogger } from 'ngx-logger';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { VaccinePurchase } from '../../../../models/VaccinePurchase';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n\r\n@Component({\r\n selector: 'app-covid-vaccine-purchasing-report',\r\n templateUrl: './covid-vaccine-purchasing-report.component.html',\r\n styleUrls: ['./covid-vaccine-purchasing-report.component.css']\r\n})\r\n\r\nexport class CovidVaccinePurchasingReportComponent implements OnInit {\r\n vaccinePurchasingReportForm: FormGroup;\r\n vaccinePurchasingReportArray: any;\r\n ddlSeason: number;\r\n private isCurrentSeason = 1;\r\n fromDate: Date;\r\n toDate: Date;\r\n outreachStartDate = ApplicationSettings.outreachStartDateCovid;\r\n outreachStartYear = parseInt(appSettings.covidReportStartYear);\r\n minDate: Date;\r\n maxDate: Date;\r\n ddlFormat: any;\r\n private from_date: string;\r\n private to_date: string;\r\n totalRecords: number;\r\n loading: boolean;\r\n private currentSeason = appSettings.covidSeason;\r\n seasons: any = [];\r\n canExport: boolean = true;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n showGrid: boolean = false;\r\n ddlVaccines: any = [1];\r\n constructor(\r\n private fb: FormBuilder,\r\n private vaccinepurchasingreport: VaccinePurchasingReportService, //private logger: NGXLogger, \r\n private spinner: NgxSpinnerService) {\r\n }\r\n ngOnInit() {\r\n for (let report_year: number = (new Date(this.outreachStartDate)).getFullYear(); report_year >= this.outreachStartYear; report_year--) {\r\n if (report_year <= 2016) {\r\n continue;\r\n }\r\n this.seasons.push({\r\n \"yearName\": report_year.toString() + \"-\" + (report_year + 1).toString(),\r\n \"yearCode\": report_year.toString()\r\n });\r\n }\r\n this.ddlSeason = (new Date(this.outreachStartDate)).getFullYear();\r\n this.setDates();\r\n this.fromDate = this.minDate;\r\n this.toDate = this.maxDate;\r\n this.ddlFormat = \"0\";\r\n this.setFormControls();\r\n //this.generateReport();\r\n }\r\n setFormControls() {\r\n this.vaccinePurchasingReportForm = this.fb.group({\r\n 'fDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'tDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'ddlSeason': [this.ddlSeason],\r\n 'ddlFormat': [\"0\"]\r\n });\r\n }\r\n generateReport(): void {\r\n if (!this.showGrid) {\r\n this.spinner.show();\r\n } else {\r\n this.loading = true;\r\n }\r\n //this.ddlSeason = this.ddlSeason;\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n //this.logger.log(this.from_date);\r\n //this.logger.log(this.to_date);\r\n let data = this.vaccinePurchasingReportForm.value;\r\n if (data.ddlSeason != this.currentSeason) {\r\n this.isCurrentSeason = 0;\r\n }\r\n let vaccine_purchase = new VaccinePurchase(data.fDate, data.tDate, this.isCurrentSeason, this.ddlVaccines.sort().join(','),true, \"\", \"\");\r\n this.vaccinepurchasingreport.getVaccinePurchasingDetailsReportData(vaccine_purchase).subscribe((resultArray: any) => {\r\n //this.datasource = resultArray\r\n this.totalRecords = resultArray.length;\r\n //this.logger.log(\"totalRecords:\" + this.totalRecords);\r\n this.vaccinePurchasingReportArray = resultArray;\r\n //this.logger.log(\"this.vaccinePurchasingReportArray:\" + this.vaccinePurchasingReportArray.length);\r\n setTimeout(() => {\r\n this.spinner.hide();\r\n this.loading = false;\r\n this.canExport = true;\r\n this.showGrid = true;\r\n }, 1000)\r\n }, error => {\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.vaccinePurchasingReportArray = [];\r\n this.totalRecords = 0;\r\n });\r\n }\r\n generateReportFormat(): void {\r\n this.loading = true;\r\n let data = this.vaccinePurchasingReportForm.value;\r\n let vaccine_purchase = new VaccinePurchase(data.fDate, data.tDate, this.isCurrentSeason, this.ddlVaccines.sort().join(','),true, \"VaccinePurchase\", data.ddlFormat);\r\n this.vaccinepurchasingreport.exportReportData(vaccine_purchase).subscribe((res:any) => {\r\n importedSaveAs(res.body, 'VaccinePurchase.xlsx');\r\n this.loading = false;\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n setDates() {\r\n let tempMinDate: Date;\r\n let tempMaxDate: Date;\r\n if(this.vaccinePurchasingReportForm!=undefined){\r\n this.ddlSeason=this.vaccinePurchasingReportForm.controls['ddlSeason'].value;\r\n\r\n }\r\n tempMinDate = new Date(ApplicationSettings.getCovidStartDate(this.ddlSeason));\r\n tempMaxDate = new Date(ApplicationSettings.getCovidEndDate(this.ddlSeason));\r\n this.minDate = new Date(tempMinDate);\r\n this.maxDate = new Date(tempMaxDate)\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n this.canExport = false;\r\n if(this.vaccinePurchasingReportForm!=undefined){\r\n this.vaccinePurchasingReportForm.patchValue({\r\n fDate:this.fromDate,\r\n tDate:this.toDate\r\n })\r\n }\r\n }\r\n setCalendarDates() {\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n this.canExport = false;\r\n }\r\n reset(): void {\r\n this.showGrid = false;\r\n this.loading = false;\r\n this.ddlSeason = this.currentSeason;\r\n this.setDates();\r\n this.isCurrentSeason = 1;\r\n this.ddlFormat = 0;\r\n this.setFormControls();\r\n //this.generateReport();\r\n }\r\n validateExportType() {\r\n if (this.ddlFormat == \"0\" || !this.canExport/*==false*/)\r\n return true;\r\n else\r\n return false;\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n vaccineChange(ev, val) {\r\n if (ev.target.checked) {\r\n this.ddlVaccines.push(val);\r\n } else {\r\n let i = this.ddlVaccines.indexOf(val);\r\n this.ddlVaccines.splice(i, 1);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport * as appSettings from '../../globals';\r\nimport { WeeklyvaccinepurchasingService } from '../../services/weeklyvaccinepurchase.service';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { WeeklyVaccinePurchasing } from '../../../../models/WeeklyVaccinePurchasing';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-covid-weekly-vaccine-purchase-report',\r\n templateUrl: './covid-weekly-vaccine-purchase-report.component.html',\r\n styleUrls: ['./covid-weekly-vaccine-purchase-report.component.css']\r\n})\r\n\r\nexport class CovidWeeklyVaccinePurchaseReportComponent implements OnInit {\r\n weeklyVaccinePurchaseReportArray: any = [];\r\n weeklyVaccinePurchaseForm: FormGroup\r\n columnCount: number = 0;\r\n private outreachStartDate: string;\r\n ddlYear: any = [];\r\n season: string;\r\n\r\n loading: boolean;\r\n\r\n private isCurrentSeason: number;\r\n private currentSeason = appSettings.covidSeason;\r\n\r\n column1Links: any = [];\r\n column2Links: any = [];\r\n column3Links: any = [];\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n ddlVaccines: string = \"1\";\r\n\r\n constructor(\r\n private WeeklyVaccinePurchase: WeeklyvaccinepurchasingService, private fb: FormBuilder) {\r\n }\r\n ngOnInit() {\r\n \r\n this.season = this.currentSeason.toString();\r\n this.outreachStartDate = ApplicationSettings.outreachStartDateCovid;\r\n this.isCurrentSeason = ((this.season) != (new Date(this.outreachStartDate).getFullYear().toString()) ? 0 : 1);\r\n for (let report_year: number = parseInt(appSettings.covidReportStartYear); report_year <= new Date(this.outreachStartDate).getFullYear(); report_year++) {\r\n if (report_year > 2014) {\r\n this.ddlYear.push({\r\n \"yearName\": report_year.toString() + \" - \" + (report_year + 1).toString(),\r\n \"yearCode\": report_year.toString()\r\n });\r\n }\r\n }\r\n this.setFormControls();\r\n this.bindReportSeasonWeeks();\r\n }\r\n setFormControls() {\r\n this.weeklyVaccinePurchaseForm = this.fb.group({\r\n 'ddlSeason': [this.season],\r\n 'ddlFormat': [\"0\"]\r\n });\r\n }\r\n\r\n onSeasonChange() {\r\n this.season=this.weeklyVaccinePurchaseForm.get('ddlSeason').value;\r\n if (this.season) {\r\n this.isCurrentSeason = ((this.season) != (new Date(this.outreachStartDate).getFullYear().toString()) ? 0 : 1);\r\n this.bindReportSeasonWeeks();\r\n }\r\n }\r\n bindReportSeasonWeeks() {\r\n\r\n this.columnCount = 0;\r\n this.column1Links = [];\r\n this.column2Links = [];\r\n this.column3Links = [];\r\n\r\n this.loading = true;\r\n let dt = new Date(this.outreachStartDate);\r\n let outreach_start_date = (this.season==\"2020\")?\"09-01-\" + this.season : (dt.getMonth() + 1) + \"-\" + dt.getDate()+ \"-\" + dt.getFullYear();\r\n this.WeeklyVaccinePurchase.getVaccinePurchase(this.season, outreach_start_date, true).subscribe((resultArray: any) => {\r\n this.weeklyVaccinePurchaseReportArray = resultArray;\r\n this.columnCount = Math.ceil(resultArray.Length / 3);\r\n\r\n this.columnCount = Math.round(resultArray.length / 3);\r\n let i = 1;\r\n for (let j = 0; j < this.weeklyVaccinePurchaseReportArray.length; j++) {\r\n if (j <= this.columnCount * i) {\r\n if (i == 1) {\r\n this.column1Links.push(this.weeklyVaccinePurchaseReportArray[j]);\r\n } else if (i == 2) {\r\n this.column2Links.push(this.weeklyVaccinePurchaseReportArray[j]);\r\n } else if (i == 3) {\r\n this.column3Links.push(this.weeklyVaccinePurchaseReportArray[j]);\r\n }\r\n }\r\n if (j == (this.columnCount * i)) {\r\n i++;\r\n }\r\n }\r\n\r\n this.loading = false;\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n\r\n getReport(file: any) {\r\n\r\n this.loading = true;\r\n //let from_date = file.weekRange.split('^')[0];\r\n //let to_date = file.weekRange.split('^')[1];\r\n let from_date = file.displayName.split(\" - \")[0];\r\n let to_date = file.displayName.split(\" - \")[1].substring(file.displayName.split(\" - \")[1], file.displayName.split(\" - \")[1].indexOf(' '));\r\n let file_name = \"COVID_VPR_\" + from_date.replace(/-/g, '').replace(/\\//g, '') + \"-\" + to_date.replace(/-/g, '').replace(/\\//g, '') + ((this.season >= \"2018\") ? \".xlsx\" : \".xls\");\r\n let wvp: WeeklyVaccinePurchasing = new WeeklyVaccinePurchasing(from_date.replace(\"-\", \"/\"), to_date.replace(\"-\", \"/\"), file_name, this.isCurrentSeason, \"\", \"\", this.ddlVaccines,true);\r\n this.WeeklyVaccinePurchase.exportReportData(wvp).subscribe((res: any) => {\r\n importedSaveAs(res.body, file_name);\r\n this.loading = false;\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { CovidclinicsService } from '../../services/covidclinics.service';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { CommonservicesService } from '../../services/commonservices.service';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { UserRole } from '../../../../config-files/UserRole';\r\n@Component({\r\n selector: 'app-covidclinicsreport',\r\n templateUrl: './covidclinicsreport.component.html',\r\n styleUrls: ['./covidclinicsreport.component.css']\r\n})\r\nexport class CovidclinicsreportComponent implements OnInit {\r\n covidClinicsList: any = [];\r\n ddlFormat: string = \"0\";\r\n loading: boolean = true;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n totalRecords: number;\r\n pageIndex: number = 1;\r\n isDisableDates:boolean=false;\r\n showFilters: boolean = false;\r\n userProfile: any;\r\n showRegionFilter: boolean = false;\r\n showAreaFilter: boolean = false;\r\n showDistrictFilter: boolean = true;\r\n userType: string = \"\";\r\n recordExists: boolean = true;\r\n canExport: any;\r\n markets: any;\r\n areas: any;\r\n districts: any;\r\n ddlRegion: any;\r\n ddlArea: any;\r\n ddlDistrict: any;\r\n covidClinicsForm: FormGroup;\r\n\r\n constructor(private covidclinics_service: CovidclinicsService, private common_services: CommonservicesService, private fb: FormBuilder) {\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n if (!this.showFilters) {\r\n if (this.userProfile.userRole == \"Admin\") {\r\n this.showRegionFilter = true;\r\n this.showAreaFilter = true;\r\n } else if (this.userProfile.userRole.toLowerCase() == \"regional vice president\" || this.userProfile.userRole.toLowerCase() == \"regional healthcare director\") {\r\n this.showAreaFilter = true;\r\n this.userType = \"Region\";\r\n } else if (this.userProfile.userRole.toLowerCase() == \"healthcare supervisor\" || this.userProfile.userRole.toLowerCase() == \"director � rx and retail ops\") {\r\n this.showDistrictFilter = true;\r\n this.userType = \"Area\";\r\n }else if (this.userProfile.userRole.toLowerCase() == UserRole.PODUSER){\r\n this.showDistrictFilter = true;\r\n this.userType = \"Pod\";\r\n }\r\n else if (this.userProfile.userRole.toLowerCase() == \"district manager\") {\r\n this.showDistrictFilter = true;\r\n }\r\n else if (this.userProfile.userRole.toLowerCase() == \"store manager\" || this.userProfile.userRole.toLowerCase() == \"pharmacy manager\") {\r\n this.showDistrictFilter = false;\r\n }\r\n if (this.userType == \"\") {\r\n this.userType = \"-1\";\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.makeAndLoadFilters();\r\n this.setFormControls();\r\n this.generateReport();\r\n }\r\n setFormControls() {\r\n this.covidClinicsForm = this.fb.group({\r\n 'regionNumber': [\"0\"],\r\n 'areaNumber': [\"0\"],\r\n 'districtNumber': [\"0\"],\r\n 'outputType': [\"0\"]\r\n });\r\n }\r\n generateReport() {\r\n this.loading = true;\r\n //let data = { 'regionNumber': this.ddlRegion, 'areaNumber': this.ddlArea, 'districtNumber': this.ddlDistrict };\r\n let data = this.covidClinicsForm.value;\r\n this.covidclinics_service.getCovidClinicsDetails(data).subscribe((resultArray: any) => {\r\n this.covidClinicsList = resultArray.Table;\r\n this.totalRecords = resultArray.Table.length;\r\n this.loading = false;\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.covidClinicsList = [];\r\n });\r\n this.ddlFormat = \"0\";\r\n }\r\n generateReportFormat() {\r\n this.loading = true;\r\n //let data = { 'regionNumber': this.ddlRegion, 'areaNumber': this.ddlArea, 'districtNumber': this.ddlDistrict, 'reportName': 'CovidClinics', 'outputType': this.ddlFormat };\r\n let data = this.covidClinicsForm.value;\r\n this.covidclinics_service.exportReportData(data).subscribe((res: any) => {\r\n \r\n importedSaveAs(res.body, \"CovidClinics.xlsx\");\r\n this.loading = false;\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n this.ddlFormat = \"0\";\r\n }\r\n validateExportType() {\r\n if (this.ddlFormat == \"0\")\r\n return true;\r\n else\r\n return false;\r\n }\r\n getArea() {\r\n this.common_services.getMarket(this.userProfile.userPk, this.userType, this.ddlRegion, this.ddlArea).subscribe((data) => {\r\n this.areas = [];\r\n this.areas = data[1];\r\n this.districts = [];\r\n this.districts = data[2];\r\n this.ddlArea = 0;\r\n this.ddlDistrict = 0;\r\n this.covidClinicsForm.controls['areaNumber'].setValue(0);\r\n this.covidClinicsForm.controls['districtNumber'].setValue(0);\r\n });\r\n this.canExport = false;\r\n }\r\n\r\n getDistrict() {\r\n this.common_services.getMarket(this.userProfile.userPk, this.userType, this.ddlRegion, this.ddlArea).subscribe((data) => {\r\n // this.markets = data[0];\r\n this.covidClinicsForm.controls['districtNumber'].setValue(0);\r\n this.districts = [];\r\n this.districts = data[2];\r\n this.ddlDistrict = 0;\r\n });\r\n this.canExport = false;\r\n }\r\n canExportOnchange() {\r\n this.canExport = false;\r\n }\r\n reset(): void {\r\n this.loading = true;\r\n this.makeAndLoadFilters();\r\n this.setFormControls();\r\n // if(this.table){\r\n // this.table.reset();\r\n // this.txtSearch.nativeElement.value ='';\r\n // }\r\n this.generateReport();\r\n }\r\n makeAndLoadFilters() {\r\n\r\n //this.storeId = SessionDetails.GetStoreId();\r\n this.ddlDistrict = \"0\";\r\n this.ddlArea = \"0\";\r\n this.ddlRegion = \"0\";\r\n this.ddlFormat = \"0\";\r\n if (!this.showFilters) {\r\n this.common_services.getMarket(this.userProfile.userPk, this.userType, this.ddlRegion, this.ddlArea).subscribe((data) => {\r\n this.markets = data[0];\r\n this.areas = data[1];\r\n this.districts = data[2];\r\n });\r\n }\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport * as appSettings from '../../globals';\r\n//import { NGXLogger } from 'ngx-logger';\r\nimport { ApplicationSettings } from './../../../common/application-settings';\r\nimport { ImmunizationFinanceService } from '../../services/immunizationfinance.service';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { ImmunizationFinance } from '../../../../models/ImmunizationFinance';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\n//import { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n@Component({\r\n selector: 'app-covidimmunizationfinancereport',\r\n templateUrl: './covidimmunizationfinancereport.component.html', \r\n styleUrls: ['./covidimmunizationfinancereport.component.css']\r\n})\r\n\r\nexport class CovidimmunizationfinanceReportComponent implements OnInit {\r\n immunizationFinanceReportForm: FormGroup;\r\n immunizationFinanceReportArray: any;\r\n outreachStartDate = ApplicationSettings.outreachStartDateCovid;\r\n private datasource: any;\r\n ddlSeason: number;\r\n private isCurrentSeason = 1;\r\n fromDate: Date;\r\n ddlFormat: any;\r\n toDate: Date;\r\n maxDate: Date;\r\n minDate: Date;\r\n private from_date: string;\r\n private to_date: string;\r\n totalRecords: number;\r\n loading: boolean;\r\n\r\n checked: boolean = false;\r\n private currentSeason = appSettings.covidSeason;\r\n filterByDate: boolean = false;\r\n seasons: any = [];\r\n canExport: boolean = true;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n\r\n showGrid: boolean = false;\r\n covidOnly: boolean = true;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n //private logger: NGXLogger, \r\n private imzFinanceService: ImmunizationFinanceService, /*private spinner: NgxSpinnerService*/\r\n private spinner: NgxSpinnerService) {\r\n }\r\n ngOnInit() {\r\n \r\n for (let report_year: number = (new Date(this.outreachStartDate)).getFullYear(); report_year >= parseInt(appSettings.covidReportStartYear); report_year--) {\r\n this.seasons.push({\r\n \"yearName\": report_year.toString() + \"-\" + (report_year + 1).toString(),\r\n \"yearCode\": report_year.toString()\r\n });\r\n }\r\n this.ddlFormat = \"0\";\r\n this.filterByDate = false;\r\n this.ddlSeason = (new Date(this.outreachStartDate)).getFullYear();\r\n this.setDates();\r\n this.setFormControls();\r\n //this.generateReport();\r\n }\r\n onFilterChange(eve: any) {\r\n }\r\n setFormControls() {\r\n this.immunizationFinanceReportForm = this.fb.group({\r\n 'fDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'tDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'ddlSeason': [this.currentSeason],\r\n 'chkFilterByDate': [false],\r\n 'ddlFormat': [\"0\"],\r\n 'covidOnly': [true]\r\n });\r\n }\r\n generateReport(): void {\r\n if (!this.showGrid) {\r\n this.spinner.show();\r\n } else {\r\n this.loading = true;\r\n }\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = (d1.getMonth() + 1) + \"/\" + (d1.getDate()) + \"/\" + (d1.getFullYear());\r\n this.to_date = (d2.getMonth() + 1) + \"/\" + (d2.getDate()) + \"/\" + (d2.getFullYear());\r\n\r\n if (this.ddlSeason != this.currentSeason) {\r\n this.isCurrentSeason = 0;\r\n } else {\r\n this.isCurrentSeason = 1;\r\n }\r\n let data = this.immunizationFinanceReportForm.value;\r\n let immz_finance = new ImmunizationFinance(data.fDate, data.tDate, this.isCurrentSeason, data.ddlSeason, data.chkFilterByDate, this.covidOnly);\r\n this.imzFinanceService.getImmunizationFinanceReportData(immz_finance).subscribe((resultArray: any) => {\r\n this.datasource = resultArray\r\n this.totalRecords = this.datasource.length;\r\n //this.logger.log(\"totalRecords:\" + this.totalRecords);\r\n this.immunizationFinanceReportArray = this.datasource;\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.showGrid = true;\r\n this.canExport = true;\r\n }, 1000)\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.immunizationFinanceReportArray = [];\r\n this.totalRecords = 0;\r\n });\r\n }\r\n\r\n generateReportFormat(): void {\r\n this.loading = true;\r\n let data = this.immunizationFinanceReportForm.value;\r\n let immz_finance = new ImmunizationFinance(data.fDate, data.tDate, this.isCurrentSeason, data.ddlSeason, data.chkFilterByDate, this.covidOnly, \"ImmunizationFinance\", \"xlsxv\");\r\n this.imzFinanceService.exportReportData(immz_finance).subscribe((res:any) => {\r\n importedSaveAs(res.body, \"ImmunizationFinance.xlsx\");\r\n this.loading = false;\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n setDates() {\r\n if(this.immunizationFinanceReportForm != undefined){\r\n this.ddlSeason=this.immunizationFinanceReportForm.controls['ddlSeason'].value;\r\n } \r\n let tempMinDate: Date;\r\n let tempMaxDate: Date;\r\n tempMinDate = new Date(ApplicationSettings.getCovidStartDate(this.ddlSeason));\r\n tempMaxDate = new Date(ApplicationSettings.getCovidEndDate(this.ddlSeason));\r\n this.minDate = new Date(tempMinDate);\r\n this.maxDate = new Date(tempMaxDate)\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n this.canExport = false;\r\n if(this.immunizationFinanceReportForm != undefined){\r\n this.immunizationFinanceReportForm.patchValue({\r\n fDate:this.fromDate,\r\n tDate:this.toDate })\r\n }\r\n }\r\n reset(): void {\r\n //this.loading = true;\r\n this.ddlSeason = this.currentSeason;\r\n this.filterByDate = false;\r\n this.setDates();\r\n this.isCurrentSeason = 1;\r\n this.ddlFormat = 0;\r\n this.showGrid = false;\r\n this.covidOnly = true;\r\n this.setFormControls();\r\n //this.generateReport();\r\n }\r\n canExportOnchange() {\r\n this.canExport = false;\r\n }\r\n validateExportType() {\r\n if (this.ddlFormat == \"0\" || !this.canExport)\r\n return true;\r\n else\r\n return false;\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DatastatsreportingService } from '../../services/datastatsreporting.service';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\n\r\n@Component({\r\n selector: 'app-data-stats-reporting',\r\n templateUrl: './data-stats-reporting.component.html',\r\n styleUrls: ['./data-stats-reporting.component.css'],\r\n providers: [DatastatsreportingService]\r\n})\r\nexport class DataStatsReportingComponent implements OnInit {\r\n ddlReport: string = \"\";\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n constructor(private _data_stats_reporting_service: DatastatsreportingService, \r\n private spinner: NgxSpinnerService) { }\r\n\r\n ngOnInit() {\r\n this.ddlReport = \"0\";\r\n }\r\n\r\n generatereportformat(): void {\r\n this.spinner.show();\r\n this._data_stats_reporting_service.exportData(this.ddlReport).subscribe((res:any) => {\r\n importedSaveAs(res.body, this.ddlReport+\".xlsx\");\r\n this.spinner.hide();\r\n }, error => {\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n });\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { DistrictCompliance } from '../../../../models/DistrictCompliance';\r\nimport { DistrictcomplianceService } from '../../services/districtcompliance.service'\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { Paginator } from '../../../../../../node_modules/primeng/paginator';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\n\r\n@Component({\r\n selector: 'app-districtcompliancereport',\r\n templateUrl: './districtcompliancereport.component.html',\r\n styleUrls: ['./districtcompliancereport.component.css']\r\n})\r\nexport class DistrictCompliancereportComponent implements OnInit {\r\n ddlFormat: any;\r\n districtComplianceReportForm:FormGroup;\r\n districtComplianceReportArray: any;\r\n districtComplianceReportSource: any;\r\n ddlYear: any;\r\n ddlQuarter: any; \r\n ddlDistrict1: any=133;\r\n totalRecords: number = 0;\r\n rowGroupMetadata: any;\r\n private outreachEffort = ApplicationSettings.outreachEffortSO;\r\n yearStartDate: any;\r\n districts: any;\r\n years: any;\r\n quarters: any;\r\n canExport: any;\r\n loading: any;\r\n canShowNoBusinessesText: boolean = false;\r\n private outreachStartDate:any;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n showGrid:boolean=false;\r\n @ViewChild('dcPager') dcPager: Paginator;\r\n constructor(private fb: FormBuilder,private district_compliance_report: DistrictcomplianceService) { }\r\n\r\n ngOnInit() { \r\n this.outreachStartDate = ApplicationSettings.getSRStartDate(new Date().getFullYear());\r\n \r\n this.ddlFormat = \"xlsxv\";\r\n this.years = ApplicationSettings.getOutreachReportYears();\r\n this.quarters = ApplicationSettings.getReportYearQuarters();\r\n if (this.years.length > 0) {\r\n this.ddlYear = new Date(this.outreachStartDate).getFullYear();\r\n }\r\n if (this.quarters.length > 0) {\r\n this.ddlQuarter = ApplicationSettings.getSRCurrentQuarter();\r\n }\r\n var is_current_season = ((parseInt(this.ddlYear)) !== (new Date(this.outreachStartDate).getFullYear() + 1) ? 0 : 1);\r\n this.yearStartDate =this.outreachStartDate;// ((is_current_season) ? \"09/01/\" : \"09/01/\") + this.ddlYear;\r\n \r\n this.setFormControls();\r\n this.district_compliance_report.getDistrictComplianceReportDistrictsData().subscribe((result: any) => {\r\n this.districts = result;\r\n if (this.districts.length > 0) {\r\n this.ddlDistrict1 = 133;//this.districts[0].districtID;\r\n \r\n //this.generateReport();\r\n }\r\n }\r\n );\r\n \r\n }\r\n\r\n setFormControls() {\r\n \r\n this.districtComplianceReportForm = this.fb.group({\r\n 'ddlDistrict':[this.ddlDistrict1,null],\r\n 'ddlYear':[this.ddlYear,null],\r\n 'ddlQuarter':[this.ddlQuarter,null],\r\n 'ddlFormat': [this.ddlFormat]\r\n });\r\n //this.generateReport();\r\n }\r\n generateReport(): void {\r\n this.loading = true;\r\n //var is_current_season = ((parseInt(this.ddlYear)) !== (new Date(this.outreachStartDate).getFullYear() + 1) ? 0 : 1);\r\n this.yearStartDate = ApplicationSettings.getSRStartDate(this.districtComplianceReportForm.controls[\"ddlYear\"].value); //((is_current_season) ? \"09/01/\" : \"09/01/\") + (this.ddlYear);\r\n this.dcPager.changePage(0);\r\n let data= this.districtComplianceReportForm.value;\r\n let dc: DistrictCompliance = new DistrictCompliance(data.ddlDistrict, this.outreachEffort, this.yearStartDate, data.ddlQuarter, \"\", \"\");\r\n this.district_compliance_report.getDistrictComplianceReportData(dc).subscribe((resultArray: any) => {\r\n if (resultArray.length == 0) {\r\n this.canShowNoBusinessesText = true;\r\n } else {\r\n this.canShowNoBusinessesText = false;\r\n }\r\n this.districtComplianceReportSource = resultArray;\r\n this.totalRecords = this.districtComplianceReportSource.length;\r\n var temp = this.districtComplianceReportSource.slice(0, 20);\r\n this.showGrid = true;\r\n this.updateRowGroupMetaData(temp);\r\n this.districtComplianceReportArray = temp;\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.canExport = true;\r\n }, 1000)\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.districtComplianceReportSource = [];\r\n this.totalRecords = 0;\r\n this.showGrid = false;\r\n });\r\n this.ddlFormat = \"xlsxv\";\r\n }\r\n generateReportFormat() {\r\n this.loading = true;\r\n //var is_current_season = ((parseInt(this.ddlYear)) !== (parseInt(this.outreachStartDate.getFullYear()) +1) ? 0 : 1);\r\n this.yearStartDate = ApplicationSettings.getSRStartDate(this.districtComplianceReportForm.controls[\"ddlYear\"].value); //((is_current_season) ? \"09/01/\" : \"09/01/\") + (this.ddlYear);\r\n this.districtComplianceReportForm.updateValueAndValidity();\r\n let data= this.districtComplianceReportForm.value;\r\n let dc: DistrictCompliance = new DistrictCompliance(data.ddlDistrict, this.outreachEffort, this.yearStartDate, data.ddlQuarter, \"xlsxv\", \"DistrictCompliance\");\r\n this.district_compliance_report.exportReportData(dc).subscribe((res:any) => {\r\n importedSaveAs(res.body, \"DistrictCompliance.xlsx\");\r\n this.loading = false;\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n this.ddlFormat = \"xlsxv\";\r\n }\r\n canExportOnchange() {\r\n \r\n this.canExport = false;\r\n }\r\n validateExportType() {\r\n if (this.ddlFormat == \"0\" || !this.canExport)\r\n return true;\r\n else\r\n return false;\r\n }\r\n\r\n updateRowGroupMetaData(datasource: any) {\r\n this.rowGroupMetadata = {};\r\n if (datasource) {\r\n for (let i = 0; i < datasource.length; i++) {\r\n let rowData = datasource[i];\r\n let compliant_non_compliant = rowData.Compliant_Non_Compliant;\r\n let store_count = rowData.storeCount;\r\n if (i == 0) {\r\n this.rowGroupMetadata[compliant_non_compliant + \"_\" + store_count] = { index: 0, size: 1, count: ((store_count > 0) ? store_count : 0) };\r\n }\r\n else {\r\n let previousRowData = datasource[i - 1];\r\n let previousRowGroup = previousRowData.Compliant_Non_Compliant + \"_\" + previousRowData.storeCount;\r\n if (compliant_non_compliant + \"_\" + store_count === previousRowGroup) {\r\n this.rowGroupMetadata[compliant_non_compliant + \"_\" + store_count].size++;\r\n if (store_count > 0) {\r\n this.rowGroupMetadata[compliant_non_compliant + \"_\" + store_count].count += ((store_count > 0) ? store_count : 0);\r\n }\r\n }\r\n else {\r\n this.rowGroupMetadata[compliant_non_compliant + \"_\" + store_count] = { index: i, size: 1, count: ((store_count > 0) ? store_count : 0) };\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n paginate(event) {\r\n this.rowGroupMetadata = {};\r\n this.districtComplianceReportArray = [];\r\n this.loading = true;\r\n var curr_page_rec_count = event.first + event.rows;\r\n var page_to_get = curr_page_rec_count / 50;\r\n page_to_get = Math.ceil(page_to_get);\r\n var start_number = ((event.first > 40) ? (event.first - (50 * (page_to_get - 1))) : event.first);\r\n if (this.districtComplianceReportSource) {\r\n var temp = this.districtComplianceReportSource.slice(start_number, (start_number + 20));\r\n this.updateRowGroupMetaData(temp);\r\n this.districtComplianceReportArray = temp;\r\n this.totalRecords = this.districtComplianceReportSource.length;\r\n }\r\n this.loading = false;\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit, ViewChildren, QueryList } from '@angular/core';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ActionitemsandmetricsService } from '../../services/actionitemsandmetrics.service';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { Compiler } from '@angular/core';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpResponse } from '@angular/common/http';\r\n\r\n\r\n@Component({\r\n selector: 'app-flu-hcs-actions-items-ip',\r\n templateUrl: './flu-hcs-actions-items-ip.component.html',\r\n styleUrls: ['./flu-hcs-actions-items-ip.component.css']\r\n})\r\nexport class FluHcsActionsItemsIpComponent implements OnInit {\r\n\r\n @ViewChildren('column') columns: QueryList; \r\n actionItemsAndMetricArray: any;\r\n hcsActionItemsOrMetricsList: any;\r\n // ddlReports: number;\r\n // ddlFormat: string;\r\n loading: boolean = true;\r\n userProfile: any;\r\n totalRecords: number = 0;\r\n reportType: string = \"\";\r\n reportId: number;\r\n cols: any = [];\r\n canExport:any; \r\n recordsCountText =\"\";\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n fluHcsActionsIpForm: FormGroup;\r\n is_flu: boolean = true;\r\n\r\n constructor(private actionitems_metrics_service: ActionitemsandmetricsService, \r\n private message_service:MessageServiceService, private _compiler: Compiler,\r\n private formBuilder: FormBuilder) {\r\n this._compiler.clearCache();\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n if (sessionStorage.actionItemOrMetricId) {\r\n let item_details = sessionStorage.actionItemOrMetricId.split(':');\r\n if (item_details.length > 0) {\r\n this.reportType = item_details[0];\r\n this.reportId = item_details[1];\r\n }\r\n }\r\n if (this.reportType == \"actionitem\") {\r\n if (SessionDetails.getHCSActionItemsList().length > 0) {\r\n this.hcsActionItemsOrMetricsList = SessionDetails.getHCSActionItemsList();\r\n this.hcsActionItemsOrMetricsList = this.hcsActionItemsOrMetricsList.filter(x=>x.actionItemId !=10 && x.actionItemId!= 11);\r\n }\r\n }\r\n else {\r\n if (SessionDetails.getHCSActionItemsList().length > 0) {\r\n this.hcsActionItemsOrMetricsList = SessionDetails.getHCSMetricsList();\r\n // for (let i = 0; i < 6; i++) {\r\n // let metric = this.hcsActionItemsOrMetricsList[i];\r\n // var name = metric.metricName.split('Review ').join('Review COVID ');\r\n // this.hcsActionItemsOrMetricsList.push({ covidCount: 0, metricCount: 0, metricDesc: '', metricId: metric.metricId+6, metricName: name })\r\n // }\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.fluHcsActionsIpForm = this.formBuilder.group({\r\n ddlFormat: ['xlsxv', Validators.required], \r\n ddlReports:[this.reportId,null] \r\n });\r\n \r\n // this.ddlFormat = \"0\";\r\n // this.ddlReports = this.reportId;\r\n this.generateReport();\r\n }\r\n\r\n reportChanged() {\r\n this.actionItemsAndMetricArray =[];\r\n this.recordsCountText=\"\";\r\n this.reportId = this.fluHcsActionsIpForm.controls[\"ddlReports\"].value;\r\n this.message_service.setReportTitle(this.getTitleForDashboardReports());\r\n this.generateReport();\r\n }\r\n\r\n generateReport(): void {\r\n this.loading = true;\r\n if (this.reportType == \"actionitem\") {\r\n this.actionitems_metrics_service.getActionItemsReportData(this.userProfile.userPk, this.fluHcsActionsIpForm.controls[\"ddlReports\"].value.toString(), false,this.is_flu).subscribe((resultArray: any) => {\r\n this.totalRecords = resultArray.length;\r\n if(this.totalRecords > 0){\r\n this.recordsCountText = \"There are \" + this.totalRecords + \" records.\";\r\n }else{\r\n this.recordsCountText = \"No records found.\"\r\n }\r\n this.actionItemsAndMetricArray = resultArray;\r\n this.columns.forEach(col => {\r\n col.hidden = (this.actionItemsAndMetricArray[0][col.field]);\r\n });\r\n setTimeout(() => {\r\n this.loading = false; \r\n }, 1000)\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.actionItemsAndMetricArray = [];\r\n this.totalRecords = 0;\r\n });\r\n } else if (this.reportType == \"metric\") {\r\n this.actionitems_metrics_service.getMetricsReportData(this.userProfile.userPk, this.fluHcsActionsIpForm.controls[\"ddlReports\"].value.toString(), false).subscribe((resultArray: any) => {\r\n this.totalRecords = resultArray.length;\r\n if(this.totalRecords > 0){\r\n this.recordsCountText = \"There are \" + this.totalRecords + \" records.\";\r\n }else{\r\n this.recordsCountText = \"No records found.\"\r\n }\r\n this.actionItemsAndMetricArray = resultArray;\r\n this.columns.forEach(col => {\r\n col.hidden = (this.actionItemsAndMetricArray[0][col.field]);\r\n });\r\n setTimeout(() => {\r\n this.loading = false; \r\n }, 1000)\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.actionItemsAndMetricArray = [];\r\n this.totalRecords = 0;\r\n });\r\n }\r\n }\r\n getTitleForDashboardReports() {\r\n var title = \"\";\r\n let rpt_id:string=this.reportId.toString();\r\n let report_type:string=this.reportType;\r\n \r\n switch (rpt_id) {\r\n case \"1\":\r\n title=((report_type==\"actionitem\")?\"Corporate Clinics to be Reviewed/Assigned\":\"Review Clinics Completed to Date\");\r\n break;\r\n case \"2\":\r\n title=\"Review Clinics Pending Signed Contract\";\r\n break;\r\n case \"3\":\r\n title=((report_type==\"actionitem\")?\"Local Leads to be Reviewed/Assigned\":\"Review Contracts Drafted but Not Sent\");\r\n break;\r\n case \"4\":\r\n title=((report_type==\"actionitem\")?\"Corporate Clinics to be Confirmed\":\"Review Clinics with Signed Contract to be Completed\");\r\n break;\r\n case \"5\":\r\n title=((report_type==\"actionitem\")?\"Corporate Clinics to be Completed\":\"Review Contracts with Requested Changes\");\r\n break;\r\n case \"6\":\r\n title = ((report_type == \"actionitem\") ? \"Clinics to be Reviewed/Assigned\" : \"Review LTCFs Not Contacted\");\r\n break;\r\n case \"7\":\r\n title = ((report_type == \"actionitem\") ? \"Clinics to be Confirmed\" : \"Review COVID Clinics Completed to Date\");\r\n break;\r\n case \"8\":\r\n title = ((report_type == \"actionitem\") ? \"Clinics to be Completed\" : \"Review COVID Clinics Pending Signed Contract\");\r\n break;\r\n case \"9\":\r\n title = ((report_type == \"actionitem\") ? \"Previous Clients to be Contacted\" : \"Review COVID Contracts Drafted but Not Sent\");\r\n break;\r\n case \"10\":\r\n title = ((report_type == \"actionitem\") ? \"\" : \"Review COVID Clinics with Signed Contracts to be Completed\");\r\n break;\r\n case \"11\":\r\n title = ((report_type == \"actionitem\") ? \"\" : \"Review COVID Contracts with Requested Changes\");\r\n break;\r\n case \"12\":\r\n title = ((report_type == \"actionitem\") ? \"\" : \"Review COVID LTCFs Not Contacted\");\r\n break;\r\n default:\r\n break;\r\n }\r\n return title.toUpperCase();\r\n }\r\n\r\n generatereportformat(): void {\r\n this.loading = true;\r\n let report_name: string = \"\";\r\n if (this.reportType == \"actionitem\") {\r\n switch (this.fluHcsActionsIpForm.controls[\"ddlReports\"].value.toString()) {\r\n case \"1\":\r\n case \"6\":\r\n report_name = \"CorporateClinicsToBeReviewedAssigned\"\r\n break;\r\n case \"3\":\r\n report_name = \"LocalLeadsToBeReviewedAssigned\"\r\n break;\r\n case \"4\":\r\n case \"7\":\r\n report_name = \"CorporateClinicsToBeConfirmed\"\r\n break;\r\n case \"5\":\r\n case \"8\":\r\n report_name = \"CorporateClinicsToBeCompleted\"\r\n break;\r\n case \"9\":\r\n report_name = \"PreviousClientsToBeCompleted\"\r\n break;\r\n default:\r\n break;\r\n }\r\n this.actionitems_metrics_service.exportActionItemsReportData(this.userProfile.userPk, this.fluHcsActionsIpForm.controls[\"ddlReports\"].value.toString(),false, report_name, this.fluHcsActionsIpForm.controls[\"ddlFormat\"].value,true).subscribe((res:any) => {\r\n let filename = \"TODO\";//['6','7','8'].indexOf(this.ddlReports.toString()) > -1 ? (this.actionitems_metrics_service) : this.actionitems_metrics_service.filename;\r\n importedSaveAs(res.body, report_name+'.xlsx');\r\n this.loading = false;\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n } else if (this.reportType == \"metric\") {\r\n switch (this.fluHcsActionsIpForm.controls[\"ddlReports\"].value.toString()) {\r\n case \"1\":\r\n report_name = \"ReviewClinicsExecutedToDate\";\r\n break;\r\n case \"2\":\r\n report_name = \"ReviewClinicsPendingSignedContract\";\r\n break;\r\n case \"3\":\r\n report_name = \"ReviewContractsDraftedButNotSent\";\r\n break;\r\n case \"4\":\r\n report_name = \"ReviewClinicsWithSignedContractToBeExecuted\";\r\n break;\r\n case \"5\":\r\n report_name = \"ReviewContractsWithRequestedChanges\";\r\n break;\r\n case \"6\":\r\n report_name = \"ReviewOppNotContacted\";\r\n break;\r\n case \"7\":\r\n report_name = \"ReviewClinicsExecutedToDate\";\r\n break;\r\n case \"8\":\r\n report_name = \"ReviewCOVIDClinicsPendingSignedContract\";\r\n break;\r\n case \"9\":\r\n report_name = \"ReviewCOVIDContractsDraftedButNotSent\";\r\n break;\r\n case \"10\":\r\n report_name = \"ReviewClinicsWithSignedContractToBeExecuted\";\r\n break;\r\n case \"11\":\r\n report_name = \"ReviewContractsWithRequestedChanges\";\r\n break;\r\n case \"12\":\r\n report_name = \"ReviewOppNotContacted\";\r\n break;\r\n \r\n default:\r\n break;\r\n }\r\n this.actionitems_metrics_service.exportMetricsReportData(this.userProfile.userPk, this.fluHcsActionsIpForm.controls[\"ddlReports\"].value.toString(),false, report_name, this.fluHcsActionsIpForm.controls[\"ddlFormat\"].value).subscribe((res:any) => { \r\n importedSaveAs(res.body, report_name+\".xlsx\");\r\n this.loading = false;\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n \r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { FluOpportunitiesContactStatusService } from '../../services/flu-opportunities-contact-status.service';\r\nimport * as xlsx from 'xlsx';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { ClinicdetailsService } from '../../../../modules/clinicdetails/services/clinicdetails.service';\r\nimport { MessageServiceService } from '../../../../modules/store/services/message-service.service';\r\nimport { PotentialLocalBusinessAndContactStatusService } from '../../services/potential-local-business.service';\r\nimport { ScheduledAppointmentsService } from '../../services/scheduledAppointments.service';\r\nimport { ApplicationSettings } from '../../../../modules/common/application-settings';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { states } from '../../../../JSON/States';\r\nimport { Paginator } from 'primeng/paginator';\r\nimport { JsFluOppContactStatusModel } from './../../../../models/JsFluOppContactStatusModel';\r\n@Component({\r\n selector: 'app-flu-opportunities-contact-status',\r\n templateUrl: './flu-opportunities-contact-status.component.html',\r\n styleUrls: ['./flu-opportunities-contact-status.component.css'],\r\n providers: [FluOpportunitiesContactStatusService]\r\n})\r\nexport class FluOpportunitiesContactStatusComponent implements OnInit {\r\n ddlReport: string = \"FluOpportunitiesContactStatus\";\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n fluOppOutreachstatusForm: FormGroup;\r\n fromDate: any;\r\n toDate: any;\r\n outreachEffort: any;\r\n outreachStartDate: any;\r\n outreachEndDate: any;\r\n userProfile: any;\r\n showddlState: boolean = false;\r\n states: any[];\r\n storeId: any;\r\n loading: boolean;\r\n\r\n\r\n\r\n ddlFormat: any;\r\n canExport: any;\r\n outreachstatus: any;\r\n contacted: any;\r\n status: any; \r\n\r\n minDate: any;\r\n maxDate: any;\r\n from_date: any;\r\n to_date: any;\r\n isDisable: boolean = false;\r\n\r\n potentialLocalBusinessContactStatusReportArray: any = [];\r\n potentialLocalBusinessContactStatusReportSource: any;\r\n totalRecords: number = 0;\r\n allStatuses: any = [];\r\n canShowNoBusinessesText: boolean = false;\r\n\r\n regionList = [];\r\n areaList = [];\r\n districtList = [];\r\n podList = [];\r\n //storeList = [];\r\n ddlArea: string = \"0\";\r\n ddlPod = \"0\";\r\n ddlDistrict: string = \"0\";\r\n ddlRegion: string = \"0\";\r\n ddlStoreId: string = \"0\";\r\n @ViewChild('plbcsPager', { static: false }) plbcsPager: Paginator;\r\n\r\n ddlState: any = \"0\";\r\n\r\n isDisableDates: boolean;\r\n\r\n postModel = new JsFluOppContactStatusModel();\r\n postCountModel = new JsFluOppContactStatusModel();\r\n totalRecordsCount: number;\r\n countCall:boolean = true;\r\n noOfCallsNeeded: number;\r\n counter: number = 1;\r\n downloadStartedSpinner: boolean;\r\n\r\n\r\n constructor(private _fluOpportunitiesContactStatusService: FluOpportunitiesContactStatusService,\r\n private router: Router, private potential_service: PotentialLocalBusinessAndContactStatusService,\r\n private message_service: MessageServiceService,\r\n private coClinicdetailsService: ClinicdetailsService, private storeIdListService: ScheduledAppointmentsService\r\n , private spinner: NgxSpinnerService, private fb: FormBuilder) {\r\n\r\n this.outreachEffort = \"3\";\r\n this.outreachStartDate = ApplicationSettings.getFluOppContactStatusStartDate(new Date().getFullYear());\r\n this.outreachEndDate = ApplicationSettings.getFluOppContactStatusEndDate(new Date().getFullYear());\r\n\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n if (this.userProfile.userRole == \"Admin\" || this.userProfile.userRole.toLowerCase() == \"regional vice president\" || this.userProfile.userRole.toLowerCase() == \"regional healthcare director\") {\r\n this.showddlState = true;\r\n }\r\n\r\n this.states = states.sort((a, b) => a.id.localeCompare(b.id));\r\n\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.spinner.show();\r\n this.ddlReport = \"0\";\r\n\r\n this.postCountModel.areaNumber = 0;\r\n this.postCountModel.contacted = -1;\r\n this.postCountModel.districtNumber = 0; \r\n this.postCountModel.podNumber = 0;\r\n this.postCountModel.outreachEffort = 3;\r\n this.postCountModel.regionNumber = 0;\r\n this.postCountModel.state = \"0\";\r\n this.postCountModel.status = \"-1\"; \r\n this._fluOpportunitiesContactStatusService.getTotalRecordsCountForFluOppContactStatusReport(this.postCountModel).subscribe((res: any) => {\r\n \r\n this.totalRecordsCount = +res;\r\n this.noOfCallsNeeded = Math.ceil(this.totalRecordsCount / 50000);\r\n this.countCall = false;\r\n this.spinner.hide();\r\n }, error => {\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n });\r\n\r\n\r\n this.storeId = SessionDetails.GetStoreId();\r\n this.isDisableDates = true;\r\n this.potential_service.getOutreachStatus().subscribe((resultArray: any) => {\r\n this.spinner.show();\r\n let outreach_program = ((this.outreachEffort == \"1\") ? \"SR\" : \"IP\");\r\n this.allStatuses = resultArray;\r\n var temp = resultArray.filter(x => x.outreachProgram == outreach_program && x.isActive /*== true*/ && [0, 9, 10].indexOf(x.outreachStatusId) == -1);\r\n this.status = temp; \r\n });\r\n\r\n let region = this.showddlState ? \"Region\" : \"Area\";\r\n this.coClinicdetailsService.getAreaDist(region, 0).subscribe(data => {\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n if (region == \"Region\")\r\n this.regionList.push({ key: keyValue, value: valueData });\r\n else\r\n this.areaList.push({ key: keyValue, value: valueData });\r\n } \r\n });\r\n this.setFormControls();\r\n \r\n\r\n // this.fluOppOutreachstatusForm.controls['areaNumber'].patchValue(\"0\");\r\n\r\n }\r\n\r\n setDates() {\r\n \r\n this.minDate = this.fromDate = new Date(this.outreachStartDate);\r\n this.maxDate = this.toDate = new Date(this.outreachEndDate);\r\n }\r\n\r\n reset() {\r\n this.contacted = \"3\";\r\n this.ddlFormat = \"0\";\r\n this.outreachstatus = -1;\r\n this.setDates();\r\n this.ddlFormat = \"0\";\r\n this.ddlRegion = \"0\";\r\n this.ddlArea = \"0\";\r\n this.ddlPod = \"0\";\r\n this.ddlDistrict = \"0\";\r\n this.ddlStoreId = \"0\";\r\n this.setFormControls();\r\n //this.generateReport();\r\n }\r\n\r\n generatereportformat(): void {\r\n \r\n this.downloadStartedSpinner = true;\r\n this.postModel.areaNumber = +this.fluOppOutreachstatusForm.controls['areaNumber'].value;\r\n this.postModel.contacted = +this.fluOppOutreachstatusForm.controls['contacted'].value;\r\n this.postModel.podNumber = +this.fluOppOutreachstatusForm.controls['podNumber'].value;\r\n this.postModel.districtNumber = +this.fluOppOutreachstatusForm.controls['districtNumber'].value\r\n this.postModel.fromDate = this.fluOppOutreachstatusForm.controls['fromDate'].value\r\n this.postModel.toDate = this.fluOppOutreachstatusForm.controls['toDate'].value\r\n this.postModel.outreachEffort = 3;\r\n this.postModel.regionNumber = +this.fluOppOutreachstatusForm.controls['regionNumber'].value\r\n this.postModel.state = this.fluOppOutreachstatusForm.controls['state'].value;\r\n this.postModel.status = this.fluOppOutreachstatusForm.controls['status'].value;\r\n this.postModel.pageIndex = this.counter;\r\n \r\n this.spinner.show();\r\n this._fluOpportunitiesContactStatusService.exportData(this.postModel).subscribe((res: any) => {\r\n let responseJsonForExcel = JSON.parse(res); \r\n this.exportToExcel(responseJsonForExcel,this.counter);\r\n this.counter++ \r\n if(this.counter > this.noOfCallsNeeded)\r\n {\r\n this.downloadStartedSpinner = false;\r\n this.spinner.hide(); \r\n } \r\n if(this.counter <= this.noOfCallsNeeded){\r\n this.generatereportformat()\r\n }\r\n else\r\n {\r\n this.counter = 1;\r\n } \r\n\r\n }, error => {\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n }); \r\n}\r\n\r\n updateOutreachStatus() {\r\n \r\n let data=this.fluOppOutreachstatusForm.value;\r\n let outreach_program = ((this.outreachEffort == \"1\") ? \"SR\" : \"IP\");\r\n if (data.contacted == \"0\") {\r\n let temp = this.allStatuses.filter(x => x.outreachProgram == outreach_program && x.isActive /* == true*/ && [0,2].indexOf(x.outreachStatusId) > -1);\r\n this.status = temp;\r\n // this.isDisable = true;\r\n this.outreachstatus = 0;\r\n this.isDisableDates = true;\r\n }\r\n else if (data.contacted == \"1\") {\r\n let temp = this.allStatuses.filter(x => x.outreachProgram == outreach_program && x.isActive /* == true*/ && [0, 9, 10].indexOf(x.outreachStatusId) == -1 && x.outreachStatusId!=2);\r\n this.status = temp;\r\n // this.isDisable = true;\r\n this.outreachstatus = 0;\r\n this.isDisableDates = false;\r\n }\r\n else {\r\n let temp = this.allStatuses.filter(x => x.outreachProgram == outreach_program && x.isActive /* == true*/ && x.outreachStatusId!=9 && x.outreachStatusId!=10);// && [9, 10].indexOf(x.outreachStatusId) == -1 && x.outreachStatusId> -1);\r\n this.status = temp;\r\n // this.isDisable = false;\r\n this.outreachstatus = -1;\r\n this.isDisableDates = true;\r\n }\r\n this.canExportOnchange();\r\n }\r\n\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n\r\n exportToExcel(responseJsonForExcel: any,counter:any) {\r\n \r\n let size = (counter-1) * (50000) + 1 +'_'+ (counter * 50000)\t\t\r\n const name = \"OpportunitiesContactStatusReport\";\r\n const ext = \".xlsx\";\r\n const fileName = name +'_'+ size + ext;\r\n const ws: xlsx.WorkSheet = xlsx.utils.json_to_sheet(responseJsonForExcel);\r\n const wb: xlsx.WorkBook = xlsx.utils.book_new();\r\n xlsx.utils.book_append_sheet(wb, ws, \"OpportunitiesContactStatus\");\r\n xlsx.writeFile(wb, fileName);\r\n }\r\n\r\n setFormControls() {\r\n \r\n this.setDates();\r\n this.fluOppOutreachstatusForm = this.fb.group({\r\n 'fromDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'toDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'regionNumber': [\"0\"],\r\n 'areaNumber': [\"0\"],\r\n 'podNumber': [\"0\"],\r\n 'districtNumber': [\"0\"],\r\n 'state': [\"0\"],\r\n 'contacted': [\"-1\"],\r\n 'status': [\"-1\"],\r\n 'outputType': [\"0\"]\r\n });\r\n }\r\n\r\n paginate(event) {\r\n this.potentialLocalBusinessContactStatusReportArray = [];\r\n this.loading = true;\r\n var curr_page_rec_count = event.first + event.rows;\r\n var page_to_get = curr_page_rec_count / 50;\r\n page_to_get = Math.ceil(page_to_get);\r\n var start_number = ((event.first < 50) ? (event.first - (50 * (page_to_get - 1))) : event.first);\r\n if (this.potentialLocalBusinessContactStatusReportSource) {\r\n var temp = this.potentialLocalBusinessContactStatusReportSource.slice(start_number, (start_number + 50));\r\n this.potentialLocalBusinessContactStatusReportArray = temp;\r\n this.totalRecords = this.potentialLocalBusinessContactStatusReportSource.length;\r\n }\r\n this.loading = false;\r\n }\r\n canExportOnchange() {\r\n this.canExport = false;\r\n }\r\n validateExportType() {\r\n if (this.ddlFormat == \"0\" || !this.canExport) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n onSelect(value, selected_value) {\r\n \r\n switch (value) {\r\n case 'Area':\r\n this.spinner.show(); \r\n\r\n this.areaList = [];\r\n this.districtList = [];\r\n this.podList = [];\r\n this.ddlArea = '0';\r\n this.ddlPod = \"0\";\r\n this.fluOppOutreachstatusForm.controls['areaNumber'].setValue('0');\r\n this.ddlDistrict = '0';\r\n this.coClinicdetailsService.getAreaDist(value, selected_value).subscribe(data => { \r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.areaList.push({ key: keyValue, value: valueData });\r\n }\r\n \r\n // get the count of records\r\n this.countCall = true;\r\n this.postCountModel.regionNumber = +selected_value \r\n this.postCountModel.districtNumber = +this.fluOppOutreachstatusForm.controls['districtNumber'].value\r\n this.postCountModel.podNumber = +this.fluOppOutreachstatusForm.controls['podNumber'].value\r\n this.postCountModel.areaNumber = +this.fluOppOutreachstatusForm.controls['areaNumber'].value \r\n this._fluOpportunitiesContactStatusService.getTotalRecordsCountForFluOppContactStatusReport(this.postCountModel).subscribe((res: any) => {\r\n \r\n this.totalRecordsCount = +res;\r\n this.noOfCallsNeeded = Math.ceil(this.totalRecordsCount / 50000);\r\n this.countCall = false;\r\n this.spinner.hide();\r\n }, error => {\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n });\r\n\r\n });\r\n break;\r\n case 'Pod':\r\n this.spinner.show();\r\n this.districtList = [];\r\n this.podList = [];\r\n this.ddlDistrict = \"0\";\r\n this.ddlPod = \"0\";\r\n this.fluOppOutreachstatusForm.controls['podNumber'].setValue('0');\r\n this.coClinicdetailsService.getAreaDist(value.toLowerCase(), selected_value).subscribe(data => { \r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.podList.push({ key: keyValue, value: valueData });\r\n }\r\n \r\n // get the count of records\r\n this.countCall = true;\r\n this.postCountModel.regionNumber = +this.fluOppOutreachstatusForm.controls['regionNumber'].value;\r\n this.postCountModel.areaNumber = +selected_value; \r\n this.postCountModel.districtNumber = +this.fluOppOutreachstatusForm.controls['districtNumber'].value\r\n this.postCountModel.podNumber = +this.fluOppOutreachstatusForm.controls['podNumber'].value \r\n this._fluOpportunitiesContactStatusService.getTotalRecordsCountForFluOppContactStatusReport(this.postCountModel).subscribe((res: any) => {\r\n \r\n this.totalRecordsCount = +res;\r\n this.noOfCallsNeeded = Math.ceil(this.totalRecordsCount / 50000);\r\n this.countCall = false;\r\n this.spinner.hide();\r\n }, error => {\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n });\r\n\r\n });\r\n break;\r\n\r\n case \"District\":\r\n this.spinner.show();\r\n \r\n \r\n this.districtList = [];\r\n this.ddlDistrict = '0';\r\n this.fluOppOutreachstatusForm.controls['districtNumber'].setValue('0');\r\n this.coClinicdetailsService.getAreaDist(`pod${value.toLowerCase()}`, selected_value).subscribe(data => {\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.districtList.push({ key: keyValue, value: valueData });\r\n }\r\n\r\n // get the count of records \r\n this.countCall = true; \r\n this.postCountModel.podNumber = +selected_value \r\n this.postCountModel.areaNumber = +this.fluOppOutreachstatusForm.controls['areaNumber'].value;\r\n this.postCountModel.regionNumber = +this.fluOppOutreachstatusForm.controls['regionNumber'].value; \r\n this.postCountModel.districtNumber = +this.fluOppOutreachstatusForm.controls['districtNumber'].value \r\n this._fluOpportunitiesContactStatusService.getTotalRecordsCountForFluOppContactStatusReport(this.postCountModel).subscribe((res: any) => {\r\n \r\n this.totalRecordsCount = +res;\r\n this.noOfCallsNeeded = Math.ceil(this.totalRecordsCount / 50000);\r\n this.countCall = false;\r\n this.spinner.hide();\r\n }, error => {\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n });\r\n });\r\n break;\r\n default:\r\n this.spinner.show();\r\n \r\n this.areaList = [];\r\n this.districtList = [];\r\n this.coClinicdetailsService.getAreaDist(value, 0).subscribe(data => {\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.regionList.push({ key: keyValue, value: valueData });\r\n }\r\n\r\n // get the count of records\r\n this.countCall = true;\r\n this.postCountModel.areaNumber = +this.fluOppOutreachstatusForm.controls['areaNumber'].value;\r\n this.postCountModel.regionNumber = +this.fluOppOutreachstatusForm.controls['regionNumber'].value;\r\n this.postCountModel.podNumber = +this.fluOppOutreachstatusForm.controls['podNumber'].value \r\n this.postCountModel.districtNumber = +this.fluOppOutreachstatusForm.controls['districtNumber'].value\r\n this.postCountModel.outreachEffort = 3;\r\n this.postCountModel.state = this.fluOppOutreachstatusForm.controls['state'].value;\r\n this._fluOpportunitiesContactStatusService.getTotalRecordsCountForFluOppContactStatusReport(this.postCountModel).subscribe((res: any) => {\r\n \r\n this.totalRecordsCount = +res;\r\n this.noOfCallsNeeded = Math.ceil(this.totalRecordsCount / 50000);\r\n this.countCall = false;\r\n this.spinner.hide();\r\n }, error => {\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n });\r\n \r\n });\r\n break;\r\n } \r\n }\r\n\r\n onDistrictStateChange(value, selected_value) {\r\n \r\n switch (value) {\r\n case 'District':\r\n this.spinner.show();\r\n // get the count of records\r\n this.countCall = true;\r\n this.postCountModel.areaNumber = +this.fluOppOutreachstatusForm.controls['areaNumber'].value;\r\n this.postCountModel.regionNumber = +this.fluOppOutreachstatusForm.controls['regionNumber'].value;\r\n this.postCountModel.podNumber = +this.fluOppOutreachstatusForm.controls['podNumber'].value \r\n this.postCountModel.districtNumber = +selected_value\r\n this.postCountModel.outreachEffort = 3;\r\n this.postCountModel.state = this.fluOppOutreachstatusForm.controls['state'].value;\r\n this._fluOpportunitiesContactStatusService.getTotalRecordsCountForFluOppContactStatusReport(this.postCountModel).subscribe((res: any) => {\r\n \r\n this.totalRecordsCount = +res;\r\n this.noOfCallsNeeded = Math.ceil(this.totalRecordsCount / 50000);\r\n this.countCall = false;\r\n this.spinner.hide();\r\n }, error => {\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n \r\n });\r\n break;\r\n case 'State':\r\n this.spinner.show();\r\n // get the count of records\r\n this.countCall = true;\r\n this.postCountModel.areaNumber = +this.fluOppOutreachstatusForm.controls['areaNumber'].value;\r\n this.postCountModel.regionNumber = +this.fluOppOutreachstatusForm.controls['regionNumber'].value;\r\n this.postCountModel.podNumber = +this.fluOppOutreachstatusForm.controls['podNumber'].value; \r\n this.postCountModel.districtNumber = +this.fluOppOutreachstatusForm.controls['districtNumber'].value;\r\n this.postCountModel.outreachEffort = 3;\r\n this.postCountModel.state = selected_value;\r\n this._fluOpportunitiesContactStatusService.getTotalRecordsCountForFluOppContactStatusReport(this.postCountModel).subscribe((res: any) => {\r\n \r\n this.totalRecordsCount = +res;\r\n this.noOfCallsNeeded = Math.ceil(this.totalRecordsCount / 50000);\r\n this.countCall = false;\r\n this.spinner.hide();\r\n }, error => {\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n \r\n });\r\n break;\r\n\r\n default:\r\n this.spinner.show();\r\n // get the count of records\r\n this.countCall = true;\r\n this.postCountModel.areaNumber = +this.fluOppOutreachstatusForm.controls['areaNumber'].value;\r\n this.postCountModel.regionNumber = +this.fluOppOutreachstatusForm.controls['regionNumber'].value;\r\n this.postCountModel.podNumber = +this.fluOppOutreachstatusForm.controls['podNumber'].value;\r\n this.postCountModel.districtNumber = +this.fluOppOutreachstatusForm.controls['districtNumber'].value\r\n this.postCountModel.outreachEffort = 3;\r\n this.postCountModel.state = this.fluOppOutreachstatusForm.controls['state'].value;\r\n this._fluOpportunitiesContactStatusService.getTotalRecordsCountForFluOppContactStatusReport(this.postCountModel).subscribe((res: any) => {\r\n \r\n this.totalRecordsCount = +res;\r\n this.noOfCallsNeeded = Math.ceil(this.totalRecordsCount / 50000);\r\n this.countCall = false;\r\n this.spinner.hide();\r\n }, error => {\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n });\r\n \r\n this.areaList = [];\r\n this.districtList = [];\r\n this.coClinicdetailsService.getAreaDist(value, 0).subscribe(data => {\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.regionList.push({ key: keyValue, value: valueData });\r\n }\r\n });\r\n break;\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { GroupIdAssignmentReportService } from '../../services/groupidassignmentreport.services';\r\nimport * as appSettings from '../../globals';\r\n//import { NGXLogger } from 'ngx-logger';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\n//import { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n\r\n@Component({\r\n selector: 'app-groupidassignmentreport',\r\n templateUrl: './groupidassignmentreport.component.html',\r\n styleUrls: ['./groupidassignmentreport.component.css']\r\n})\r\nexport class GroupidassignmentreportComponent implements OnInit {\r\n GroupidassignmentreportForm: FormGroup;\r\n GroupidassignmentreportArray: any;\r\n ddlSeason: number;\r\n past2021:boolean = false;\r\n private isCurrentSeason = 1;\r\n ddlFormat:any;\r\n filterByDate: boolean=false;\r\n fromDate: Date;\r\n toDate: Date;\r\n minDate:Date;\r\n maxDate:Date;\r\n isCurrentYearSeason:number;\r\n outreachStartDate=ApplicationSettings.outreachStartDateIP;\r\n groupIdLaunchDate=\"05/01/2018\";\r\n private from_date: string;\r\n private to_date: string;\r\ntotalRecords: number;\r\n loading: boolean;\r\nprivate currentSeason = appSettings.ipSeason;\r\n seasons:any=[];\r\ncanExport:boolean=true;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n showGrid:boolean = false;\r\n covidOnly: boolean = false;\r\n constructor(\r\n private fb: FormBuilder,\r\n private groupidassignmentreport: GroupIdAssignmentReportService,\r\n /*private logger: NGXLogger,*/ /*private spinner: NgxSpinnerService*/private spinner: NgxSpinnerService) {\r\n }\r\n ngOnInit() {\r\n for (let report_year:number = (new Date()).getFullYear() ; report_year >= (new Date(this.groupIdLaunchDate)).getFullYear(); report_year--)\r\n {\r\n this.seasons.push({\r\n \"yearName\": report_year.toString()+\"-\"+(report_year+1).toString(),\r\n \"yearCode\": report_year.toString()\r\n });\r\n }\r\n \r\n this.ddlSeason = (new Date(this.outreachStartDate)).getFullYear();\r\n \r\n this.ddlFormat=\"0\";\r\n this.filterByDate = false;\r\n //this.fromDate = this.minDate;\r\n //this.toDate = this.maxDate;\r\n this.setFormControls();\r\n this.setDates();\r\n }\r\n setFormControls() {\r\n this.GroupidassignmentreportForm = this.fb.group({\r\n 'chkFilterByDate': this.filterByDate,\r\n 'fDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'tDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'ddlSeason': [this.ddlSeason],\r\n 'ddlFormat':[this.ddlFormat],\r\n 'covidOnly': [false]\r\n });\r\n }\r\n \r\n //this.generateReport();\r\ngenerateReport(): void {\r\n \r\n if(!this.showGrid){\r\n this.spinner.show();\r\n }\r\n else{\r\n this.loading = true;\r\n }\r\n this.fromDate = this.GroupidassignmentreportForm.controls['fDate'].value;\r\n //this.toDate = this.GroupidassignmentreportForm.controls['tDate'].value;\r\n //this.ddlSeason = this.GroupidassignmentreportForm.controls['ddlSeason'].value;\r\n //this.ddlFormat = this.GroupidassignmentreportForm.controls['ddlFormat'].value;\r\n //this.filterByDate= this.GroupidassignmentreportForm.controls['chkFilterByDate'].value;\r\n let data=this.GroupidassignmentreportForm.value;\r\n let d1 = data.fDate;\r\n let d2 = data.tDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n //this.logger.log(this.from_date);\r\n //this.logger.log(this.to_date);\r\n \r\n if (this.ddlSeason != this.currentSeason) {\r\n this.isCurrentSeason = 0;\r\n this.isCurrentYearSeason =0;\r\n } \r\n else\r\n {\r\n this.isCurrentSeason = 1;\r\n this.isCurrentYearSeason =1;\r\n } \r\n this.groupidassignmentreport.getGroupidassignmentreportData(\r\n this.from_date,\r\n \r\n this.to_date,this.filterByDate,this.isCurrentSeason,this.ddlSeason, this.covidOnly).subscribe((resultArray: any) => {\r\n \r\n this.totalRecords = resultArray.length;\r\n //this.logger.log(\"totalRecords:\" + this.totalRecords);\r\n\r\n this.GroupidassignmentreportArray = resultArray;\r\n\r\n //this.logger.log(\"this.GroupidassignmentreportArray:\" + this.GroupidassignmentreportArray.length);\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.showGrid = true;\r\n this.canExport=true;\r\n }, 1000)\r\n },error =>{\r\n \r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.GroupidassignmentreportArray = [];\r\n this.totalRecords = 0;\r\n });\r\n this.canExport=true;\r\n }\r\n generateReportFormat(): void {\r\n \r\n this.loading=true;\r\n if (this.ddlSeason != this.currentSeason) {\r\n this.isCurrentSeason = 0;\r\n this.isCurrentYearSeason =0;\r\n } \r\n else\r\n {\r\n this.isCurrentSeason = 1;\r\n this.isCurrentYearSeason =1;\r\n } \r\n this.groupidassignmentreport.exportReportData(this.from_date,\r\n this.to_date,this.filterByDate,this.isCurrentSeason,this.ddlSeason,\"GroupIdAssignment\",\"xlsxv\", this.covidOnly).subscribe((res:any) => {\r\n importedSaveAs(res.body, \"GroupIdAssignment.xlsx\");\r\n this.loading=false;\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n setDates(){\r\n \r\n if(this != undefined){\r\n this.ddlSeason=this.GroupidassignmentreportForm.controls['ddlSeason'].value;\r\n } \r\n let tempMinDate:Date;\r\n let tempMaxDate:Date;\r\n tempMinDate=new Date(ApplicationSettings.getIMmunizationStartDate(this.ddlSeason));\r\n tempMaxDate=new Date(ApplicationSettings.getImmunizationEndDate(this.ddlSeason));\r\n this.minDate=new Date(tempMinDate);\r\n this.maxDate=new Date(tempMaxDate)\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n this.canExport=false;\r\n this.isCurrentSeason = (this.ddlSeason != this.currentSeason)?0:1;\r\n this.past2021 = this.ddlSeason > 2021\r\n if(this.GroupidassignmentreportForm != undefined){\r\n this.GroupidassignmentreportForm.controls['fDate'].setValue(this.fromDate);\r\n this.GroupidassignmentreportForm.controls['tDate'].setValue(this.toDate);\r\n }\r\n }\r\n setDates1(){\r\n let tempMinDate:Date;\r\n let tempMaxDate:Date;\r\n tempMinDate=new Date(ApplicationSettings.getIMmunizationStartDate(this.ddlSeason));\r\n tempMaxDate=new Date(ApplicationSettings.getImmunizationEndDate(this.ddlSeason));\r\n this.minDate=new Date(tempMinDate);\r\n this.maxDate=new Date(tempMaxDate)\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n this.canExport=false; \r\n this.isCurrentSeason = (this.ddlSeason != this.currentSeason)?0:1;\r\n }\r\n setCalendarDates(){\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n this.canExport=false;\r\n }\r\n reset(): void {\r\n //this.loading = true;\r\n this.showGrid = false;\r\n this.ddlSeason = this.currentSeason;\r\n this.ddlFormat=0;\r\n this.setDates();\r\n this.setFormControls();\r\n this,this.covidOnly = false;\r\n //this.generateReport();\r\n }\r\n validateExportType(){\r\n this.ddlFormat = this.GroupidassignmentreportForm.controls['ddlFormat'].value;\r\n if(this.ddlFormat==\"0\" || !this.canExport)\r\n return true;\r\n else\r\n return false;\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit, ViewChildren, QueryList } from '@angular/core';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ActionitemsandmetricsService } from '../../services/actionitemsandmetrics.service';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { Compiler } from '@angular/core';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\n\r\n@Component({\r\n selector: 'app-hcs-actions-items-ip',\r\n templateUrl: './hcs-actions-items-ip.component.html',\r\n styleUrls: ['./hcs-actions-items-ip.component.css']\r\n})\r\nexport class HcsActionsItemsIpComponent implements OnInit {\r\n @ViewChildren('column') columns: QueryList; \r\n actionItemsAndMetricArray: any;\r\n hcsActionItemsOrMetricsList: any;\r\n ddlReports: number;\r\n ddlFormat: string;\r\n loading: boolean = true;\r\n userProfile: any;\r\n totalRecords: number = 0;\r\n reportType: string = \"\";\r\n reportId: number;\r\n cols: any = [];\r\n canExport:any; \r\n recordsCountText =\"\";\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n is_flu:boolean = false;\r\n\r\n constructor(private actionitems_metrics_service: ActionitemsandmetricsService,\r\n private message_service:MessageServiceService, private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n if (sessionStorage.actionItemOrMetricId) {\r\n let item_details = sessionStorage.actionItemOrMetricId.split(':');\r\n if (item_details.length > 0) {\r\n this.reportType = item_details[0];\r\n this.reportId = item_details[1];\r\n }\r\n }\r\n if (this.reportType == \"actionitem\") {\r\n if (SessionDetails.getHCSActionItemsList().length > 0) {\r\n this.hcsActionItemsOrMetricsList = SessionDetails.getHCSActionItemsList();\r\n }\r\n }\r\n else {\r\n if (SessionDetails.getHCSActionItemsList().length > 0) {\r\n this.hcsActionItemsOrMetricsList = SessionDetails.getHCSMetricsList();\r\n for (let i = 0; i < 5; i++) {\r\n let metric = this.hcsActionItemsOrMetricsList[i];\r\n var name = metric.metricName.split('Review ').join('Review COVID ');\r\n this.hcsActionItemsOrMetricsList.push({ covidCount: 0, metricCount: 0, metricDesc: '', metricId: metric.metricId+5, metricName: name })\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.ddlFormat = \"0\";\r\n this.ddlReports = this.reportId\r\n this.generateReport();\r\n }\r\n\r\n reportChanged() {\r\n this.actionItemsAndMetricArray =[];\r\n this.recordsCountText=\"\";\r\n this.reportId = this.ddlReports;\r\n this.message_service.setReportTitle(this.getTitleForDashboardReports());\r\n this.generateReport();\r\n }\r\n\r\n generateReport(): void {\r\n this.loading = true;\r\n if (this.reportType == \"actionitem\") {\r\n this.actionitems_metrics_service.getActionItemsReportData(this.userProfile.userPk, this.ddlReports.toString(), this.is_flu).subscribe((resultArray: any) => {\r\n this.totalRecords = resultArray.length;\r\n if(this.totalRecords > 0){\r\n this.recordsCountText = \"There are \" + this.totalRecords + \" records.\";\r\n }else{\r\n this.recordsCountText = \"No records found.\"\r\n }\r\n this.actionItemsAndMetricArray = resultArray;\r\n this.columns.forEach(col => {\r\n col.hidden = (this.actionItemsAndMetricArray[0][col.field]);\r\n });\r\n setTimeout(() => {\r\n this.loading = false; \r\n }, 1000)\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.actionItemsAndMetricArray = [];\r\n this.totalRecords = 0;\r\n });\r\n } else if (this.reportType == \"metric\") {\r\n this.actionitems_metrics_service.getMetricsReportData(this.userProfile.userPk, this.ddlReports.toString(), false).subscribe((resultArray: any) => {\r\n this.totalRecords = resultArray.length;\r\n if(this.totalRecords > 0){\r\n this.recordsCountText = \"There are \" + this.totalRecords + \" records.\";\r\n }else{\r\n this.recordsCountText = \"No records found.\"\r\n }\r\n this.actionItemsAndMetricArray = resultArray;\r\n this.columns.forEach(col => {\r\n col.hidden = (this.actionItemsAndMetricArray[0][col.field]);\r\n });\r\n setTimeout(() => {\r\n this.loading = false; \r\n }, 1000)\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.actionItemsAndMetricArray = [];\r\n this.totalRecords = 0;\r\n });\r\n }\r\n }\r\n getTitleForDashboardReports() {\r\n var title = \"\";\r\n let rpt_id:string=this.reportId.toString();\r\n let report_type:string=this.reportType;\r\n \r\n switch (rpt_id) {\r\n case \"1\":\r\n title=((report_type==\"actionitem\")?\"Corporate Clinics to be Reviewed/Assigned\":\"Review Clinics Completed to Date\");\r\n break;\r\n case \"2\":\r\n title=\"Review Clinics Pending Signed Contract\";\r\n break;\r\n case \"3\":\r\n title=((report_type==\"actionitem\")?\"Local Leads to be Reviewed/Assigned\":\"Review Contracts Drafted but Not Sent\");\r\n break;\r\n case \"4\":\r\n title=((report_type==\"actionitem\")?\"Corporate Clinics to be Confirmed\":\"Review Clinics with Signed Contract to be Completed\");\r\n break;\r\n case \"5\":\r\n title=((report_type==\"actionitem\")?\"Corporate Clinics to be Completed\":\"Review Contracts with Requested Changes\");\r\n break;\r\n case \"6\":\r\n title = ((report_type == \"actionitem\") ? \"COVID Clinics to be Reviewed/Assigned\" : \"Review COVID Clinics Completed to Date\");\r\n break;\r\n case \"7\":\r\n title = ((report_type == \"actionitem\") ? \"COVID Clinics to be Confirmed\" : \"Review COVID Clinics Pending Signed Contract\");\r\n break;\r\n case \"8\":\r\n title = ((report_type == \"actionitem\") ? \"COVID Clinics to be Completed\" : \"Review COVID Contracts Drafted but Not Sent\");\r\n break;\r\n case \"9\":\r\n title = ((report_type == \"actionitem\") ? \"\" : \"Review COVID Clinics with Signed Contract to be Completed\");\r\n break;\r\n case \"10\":\r\n title = ((report_type == \"actionitem\") ? \"\" : \"Review COVID Contracts with Requested Changes\");\r\n break;\r\n default:\r\n break;\r\n }\r\n return title.toUpperCase();\r\n }\r\n\r\n generatereportformat(): void {\r\n \r\n this.loading = true;\r\n let report_name: string = \"\";\r\n if (this.reportType == \"actionitem\") {\r\n switch (this.ddlReports.toString()) {\r\n case \"1\":\r\n case \"6\":\r\n report_name = \"CorporateClinicsToBeReviewedAssigned\"\r\n break;\r\n case \"3\":\r\n report_name = \"LocalLeadsToBeReviewedAssigned\"\r\n break;\r\n case \"4\":\r\n case \"7\":\r\n report_name = \"CorporateClinicsToBeConfirmed\"\r\n break;\r\n case \"5\":\r\n case \"8\":\r\n report_name = \"CorporateClinicsToBeCompleted\"\r\n break;\r\n default:\r\n break;\r\n }\r\n this.actionitems_metrics_service.exportActionItemsReportData(this.userProfile.userPk, this.ddlReports.toString(),false, report_name, this.ddlFormat).subscribe((res:any) => {\r\n let filename = ['6','7','8'].indexOf(this.ddlReports.toString()) > -1 ? (report_name).replace('Corporate', 'COVID') : report_name;\r\n importedSaveAs(res.body, filename+\".xlsx\");\r\n this.loading = false;\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n } else if (this.reportType == \"metric\") {\r\n switch (this.ddlReports.toString()) {\r\n case \"1\":\r\n report_name = \"ReviewClinicsExecutedToDate\"\r\n break;\r\n case \"2\":\r\n report_name = \"ReviewClinicsPendingSignedContract\"\r\n break;\r\n case \"3\":\r\n report_name = \"ReviewContractsDraftedButNotSent\"\r\n break;\r\n case \"4\":\r\n report_name = \"ReviewClinicsWithSignedContractToBeExecuted\"\r\n break;\r\n case \"5\":\r\n report_name = \"ReviewContractsWithRequestedChanges\"\r\n break;\r\n case \"6\":\r\n report_name = \"ReviewClinicsExecutedToDate\"\r\n break;\r\n case \"7\":\r\n report_name = \"ReviewClinicsPendingSignedContract\"\r\n break;\r\n case \"8\":\r\n report_name = \"ReviewContractsDraftedButNotSent\"\r\n break;\r\n case \"9\":\r\n report_name = \"ReviewClinicsWithSignedContractToBeExecuted\"\r\n break;\r\n case \"10\":\r\n report_name = \"ReviewContractsWithRequestedChanges\"\r\n break;\r\n default:\r\n break;\r\n }\r\n this.actionitems_metrics_service.exportMetricsReportData(this.userProfile.userPk, this.ddlReports.toString(),false, report_name, this.ddlFormat).subscribe((res:any) => {\r\n importedSaveAs(res.body, report_name+\".xlsx\");\r\n this.loading = false;\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n validateExportType() {\r\n if (this.ddlFormat == \"0\"||this.canExport==false)\r\n return true;\r\n else\r\n return false;\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { HighLevelCompliance } from '../../../../models/HighLevelCompliance';\r\nimport * as appSettings from '../../globals';\r\nimport { HighlevelcomplianceService } from '../../services/highlevelcompliance.service';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\n\r\n@Component({\r\n selector: 'app-highlevelcompliance',\r\n templateUrl: './highlevelcompliance.component.html',\r\n styleUrls: ['./highlevelcompliance.component.css']\r\n})\r\nexport class HighlevelcomplianceComponent implements OnInit {\r\n highLevelComplianceArray: any;\r\n ddlYear: any;\r\n years: any;\r\n quarters: any;\r\n ddlQuarter: any;\r\n ddlFormat: any;\r\n loading:boolean=true;\r\n totalRecords:number=0; \r\n canExport:any;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n private outreachEffort = appSettings.outreachEffortIP;\r\n\r\n constructor(private highlevel_compliance_service:HighlevelcomplianceService) { }\r\n\r\n ngOnInit() {\r\n this.ddlFormat = \"0\"; \r\n this.years = ApplicationSettings.getOutreachReportYears();\r\n this.quarters = ApplicationSettings.getReportYearQuarters();\r\n this.ddlYear = (ApplicationSettings.getOutreachStartDate().getFullYear());\r\n this.ddlQuarter = ApplicationSettings.getCurrentQuarter().toString();\r\n this.generateReport();\r\n }\r\n generateReport(): void {\r\n this.loading = true;\r\n let hlcr: HighLevelCompliance;\r\n var is_current_season = ((this.ddlYear) !== (ApplicationSettings.getOutreachStartDate().getFullYear()) ? 0 : 1);\r\n let quarter_start_date:any = new Date(new Date(((is_current_season)?\"06/01/\":\"09/01/\") + (this.ddlYear -1)));\r\n hlcr = new HighLevelCompliance(this.outreachEffort.toString(),quarter_start_date,this.ddlQuarter, \"\", \"\");\r\n this.highlevel_compliance_service.getHighLevelReportSO(hlcr).subscribe((resultArray: any) => {\r\n this.totalRecords = resultArray.length;\r\n this.highLevelComplianceArray = resultArray;\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.canExport = true;\r\n }, 1000)\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.highLevelComplianceArray = [];\r\n this.totalRecords = 0;\r\n });\r\n this.ddlFormat=\"0\";\r\n }\r\n generatereportformat(): void {\r\n this.loading = true;\r\n let hlcr: HighLevelCompliance;\r\n var is_current_season = ((this.ddlYear) !== (ApplicationSettings.getOutreachStartDate().getFullYear()) ? 0 : 1);\r\n let quarter_start_date:any = new Date(new Date(((is_current_season)?\"06/01/\":\"09/01/\") + (this.ddlYear -1)));\r\n hlcr = new HighLevelCompliance(this.outreachEffort.toString(),quarter_start_date,this.ddlQuarter, \"\", \"\");\r\n this.highlevel_compliance_service.exportReportData(hlcr).subscribe((res: any) => {\r\n importedSaveAs(res, \"\");\r\n this.loading=false;\r\n this.canExport=true;\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n this.ddlFormat=\"0\";\r\n }\r\n public getQuarterName(quarter: number) {\r\n var quarter_name = \"\";\r\n /* switch (quarter) {\r\n case 1:\r\n quarter_name = \"Q1\";\r\n break;\r\n case 2:\r\n quarter_name = \"Q2\";\r\n break;\r\n case 3:\r\n quarter_name = \"Q3\";\r\n break;\r\n case 4:\r\n quarter_name = \"Q4\";\r\n break;\r\n default:\r\n break;\r\n }*/\r\n return quarter_name;\r\n }\r\n canExportOnchange(){\r\n this.canExport=false;\r\n }\r\n validateExportType(){\r\n if(this.ddlFormat==\"0\" || !this.canExport)\r\n return true;\r\n else\r\n return false;\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { Router } from '../../../../../../node_modules/@angular/router';\r\nimport { HighLevelStatus } from '../../../../models/HighLevelStatus';\r\nimport { SessionDetails } from '../../../../utility/session';\r\n//import * as appReportSettings from '../../globals';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { HighlevelstatusService } from '../../services/highlevelstatus.service';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { states } from '../../../../JSON/States';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-highlevelstatusreport',\r\n templateUrl: './highlevelstatusreport.component.html',\r\n styleUrls: ['./highlevelstatusreport.component.css']\r\n})\r\nexport class HighlevelstatusreportComponent implements OnInit {\r\n userProfile: any;\r\n showFilters: boolean = false;\r\n isPCA : boolean = false;\r\n highLevelStatusArray: any;\r\n private outreachEffort: number;\r\n totalRecords: number;\r\n ddlFormat: any;\r\n minDate: any;\r\n maxDate: any;\r\n fromDate: any;\r\n toDate: any;\r\n loading: boolean = false;\r\n canExport: boolean = true;\r\n showDistrictNames: boolean = false;\r\n districtNames: any = [];\r\n ddlDistrict: string;\r\n reportName:string=\"HighLevelStatus\";\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n covidOnly: boolean = false;\r\n stateList: any = [];\r\n ddlState : string = \"All\";\r\n private selectedDistrictId:number=null;\r\n highLevelForm: FormGroup;\r\n constructor(private router: Router, private highLevelStatus: HighlevelstatusService, private fb: FormBuilder) {\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n this.showDistrictNames = (this.userProfile.userRole.toLowerCase() != \"admin\" && this.userProfile.userRole.toLowerCase() != \"district manager\");\r\n if (this.router.url.indexOf('immunization') > -1) {\r\n this.showFilters = true;\r\n this.outreachEffort = ApplicationSettings.outreachEffortIP;\r\n }\r\n else if( this.router.url.indexOf('patientcareadvocacy') > -1){\r\n this.isPCA=true;\r\n this.outreachEffort = 4;\r\n } else {\r\n this.outreachEffort = ApplicationSettings.outreachEffortSO;\r\n }\r\n }\r\n ngOnInit() {\r\n if (this.showDistrictNames) {\r\n this.highLevelStatus.getDistrictNames(this.userProfile.userPk).subscribe((resultArray: any) => {\r\n this.districtNames.push({\r\n \"districtNumber\": 0,\r\n \"Name\": \"All Districts\",\r\n \"userPk\": this.userProfile.userPk\r\n });\r\n resultArray.forEach(element => {\r\n this.districtNames.push(element);\r\n });\r\n });\r\n this.ddlDistrict = this.userProfile.userPk;\r\n this.selectedDistrictId = 0;\r\n }\r\n this.ddlFormat = \"0\";\r\n\r\n if (this.showFilters || this.isPCA) {\r\n this.setDates();\r\n }else{\r\n this.fromDate = (ApplicationSettings.getOutreachStartDate());\r\n this.toDate = (ApplicationSettings.getOutreachEndDate());\r\n if(this.outreachEffort == 1){\r\n //this.fromDate = new Date(\"09/01/\" + this.fromDate.getFullYear());\r\n let dt = new Date();\r\n this.fromDate = ApplicationSettings.getSRStartDate(dt.getFullYear());\r\n this.toDate = ApplicationSettings.getSREndDate(dt.getFullYear());\r\n }\r\n }\r\n if(this.isPCA){\r\n this.reportName= this.reportName + \"PCA\";\r\n }\r\n this.setFormControls();\r\n this.getStates();\r\n this.generateReport();\r\n };\r\n setFormControls(){\r\n this.highLevelForm = this.fb.group({\r\n 'fromDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'toDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'ddlDistrict': [\"0\"],\r\n 'ddlState': [\"All\"],\r\n 'ddlFormat': [\"xlsxv\"]\r\n });\r\n }\r\n getStates():void{\r\n this.stateList = states;\r\n }\r\n\r\n generateReport(): void {\r\n this.loading = true;\r\n let hlsr: HighLevelStatus;\r\n \r\n let f_date = new Date(this.fromDate);\r\n let t_date = new Date(this.toDate);\r\n var fr_date = f_date.getMonth() + 1 + \"/\" + f_date.getDate() + \"/\" + f_date.getFullYear();\r\n var tt_date = t_date.getMonth() + 1 + \"/\" + t_date.getDate() + \"/\" + t_date.getFullYear();\r\n let formData = this.highLevelForm.value;\r\n this.ddlState=this.highLevelForm.get(\"ddlState\").value;\r\n hlsr = new HighLevelStatus(this.ddlState, this.outreachEffort.toString(), ((this.showDistrictNames) ? this.ddlDistrict : this.userProfile.userPk), formData.ddlDistrict, new Date(formData.fromDate).toLocaleDateString(),new Date(formData.toDate).toLocaleDateString() , this.covidOnly, \"\", \"\");\r\n this.highLevelStatus.getHighLevelStatusReportData(hlsr).subscribe((resultArray: any) => {\r\n this.totalRecords = resultArray.length;\r\n \r\n this.highLevelStatusArray = resultArray;\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.canExport = true;\r\n }, 1000)\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.highLevelStatusArray = [];\r\n this.totalRecords = 0;\r\n });\r\n }\r\n generatereportformat(): void {\r\n this.loading = true;\r\n let hlsr: HighLevelStatus;\r\n \r\n let f_date = new Date(this.fromDate);\r\n let t_date = new Date(this.toDate);\r\n var fr_date = f_date.getMonth() + 1 + \"/\" + f_date.getDate() + \"/\" + f_date.getFullYear();\r\n var tt_date = t_date.getMonth() + 1 + \"/\" + t_date.getDate() + \"/\" + t_date.getFullYear();\r\n let formData = this.highLevelForm.value;\r\n hlsr = new HighLevelStatus(this.ddlState, this.outreachEffort.toString(), ((this.showDistrictNames) ? this.ddlDistrict : this.userProfile.userPk), this.selectedDistrictId, formData.fromDate, formData.toDate, this.covidOnly, this.reportName, 'xlsxv');\r\n \r\n this.highLevelStatus.exportReportData(hlsr).subscribe((res:any) => {\r\n importedSaveAs(res.body, this.reportName+\".xlsx\");\r\n this.loading = false;\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n\r\n setDates() {\r\n let tempMinDate: Date;\r\n let tempMaxDate: Date;\r\n var tmp_year = new Date();\r\n if (this.isPCA) {\r\n tempMinDate = new Date(ApplicationSettings.getPCAStartDate(tmp_year.getFullYear()));\r\n tempMaxDate = new Date(ApplicationSettings.getPCAEndDate(tmp_year.getFullYear()));\r\n }\r\n else {\r\n tempMinDate = new Date(ApplicationSettings.getIMmunizationStartDate(tmp_year.getFullYear()));\r\n tempMaxDate = new Date(ApplicationSettings.getImmunizationEndDate(tmp_year.getFullYear()));\r\n if (this.outreachEffort == 1) {\r\n // tempMinDate = new Date(\"09/01/\" + tempMinDate.getFullYear());\r\n // tempMaxDate = new Date(\"08/31/\" + tempMaxDate.getFullYear());\r\n let dt = new Date();\r\n tempMinDate = ApplicationSettings.getSRStartDate(dt.getFullYear());\r\n tempMaxDate = ApplicationSettings.getSREndDate(dt.getFullYear());\r\n }\r\n }\r\n this.minDate = new Date(tempMinDate);\r\n this.maxDate = new Date(tempMaxDate)\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n this.canExport = false;\r\n }\r\n reset() {\r\n this.ddlFormat = \"xlsxv\";\r\n this.ddlState = \"All\";\r\n this.covidOnly = false;\r\n if (this.showFilters || this.isPCA) { \r\n this.ddlDistrict = this.userProfile.userPk;\r\n this.selectedDistrictId = 0;\r\n this.setDates();\r\n }else{\r\n this.fromDate = (ApplicationSettings.getOutreachStartDate());\r\n this.toDate = (ApplicationSettings.getOutreachEndDate());\r\n if(this.outreachEffort == 1){\r\n let dt = new Date();\r\n this.fromDate = ApplicationSettings.getSRStartDate(dt.getFullYear());\r\n this.toDate = ApplicationSettings.getSREndDate(dt.getFullYear());\r\n //this.fromDate = new Date(\"09/01/\" + this.fromDate.getFullYear());\r\n //this.toDate = new Date(\"08/31/\" + this.toDate.getFullYear());\r\n }\r\n this.ddlDistrict = this.userProfile.userPk;\r\n this.selectedDistrictId = 0;\r\n }\r\n this.setFormControls();\r\n this.generateReport();\r\n }\r\n\r\n validateExportType() {\r\n if (this.ddlFormat == \"0\" || !this.canExport)\r\n return true;\r\n else\r\n return false;\r\n }\r\n canExportOnchange() {\r\n this.canExport = false;\r\n }\r\n\r\n onDistrictChange(event: Event) {\r\n let ctrl = event.target || event.currentTarget || event.srcElement;\r\n let select_element_text = ctrl['options'][ctrl['options'].selectedIndex].text;\r\n \r\n var tmp = this.districtNames.filter(district => district.userPk.toString() == this.ddlDistrict && select_element_text.indexOf(district.districtNumber)>-1);\r\n this.selectedDistrictId = (tmp.length > 0) ? tmp[0].districtNumber : 0;\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport * as appSettings from '../../globals';\r\n//import { NGXLogger } from 'ngx-logger';\r\nimport { ApplicationSettings } from './../../../common/application-settings';\r\nimport { ImmunizationFinanceService } from '../../services/immunizationfinance.service';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { ImmunizationFinance } from '../../../../models/ImmunizationFinance';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n\r\n@Component({\r\n selector: 'app-immunizationfinancereport',\r\n templateUrl: './immunizationfinancereport.component.html',\r\n styleUrls: ['./immunizationfinancereport.component.css']\r\n})\r\nexport class ImmunizationfinancereportComponent implements OnInit {\r\n immunizationFinanceReportForm: FormGroup;\r\n immunizationFinanceReportArray: any;\r\n outreachStartDate = ApplicationSettings.outreachStartDateIP;\r\n groupIdLaunchDate = ApplicationSettings.groupIdLaunchDate;\r\n private datasource: any;\r\nddlSeason: number;\r\nprivate isCurrentSeason = 1;\r\nfromDate: Date;\r\n ddlFormat: any;\r\n toDate: Date;\r\n maxDate: Date;\r\n minDate: Date;\r\nprivate from_date: string;\r\n private to_date: string;\r\ntotalRecords: number;\r\n loading: boolean;\r\nchecked: boolean = false;\r\n private currentSeason = appSettings.ipSeason;\r\n filterByDate: boolean=false;\r\n seasons: any = [];\r\n canExport:boolean=true;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\nshowGrid:boolean=false;\r\n covidOnly: boolean = false;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n /*private logger: NGXLogger, */private imzFinanceService: ImmunizationFinanceService, private spinner: NgxSpinnerService) {\r\n }\r\n ngOnInit() {\r\n for (let report_year: number = (new Date(this.outreachStartDate)).getFullYear(); report_year >= parseInt(appSettings.reportStartYear); report_year--) {\r\n if(report_year>2017)\r\n {\r\n this.seasons.push({\r\n \"yearName\": report_year.toString() + \"-\" + (report_year + 1).toString(),\r\n \"yearCode\": report_year.toString()\r\n });\r\n } \r\n \r\n } \r\n this.ddlFormat = \"0\";\r\n this.filterByDate = false;\r\n this.ddlSeason = (new Date(this.outreachStartDate)).getFullYear();\r\n this.setDates();\r\n this.setFormControls();\r\n //this.generateReport();\r\n }\r\n onFilterChange(eve: any) {\r\n }\r\n setFormControls() {\r\n this.immunizationFinanceReportForm = this.fb.group({\r\n 'fDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'tDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'ddlSeason': [this.ddlSeason],\r\n 'chkFilterByDate': this.filterByDate,\r\n 'ddlFormat': [this.ddlFormat]\r\n });\r\n //this.generateReport();\r\n }\r\n \r\n generateReport(): void {\r\n \r\n if(!this.showGrid){\r\n this.spinner.show();\r\n }else{\r\n this.loading = true; \r\n }\r\n //this.ddlSeason = this.immunizationFinanceReportForm.controls['ddlSeason'].value;\r\n //this.ddlFormat = this.immunizationFinanceReportForm.controls['ddlFormat'].value;\r\n //this.filterByDate= this.immunizationFinanceReportForm.controls['chkFilterByDate'].value;\r\n //this.fromDate = this.immunizationFinanceReportForm.controls['fDate'].value;\r\n //this.toDate = this.immunizationFinanceReportForm.controls['tDate'].value;\r\n let data = this.immunizationFinanceReportForm.value;\r\n\r\n let d1 = data.fDate;\r\n let d2 = data.tDate;\r\n this.from_date = (d1.getMonth() + 1) + \"/\" + (d1.getDate()) + \"/\" + (d1.getFullYear());\r\n this.to_date = (d2.getMonth() + 1) + \"/\" + (d2.getDate()) + \"/\" + (d2.getFullYear());\r\n\r\nif (this.ddlSeason != this.currentSeason) {\r\n this.isCurrentSeason = 0;\r\n }else{\r\n this.isCurrentSeason = 1;\r\n }\r\n \r\n this.filterByDate=this.immunizationFinanceReportForm.get('chkFilterByDate').value;\r\n let immz_finance = new ImmunizationFinance(this.from_date, this.to_date, this.isCurrentSeason, this.ddlSeason, this.filterByDate, this.covidOnly, \"ImmunizationFinance\", \"xlsxv\");\r\n this.imzFinanceService.getImmunizationFinanceReportData(immz_finance).subscribe((resultArray: any) => {\r\n this.datasource = resultArray\r\n this.totalRecords = this.datasource.length;\r\n //this.logger.log(\"totalRecords:\" + this.totalRecords);\r\n this.immunizationFinanceReportArray = this.datasource;\r\n setTimeout(() => {\r\nthis.loading = false;\r\n this.spinner.hide();\r\n this.showGrid = true;\r\n this.canExport=true;\r\n }, 1000)\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.immunizationFinanceReportArray = [];\r\n this.totalRecords = 0;\r\n });\r\n}\r\n\r\n generateReportFormat(): void {\r\n \r\n this.loading=true;\r\n let data = this.immunizationFinanceReportForm.value;\r\n this.filterByDate=this.immunizationFinanceReportForm.get('chkFilterByDate').value;\r\n let immz_finance = new ImmunizationFinance(this.from_date, this.to_date, this.isCurrentSeason, this.ddlSeason, this.filterByDate,this.covidOnly, \"ImmunizationFinance\", \"xlsxv\");\r\n this.imzFinanceService.exportReportData(immz_finance).subscribe((res:any) => {\r\n importedSaveAs(res.body, \"ImmunizationFinance.xlsx\");\r\n this.loading=false;\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n setDates() {\r\n if(this.immunizationFinanceReportForm != undefined){\r\n this.ddlSeason=this.immunizationFinanceReportForm.controls['ddlSeason'].value;\r\n } \r\n let tempMinDate: Date;\r\n let tempMaxDate: Date;\r\n //this.ddlSeason = this.immunizationFinanceReportForm.controls['ddlSeason'].value;\r\n // this.ddlFormat = this.immunizationFinanceReportForm.controls['ddlFormat'].value;\r\n tempMinDate = new Date(ApplicationSettings.getIMmunizationStartDate(this.ddlSeason));\r\n tempMaxDate = new Date(ApplicationSettings.getImmunizationEndDate(this.ddlSeason));\r\n this.minDate = new Date(tempMinDate);\r\n this.maxDate = new Date(tempMaxDate);\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n //this.immunizationFinanceReportForm.controls['fDate'].setValue(this.fromDate);\r\n // this.immunizationFinanceReportForm.controls['tDate'].setValue(this.toDate);\r\n this.canExport=false;\r\n if(this.immunizationFinanceReportForm != undefined){\r\n this.immunizationFinanceReportForm.controls['fDate'].setValue(this.fromDate);\r\n this.immunizationFinanceReportForm.controls['tDate'].setValue(this.toDate);\r\n }\r\n\r\n }\r\n setDates1() {\r\n let tempMinDate: Date;\r\n let tempMaxDate: Date;\r\n tempMinDate = new Date(ApplicationSettings.getIMmunizationStartDate(this.ddlSeason));\r\n tempMaxDate = new Date(ApplicationSettings.getImmunizationEndDate(this.ddlSeason));\r\n this.minDate = new Date(tempMinDate);\r\n this.maxDate = new Date(tempMaxDate)\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n this.canExport=false;\r\n\r\n }\r\n reset(): void {\r\n //this.loading = true;\r\n this.ddlSeason = this.currentSeason;\r\n this.filterByDate=false;\r\n this.setDates();\r\n this.isCurrentSeason=1;\r\n this.ddlFormat=0;\r\n this.showGrid = false;\r\n this.covidOnly = false;\r\n this.setFormControls(); \r\n //this.generateReport();\r\n }\r\n canExportOnchange(){\r\n this.canExport=false;\r\n }\r\n validateExportType(){\r\n //this.ddlFormat = this.immunizationFinanceReportForm.controls['ddlFormat'].value;\r\n if(this.ddlFormat==\"0\" || !this.canExport)\r\n return true;\r\n else\r\n return false;\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { FormBuilder,FormGroup,Validators } from '@angular/forms';\r\nimport { InitiatedcontractsService } from '../../services/initiatedcontracts.service';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\n\r\n@Component({\r\n selector: 'app-initiatedcontractsreport',\r\n templateUrl: './initiatedcontractsreport.component.html',\r\n styleUrls: ['./initiatedcontractsreport.component.css']\r\n})\r\nexport class InitiatedcontractsreportComponent implements OnInit {\r\n InitiatedContractsReportForm: FormGroup;\r\n ddlFormat: any;\r\n loading:boolean=true;\r\n InitiatedContractsReportArray: any;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n covidOnly: boolean = true;\r\n constructor( private fb: FormBuilder,private initiatedcontractsreport: InitiatedcontractsService) { }\r\n\r\n ngOnInit() {\r\n this.ddlFormat = \"0\";\r\n this.setFormControls();\r\n this.generateReport();\r\n }\r\n\r\n setFormControls() {\r\n this.InitiatedContractsReportForm = this.fb.group({\r\n 'ddlFormat': [0],\r\n 'covidOnly': [false]\r\n });\r\n }\r\n ddlFormatDropdown(data){\r\n //\r\n console.log(data.target.value);\r\n this.InitiatedContractsReportForm.controls['ddlFormat'].setValue(data.target.value);\r\n \r\n }\r\n generateReport() {\r\n \r\n this.loading = true;\r\n let data=this.InitiatedContractsReportForm.value;\r\n\r\n this.initiatedcontractsreport.getInitiatedContractsDetails(data.covidOnly).subscribe((resultArray: any) => {\r\n this.InitiatedContractsReportArray = resultArray;\r\n \r\n // console.log(resultArray);\r\n this.loading=false;\r\n\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.InitiatedContractsReportArray = [];\r\n });\r\n this.ddlFormat=\"0\";\r\n }\r\n reset(){\r\n this.ddlFormat=0;\r\n this.covidOnly = false;\r\n this.setFormControls();\r\n }\r\n generateReportFormat() {\r\n \r\n this.loading=true;\r\n let data=this.InitiatedContractsReportForm.value;\r\n \r\n this.initiatedcontractsreport.exportReportData(data.covidOnly, \"InitiatedContracts\",\"xlsxv\").subscribe((res:any) => {\r\n \r\n importedSaveAs(res.body, \"InitiatedContracts.xlsx\");\r\n this.loading=false;\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n this.ddlFormat=\"0\";\r\n }\r\n validateExportType(){\r\n if(this.ddlFormat==\"0\" )\r\n return true;\r\n else\r\n return false;\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { LeadOpportunitiesService } from '../../../contractaggreement/services/lead-opportunities.service';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { saveAs } from 'file-saver';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\n\r\n@Component({\r\n selector: 'app-ltcf-contact-us-report',\r\n templateUrl: './ltcf-contact-us-report.component.html',\r\n styleUrls: ['./ltcf-contact-us-report.component.css']\r\n})\r\nexport class LtcfContactUsReportComponent implements OnInit {\r\n\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n loading: boolean;\r\n lgRData: any = [];\r\n // ddlFormat: string = '0';\r\n canExport: boolean = true;\r\n ddlSeason: number;\r\n outreachStartDate = ApplicationSettings.outreachStartDateIP;\r\n ltcfContactUsReportForm: FormGroup;\r\n constructor(private leadService: LeadOpportunitiesService, private ng4LoadingSpinnerService: NgxSpinnerService, private formBuilder: FormBuilder) { }\r\n\r\n ngOnInit() {\r\n this.ltcfContactUsReportForm = this.formBuilder.group({\r\n ddlFormat: ['xlsxv1', Validators.required], \r\n });\r\n this.ddlSeason = (new Date(this.outreachStartDate)).getFullYear();\r\n this.generateReport();\r\n }\r\n\r\n generateReport(): void {\r\n this.loading = true;\r\n let leadModel = {isCurrentSeason: 1, isCovid: true, fromDate: new Date(ApplicationSettings.getIMmunizationStartDate(this.ddlSeason)), toDate: new Date(ApplicationSettings.getImmunizationEndDate(this.ddlSeason)), covidOpportunityTYpe:1};\r\n this.leadService.getContactUsReport(leadModel).subscribe((resultArray: any) => { \r\n this.lgRData = resultArray;\r\n this.lgRData.forEach(element => { \r\n if (element.needClinicAtFacilityLTCF == false) { \r\n element.needClinicAtFacilityLTCF = \"Clinic at your facility\";\r\n }\r\n else if (element.needClinicAtFacilityLTCF == true) {\r\n element.needClinicAtFacilityLTCF = \"Walgreens Store\";\r\n }\r\n\r\n if (element.isYesClickedByStore == false) {\r\n element.isYesClickedByStore = \"No\";\r\n }\r\n else if (element.isYesClickedByStore == true) {\r\n element.isYesClickedByStore = \"Yes\";\r\n }\r\n \r\n });\r\n\r\n this.loading = false;\r\n this.canExport = true;\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.ng4LoadingSpinnerService.hide();\r\n this.lgRData = [];\r\n });\r\n }\r\n generateReportFormat(): void {\r\n\r\n if (this.ltcfContactUsReportForm.value&&this.ltcfContactUsReportForm.value.ddlFormat == '0') {\r\n return;\r\n }\r\n console.log('line 54');\r\n this.loading = true;\r\n this.leadService.exportLTCFReportData().subscribe((res:any) => {\r\n importedSaveAs(res.body, 'LTCF ContactUs.xlsx');\r\n this.loading = false;\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n\r\n // generateReportFormat2(): void {\r\n // this.loading = true;\r\n // if (this.ddlFormat == '0') {\r\n // return;\r\n // }\r\n // if (this.ddlFormat == \"xlsxv1\") {\r\n // this.leadService.exportReportDataV2().subscribe(res => {\r\n // //importedSaveAs(res, this.scheduleclinicreport.filename);\r\n // var dat = res.json();\r\n // if (dat) {\r\n // let url = environment.API_URL + \"/\" + dat;\r\n // window.open(url);\r\n // }\r\n // this.loading = false;\r\n\r\n // }, error => {\r\n // this.loading = false;\r\n // this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n // });\r\n // }\r\n // }\r\n // validateExportType() {\r\n // if (this.ltcfContactUsReportForm.controls[\"ddlFormat\"].value == \"0\" || !this.canExport)\r\n // return true;\r\n // else\r\n // return false;\r\n // }\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n\r\n}\r\n","import { Component, OnInit,ViewChild } from '@angular/core';\r\nimport * as appSettings from '../../globals';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { FormBuilder,FormGroup,Validators } from '@angular/forms';\r\nimport { MinimumshotexceptionsService } from '../../services/minimumshotexceptions.service';\r\nimport { MinimumShotExceptions } from '../../../../models/MinimumShotExceptions';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport {TableModule, Table} from 'primeng/table'\r\n\r\n@Component({\r\n selector: 'app-minimum-shot-exceptions',\r\n templateUrl: './minimumshotexceptions.component.html',\r\n styleUrls: ['./minimumshotexceptions.component.css']\r\n})\r\nexport class MinimumShotExceptionsComponent implements OnInit {\r\n minimumShotExceptionsForm: FormGroup;\r\n minimumShotExceptionsReportArray: any;\r\n ddlSeason: number;\r\n ddlClinicStatus: string;\r\n ddlClinicType: string;\r\n fromDate: Date;\r\n toDate: Date;\r\n ddlFormat: any;\r\n minDate: any;\r\n maxDate: any;\r\n season: any = [];\r\n filterByDate: boolean = false;\r\n canExport: boolean = true;\r\n outreachStartDate = ApplicationSettings.outreachStartDateIP;\r\n groupIdLaunchDate = \"05/01/2020\";\r\n seasons: any = [];\r\n private isCurrentSeason = 1;\r\n totalRecords: number;\r\n loading: boolean;\r\n includeDates: boolean = false;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n private currentSeason = appSettings.ipSeason;\r\n\r\n private from_date: string;\r\n private to_date: string;\r\n rowGroupMetadata: any;\r\n first = 0;\r\n showGrid:boolean=false;\r\n covidOnly:boolean = false;\r\n constructor(private minimum_shot_exceptions_service: MinimumshotexceptionsService, private spinner: NgxSpinnerService,private fb: FormBuilder) { }\r\n @ViewChild('minimumshottable', { static: false }) table:Table;\r\n ngOnInit() {\r\n for (let report_year: number = (new Date()).getFullYear(); report_year > (new Date(this.groupIdLaunchDate)).getFullYear(); report_year--) {\r\n this.seasons.push({\r\n \"yearName\": report_year.toString() + \"-\" + (report_year + 1).toString(),\r\n \"yearCode\": report_year.toString()\r\n });\r\n }\r\n this.includeDates = false;\r\n this.ddlSeason = (new Date(this.outreachStartDate)).getFullYear();\r\n this.setDates();\r\n this.ddlFormat = \"0\";\r\n this.fromDate = this.minDate;\r\n this.toDate = this.maxDate;\r\n this.setFormControls();\r\n //this.generateReport();\r\n \tsetTimeout(()=>{\r\n this.setCurrentPage(1);\r\n },2000)\r\n }\r\nsetFormControls() {\r\n this.minimumShotExceptionsForm = this.fb.group({\r\n 'fromDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'toDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'ddlSeason': [this.currentSeason],\r\n 'includeDates': [false],\r\n 'ddlFormat': [\"0\"],\r\n 'covidOnly': [true]\r\n });\r\n }\r\n generateReport(): void { \r\n if (!this.showGrid) {\r\n this.spinner.show();\r\n } else {\r\n this.loading = true;\r\n }\r\n let data = this.minimumShotExceptionsForm.value;\r\n let d1 = data.fromDate;\r\n let d2 = data.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n let ipSeason = this.ddlSeason;\r\n \r\n if (data.ddlSeason != this.currentSeason) {\r\n this.isCurrentSeason = 0;\r\n }\r\n else {\r\n this.isCurrentSeason = 1;\r\n }\r\n let mse = new MinimumShotExceptions(data.fromDate, data.toDate, JSON.parse(this.isCurrentSeason.toString()), JSON.parse(data.includeDates.toString()), \"\", \"\", this.covidOnly,ipSeason);\r\n this.minimum_shot_exceptions_service.getExceptionShotDetailsReport(mse).subscribe((resultArray: any) => {\r\n this.totalRecords = resultArray.length;\r\n this.minimumShotExceptionsReportArray = resultArray;\r\n setTimeout(() => {\r\n this.spinner.hide();\r\n this.loading = false;\r\n this.canExport = true;\r\n this.showGrid = true;\r\n\t\tsetTimeout(()=>{\r\n this.setCurrentPage(1);\r\n },500)\r\n }, 1000)\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.minimumShotExceptionsReportArray = [];\r\n this.totalRecords = 0;\r\n });\r\n\r\n }\r\n\r\n generateReportFormat(): void { \r\n \r\n this.loading = true;\r\n let data = this.minimumShotExceptionsForm.value;\r\n let d1 = data.fromDate;\r\n let d2 = data.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`; \r\n if (data.ddlSeason != this.currentSeason) {\r\n this.isCurrentSeason = 0;\r\n }\r\n else {\r\n this.isCurrentSeason = 1;\r\n }\r\n let mse = new MinimumShotExceptions(data.fromDate, data.toDate, JSON.parse(this.isCurrentSeason.toString()), JSON.parse(data.includeDates.toString()), \"MinimumShotExceptions\", \"xlsxv\", this.covidOnly,data.ddlSeason);\r\n\r\n this.minimum_shot_exceptions_service.exportReportData(mse).subscribe((res:any) => {\r\n importedSaveAs(res.body, \"MinimumShotExceptions.xlsx\");\r\n this.loading = false;\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n setDates() {\r\n \r\n if(this.minimumShotExceptionsForm != undefined){\r\n this.ddlSeason=this.minimumShotExceptionsForm.controls['ddlSeason'].value;\r\n } \r\n \r\n let tempMinDate: Date;\r\n let tempMaxDate: Date;\r\n tempMinDate = new Date(ApplicationSettings.getIMmunizationStartDate(this.ddlSeason));\r\n tempMaxDate = new Date(ApplicationSettings.getImmunizationEndDate(this.ddlSeason));\r\n this.minDate = new Date(tempMinDate);\r\n this.maxDate = new Date(tempMaxDate);\r\n \r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n this.canExport = false;\r\n if(this.minimumShotExceptionsForm != undefined){\r\n this.minimumShotExceptionsForm.controls['fromDate'].setValue(this.fromDate);\r\n this.minimumShotExceptionsForm.controls['toDate'].setValue(this.toDate);\r\n }\r\n else{\r\n \r\n }\r\n }\r\n setCurrentPage(n: number) {\r\n// let paging = {\r\n// first: ((n - 1) * this.table.rows),\r\n// rows: this.table.rows\r\n// };\r\nthis.first=((n - 1) * this.table.rows);\r\n}\r\n setCalendarDates() {\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n this.canExport = false;\r\n }\r\n reset(): void {\r\n //this.loading = true;\r\n this.ddlSeason = this.currentSeason;\r\n this.ddlFormat = 0;\r\n this.setDates();\r\n this.showGrid = false;\r\n this.setFormControls();\r\n //this.generateReport();\r\n }\r\n validateExportType() {\r\n if (this.ddlFormat == \"0\" || !this.canExport)\r\n return true;\r\n else\r\n return false;\r\n }\r\n canExportOnchange() {\r\n this.canExport = false;\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit, ViewChildren, QueryList } from '@angular/core';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ActionitemsandmetricsService } from '../../services/actionitemsandmetrics.service';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { Compiler } from '@angular/core';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { PcacontractAgreementService } from '../../../../modules/patientcareadvocacy/Services/pcacontract-agreement.service';\r\nimport { Util } from '../../../../utility/util';\r\nimport { LulaAso } from '../../../../models/pcaTandC';\r\nimport { LulaAsoRelease2 } from '../../../../models/pcaTandC-release2';\r\n\r\n@Component({\r\n selector: 'app-pca-action-items-ip',\r\n templateUrl: './pcaactionitems.component.html',\r\n styleUrls: ['./pcaactionitems.component.css']\r\n})\r\nexport class PcaActionItemsComponent implements OnInit {\r\n @ViewChildren('column') columns: QueryList; \r\n actionItemsAndMetricArray: any;\r\n hcsActionItemsOrMetricsList: any;\r\n ddlReports: number;\r\n ddlFormat: string;\r\n loading: boolean = true;\r\n userProfile: any;\r\n totalRecords: number = 0;\r\n reportType: string = \"\";\r\n reportId: number;\r\n cols: any = [];\r\n canExport:any;\r\n data:any;\r\n recordsCountText =\"\";\r\n OrganizationTypes:any[]=[];\r\n ddlOrganizationType:number=0;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n oldPcaReleaseDate: any;\r\n PcaReleaseDate2022_1: any;\r\n\r\n constructor(private router: Router, private actionitems_metrics_service: ActionitemsandmetricsService, \r\n private message_service:MessageServiceService, private _compiler: Compiler,private _contractService: PcacontractAgreementService) {\r\n this._compiler.clearCache();\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n if (sessionStorage[\"actionItemOrMetricId\"]) {\r\n let item_details = sessionStorage[\"actionItemOrMetricId\"].split(':');\r\n if (item_details.length > 0) {\r\n this.reportType = item_details[0];\r\n this.reportId = item_details[1];\r\n }\r\n }\r\n if (this.reportType == \"actionitem\") {\r\n if (SessionDetails.getPCAActionItemsList().length > 0) {\r\n this.hcsActionItemsOrMetricsList = SessionDetails.getPCAActionItemsList();\r\n }\r\n }\r\n else {\r\n if (SessionDetails.getPCAActionItemsList().length > 0) {\r\n this.hcsActionItemsOrMetricsList = SessionDetails.getPCAMetricsList();\r\n }\r\n }\r\n this.oldPcaReleaseDate = new LulaAso().tnCCutOffDate;\r\n this.PcaReleaseDate2022_1 = new LulaAsoRelease2().tnCCutOffDate;\r\n }\r\n\r\n ngOnInit() { \r\n this.ddlFormat = \"xlsxv\";\r\n this.ddlReports = this.reportId;\r\n this.message_service.setReportTitle(this.getTitleForDashboardReports());\r\n this.getOrgnizationTypes();\r\n this.generateReport();\r\n }\r\n\r\n reportChanged() {\r\n this.actionItemsAndMetricArray=[];\r\n this.recordsCountText =\"\";\r\n this.reportId = this.ddlReports;\r\n this.message_service.setReportTitle(this.getTitleForDashboardReports());\r\n this.generateReport();\r\n }\r\n\r\n generateReport(): void {\r\n \r\n this.loading = true;\r\n if (this.reportType == \"actionitem\") {\r\n this.actionitems_metrics_service.getActionItemsReportData(this.userProfile.userPk, this.ddlReports.toString(),true,false, this.ddlOrganizationType).subscribe((resultArray: any) => {\r\n this.totalRecords = resultArray.length;\r\n if(resultArray.length > 0){\r\n setTimeout(() => {\r\n this.recordsCountText = \"There are \" + this.totalRecords + \" records.\"\r\n console.log('line 219');\r\n }, 1000);\r\n }else{\r\n this.recordsCountText = \"No records found.\"\r\n }\r\n this.actionItemsAndMetricArray = resultArray;\r\n this.columns.forEach(col => {\r\n col.hidden = (this.actionItemsAndMetricArray[0][col.field]);\r\n });\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.canExport=true;\r\n }, 1000)\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.actionItemsAndMetricArray = [];\r\n this.totalRecords = 0;\r\n });\r\n \r\n } else if (this.reportType == \"metric\") { \r\n \r\n this.actionitems_metrics_service.getMetricsReportData(this.userProfile.userPk, this.ddlReports.toString(),true, this.ddlOrganizationType).subscribe((resultArray: any) => {\r\n this.totalRecords = resultArray.length;\r\n this.actionItemsAndMetricArray = resultArray;\r\n if(resultArray.length > 0){\r\n this.recordsCountText = \"There are \" + this.totalRecords + \" records.\"\r\n }else{\r\n this.recordsCountText = \"No records found.\"\r\n }\r\n this.columns.forEach(col => {\r\n col.hidden = (this.actionItemsAndMetricArray[0][col.field]);\r\n });\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.canExport=true;\r\n }, 1000)\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.actionItemsAndMetricArray = [];\r\n this.totalRecords = 0;\r\n });\r\n }\r\n }\r\n\r\n getEventDates(eventDate:string)\r\n {\r\n if(eventDate.indexOf(',') > -1)\r\n {\r\n \r\n \r\n let eventDateStr = '';\r\n let eventDatesArr = eventDate.split(',');\r\n eventDatesArr.forEach(element => {\r\n if(eventDateStr!='')\r\n {\r\n eventDateStr +=','+ element.split('-')[1];\r\n }\r\n else{\r\n\r\n eventDateStr += element.split('-')[1];\r\n }\r\n\r\n // eventDateStr += this.datePipe.transform(element.split('-')[1],\"yyyy-MM-dd\")\r\n }); \r\n eventDate =eventDateStr;\r\n return eventDate\r\n }\r\n else{ \r\n return eventDate.split('-')[1]; \r\n }\r\n }\r\n getTitleForDashboardReports() {\r\n var title = \"\";\r\n let rpt_id:string=this.reportId.toString();\r\n let report_type:string=this.reportType;\r\n \r\n switch (rpt_id) {\r\n case \"1\":\r\n title = ((report_type == \"actionitem\") ? \"Agreements to be approved/Signed\" : \"Review Agreements Drafted but Not Sent\");\r\n break;\r\n case \"2\":\r\n title = \"Review Agreements Pending Partner Approval\";\r\n break;\r\n case \"3\":\r\n title = \"Review Events with Signed Agreements to be Completed\";\r\n break;\r\n case \"4\":\r\n title = \"Review Events Completed to Date\";\r\n break;\r\n case \"5\":\r\n title = \"Review Agreements with Requested Changes\";\r\n break;\r\n default:\r\n break;\r\n }\r\n return title.toUpperCase();\r\n }\r\n\r\n generatereportformat(): void { \r\n this.loading = true;\r\n let report_name: string = \"\";\r\n if (this.reportType == \"actionitem\") {\r\n switch (this.ddlReports.toString()) {\r\n case \"1\":\r\n report_name = \"AgreementsToBeApprovedSigned\";\r\n break; \r\n default:\r\n break;\r\n }\r\n this.actionitems_metrics_service.exportActionItemsReportData(this.userProfile.userPk, this.ddlReports.toString(),true, report_name, this.ddlFormat,false,this.ddlOrganizationType).subscribe((res:any) => {\r\n importedSaveAs(res.body, report_name+\".xlsx\");\r\n this.loading = false;\r\n })\r\n } else if (this.reportType == \"metric\") {\r\n switch (this.ddlReports.toString()) {\r\n case \"1\":\r\n report_name = \"ReviewAgreementsDraftedButNotSent\";\r\n break;\r\n case \"2\":\r\n report_name = \"ReviewAgreementsPendingTestingPartnerApproval\";\r\n break;\r\n case \"3\":\r\n report_name = \"ReviewEventsWithSignedAgreementsToBeExecuted\";\r\n break;\r\n case \"4\":\r\n report_name = \"ReviewEventsExecutedToDate\";\r\n break;\r\n case \"5\":\r\n report_name = \"ReviewAgreementsWithRequestedChanges\";\r\n break;\r\n default:\r\n break;\r\n }\r\n this.actionitems_metrics_service.exportMetricsReportData(this.userProfile.userPk, this.ddlReports.toString(),true, report_name, this.ddlFormat, this.ddlOrganizationType).subscribe((res:any) => {\r\n importedSaveAs(res.body, report_name+\".xlsx\");\r\n this.loading = false;\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n \r\n }\r\n }\r\n \r\n openContractAgreement(data:any){ \r\n \r\n this._contractService.getPCAContractAgreement(data.clinicAgreementPk, null).subscribe((data1:any) => { \r\n sessionStorage[\"clinic_agreement_pk\"] = data.clinicAgreementPk;\r\n sessionStorage[\"fromActionItemsReport\"] = true;\r\n sessionStorage[\"clinic_type\"] = data.clinicType;\r\n\r\n if(new Date(Util.getFormatedDate(data1.dateApproved)) >= new Date(this.PcaReleaseDate2022_1) || Util.getFormatedDate(data1.dateApproved) == null)\r\n {\r\n this.router.navigate(['/rhdContractAgreement-2023-1']);\r\n }\r\n else\r\n {\r\n this.router.navigate(['/rhdContractAgreement']);\r\n } \r\n \r\n }); \r\n \r\n }\r\n getOrgnizationTypes(){\r\n this.actionitems_metrics_service.getOrganizationTypes().subscribe((result:any)=>{\r\n this.OrganizationTypes=result;\r\n });\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { PotentiallocalbusinesslistService } from '../../services/potentiallocalbusinesslist.service';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport * as appReportSettings from '../../globals';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\n\r\n@Component({\r\n selector: 'app-potentiallocalbusinesslist',\r\n templateUrl: './potentiallocalbusinesslist.component.html',\r\n styleUrls: ['./potentiallocalbusinesslist.component.css']\r\n})\r\nexport class PotentiallocalbusinesslistComponent implements OnInit {\r\n potentialLocalBusinessArray: any;\r\n potentialLocalBusinessForm: FormGroup;\r\n totalRecords: number;\r\n loading: boolean = true;\r\n private outreachEffort: any;\r\n ddlFormat: any;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n private storeId:string;\r\n constructor( private fb: FormBuilder,private potential_local_business_list: PotentiallocalbusinesslistService,private message_service:MessageServiceService) {\r\n this.message_service.getStoreID().subscribe(x=>{\r\n this.storeId = x.text;\r\n this.loading=true;\r\n this.generateReport();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.storeId =SessionDetails.GetStoreId(); \r\n this.validateExportType();\r\n this.outreachEffort = appReportSettings.outreachEffortSO;\r\n this.ddlFormat = \"xlsxv\";\r\n this.setFormControls();\r\n this.generateReport();\r\n }\r\n\r\n setFormControls() {\r\n this. potentialLocalBusinessForm = this.fb.group({\r\n \r\n 'ddlFormat': [this.ddlFormat]\r\n });\r\n //this.generateReport();\r\n }\r\n\r\n generateReport(){\r\n let data = this. potentialLocalBusinessForm.value;\r\n this.potential_local_business_list.getBusinessAssignedToStore(this.storeId, this.outreachEffort).subscribe((result_array :any)=> {\r\n this.potentialLocalBusinessArray = result_array;\r\n this.totalRecords=result_array.length;\r\n //setTimeout(function () {\r\n this.loading = false;\r\n //}, 1000);\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.potentialLocalBusinessArray = [];\r\n this.totalRecords = 0;\r\n });\r\n this.ddlFormat=\"xlsxv\";\r\n }\r\n\r\n generateReportFormat(){\r\n \r\n let data = this. potentialLocalBusinessForm.value;\r\n this.loading=true;\r\n this.potential_local_business_list.exportReportData(SessionDetails.GetStoreId(), this.outreachEffort,\"LocalOpportunityList\",\"xlsxv\").subscribe((res:any) => {\r\n importedSaveAs(res.body, \"LocalOpportunityList.xlsx\");\r\n this.loading = false;\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n this.ddlFormat=\"xlsxv\";\r\n }\r\n validateExportType(){\r\n if(this.ddlFormat==\"0\")\r\n return true;\r\n else\r\n return false;\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { PotentialLocalBusinessAndContactStatusService } from '../../services/potential-local-business.service';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { FilterPipe } from '../../../store/pipes/filter-pipe';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { PotentialLocalBusiness } from '../../../../models/PotentialLocalBusiness';\r\nimport { Router } from '../../../../../../node_modules/@angular/router';\r\nimport { Paginator } from '../../../../../../node_modules/primeng/paginator';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-potentionallocalbusinessandcontactstatus',\r\n templateUrl: './potentionallocalbusinessandcontactstatus.component.html',\r\n styleUrls: ['./potentionallocalbusinessandcontactstatus.component.css'],\r\n providers: [FilterPipe]\r\n}) \r\nexport class PotentionallocalbusinessandcontactstatusComponent implements OnInit {\r\n loading: any;\r\n storeId: any;\r\n ddlFormat: any;\r\ncanExport: any;\r\n outreachstatus: any;\r\n contacted: any;\r\n status: any;\r\n fromDate: any;\r\n toDate: any;\r\n outreachEffort: any;\r\n minDate: any;\r\n maxDate: any;\r\n from_date: any;\r\n to_date: any;\r\n isDisable: boolean = false;\r\n outreachStartDate:any;\r\n outreachEndDate:any;\r\n potentialLocalBusinessContactStatusReportForm: FormGroup;\r\n potentialLocalBusinessContactStatusReportArray: any = [];\r\n potentialLocalBusinessContactStatusReportSource: any;\r\n totalRecords: number = 0;\r\n allStatuses: any = [];\r\n canShowNoBusinessesText: boolean = false;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n isDisableDates:boolean=false;\r\n @ViewChild('plbcsPager') plbcsPager: Paginator;\r\n constructor(private fb: FormBuilder,private router: Router, private potential_service: PotentialLocalBusinessAndContactStatusService, private message_service: MessageServiceService) {\r\n if (this.router.url.indexOf('immunization') > -1) {\r\n this.outreachEffort = \"3\";\r\n this.outreachStartDate = ApplicationSettings.getIMmunizationStartDate(new Date().getFullYear());\r\n this.outreachEndDate = ApplicationSettings.getImmunizationEndDate(new Date().getFullYear());\r\n } else {\r\n this.outreachEffort = \"1\";\r\n this.outreachStartDate = ApplicationSettings.getSRStartDate(new Date().getFullYear());\r\n this.outreachEndDate = ApplicationSettings.getSREndDate(new Date().getFullYear());\r\n }\r\n \r\n this.message_service.getStoreID().subscribe(x => {\r\n this.storeId = x.text;\r\n this.loading = true;\r\n this.generateReport();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.storeId = SessionDetails.GetStoreId();\r\n this.outreachstatus = \"-1\";\r\n this.contacted = \"3\";\r\n this.isDisableDates=true;\r\n this.ddlFormat = \"0\";\r\n this.setFormControls();\r\n this.potentialLocalBusinessContactStatusReportForm.patchValue({\r\n fromDate:new Date(this.outreachStartDate),\r\n toDate:new Date(this.outreachEndDate)\r\n })\r\n \r\n this.setDates();\r\n this.potential_service.getOutreachStatus().subscribe((resultArray: any) => {\r\n let outreach_program = ((this.outreachEffort == \"1\") ? \"SR\" : \"IP\");\r\n this.allStatuses = resultArray;\r\n var temp = resultArray.filter(x => x.outreachProgram == outreach_program && x.isActive /*== true*/ && [ 9, 10].indexOf(x.outreachStatusId) == -1);\r\n this.status = temp;\r\n this.generateReport();\r\n });\r\n }\r\n setFormControls() {\r\n \r\n this.potentialLocalBusinessContactStatusReportForm = this.fb.group({\r\n 'fromDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'toDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'ddlcontacted':[\"3\"],\r\n 'ddloutreachstatus':[\"-1\"],\r\n 'ddlFormat': [this.ddlFormat],\r\n \r\n });\r\n //this.generateReport();\r\n }\r\n setDates() {\r\n \r\n this.minDate = this.fromDate = new Date(this.outreachStartDate);\r\n this.maxDate = this.toDate = new Date(this.outreachEndDate);\r\n // if(this.outreachEffort == 1){\r\n // this.minDate = this.fromDate = new Date(\"09/01/\" + this.fromDate.getFullYear());\r\n // this.maxDate = this.toDate = new Date(\"08/31/\" + this.toDate.getFullYear());\r\n // }\r\n //this.toDate.setMonth(this.toDate.getMonth() + 1);\r\n }\r\n setCalendarDates() {\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n }\r\n reset() {\r\n this.contacted = \"3\";\r\n this.ddlFormat = \"0\";\r\n this.outreachstatus = -1;\r\n this.setFormControls();\r\n this.setDates();\r\n this.generateReport();\r\n }\r\n generateReport() {\r\n //\r\n let data= this.potentialLocalBusinessContactStatusReportForm.value;\r\n let d1 = data.fromDate;\r\n let d2 = data.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n \r\n let potential_local_business = new PotentialLocalBusiness(this.storeId, this.outreachEffort,data.ddlcontacted, this.from_date, this.to_date, data.ddloutreachstatus, \"PotentialLocalBusiness\", \"xlsxv\");\r\n this.potential_service.getPotentialLocalBusinessData(potential_local_business).subscribe((resultArray: any) => {\r\n if (resultArray.length == 0) {\r\n this.canShowNoBusinessesText = true;\r\n } else {\r\n this.canShowNoBusinessesText = false;\r\n }\r\n this.potentialLocalBusinessContactStatusReportSource = resultArray;\r\n this.totalRecords = this.potentialLocalBusinessContactStatusReportSource.length;\r\n var temp = this.potentialLocalBusinessContactStatusReportSource.slice(0, 50);\r\n this.potentialLocalBusinessContactStatusReportArray = temp;\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.canExport = true;\r\n }, 1000)\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.potentialLocalBusinessContactStatusReportSource = [];\r\n this.totalRecords = 0;\r\n });\r\n this.ddlFormat = \"0\";\r\n }\r\n updateOutreachStatus($event) {\r\n let data=this.potentialLocalBusinessContactStatusReportForm.value;\r\n let outreach_program = ((this.outreachEffort == \"1\") ? \"SR\" : \"IP\");\r\n if (data.ddlcontacted == \"0\") {\r\n let temp = this.allStatuses.filter(x => x.outreachProgram == outreach_program && x.isActive /* == true*/ && [0,2].indexOf(x.outreachStatusId) > -1);\r\n this.status = temp;\r\n this.isDisable = false;\r\n this.outreachstatus = 0;\r\n this.potentialLocalBusinessContactStatusReportForm.controls['ddloutreachstatus'].setValue('-1');\r\n }\r\n else if(data.ddlcontacted==1){\r\n let temp = this.allStatuses.filter(x => x.outreachProgram == outreach_program && x.isActive /* == true*/ && [0,2,9, 10].indexOf(x.outreachStatusId) == -1);\r\n this.status = temp;\r\n this.isDisable = false;\r\n this.potentialLocalBusinessContactStatusReportForm.controls['ddloutreachstatus'].setValue('-1');\r\n this.outreachstatus = 0;\r\n }\r\n else {\r\n let temp = this.allStatuses.filter(x => x.outreachProgram == outreach_program && x.isActive /* == true*/ && [ 9, 10].indexOf(x.outreachStatusId) == -1);\r\n this.status = temp;\r\n this.isDisable = false;\r\n this.potentialLocalBusinessContactStatusReportForm.controls['ddloutreachstatus'].setValue('-1');\r\n this.outreachstatus = -1;\r\n }\r\n\r\n if(data.ddlcontacted==3||data.ddlcontacted==0){\r\n this.isDisableDates=true;\r\n }\r\n else{\r\n this.isDisableDates=false;\r\n }\r\n this.canExportOnchange($event);\r\n }\r\n generatereportformat(): void {\r\n \r\n let data= this.potentialLocalBusinessContactStatusReportForm.value;\r\n this.loading = true;\r\n let d1 = data.fromDate;\r\n let d2 = data.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n let report_name: string = ((this.outreachEffort == \"1\") ? \"SR_\" : \"IP_\") + \"LocalOpportunityAndContactStatus\";\r\n let potential_local_business = new PotentialLocalBusiness(this.storeId, this.outreachEffort, data.ddlcontacted, this.from_date, this.to_date, data.ddloutreachstatus,\"PotentialLocalBusiness\", \"xlsxv\");\r\n this.potential_service.exportReportData(potential_local_business).subscribe((res:any) => {\r\n importedSaveAs(res.body, report_name+\".xlsx\");\r\n this.loading = false;\r\n this.canExport = true;\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n this.ddlFormat = \"0\";\r\n }\r\n\r\n paginate(event) {\r\n this.potentialLocalBusinessContactStatusReportArray = [];\r\n this.loading = true;\r\n var curr_page_rec_count = event.first + event.rows;\r\n var page_to_get = curr_page_rec_count / 50;\r\n page_to_get = Math.ceil(page_to_get);\r\n var start_number = ((event.first < 50) ? (event.first - (50 * (page_to_get - 1))) : event.first);\r\n if (this.potentialLocalBusinessContactStatusReportSource) {\r\n var temp = this.potentialLocalBusinessContactStatusReportSource.slice(start_number, (start_number + 50));\r\n this.potentialLocalBusinessContactStatusReportArray = temp;\r\n this.totalRecords = this.potentialLocalBusinessContactStatusReportSource.length;\r\n }\r\n this.loading = false;\r\n }\r\n canExportOnchange($event) {\r\n this.canExport = false;\r\n }\r\n validateExportType() {\r\n if (this.ddlFormat == \"0\" || !this.canExport) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { RestrictedClinicsAndOpportunitiesReport } from '../../../../models/RestrictedClinicsAndOpportunitiesReport';\r\nimport { RestrictedstateclinicsService } from '../../services/restrictedstateclinics.service';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { throws } from 'assert';\r\n\r\n@Component({\r\n selector: 'app-restrictedstateclinics',\r\n templateUrl: './restrictedstateclinics.component.html',\r\n styleUrls: ['./restrictedstateclinics.component.css']\r\n})\r\nexport class RestrictedstateclinicsComponent implements OnInit {\r\n restrictedClinicsAndOpportunitiesArray:any;\r\n restrictedClinicsAndOpportunitiesForm:FormGroup;\r\n ddlFormat:any;\r\n ddlState:any;\r\n fromDate:any;\r\n toDate:any;\r\n from_date:any;\r\n to_date:any;\r\n maxDate:Date;\r\n minDate:Date;\r\n state:any;\r\n datasource:any;\r\n reportType: string = \"\";\r\n loading:boolean=false;\r\n canExport:boolean=true;\r\n totalRecords:number=0;\r\n reportName:any;\r\n filterByDate:boolean=false;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n showGrid:boolean=false;\r\n constructor(private fb: FormBuilder,private router: Router, private restricted_state_service:RestrictedstateclinicsService, private spinner: NgxSpinnerService) { \r\n if (this.router.url.indexOf('clinics') > -1) { \r\n this.reportType = \"clinics\";\r\n } else { \r\n this.reportType = \"opportunities\";\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.setDates();\r\n this.setFormControls();\r\n //this.generateReport();\r\n }\r\n\r\n setFormControls() {\r\n this.restrictedClinicsAndOpportunitiesForm = this.fb.group({\r\n 'fDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'tDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'ddlState':[\"All\"],\r\n 'chkFilterByDate': [false],\r\n 'ddlFormat': [\"0\"]\r\n });\r\n }\r\n \r\n setDates() {\r\n let tempMinDate: Date;\r\n let tempMaxDate: Date;\r\n if(this.reportType == \"clinics\")\r\n {\r\n tempMinDate = new Date(\"05/01/2023\");\r\n }\r\n else\r\n {\r\n tempMinDate = new Date(\"07/03/2019\");\r\n } \r\n if(this.reportType == \"clinics\")\r\n {\r\n tempMaxDate = new Date(\"04/30/2024\");\r\n }\r\n else\r\n {\r\n tempMaxDate = new Date(\"04/30/2024\");\r\n } \r\n \r\n this.minDate = new Date(tempMinDate);\r\n this.maxDate = new Date(tempMaxDate)\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n this.canExport=false;\r\n }\r\n ddlStateDropdown(data){\r\n this.ddlState=data.target.value;\r\n //this.restrictedClinicsAndOpportunitiesForm.controls['ddlState'].setValue(data.target.value);\r\n }\r\n generateReport(){\r\n if(!this.showGrid){\r\n this.spinner.show();\r\n }else{\r\n this.loading = true;\r\n }\r\n let data = this.restrictedClinicsAndOpportunitiesForm.value;\r\n let d1 = data.fDate;\r\n let d2 = data.tDate;\r\n this.from_date = (d1.getMonth() + 1) + \"/\" + (d1.getDate()) + \"/\" + (d1.getFullYear());\r\n this.to_date = (d2.getMonth() + 1) + \"/\" + (d2.getDate()) + \"/\" + (d2.getFullYear());\r\n console.log(data);\r\n let restricted_clinics_oppurtunities = new RestrictedClinicsAndOpportunitiesReport(this.from_date, this.to_date, ((data.chkFilterByDate)?'1':'0'), data.ddlState,this.reportType,\"\",\"\");\r\n this.restricted_state_service.getRestrictedClinicsOpportunitiesReportData(restricted_clinics_oppurtunities).subscribe((resultArray: any) => {\r\n this.datasource = resultArray;\r\n this.totalRecords = this.datasource.length;\r\n this.restrictedClinicsAndOpportunitiesArray = this.datasource;//.slice(0, 100);\r\n setTimeout(() => {\r\n this.spinner.hide();\r\n this.loading = false;\r\n this.canExport=true;\r\n this.showGrid = true;\r\n }, 1000)\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.restrictedClinicsAndOpportunitiesArray = [];\r\n this.totalRecords = 0;\r\n });\r\n this.canExport=true;\r\n }\r\n generateReportFormat(){\r\n this.loading=true;\r\n if(this.reportType==\"clinics\"){\r\n this.reportName=\"RestrictedStateClinicsReport\";\r\n }\r\n else{\r\n this.reportName=\"RestrictedStateOpportunitiesReport\";\r\n }\r\n let data = this.restrictedClinicsAndOpportunitiesForm.value;\r\n\r\n let restricted_clinics_oppurtunities = new RestrictedClinicsAndOpportunitiesReport(this.from_date, this.to_date, ((data.chkFilterByDate)?'1':'0'), data.ddlState, this.reportType, this.reportName,\"xlsxv\");\r\n this.restricted_state_service.exportReportData(restricted_clinics_oppurtunities).subscribe((res:any) => {\r\n importedSaveAs(res.body, this.reportName+\".xlsx\");\r\n this.loading=false;\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n canExportOnchange(){\r\n this.canExport=false;\r\n }\r\n onFilterByDateChanged(){\r\n this.canExport=false;\r\n }\r\n validateExportType(){\r\n if(this.ddlFormat==\"0\" || !this.canExport){\r\n return true;\r\n }\r\n else{\r\n return false;\r\n } \r\n }\r\n reset() {\r\n this.showGrid = false;\r\n this.ddlState = \"All\";\r\n this.setDates();\r\n this.setFormControls();\r\n this.ddlFormat = 0;\r\n this.filterByDate = false;\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators} from '@angular/forms';\r\nimport * as appSettings from '../../globals';\r\nimport { RevisedClinicDatesAndVolumesService } from '../../services/revisedclinicdatesandvolumes.service';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n//import { NGXLogger } from 'ngx-logger';\r\nimport { VaccinePurchase } from '../../../../models/VaccinePurchase';\r\n\r\n@Component({\r\n selector: 'app-revisedclinicdates',\r\n templateUrl: './revisedclinicdates.component.html',\r\n styleUrls: ['./revisedclinicdates.component.css']\r\n})\r\nexport class RevisedclinicdatesComponent implements OnInit {\r\n RevisedClinicDatesReportForm: FormGroup;\r\n RevisedClinicDatesreportArray: any;\r\n //private datasource: any;\r\n ddlSeason: number;\r\n groupIdLaunchDate=\"05/01/2018\";\r\n private currentSeason = appSettings.ipSeason;\r\n outreachStartDate=ApplicationSettings.outreachStartDateIP;\r\n outreachStartYear=ApplicationSettings.getOutreachReportStartYear();\r\n ddlFormat:any;\r\n loading:boolean;\r\n private isCurrentSeason:any=1;\r\n seasons: any=[];\r\n totalRecords:any=[];\r\n canExport:boolean=true;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n minDate:Date;\r\n maxDate:Date;\r\n fromDate: Date;\r\n toDate: Date;\r\n private from_date: string;\r\n private to_date: string;\r\n showGrid:boolean= false;\r\n covidOnly:boolean = false;\r\n constructor(\r\n private fb: FormBuilder,\r\n \r\n private revisedClinicDatesAndVolumes:RevisedClinicDatesAndVolumesService,\r\nprivate spinner: NgxSpinnerService) {\r\n \r\n };\r\n\r\n ngOnInit() {\r\n\t// for (let report_year:number = (new Date(this.outreachStartDate)).getFullYear(); report_year >=(new Date(this.groupIdLaunchDate)).getFullYear(); report_year--)\r\n // {\r\n // this.seasons.push({\r\n // \"yearName\": report_year.toString()+\"-\"+(report_year+1).toString(),\r\n // \"yearCode\": report_year.toString()\r\n // });\r\n // }\r\n // this.ddlSeason = this.currentSeason;\r\n // this.ddlFormat=\"0\";\r\n // this.RevisedClinicDatesReportForm = this.fb.group({\r\n // 'ddlSeason': [null],\r\n // 'ddlFormat':[null]\r\n // });\r\n for (let report_year:number = (new Date(this.outreachStartDate)).getFullYear(); report_year >=(new Date(this.outreachStartDate)).getFullYear(); report_year--)\r\n {\r\n if(report_year<=2015){\r\n continue;\r\n }\r\n this.seasons.push({\r\n \"yearName\": report_year.toString()+\"-\"+(report_year+1).toString(),\r\n \"yearCode\": report_year.toString()\r\n });\r\n }\r\n this.ddlSeason = (new Date(this.outreachStartDate)).getFullYear();\r\n this.fromDate =this.minDate;\r\n this.toDate = this.maxDate;\r\n this.ddlFormat=\"xlsxv\";\r\n this.setDates();\r\n this.setFormControls();\r\n }\r\n setFormControls() {\r\n this.RevisedClinicDatesReportForm = this.fb.group({\r\n 'fDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'tDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'ddlSeason': [this.ddlSeason,null],\r\n 'ddlFormat':[this.ddlFormat,null]\r\n });\r\n \r\n //this.generateReport();\r\n }\r\n \r\n setDates(){\r\n let tempMinDate:Date;\r\n let tempMaxDate:Date;\r\n //this.ddlSeason = this.RevisedClinicDatesReportForm.controls['ddlSeason'].value; \r\n tempMinDate=new Date(ApplicationSettings.getIMmunizationStartDate(this.ddlSeason));\r\n tempMaxDate=new Date(ApplicationSettings.getImmunizationEndDate(this.ddlSeason));\r\n this.minDate=new Date(tempMinDate);\r\n this.maxDate=new Date(tempMaxDate)\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n \r\n this.canExport=false;\r\n }\r\n setDates1(){\r\n let tempMinDate:Date;\r\n let tempMaxDate:Date;\r\n this.ddlSeason = this.RevisedClinicDatesReportForm.controls['ddlSeason'].value; \r\n tempMinDate=new Date(ApplicationSettings.getIMmunizationStartDate(this.ddlSeason));\r\n tempMaxDate=new Date(ApplicationSettings.getImmunizationEndDate(this.ddlSeason));\r\n this.minDate=new Date(tempMinDate);\r\n this.maxDate=new Date(tempMaxDate)\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n \r\n this.canExport=false;\r\n }\r\n setCalendarDates(){\r\n this.fromDate = this.RevisedClinicDatesReportForm.controls['fDate'].value;\r\n this.toDate = this.RevisedClinicDatesReportForm.controls['tDate'].value;\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n this.canExport=false;\r\n }\r\n reset(): void {\r\n this.showGrid = false;\r\n this.loading = false;\r\n this.ddlSeason = this.currentSeason;\r\n this.setDates();\r\n this.isCurrentSeason=1;\r\n this.ddlFormat=0;\r\n this.setFormControls();\r\n //this.generateReport();\r\n }\r\n generateReport(): void { \r\n \r\n if(!this.showGrid){\r\n this.spinner.show();\r\n }else{\r\n this.loading = true;\r\n }\r\n let data=this.RevisedClinicDatesReportForm.value;\r\n let d1 = data.fDate;\r\n let d2 = data.tDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n //this.logger.log(this.from_date);\r\n //this.logger.log(this.to_date);\r\n \r\n \r\n //this.isCurrentSeason=((this.ddlSeason) != (new Date(this.outreachStartDate).getFullYear()) ? 0 : 1);\r\n this.ddlSeason = this.RevisedClinicDatesReportForm.controls['ddlSeason'].value;\r\n if (this.ddlSeason != this.currentSeason) {\r\n this.isCurrentSeason = 0;\r\n } \r\n \r\n let vaccine_purchase = new VaccinePurchase(this.from_date,this.to_date,this.isCurrentSeason,\"\", this.covidOnly,\"\");\r\n this.RevisedClinicDatesreportArray = [];\r\n this.totalRecords = 0;\r\n this.revisedClinicDatesAndVolumes.getRevisedClinicDatesAndVolumeReportData(vaccine_purchase).subscribe((resultArray: any) => {\r\n this.totalRecords = resultArray.length;\r\n this.RevisedClinicDatesreportArray = resultArray;\r\n //this.logger.log(\"totalRecords:\" + this.totalRecords); \r\n setTimeout(() => {\r\n this.loading = false;\r\n this.canExport=true;\r\n this.showGrid = true;\r\n this.spinner.hide();\r\n }, 1000)\r\n },error =>{\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.RevisedClinicDatesreportArray = [];\r\n this.totalRecords = 0;\r\n });\r\n }\r\n // reset(): void {\r\n // this.loading = true;\r\n // this.ddlSeason = this.currentSeason;\r\n // this.isCurrentSeason=1;\r\n // this.ddlFormat=0;\r\n // this.generateReport();\r\n // }\r\n canExportOnchange(){\r\n this.canExport=false;\r\n }\r\n validateExportType(){\r\n this.ddlFormat = this.RevisedClinicDatesReportForm.controls['ddlFormat'].value;\r\n if(this.ddlFormat==\"0\" || !this.canExport)\r\n return true;\r\n else\r\n return false;\r\n }\r\n getOutreachStartDate() {\r\n //let outreach_start_date = new Date();\r\n // Need to select the outreachstartdate based on the program selected\r\n return /*outreach_start_date =*/ new Date(appSettings[\"outreachStartDate\" + appSettings.outreachProgramSelected].Length == 0 ? new Date() : appSettings[\"outreachStartDate\" + appSettings.outreachProgramSelected]);\r\n }\r\n\r\n generateReportFormat(): void {\r\n \r\n this.loading=true;\r\n this.ddlFormat = this.RevisedClinicDatesReportForm.controls['ddlFormat'].value;\r\n let data=this.RevisedClinicDatesReportForm.value;\r\n let vaccine_purchase = new VaccinePurchase(this.from_date,this.to_date,this.isCurrentSeason,\"\",false,\"RevisedClinicsAndVolumes\",this.ddlFormat);\r\n this.revisedClinicDatesAndVolumes.exportReportData(vaccine_purchase).subscribe((res:any) => {\r\n importedSaveAs(res.body, res.headers.get('Content-Disposition').split(';')[1].trim().split('=')[1]);\r\n this.loading=false;\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Paginator } from \"primeng/paginator\"\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ScheduledClinicsReportService } from '../../services/scheduledclinicsreport.services';\r\nimport * as appSettings from '../../globals';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { ScheduledClinics } from '../../../../models/ScheduledClinics';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { String } from 'typescript-string-operations';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { CommonservicesService } from '../../services/commonservices.service';\r\nimport { states } from '../../../../JSON/States';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { UserRole } from '../../../../config-files/UserRole';\r\n@Component({\r\n selector: 'app-scheduledclinicreport',\r\n templateUrl: './scheduledclinicsreport.component.html',\r\n styleUrls: ['./scheduledclinicsreport.component.css']\r\n})\r\n\r\nexport class ScheduledclinicsreportComponent implements OnInit {\r\n\r\n scheduledClinicReportForm: FormGroup;\r\n scheduledClinicReportArray: any;\r\n userProfile: any;\r\n ddlSeason: number;\r\n ddlClinicStatus: any = [];\r\n // ddlopportunityDesignationStatus: any=[];\r\n ddlClinicType: any = [];\r\n fromDate: Date;\r\n toDate: Date;\r\n ddlFormat: any;\r\n minDate: any;\r\n maxDate: any;\r\n outreachStartDate = ApplicationSettings.outreachStartDateIP;\r\n private from_date: string;\r\n private to_date: string;\r\n private outreachEffort = appSettings.outreachEffortIP;\r\n totalRecords: number;\r\n loading: boolean;\r\n checked: boolean = false;\r\n private currentSeason = appSettings.ipSeason;\r\n season: any = [];\r\n filterByDate: boolean = false;\r\n canExport: boolean = true;\r\n pageIndex: number = 1;\r\n isPagerClick: boolean = false;\r\n @ViewChild('plbcsPager') plbcsPager: Paginator;\r\n canShowCopay: boolean = false;\r\n showReport: boolean = false;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n canDisablePager:boolean = false;\r\n recordsExist: boolean = false;\r\n covidOnly: boolean = false;\r\n userType: string = \"\";\r\n markets: any;\r\n ddlRegion: any;\r\n ddlArea: any;\r\n ddlState:any= \"0\";\r\n IsPreviousSeason: boolean =false;\r\n states: any[];\r\n isAdmin: boolean = false;\r\n pageSize: number = 50;\r\n constructor(private fb: FormBuilder, private scheduleclinicreport: ScheduledClinicsReportService, \r\n private common_services: CommonservicesService,\r\n private spinner: NgxSpinnerService) {\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n this.ddlRegion = \"0\";\r\n this.ddlState = \"0\";\r\n this.ddlArea = \"0\";\r\n if (this.userProfile.userRole == \"Admin\") { \r\n this.isAdmin = true; \r\n } \r\n else if (this.userProfile.userRole.toLowerCase() == \"regional vice president\" || this.userProfile.userRole.toLowerCase() == \"regional healthcare director\") {\r\n this.userType = \"Region\";\r\n this.isAdmin = true;\r\n }\r\n else if (this.userProfile.userRole.toLowerCase() == \"healthcare supervisor\" || this.userProfile.userRole.toLowerCase() == \"director - rx and retail ops\") {\r\n this.userType = \"Area\";\r\n }else if (this.userProfile.userRole.toLowerCase() == UserRole.PODUSER){\r\n this.userType = \"Pod\";\r\n }\r\n else if (this.userProfile.userRole.toLowerCase() == \"district manager\") {\r\n this.userType = \"Area\";\r\n }\r\n else if (this.userProfile.userRole.toLowerCase() == \"store manager\" || this.userProfile.userRole.toLowerCase() == \"pharmacy manager\") { \r\n this.userType = \"Area\";\r\n }\r\n if (this.userType == \"\") {\r\n this.userType = \"-1\";\r\n }\r\n this.states = states.sort((a,b)=>a.id.localeCompare(b.id));\r\n }\r\n ClinicTypeArray = new ClinicTypeArray(null, null);\r\n clinictype = [\r\n { \"name\": \"Local\", \"value\": \"Local\" , \"isDefaultChecked\": true },\r\n { \"name\": \"Community Outreach\", \"value\": \"Community Outreach\" , \"isDefaultChecked\": true },\r\n { \"name\": \"Charity (WAG Free Flu Voucher)\", \"value\": \"Charity (WAG Free Flu Voucher)\" , \"isDefaultChecked\": true },\r\n { \"name\": \"Equity Events (No Contract)\", \"value\": \"Equity Events (No Contract)\" , \"isDefaultChecked\": true },\r\n { \"name\": \"Uploaded Local\", \"value\": \"Uploaded Local\" , \"isDefaultChecked\": true },\r\n { \"name\": \"Uploaded Charity\", \"value\": \"Uploaded Charity\" , \"isDefaultChecked\": true },\r\n { \"name\": \"Corporate\", \"value\": \"Corporate\" , \"isDefaultChecked\": true },\r\n { \"name\": \"Vote & Vax\", \"value\": \"Vote & Vax\" , \"isDefaultChecked\": true }\r\n ];\r\n ClinicStatusArray = new ClinicStatusArray(null, null);\r\n clinicstatus = [\r\n { \"name\": \"Contact Client\", \"value\": 0 , \"isDefaultChecked\": true },\r\n { \"name\": \"Confirmed\", \"value\": 1 , \"isDefaultChecked\": true },\r\n { \"name\": \"Completed\", \"value\": 3 , \"isDefaultChecked\": true },\r\n { \"name\": \"Cancelled\", \"value\": 2 , \"isDefaultChecked\": true }\r\n ];\r\n\r\n // OpportunityDesignation=[\r\n // { \"name\": \"Flu & Routine\", \"value\": \"Flu & Routine\", \"isDefaultChecked\": true },\r\n // { \"name\": \"Covid\", \"value\": \"Covid\", \"isDefaultChecked\": true },\r\n // { \"name\": \"Combined\", \"value\": \"Combined\", \"isDefaultChecked\": true } \r\n // ]; \r\n\r\n\r\n ngOnInit() {\r\n this.ddlSeason = this.currentSeason;\r\n this.common_services.getMarket(this.userProfile.userPk, this.userType, this.ddlRegion, this.ddlArea).subscribe((data) => {\r\n this.markets = data[0];\r\n });\r\n this.defaultCheck();\r\n for (let report_year: number = parseInt(appSettings.reportStartYear); report_year <= new Date(this.outreachStartDate).getFullYear(); report_year++) {\r\n this.season.push({\r\n \"yearName\": report_year.toString() + \" - \" + (report_year + 1).toString(),\r\n \"yearCode\": report_year.toString()\r\n });\r\n }\r\n this.setDates(true);\r\n \r\n this.fromDate = this.minDate;\r\n this.toDate = this.maxDate;\r\n this.ddlFormat = \"xlsxv\";\r\n this.setFormControls();\r\n //this.generateReport();\r\n };\r\n setFormControls(){\r\n this.scheduledClinicReportForm = this.fb.group({\r\n 'fDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'tDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'ddlSeason': [this.currentSeason],\r\n 'ddlRegion': [\"0\"],\r\n 'ddlState': [\"0\"],\r\n 'ddlClinicStatus': [null],\r\n 'ddlClinicType': [null],\r\n 'filterByDate': [this.filterByDate],\r\n 'ddlFormat': [\"xlsxv\"],\r\n 'covidOnly': [false],\r\n 'ddlopportunityDesignationStatus':[null]\r\n });\r\n }\r\n setDates(is_page_load: boolean) {\r\n if(this.ddlSeason == 2016){\r\n this.ddlClinicType.push('Vote & Vax');\r\n this.bindClinicType('Vote & Vax');\r\n }\r\n else{\r\n let ind = this.ddlClinicType.indexOf('Vote & Vax');\r\n if(ind > -1){\r\n this.ddlClinicType.splice(ind, 1);\r\n }\r\n }\r\n let tempMinDate: Date;\r\n let tempMaxDate: Date;\r\n this.pageIndex = 1;\r\n if (!is_page_load) {\r\n let ddlSeason = this.scheduledClinicReportForm.controls.ddlSeason.value;\r\n tempMinDate = new Date(ApplicationSettings.getIMmunizationStartDate(ddlSeason));\r\n tempMaxDate = new Date(ApplicationSettings.getImmunizationEndDate(ddlSeason));\r\n this.minDate = new Date(tempMinDate);\r\n this.maxDate = new Date(tempMaxDate);\r\n this.scheduledClinicReportForm.patchValue({ 'fDate': tempMinDate, 'tDate': tempMaxDate });\r\n if(this.plbcsPager)\r\n this.plbcsPager.changePage(this.pageIndex - 1);\r\n }\r\n else{\r\n tempMinDate = new Date(ApplicationSettings.getIMmunizationStartDate(this.ddlSeason));\r\n tempMaxDate = new Date(ApplicationSettings.getImmunizationEndDate(this.ddlSeason));\r\n this.minDate = new Date(tempMinDate);\r\n this.maxDate = new Date(tempMaxDate);\r\n }\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n this.canExport = false;\r\n this.canDisablePager = true;\r\n }\r\n setCalendarDates() {\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n this.canExport = false;\r\n }\r\n\r\n generateReport(): void {\r\n \r\n if (!this.showReport) {\r\n this.spinner.show();\r\n }\r\n this.recordsExist = false;\r\n let msg = \"\";\r\n if (this.ddlClinicType.length == 0) {\r\n msg = \"Clinic Type\";\r\n }\r\n if (this.ddlClinicStatus.length == 0) {\r\n msg += (msg.length > 0) ? \" and Clinic Status\" : \"Clinic Status\";\r\n }\r\n if (this.ddlClinicType.length == 0 || this.ddlClinicStatus.length == 0) {\r\n this.showDialog(\"Alert\", String.Format(ErrorMessages[\"scheduleClinicReportFilterError\"], msg), true);\r\n return;\r\n }\r\n this.loading = true;\r\n this.canShowCopay = this.ddlSeason < 2019 ? true : false;\r\n this.fromDate = this.scheduledClinicReportForm.controls['fDate'].value;\r\n this.toDate = this.scheduledClinicReportForm.controls['tDate'].value;\r\n this.ddlSeason = this.scheduledClinicReportForm.controls['ddlSeason'].value;\r\n this.ddlFormat = this.scheduledClinicReportForm.controls['ddlFormat'].value;\r\n this.filterByDate= this.scheduledClinicReportForm.controls['filterByDate'].value;\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n if (this.filterByDate) {\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n }\r\n else {\r\n this.from_date = \"\";\r\n this.to_date = \"\";\r\n }\r\n let f_date = this.fromDate.getMonth() + 1 + \"/\" + this.fromDate.getDate() + \"/\" + this.fromDate.getFullYear()\r\n let t_date = this.toDate.getMonth() + 1 + \"/\" + this.toDate.getDate() + \"/\" + this.toDate.getFullYear()\r\n let data = this.scheduledClinicReportForm.value;\r\n this.IsPreviousSeason =(data.ddlSeason == this.currentSeason) ? false : true;\r\n let scheduled_clinics = new ScheduledClinics((this.userProfile.userRole.toLowerCase() == \"regional vice president\" || this.userProfile.userRole.toLowerCase() == \"regional healthcare director\")?41:this.userProfile.userPk,\r\n this.outreachEffort,\r\n (this.ddlClinicStatus.length > 1) ? this.ddlClinicStatus.join(',') : this.ddlClinicStatus.join(),\r\n (this.ddlClinicType.length > 1) ? this.ddlClinicType.join(',') : this.ddlClinicType.join(),\r\n data.filterByDate,\r\n data.fDate,\r\n data.tDate,\r\n data.ddlSeason, ((data.ddlSeason == this.currentSeason) ? false : true), \r\n //(this.ddlopportunityDesignationStatus.length > 1) ? this.ddlopportunityDesignationStatus.join(',') : this.ddlopportunityDesignationStatus.join()\r\n this.pageIndex, false, Number(data.ddlRegion),data.ddlState, '','','',this.pageSize);\r\n this.scheduleclinicreport.getScheduledClinicDetails(scheduled_clinics).subscribe((resultArray: any) => {\r\n this.totalRecords = resultArray.Table1[0].totalScheduledClinics;\r\n this.scheduledClinicReportArray = resultArray.Table;\r\n this.recordsExist = this.totalRecords > 0 ? false : true;\r\n setTimeout(() => { \r\n this.loading = false;\r\n this.spinner.hide();\r\n this.showReport = true;\r\n this.canExport = true;\r\n this.canDisablePager = false;\r\n }, 1000)\r\n },error =>{\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.scheduledClinicReportArray = [];\r\n this.totalRecords = 0;\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n });\r\n this.canExport = true;\r\n }\r\n generateReportFormat(): void {\r\n this.loading = true;\r\n \r\n this.ddlSeason = this.scheduledClinicReportForm.controls['ddlSeason'].value;\r\n this.ddlFormat = this.scheduledClinicReportForm.controls['ddlFormat'].value;\r\n this.filterByDate= this.scheduledClinicReportForm.controls['filterByDate'].value;\r\n let f_date = this.fromDate.getMonth() + 1 + \"/\" + this.fromDate.getDate() + \"/\" + this.fromDate.getFullYear();\r\n let t_date = this.toDate.getMonth() + 1 + \"/\" + this.toDate.getDate() + \"/\" + this.toDate.getFullYear();\r\n let report_name: string = this.canShowCopay ? 'ScheduledClinicsLastSeason' : 'ScheduledClinics';\r\n let data = this.scheduledClinicReportForm.value;\r\n this.IsPreviousSeason =(data.ddlSeason == this.currentSeason) ? false : true;\r\n let scheduled_clinics = new ScheduledClinics((this.userProfile.userRole.toLowerCase() == \"regional vice president\" || this.userProfile.userRole.toLowerCase() == \"regional healthcare director\") ? 41 : this.userProfile.userPk,\r\n this.outreachEffort,\r\n (this.ddlClinicStatus.length > 1) ? this.ddlClinicStatus.join(',') : this.ddlClinicStatus.join(),\r\n (this.ddlClinicType.length > 1) ? this.ddlClinicType.join(',') : this.ddlClinicType.join(),\r\n data.filterByDate,\r\n data.fDate,\r\n data.tDate,\r\n // (this.ddlopportunityDesignationStatus.length > 1) ? this.ddlopportunityDesignationStatus.join(',') : this.ddlopportunityDesignationStatus.join()\r\n data.ddlSeason, ((data.ddlSeason == this.currentSeason) ? false : true), 0, false, Number(data.ddlRegion), data.ddlState,'', report_name, data.ddlFormat);\r\n this.scheduleclinicreport.exportReportData(scheduled_clinics).subscribe((res:any) => {\r\n importedSaveAs(res.body, report_name+\".xlsx\");\r\n this.loading = false;\r\n },error =>{\r\n this.loading = false;\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n });\r\n }\r\n\r\n onFilterByDateChanged() {\r\n //console.log(this.filterByDate);\r\n this.canExport = false;\r\n this.canDisablePager = true;\r\n this.pageIndex = 1;\r\n }\r\n\r\n reset() {\r\n //this.loading = true;\r\n this.showReport = false;\r\n this.isPagerClick = true;\r\n this.ddlSeason = this.currentSeason;\r\n this.defaultCheck();\r\n this.ddlFormat = 0;\r\n this.pageIndex = 1;\r\n this.filterByDate = false;\r\n this.setDates(true);\r\n this.covidOnly = false;\r\n this.setFormControls();\r\n this.IsPreviousSeason =false;\r\n }\r\n \r\n canExportOnchange() {\r\n this.canExport = false;\r\n this.canDisablePager = true;\r\n this.pageIndex = 1;\r\n }\r\n\r\n paginate(event) {\r\n if(this.canDisablePager){\r\n return false;\r\n }\r\n var curr_page_rec_count = event.first + event.rows;\r\n var page_to_get = curr_page_rec_count / event.rows;\r\n page_to_get = Math.ceil(page_to_get);\r\n this.pageIndex = page_to_get; \r\n if (event.page >= 0) {\r\n this.loading = true;\r\n if(event.page==0){\r\n this.pageIndex=1;\r\n }\r\n this.pageSize=event.rows;\r\n this.generateReport();\r\n }\r\n }\r\n clinicTypeChange(ev, val) {\r\n if (ev.target.checked) {\r\n this.ddlClinicType.push(val);\r\n } else {\r\n let i = this.ddlClinicType.indexOf(val);\r\n this.ddlClinicType.splice(i, 1);\r\n }\r\n this.canDisablePager = true;\r\n this.pageIndex = 1;\r\n this.plbcsPager.changePage(this.pageIndex - 1);\r\n }\r\n clinicStatusChange(ev, val) {\r\n if (ev.target.checked) {\r\n this.ddlClinicStatus.push(val);\r\n } else {\r\n let i = this.ddlClinicStatus.indexOf(val);\r\n this.ddlClinicStatus.splice(i, 1);\r\n }\r\n this.canDisablePager = true;\r\n this.pageIndex = 1;\r\n this.plbcsPager.changePage(this.pageIndex - 1);\r\n }\r\n // opportunityDesignationChange(ev, val)\r\n // {\r\n\r\n // if (ev.target.checked) {\r\n // this.ddlopportunityDesignationStatus.push(val);\r\n // } else {\r\n // let i = this.ddlopportunityDesignationStatus.indexOf(val);\r\n // this.ddlopportunityDesignationStatus.splice(i, 1);\r\n // }\r\n // this.canDisablePager = true;\r\n // this.pageIndex = 1;\r\n // this.plbcsPager.changePage(this.pageIndex - 1);\r\n // }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n defaultCheck() {\r\n this.ddlClinicType = [];\r\n this.ddlClinicStatus = [];\r\n this.clinictype.forEach(v => {\r\n if (v.isDefaultChecked) {\r\n this.ddlClinicType.push(v.value)\r\n }\r\n });\r\n this.clinicstatus.forEach(v => {\r\n if (v.isDefaultChecked) {\r\n this.ddlClinicStatus.push(v.value)\r\n }\r\n });\r\n // this.OpportunityDesignation.forEach(v => {\r\n // if (v.isDefaultChecked) {\r\n // this.ddlopportunityDesignationStatus.push(v.value)\r\n // }\r\n // });\r\n }\r\n bindClinicType(clinic_type: any) {\r\n return (this.ddlClinicType.indexOf(clinic_type) > -1) ? clinic_type : null;\r\n }\r\n\r\n bindClinicStatus(clinic_status: any) {\r\n return (this.ddlClinicStatus.indexOf(clinic_status) > -1) ? ((clinic_status == 0) ? true : clinic_status) : null;\r\n }\r\n // bindopportunityDesignation(opportunity_Designation: any) {\r\n // return (this.ddlopportunityDesignationStatus.indexOf(opportunity_Designation) > -1) ? ((opportunity_Designation == 0) ? true : opportunity_Designation) : null;\r\n // }\r\n}\r\nexport class ClinicTypeArray {\r\n constructor(public id: string, public name: string) { }\r\n}\r\nexport class ClinicStatusArray {\r\n constructor(public id: number, public name: string) { }\r\n}","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Paginator } from \"primeng/paginator\"\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ScheduledClinicsReportService } from '../../services/scheduledclinicsreport.services';\r\nimport * as appSettings from '../../globals';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { ScheduledClinics } from '../../../../models/ScheduledClinics';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { String } from 'typescript-string-operations';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { CommonservicesService } from '../../services/commonservices.service';\r\nimport { states } from '../../../../JSON/States';\r\nimport { UserRole } from '../../../../config-files/UserRole';\r\n\r\n@Component({\r\n selector: 'app-scheduled-covid-clinics-report',\r\n templateUrl: './scheduled-covid-clinics-report.component.html',\r\n styleUrls: ['./scheduled-covid-clinics-report.component.css']\r\n})\r\nexport class ScheduledCovidClinicsReportComponent implements OnInit {\r\n\r\n scheduledClinicReportForm: FormGroup;\r\n scheduledClinicReportArray: any;\r\n userProfile: any;\r\n ddlSeason: number;\r\n ddlClinicStatus: any = [];\r\n ddlClinicType: any = [];\r\n ddlopportunityDesignationStatus: any = [];\r\n fromDate: Date;\r\n toDate: Date;\r\n ddlFormat: any;\r\n minDate: any;\r\n maxDate: any;\r\n outreachStartDate = ApplicationSettings.outreachStartDateCovid;\r\n private from_date: string;\r\n private to_date: string;\r\n private outreachEffort = appSettings.outreachEffortIP;\r\n totalRecords: number;\r\n loading: boolean;\r\n checked: boolean = false;\r\n private currentSeason = appSettings.covidSeason;\r\n season: any = [];\r\n filterByDate: boolean = false;\r\n canExport: boolean = true;\r\n pageIndex: number = 1;\r\n pageSize:number = 50;\r\n isPagerClick: boolean = false;\r\n @ViewChild('plbcsPager') plbcsPager: Paginator;\r\n canShowCopay: boolean = false;\r\n showReport: boolean = false;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n canDisablePager: boolean = false;\r\n recordsExist: boolean = false;\r\n covidOnly: boolean = true;\r\n userType: string = \"\";\r\n markets: any;\r\n ddlRegion: any;\r\n ddlArea: any;\r\n ddlState: any = \"0\";\r\n states: any[];\r\n isAdmin: boolean = false;\r\n userPk: number;\r\n constructor(private fb: FormBuilder, private scheduleclinicreport: ScheduledClinicsReportService,\r\n private common_services: CommonservicesService,\r\n private spinner: NgxSpinnerService) {\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n this.ddlRegion = \"0\";\r\n this.ddlState = \"0\";\r\n this.ddlArea = \"0\";\r\n if (this.userProfile.userRole == \"Admin\") {\r\n this.isAdmin = true;\r\n }\r\n else if (this.userProfile.userRole.toLowerCase() == \"regional vice president\" || this.userProfile.userRole.toLowerCase() == \"regional healthcare director\") {\r\n this.userType = \"Region\";\r\n this.isAdmin = true;\r\n }\r\n else if (this.userProfile.userRole.toLowerCase() == \"healthcare supervisor\" || this.userProfile.userRole.toLowerCase() == \"director - rx and retail ops\") {\r\n this.userType = \"Area\";\r\n } else if (this.userProfile.userRole.toLowerCase() == UserRole.PODUSER){\r\n this.userType = \"Pod\";\r\n }\r\n else if (this.userProfile.userRole.toLowerCase() == \"district manager\") {\r\n this.userType = \"Area\";\r\n }\r\n else if (this.userProfile.userRole.toLowerCase() == \"store manager\" || this.userProfile.userRole.toLowerCase() == \"pharmacy manager\") {\r\n this.userType = \"Area\";\r\n }\r\n if (this.userType == \"\") {\r\n this.userType = \"-1\";\r\n }\r\n this.states = states.sort((a, b) => a.id.localeCompare(b.id));\r\n this.userPk = (this.userProfile.userRole.toLowerCase() == \"regional vice president\" || this.userProfile.userRole.toLowerCase() == \"regional healthcare director\") ? 41 : this.userProfile.userPk;\r\n }\r\n ClinicTypeArray = new ClinicTypeArray(null, null);\r\n OpportunityDesignation=[\r\n { \"name\": \"Flu & Routine\", \"value\": 0, \"isDefaultChecked\": true },\r\n { \"name\": \"LTCF Covid\", \"value\": 1, \"isDefaultChecked\": true },\r\n { \"name\": \"LTCF Flu\", \"value\": 3, \"isDefaultChecked\": true },\r\n { \"name\": \"Standard Covid\", \"value\": 2, \"isDefaultChecked\": true } \r\n ]; \r\n clinictype = [\r\n { \"name\": \"Local\", \"value\": \"Local\", \"isDefaultChecked\": true },\r\n { \"name\": \"Community Outreach\", \"value\": \"Community Outreach\", \"isDefaultChecked\": true },\r\n { \"name\": \"Charity (WAG Free Flu Voucher)\", \"value\": \"Charity (WAG Free Flu Voucher)\", \"isDefaultChecked\": true },\r\n { \"name\": \"Uploaded Local\", \"value\": \"Uploaded Local\", \"isDefaultChecked\": true },\r\n { \"name\": \"Uploaded Charity\", \"value\": \"Uploaded Charity\", \"isDefaultChecked\": true },\r\n { \"name\": \"Corporate\", \"value\": \"Corporate\", \"isDefaultChecked\": true },\r\n { \"name\": \"Vote & Vax\", \"value\": \"Vote & Vax\", \"isDefaultChecked\": true }\r\n ];\r\n ClinicStatusArray = new ClinicStatusArray(null, null);\r\n clinicstatus = [\r\n { \"name\": \"Contact Client\", \"value\": 0, \"isDefaultChecked\": true },\r\n { \"name\": \"Confirmed\", \"value\": 1, \"isDefaultChecked\": true },\r\n { \"name\": \"Completed\", \"value\": 3, \"isDefaultChecked\": true },\r\n { \"name\": \"Cancelled\", \"value\": 2, \"isDefaultChecked\": true }\r\n ];\r\n\r\n ngOnInit() {\r\n this.ddlSeason = this.currentSeason;\r\n this.common_services.getMarket(this.userProfile.userPk, this.userType, this.ddlRegion, this.ddlArea).subscribe((data) => {\r\n this.markets = data[0];\r\n });\r\n this.defaultCheck();\r\n for (let report_year: number = parseInt(appSettings.covidReportStartYear); report_year <= new Date(this.outreachStartDate).getFullYear(); report_year++) {\r\n this.season.push({\r\n \"yearName\": report_year.toString() + \" - \" + (report_year + 1).toString(),\r\n \"yearCode\": report_year.toString()\r\n });\r\n }\r\n this.setDates(true);\r\n this.fromDate = this.minDate;\r\n this.toDate = this.maxDate;\r\n this.ddlFormat = \"0\";\r\n\r\n this.setFormControls();\r\n //this.generateReport();\r\n };\r\n setFormControls(){\r\n this.scheduledClinicReportForm = this.fb.group({\r\n 'fromDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'toDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'ddlSeason': [this.currentSeason],\r\n 'ddlRegion': [\"0\"],\r\n 'ddlState': [\"0\"],\r\n 'ddlClinicStatus': [null],\r\n 'ddlClinicType': [null],\r\n 'filterByDate': [this.filterByDate],\r\n 'ddlFormat': [\"0\"],\r\n 'covidOnly': [true],\r\n 'userId': [this.userPk],\r\n 'ddlopportunityDesignationStatus':[null]\r\n });\r\n }\r\n setDates(is_page_load: boolean) {\r\n if (this.ddlSeason == 2016) {\r\n this.ddlClinicType.push('Vote & Vax');\r\n this.bindClinicType('Vote & Vax');\r\n }\r\n else {\r\n let ind = this.ddlClinicType.indexOf('Vote & Vax');\r\n if (ind > -1) {\r\n this.ddlClinicType.splice(ind, 1);\r\n }\r\n }\r\n if(this.scheduledClinicReportForm != undefined){\r\n this.ddlSeason=this.scheduledClinicReportForm.controls['ddlSeason'].value;\r\n }\r\n let tempMinDate: Date;\r\n let tempMaxDate: Date;\r\n tempMinDate = new Date(ApplicationSettings.getCovidStartDate(this.ddlSeason));\r\n tempMaxDate = new Date(ApplicationSettings.getCovidEndDate(this.ddlSeason));\r\n //tempMaxDate.setDate(tempMaxDate.getDate() + 61);\r\n this.minDate = new Date(tempMinDate);\r\n this.maxDate = new Date(tempMaxDate)\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n this.canExport = false;\r\n this.canDisablePager = true;\r\n this.pageIndex = 1;\r\n if(this.scheduledClinicReportForm != undefined){\r\n this.scheduledClinicReportForm.patchValue({\r\n fromDate:this.fromDate,\r\n toDate:this.toDate\r\n })\r\n }\r\n if (!is_page_load) {\r\n this.plbcsPager.changePage(this.pageIndex - 1);\r\n }\r\n \r\n }\r\n setCalendarDates() {\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n this.canExport = false;\r\n }\r\n\r\n generateReport(): void {\r\n \r\n if (!this.showReport) {\r\n this.spinner.show();\r\n }\r\n this.recordsExist = false;\r\n let msg = \"\";\r\n if (this.ddlClinicType.length == 0) {\r\n msg = \"Clinic Type\";\r\n }\r\n if (this.ddlClinicStatus.length == 0) {\r\n msg += (msg.length > 0) ? \" and Clinic Status\" : \"Clinic Status\";\r\n }\r\n if (this.ddlClinicType.length == 0 || this.ddlClinicStatus.length == 0) {\r\n this.showDialog(\"Alert\", String.Format(ErrorMessages[\"scheduleClinicReportFilterError\"], msg), true);\r\n return;\r\n }\r\n this.loading = true;\r\n this.canShowCopay = this.ddlSeason < 2019 ? true : false;\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n if (this.filterByDate) {\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n }\r\n else {\r\n this.from_date = \"\";\r\n this.to_date = \"\";\r\n }\r\n let f_date = this.fromDate.getMonth() + 1 + \"/\" + this.fromDate.getDate() + \"/\" + this.fromDate.getFullYear()\r\n let t_date = this.toDate.getMonth() + 1 + \"/\" + this.toDate.getDate() + \"/\" + this.toDate.getFullYear()\r\n let data = this.scheduledClinicReportForm.value;\r\n let scheduled_clinics = new ScheduledClinics((this.userProfile.userRole.toLowerCase() == \"regional vice president\" || this.userProfile.userRole.toLowerCase() == \"regional healthcare director\") ? 41 : this.userProfile.userPk,\r\n this.outreachEffort,\r\n (this.ddlClinicStatus.length > 1) ? this.ddlClinicStatus.join(',') : this.ddlClinicStatus.join(),\r\n (this.ddlClinicType.length > 1) ? this.ddlClinicType.join(',') : this.ddlClinicType.join(),\r\n data.filterByDate,\r\n data.fromDate,\r\n data.toDate,\r\n data.ddlSeason,\r\n ((data.ddlSeason == this.currentSeason) ? false : true), \r\n this.pageIndex,\r\n true, \r\n Number(data.ddlRegion), data.ddlState,\r\n (this.ddlopportunityDesignationStatus.length > 1) ? this.ddlopportunityDesignationStatus.join(',') : this.ddlopportunityDesignationStatus.join()\r\n ,'','',this.pageSize);\r\n console.log(\"ssaS\")\r\n this.scheduleclinicreport.getScheduledClinicDetails(scheduled_clinics).subscribe((resultArray: any) => {\r\n console.log(resultArray);\r\n this.totalRecords = resultArray.Table1[0].totalScheduledClinics;\r\n this.scheduledClinicReportArray = resultArray.Table;\r\n this.recordsExist = this.totalRecords > 0 ? false : true;\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.showReport = true;\r\n this.canExport = true;\r\n this.canDisablePager = false;\r\n }, 1000)\r\n }, error => {\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.scheduledClinicReportArray = [];\r\n this.totalRecords = 0;\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n });\r\n this.canExport = true;\r\n }\r\n generateReportFormat(): void {\r\n this.loading = true;\r\n let f_date = this.fromDate.getMonth() + 1 + \"/\" + this.fromDate.getDate() + \"/\" + this.fromDate.getFullYear();\r\n let t_date = this.toDate.getMonth() + 1 + \"/\" + this.toDate.getDate() + \"/\" + this.toDate.getFullYear();\r\n let report_name: string = this.canShowCopay ? 'ScheduledClinicsLastSeason' : 'ScheduledClinics';\r\n let data = this.scheduledClinicReportForm.value;\r\n let scheduled_clinics = new ScheduledClinics((this.userProfile.userRole.toLowerCase() == \"regional vice president\" || this.userProfile.userRole.toLowerCase() == \"regional healthcare director\") ? 41 : this.userProfile.userPk,\r\n this.outreachEffort,\r\n (this.ddlClinicStatus.length > 1) ? this.ddlClinicStatus.join(',') : this.ddlClinicStatus.join(),\r\n (this.ddlClinicType.length > 1) ? this.ddlClinicType.join(',') : this.ddlClinicType.join(),\r\n this.filterByDate,\r\n data.fromDate,\r\n data.toDate,\r\n data.ddlSeason, ((data.ddlSeason == this.currentSeason) ? false : true), 0, true, Number(data.ddlRegion), data.ddlState, (this.ddlopportunityDesignationStatus.length > 1) ? this.ddlopportunityDesignationStatus.join(',') : this.ddlopportunityDesignationStatus.join(), report_name, data.ddlFormat);\r\n this.scheduleclinicreport.exportReportData(scheduled_clinics).subscribe((res:any) => {\r\n importedSaveAs(res.body, report_name+\".xlsx\");\r\n this.loading = false;\r\n }, error => {\r\n this.loading = false;\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n });\r\n }\r\n\r\n onFilterByDateChanged() {\r\n //console.log(this.filterByDate);\r\n this.canExport = false;\r\n this.canDisablePager = true;\r\n this.pageIndex = 1;\r\n }\r\n\r\n reset() {\r\n //this.loading = true;\r\n this.setFormControls();\r\n this.showReport = false;\r\n this.isPagerClick = true;\r\n this.ddlSeason = this.currentSeason;\r\n this.defaultCheck();\r\n this.ddlFormat = 0;\r\n this.pageIndex = 1;\r\n this.filterByDate = false;\r\n this.setDates(false);\r\n this.covidOnly = true;\r\n }\r\n // validateExportType() {\r\n // if (this.scheduledClinicReportForm.controls.ddlFormat.value == \"0\" || !this.canExport)\r\n // return true;\r\n // else\r\n // return false;\r\n // }\r\n canExportOnchange() {\r\n this.canExport = false;\r\n this.canDisablePager = true;\r\n this.pageIndex = 1;\r\n }\r\n\r\n paginate(event) {\r\n if (this.canDisablePager) {\r\n return false;\r\n }\r\n var curr_page_rec_count = event.first + event.rows;\r\n var page_to_get = curr_page_rec_count / event.rows;\r\n page_to_get = Math.ceil(page_to_get);\r\n this.pageIndex = page_to_get;\r\n if (event.page >= 0) {\r\n this.loading = true;\r\n if (event.page == 0) {\r\n this.pageIndex = 1;\r\n }\r\n this.pageSize=event.rows;\r\n this.generateReport();\r\n }\r\n }\r\n clinicTypeChange(ev, val) {\r\n if (ev.target.checked) {\r\n this.ddlClinicType.push(val);\r\n } else {\r\n let i = this.ddlClinicType.indexOf(val);\r\n this.ddlClinicType.splice(i, 1);\r\n }\r\n this.canDisablePager = true;\r\n this.pageIndex = 1;\r\n this.plbcsPager.changePage(this.pageIndex - 1);\r\n }\r\n clinicStatusChange(ev, val) {\r\n if (ev.target.checked) {\r\n this.ddlClinicStatus.push(val);\r\n } else {\r\n let i = this.ddlClinicStatus.indexOf(val);\r\n this.ddlClinicStatus.splice(i, 1);\r\n }\r\n this.canDisablePager = true;\r\n this.pageIndex = 1;\r\n this.plbcsPager.changePage(this.pageIndex - 1);\r\n }\r\n\r\n opportunityDesignationChange(ev, val)\r\n {\r\n\r\n if (ev.target.checked) {\r\n this.ddlopportunityDesignationStatus.push(val);\r\n } else {\r\n let i = this.ddlopportunityDesignationStatus.indexOf(val);\r\n this.ddlopportunityDesignationStatus.splice(i, 1);\r\n }\r\n this.canDisablePager = true;\r\n this.pageIndex = 1;\r\n this.plbcsPager.changePage(this.pageIndex - 1);\r\n }\r\n\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n defaultCheck() {\r\n this.ddlClinicType = [];\r\n this.ddlClinicStatus = [];\r\n this.ddlopportunityDesignationStatus=[];\r\n this.clinictype.forEach(v => {\r\n if (v.isDefaultChecked) {\r\n this.ddlClinicType.push(v.value)\r\n }\r\n });\r\n this.clinicstatus.forEach(v => {\r\n if (v.isDefaultChecked) {\r\n this.ddlClinicStatus.push(v.value)\r\n }\r\n });\r\n\r\n this.OpportunityDesignation.forEach(v => {\r\n if (v.isDefaultChecked) {\r\n this.ddlopportunityDesignationStatus.push(v.value)\r\n }\r\n });\r\n\r\n }\r\n bindClinicType(clinic_type: any) {\r\n return (this.ddlClinicType.indexOf(clinic_type) > -1) ? clinic_type : null;\r\n }\r\n\r\n bindClinicStatus(clinic_status: any) {\r\n return (this.ddlClinicStatus.indexOf(clinic_status) > -1) ? ((clinic_status == 0) ? true : clinic_status) : null;\r\n }\r\n\r\n bindopportunityDesignation(opportunity_Designation: any) {\r\n return (this.ddlopportunityDesignationStatus.indexOf(opportunity_Designation) > -1) ? ((opportunity_Designation == 0) ? true : opportunity_Designation) : null;\r\n }\r\n}\r\n\r\nexport class ClinicTypeArray {\r\n constructor(public id: string, public name: string) { }\r\n}\r\nexport class ClinicStatusArray {\r\n constructor(public id: number, public name: string) { }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { defaultSiteDesignInfo } from '../../../../JSON/schedulerDefaultValues';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { SchedulerregistrationService } from '../../../admin/services/schedulerregistration.service';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\n\r\n@Component({\r\n selector: 'scheduledApptsRepForReminderEmail',\r\n templateUrl: './scheduledApptsRepForReminderEmail.component.html',\r\n styleUrls: ['./scheduledApptsRepForReminderEmail.component.css']\r\n})\r\nexport class ScheduledApptsRepForReminderEmailComponent implements OnInit {\r\n showMe: boolean = false;\r\n corpDesignInfo: any;\r\n corporateTrackInfo:any;\r\n clientLogo: any;\r\n BannerColor: string = '';\r\n BannerTextColor: string = '';\r\n ButtonBgColor: string = '';\r\n ButtonTextcolor: string = '';\r\n ctrlKeyDown = false;\r\n clientInfo: any;\r\n clinicEventDetails: any;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n loading: boolean;\r\n constructor(private messageService: MessageServiceService, private location: LocationStrategy, private scheduler_regisration: SchedulerregistrationService) {\r\n this.location.onPopState(() => {\r\n this.messageService.setNavigationClicked(true);\r\n return false;\r\n });\r\n this.clinicEventDetails = SessionDetails.GetEventDetails();\r\n\r\n if (sessionStorage[\"corporateTrackDesignInfo\"]) {\r\n this.corpDesignInfo = JSON.parse(sessionStorage[\"corporateTrackDesignInfo\"]);\r\n sessionStorage.removeItem(\"corporateTrackDesignInfo\");\r\n }\r\n\r\n if (this.clinicEventDetails && Object.keys(this.clinicEventDetails).length > 0) {\r\n sessionStorage.removeItem('event_details');\r\n }\r\n\r\n document.addEventListener('keyup', () => {\r\n this.ctrlKeyDown = false;\r\n });\r\n document.addEventListener('keydown', (e) => {\r\n if ((e.which || e.keyCode) == 116 || ((e.which || e.keyCode) == 82 && this.ctrlKeyDown)) {\r\n // Pressing F5 or Ctrl+R\r\n //e.preventDefault();\r\n if (this.clientInfo) {\r\n sessionStorage[\"corporateTrackInfo\"] = JSON.stringify(this.clientInfo);\r\n }\r\n if (this.corpDesignInfo) {\r\n sessionStorage[\"corporateTrackDesignInfo\"] = JSON.stringify(this.corpDesignInfo);\r\n }\r\n if (this.clinicEventDetails) {\r\n sessionStorage[\"event_details\"] = JSON.stringify(this.clinicEventDetails);\r\n }\r\n } else if ((e.which || e.keyCode) == 17) {\r\n // Pressing only Ctrl\r\n this.ctrlKeyDown = true;\r\n }\r\n });\r\n window.onbeforeunload = (ev) => {\r\n if (this.clientInfo) {\r\n sessionStorage[\"corporateTrackInfo\"] = JSON.stringify(this.clientInfo);\r\n }\r\n if (this.corpDesignInfo) {\r\n sessionStorage[\"corporateTrackDesignInfo\"] = JSON.stringify(this.corpDesignInfo);\r\n }\r\n if (this.clinicEventDetails) {\r\n sessionStorage[\"event_details\"] = JSON.stringify(this.clinicEventDetails);\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n let my_int_timer;\r\n this.clientInfo = {\r\n \"designPk\": -1,\r\n \"redirectTo\": \"schedulerRegistration\",\r\n \"apptPk\": -1,\r\n \"clinicPk\": -1\r\n };\r\n sessionStorage[\"corporateTrackInfo\"] = JSON.stringify(this.clientInfo);\r\n this.scheduler_regisration.getSchedulerSiteDesign(this.clientInfo.designPk).subscribe((result:any) => {\r\n if (Object.keys(result).length > 0) {\r\n if (!result.clientInfo.enryptedClientKey || this.clinicEventDetails.clinicPk > 0) {\r\n result.siteLogoAndStyles = defaultSiteDesignInfo.defaultDesignValues;\r\n result.siteLandingPageText = defaultSiteDesignInfo.defaultTextValues;\r\n }\r\n this.corpDesignInfo = result;\r\n this.BannerColor = this.corpDesignInfo.siteLogoAndStyles.bannerColor;\r\n this.clientLogo = ((this.corpDesignInfo.siteLogoAndStyles && this.corpDesignInfo.siteLogoAndStyles.logoFile &&\r\n this.corpDesignInfo.siteLogoAndStyles.logoFile != \"string\") ? environment.RESOURCES.CORPORATE_SCHEDULER_UPLOADED_LOGOS_URL + this.corpDesignInfo.siteLogoAndStyles.logoFile : '');\r\n\r\n if (this.clinicEventDetails.clinicPk) {\r\n this.clientLogo = \"assets/images/Walgreens_Logo_2022.png\";\r\n }\r\n this.BannerTextColor = this.corpDesignInfo.siteLogoAndStyles.bannerTextColor;\r\n this.ButtonBgColor = this.corpDesignInfo.siteLogoAndStyles.buttonColor;\r\n this.ButtonTextcolor = this.corpDesignInfo.siteLogoAndStyles.buttonTextcolor;\r\n this.showMe = true;\r\n }\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n\r\n","import { Component, OnInit, Input, SimpleChange } from '@angular/core';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { ScheduledAppointmentsService } from '../../services/scheduledAppointments.service';\r\nimport { ScheduledAppointment } from '../../../../models/ScheduledAppointment';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { Router } from '@angular/router';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { SchedulerregistrationService } from '../../../admin/services/schedulerregistration.service';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { SortEvent } from 'primeng/api';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { type } from 'os';\r\nimport { ClinicdetailsService } from '../../../clinicdetails/services/clinicdetails.service';\r\n\r\n@Component({\r\n selector: 'app-appointmentsreport',\r\n templateUrl: './scheduledappointmentsreport.component.html',\r\n styleUrls: ['./scheduledappointmentsreport.component.css']\r\n})\r\nexport class ScheduledAppointmentsreportComponent implements OnInit {\r\n AppointmentsreportForm: FormGroup;\r\n AppointmentsreportArray: any;\r\n ddlCorporateClient: any;\r\n ddlClinicDate: any;\r\n ddlRoom: any;\r\n ddlArea ;\r\n ddlDistrict;\r\n ddlRegion;\r\n ddlPod;\r\n ddlAppointments: any;\r\n regionList = [];\r\n areaList = [];\r\n districtList = [];\r\n podList = [];\r\n loading: boolean = false;\r\n totalRecords: number = 0;\r\n corporateClients: any;\r\n clinicDates: any = [];\r\n clinicRooms: any = [];\r\n clinicDetails: any;\r\n allClinicDetails: any;\r\n ddlFormat: any;\r\n trackingflag: boolean = true;\r\n clinicLocationPk: number = 0;\r\n clinicPk: number = 0;\r\n locations: any;\r\n allLocations: any;\r\n showAllLocationsOption: boolean = true;\r\n alaSQL: any;\r\n canExport: boolean = true;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n showGrid:boolean=false;\r\n isClientUser = false;\r\n private userprofile = JSON.parse(SessionDetails.getD(SessionDetails.absJ,sessionStorage.getItem(\"cP\")));\r\n\r\n @Input('clientInfo') clientInfo: any;\r\n @Input() clinicEventDetails: any;\r\n @Input() corpDesignInfo: any;\r\n\r\n constructor(\r\n private fb: FormBuilder, private scheduledAppointments: ScheduledAppointmentsService, private router: Router,\r\n private scheduler_service: SchedulerregistrationService, private messageService: MessageServiceService,\r\n private spinner: NgxSpinnerService,\r\n private coClinicdetailsService: ClinicdetailsService,) {\r\n this.alaSQL = require('alasql');\r\n if (this.userprofile.userName == 'sm_schedule.appointment') {\r\n var temp = SessionDetails.GetUserInfo();\r\n this.userprofile.userRole = 'Client';//temp.role;\r\n this.userprofile.userPk = temp.pk;\r\n }\r\n //let clinic_details = SessionDetails.GetEventDetails();\r\n }\r\n\r\n ngOnInit() {\r\n this.isClientUser = !this.router.url.includes('communityoutreach') ? true: false;\r\n // if (sessionStorage[\"isOpenedFromReminderEmail\"]) { //From Reminder Email\r\n // this.clinicLocationPk = this.clinicEventDetails.clinicPk;\r\n // this.clinicPk = this.clinicEventDetails.clinicPk;\r\n // //this.ddlCorporateClient = this.clinicEventDetails.clientId;\r\n // this.ddlClinicDate = (this.clinicEventDetails.eventDate) ? this.clinicEventDetails.eventDate.replace(/-/g, '/') : this.clinicEventDetails.clinicDate.replace(/-/g, '/');\r\n // //this.ddlRoom = this.clinicEventDetails.clinicRoom;\r\n // this.ddlAppointments = '1';\r\n // } else if (this.clinicEventDetails && this.clinicEventDetails.clinicPk > 0) {\r\n // this.clinicPk = this.clinicEventDetails.clinicPk;\r\n // this.clinicLocationPk = this.clinicEventDetails.clinicPk;\r\n // this.ddlClinicDate = (this.clinicEventDetails.eventDate) ? this.clinicEventDetails.eventDate.replace(/-/g, '/') : this.clinicEventDetails.clinicDate.replace(/-/g, '/');\r\n // } else {\r\n // this.clinicPk = 0;\r\n // this.clinicLocationPk = 0;\r\n // }\r\n // //this.clientInfo = SessionDetails.getSchedulerUserInfo();\r\n // //console.log(this.clientInfo);\r\n // /*if (sessionStorage[\"corporateTrackInfo\"]) {\r\n // this.clientInfo = JSON.parse(sessionStorage[\"corporateTrackInfo\"]);\r\n // sessionStorage.removeItem(\"corporateTrackInfo\");\r\n // }*/\r\n\r\n // //if (this.router.url.indexOf('communityoutreach') > -1) {\r\n // if (!this.clientInfo && !this.clinicPk) {\r\n // this.trackingflag = false;\r\n // } else {\r\n // this.trackingflag = true;\r\n // }\r\n\r\n // this.ddlAppointments = \"0\";\r\n // this.ddlFormat = \"0\";\r\n // this.ddlClinicDate = \"0\";\r\n // this.ddlRoom = \"0\";\r\n // this.AppointmentsreportForm = this.fb.group({\r\n // 'ddlCorporateClient': [null],\r\n // 'ddlClinicDate': [null],\r\n // 'ddlRoom': [null],\r\n // 'ddlAppointments': [null],\r\n // 'ddlFormat': [null],\r\n // 'ddlLocation': [null]\r\n // });\r\n // this.setCorportateClientPk();\r\n // this.loadFilters();\r\n //this.generateReport();\r\n this.makeAndSetFilters();\r\n this.ddlAppointments = '1';\r\n }\r\n\r\n setCorportateClientPk() {\r\n let is_opened_from_reminder_email;\r\n if(typeof(sessionStorage[\"isOpenedFromReminderEmail\"]) === \"string\"){\r\n is_opened_from_reminder_email = JSON.parse(sessionStorage[\"isOpenedFromReminderEmail\"]);\r\n }else{\r\n is_opened_from_reminder_email = sessionStorage[\"isOpenedFromReminderEmail\"];\r\n }\r\n if (is_opened_from_reminder_email) { //From Reminder Email\r\n //this.ddlCorporateClient = this.clinicEventDetails.clientId; \r\n this.ddlClinicDate = (this.clinicEventDetails.eventDate) ? this.clinicEventDetails.eventDate.replace(/-/g, '/') : this.clinicEventDetails.clinicDate.replace(/-/g, '/');\r\n //this.ddlRoom = this.clinicEventDetails.clinicRoom;\r\n this.ddlCorporateClient = this.clientInfo.designPk;\r\n this.AppointmentsreportForm.controls['ddlCorporateClient'].setValue(this.ddlCorporateClient);\r\n this.ddlAppointments = '1';\r\n }\r\n else if (this.clientInfo && this.clientInfo.designPk && this.clientInfo.designPk > 0) {\r\n this.ddlCorporateClient = this.clientInfo.designPk;\r\n this.AppointmentsreportForm.controls['ddlCorporateClient'].setValue(this.ddlCorporateClient);\r\n } else {\r\n this.ddlCorporateClient = \"0\";\r\n if (this.clinicPk > 0) {\r\n //this.ddlClinicDate = this.clinicEventDetails.eventDate.replace(/-/g, '/');\r\n this.ddlClinicDate = (this.clinicEventDetails.eventDate) ? this.clinicEventDetails.eventDate.replace(/-/g, '/') : this.clinicEventDetails.clinicDate.replace(/-/g, '/');\r\n }\r\n }\r\n }\r\n\r\n generateReport(): void {\r\n if(!this.showGrid){\r\n this.spinner.show();\r\n }else{\r\n this.loading = true;\r\n }\r\n if (this.clinicEventDetails != null && this.clinicEventDetails != undefined) {\r\n this.clinicLocationPk = this.clinicEventDetails.clinicPk;\r\n }\r\n else {\r\n this.clinicLocationPk = this.AppointmentsreportForm.controls['ddlLocation'].value;\r\n }\r\n \r\n this.ddlRegion = this.AppointmentsreportForm.controls['ddlRegion'].value;\r\n this.ddlArea = this.AppointmentsreportForm.controls['ddlArea'].value;\r\n this.ddlPod = this.AppointmentsreportForm.controls['ddlPod'].value;\r\n this.ddlDistrict = this.AppointmentsreportForm.controls['ddlDistrict'].value;\r\n this.ddlRoom = this.AppointmentsreportForm.controls['ddlRoom'].value;\r\n this.ddlCorporateClient = this.AppointmentsreportForm.controls['ddlCorporateClient'].value?this.AppointmentsreportForm.controls['ddlCorporateClient'].value:\"0\";\r\n // this.clinicLocationPk = this.AppointmentsreportForm.controls['ddlLocation'].value?this.AppointmentsreportForm.controls['ddlLocation'].value:this.clinicEventDetails.clinicPk;\r\n this.ddlClinicDate = this.AppointmentsreportForm.controls['ddlClinicDate'].value?this.AppointmentsreportForm.controls['ddlClinicDate'].value:\"0\";\r\n this.ddlAppointments = this.AppointmentsreportForm.controls['ddlAppointments'].value?this.AppointmentsreportForm.controls['ddlAppointments'].value:\"1\";\r\n let sa: ScheduledAppointment = new ScheduledAppointment(this.userprofile.userRole, parseInt(this.userprofile.userPk), \r\n this.ddlCorporateClient, this.clinicLocationPk, this.ddlAppointments, this.ddlRegion<=0?0:this.ddlRegion,\r\n this.ddlArea<=0?0:this.ddlArea,this.ddlPod<=0?0:this.ddlPod,this.ddlDistrict<=0?0:this.ddlDistrict,((this.ddlRoom == \"0\") ? null : this.ddlRoom), \r\n ((this.ddlClinicDate == \"0\") ? null : this.ddlClinicDate) );\r\n \r\n this.scheduledAppointments.getScheduledAppointmentsReportData(sa).subscribe((data:any) => {\r\n this.AppointmentsreportArray = data;\r\n this.loading = false;\r\n this.canExport = true;\r\n this.spinner.hide();\r\n this.showGrid=true;\r\n this.totalRecords = data.length;\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.AppointmentsreportArray = [];\r\n this.totalRecords = 0;\r\n });\r\n this.canExport = true;\r\n }\r\n\r\n onCorporateClientChange() {\r\n this.ddlClinicDate = 0;\r\n this.clinicLocationPk = 0;\r\n this.loadFilters();\r\n this.canExportOnchange();\r\n this.ddlRegion = this.AppointmentsreportForm.controls['ddlRegion'].value;\r\n this.ddlArea = this.AppointmentsreportForm.controls['ddlArea'].value;\r\n this.ddlPod = this.AppointmentsreportForm.controls['ddlPod'].value;\r\n this.ddlDistrict = this.AppointmentsreportForm.controls['ddlDistrict'].value;\r\n this.ddlRoom = this.AppointmentsreportForm.controls['ddlRoom'].value;\r\n this.getSchedulerClients(this.ddlRegion,this.ddlArea,this.ddlDistrict, this.ddlPod);\r\n }\r\n\r\n loadFilters(): void {\r\n if(this.trackingflag){\r\n this.getSchedulerClients(0,0,0, 0);\r\n }\r\n else {\r\n this.coClinicdetailsService.getAreaDist(\"Region\",0).subscribe((data:any) => {\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.regionList.push({ key: keyValue, value: valueData }); \r\n }\r\n this.getSchedulerClients(0,0,0, 0);\r\n });\r\n }\r\n }\r\n getSchedulerClients(regionNumber:number,areaNumber:number,districtNumber:number, podNumber: number){\r\n this.ddlCorporateClient = this.AppointmentsreportForm.controls['ddlCorporateClient'].value?this.AppointmentsreportForm.controls['ddlCorporateClient'].value:0;\r\n this.scheduledAppointments.getCorporateClients(this.userprofile.userRole, this.userprofile.userPk, this.ddlCorporateClient,\r\n regionNumber,areaNumber,districtNumber, podNumber).subscribe((data:any) => {\r\n this.corporateClients = data.Table;\r\n this.clinicDetails = data.Table1;\r\n this.allClinicDetails = data.Table1;\r\n this.locations = data.Table2;\r\n this.allLocations = data.Table2;\r\n this.clinicDates = [];\r\n this.clinicRooms = [];\r\n if (this.locations.length > 1) {\r\n this.showAllLocationsOption = true;\r\n } else {\r\n this.showAllLocationsOption = false;\r\n }\r\n this.clinicDetails.forEach(element => {\r\n if (element.clinicDate && element.clinicDate.indexOf(\",\") > -1) {\r\n let temp_list = element.clinicDate.split(\",\");\r\n for (let i = 0; i < temp_list.length; i++) {\r\n if (temp_list[i]) {\r\n if (this.clinicDates.findIndex(item => item == temp_list[i]) == -1) {\r\n this.clinicDates.push(\r\n temp_list[i]\r\n );\r\n }\r\n }\r\n }\r\n }\r\n else if (element.clinicDate) {\r\n if (this.clinicDates.findIndex(item => item == element.clinicDate) == -1) {\r\n this.clinicDates.push(\r\n element.clinicDate\r\n );\r\n }\r\n }\r\n });\r\n this.clinicDates = this.clinicDates.sort(); \r\n if (this.clinicPk > 0) {\r\n this.allLocations.forEach(element => {\r\n if (element.clinicPk == this.clinicPk && element.clinicDate == this.ddlClinicDate) {\r\n if (element.clinicRoom) {\r\n this.clinicRooms.push({\r\n 'clinicRoomName': element.clinicRoom,\r\n 'clinicRoomValue': element.clinicRoom\r\n });\r\n }\r\n else {\r\n this.clinicRooms.push({\r\n 'clinicRoomName': 'Not Specified',\r\n 'clinicRoomValue': ''\r\n });\r\n }\r\n }\r\n });\r\n } else { \r\n this.clinicDetails.forEach(element => {\r\n if (element.clinicRoom && element.clinicRoom.indexOf(\",\") > -1) {\r\n let temp_list = element.clinicRoom.split(\",\");\r\n for (let i = 0; i < temp_list.length; i++) {\r\n if (temp_list[i]) {\r\n if (this.clinicRooms.findIndex(item => item == temp_list[i]) == -1) {\r\n this.clinicRooms.push(\r\n {\r\n 'clinicRoomName': temp_list[i],\r\n 'clinicRoomValue': temp_list[i]\r\n }\r\n );\r\n }\r\n } else {\r\n if (this.clinicRooms.findIndex(item => item == 'Not Specified') == -1) {\r\n this.clinicRooms.push(\r\n {\r\n 'clinicRoomName': 'Not Specified',\r\n 'clinicRoomValue': ''\r\n }\r\n );\r\n }\r\n }\r\n }\r\n }\r\n else { \r\n if (element.clinicRoom) {\r\n if (this.clinicRooms.findIndex(item => item == element.clinicRoom) == -1) {\r\n this.clinicRooms.push(\r\n {\r\n 'clinicRoomName': element.clinicRoom,\r\n 'clinicRoomValue': element.clinicRoom\r\n });\r\n }\r\n } else {\r\n this.clinicRooms.push(\r\n {\r\n 'clinicRoomName': 'Not Specified',\r\n 'clinicRoomValue': ''\r\n });\r\n }\r\n }\r\n });\r\n } \r\n this.clinicRooms = this.clinicRooms.sort();\r\n if (this.clinicRooms.length == 1) {\r\n this.ddlRoom = this.clinicRooms[0].clinicRoomValue;\r\n }\r\n });\r\n\r\n }\r\n onDistrictSelect(value, selected_value) { \r\n this.ddlRegion = this.AppointmentsreportForm.controls['ddlRegion'].value;\r\n this.ddlArea = this.AppointmentsreportForm.controls['ddlArea'].value;\r\n this.ddlPod = this.AppointmentsreportForm.controls['ddlPod'].value\r\n this.ddlDistrict = this.AppointmentsreportForm.controls['ddlDistrict'].value;\r\n this.ddlRoom = this.AppointmentsreportForm.controls['ddlRoom'].value;\r\n this.getSchedulerClients(this.ddlRegion,this.ddlArea,this.ddlDistrict, this.ddlPod);\r\n this.showAllLocationsOption = true;\r\n }\r\n onSelect(value, selected_value) {\r\n \r\n switch(value){\r\n case 'Area':\r\n this.areaList = [];\r\n this.districtList = [];\r\n this.ddlArea='0';\r\n this.ddlDistrict='0';\r\n this.coClinicdetailsService.getAreaDist(value,selected_value).subscribe(data => {\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.areaList.push({ key: keyValue, value: valueData });\r\n }\r\n this.ddlRegion = this.AppointmentsreportForm.controls['ddlRegion'].value;\r\n this.ddlArea = this.AppointmentsreportForm.controls['ddlArea'].value;\r\n this.ddlDistrict = this.AppointmentsreportForm.controls['ddlDistrict'].value;\r\n this.ddlRoom = this.AppointmentsreportForm.controls['ddlRoom'].value;\r\n this.getSchedulerClients(this.ddlRegion,this.ddlArea>0?this.ddlArea:0,this.ddlDistrict>0?this.ddlDistrict:0, this.ddlPod > 0 ? this.ddlPod: 0);\r\n this.showAllLocationsOption = true;\r\n }, error => {\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n });\r\n break;\r\n case 'Pod':\r\n this.spinner.show();\r\n this.podList = [];\r\n this.districtList = [];\r\n this.ddlPod = 0;\r\n this.ddlDistrict='0';\r\n this.coClinicdetailsService.getAreaDist(value.toLowerCase(),selected_value).subscribe(data => {\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.podList.push({ key: keyValue, value: valueData });\r\n }\r\n this.ddlRegion = this.AppointmentsreportForm.controls['ddlRegion'].value;\r\n this.ddlArea = this.AppointmentsreportForm.controls['ddlArea'].value;\r\n this.ddlPod = this.AppointmentsreportForm.controls['ddlPod'].value;\r\n this.ddlDistrict = this.AppointmentsreportForm.controls['ddlDistrict'].value;\r\n this.ddlRoom = this.AppointmentsreportForm.controls['ddlRoom'].value;\r\n this.getSchedulerClients(this.ddlRegion,this.ddlArea>0?this.ddlArea:0, this.ddlDistrict>0?this.ddlDistrict:0, this.ddlPod > 0 ? this.ddlPod: 0);\r\n this.showAllLocationsOption = true;\r\n this.spinner.hide();\r\n }, error => {\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n });\r\n break;\r\n case \"District\":\r\n this.districtList = [];\r\n this.ddlDistrict = '0';\r\n this.coClinicdetailsService.getAreaDist(`pod${value.toLowerCase()}`,selected_value).subscribe((data:any) => {\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.districtList.push({ key: keyValue, value: valueData });\r\n }\r\n this.ddlRegion = this.AppointmentsreportForm.controls['ddlRegion'].value;\r\n this.ddlArea = this.AppointmentsreportForm.controls['ddlArea'].value;\r\n this.ddlPod = this.AppointmentsreportForm.controls['ddlPod'].value;\r\n this.ddlDistrict = this.AppointmentsreportForm.controls['ddlDistrict'].value;\r\n this.ddlRoom = this.AppointmentsreportForm.controls['ddlRoom'].value;\r\n this.getSchedulerClients(this.ddlRegion,this.ddlArea,this.ddlDistrict>0?this.ddlDistrict:0, this.ddlPod > 0 ? this.ddlPod: 0);\r\n this.showAllLocationsOption = true;\r\n });\r\n break;\r\n default:\r\n this.areaList = [];\r\n this.districtList = [];\r\n this.coClinicdetailsService.getAreaDist(value,0).subscribe((data:any) => {\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.regionList.push({ key: keyValue, value: valueData });\r\n }\r\n });\r\n break;\r\n }\r\n }\r\n generateReportFormat(): void {\r\n this.loading = true;\r\n let report_name: string = \"ScheduledAppointments\";\r\n this.ddlRegion = this.AppointmentsreportForm.controls['ddlRegion'].value;\r\n this.ddlArea = this.AppointmentsreportForm.controls['ddlArea'].value;\r\n this.ddlPod = this.AppointmentsreportForm.controls['ddlPod'].value;\r\n this.ddlDistrict = this.AppointmentsreportForm.controls['ddlDistrict'].value;\r\n this.ddlRoom = this.AppointmentsreportForm.controls['ddlRoom'].value;\r\n this.ddlCorporateClient = this.AppointmentsreportForm.controls['ddlCorporateClient'].value?this.AppointmentsreportForm.controls['ddlCorporateClient'].value:0;\r\n this.ddlAppointments = this.AppointmentsreportForm.controls['ddlAppointments'].value?this.AppointmentsreportForm.controls['ddlAppointments'].value:\"1\";\r\n this.ddlClinicDate = this.AppointmentsreportForm.controls['ddlClinicDate'].value;\r\n this.ddlFormat = \"xlsxv\";//this.AppointmentsreportForm.controls['ddlFormat'].value;\r\n this.clinicLocationPk = this.AppointmentsreportForm.controls['ddlLocation'].value;\r\n report_name = (this.clinicPk > 0 || (!this.clientInfo && !this.clinicPk && !this.trackingflag)) ? report_name : report_name + 'Tracking';\r\n let sa: ScheduledAppointment = new ScheduledAppointment(this.userprofile.userRole, this.userprofile.userPk, this.ddlCorporateClient, this.clinicLocationPk, this.ddlAppointments,this.ddlRegion<=0?0:this.ddlRegion,\r\n this.ddlArea<=0?0:this.ddlArea, this.ddlPod <=0 ?0 : this.ddlPod, this.ddlDistrict<=0?0:this.ddlDistrict, ((this.ddlRoom == \"0\") ? null : this.ddlRoom), ((this.ddlClinicDate == \"0\") ? null : this.ddlClinicDate), this.ddlFormat, report_name);\r\n this.scheduledAppointments.exportReportData(sa).subscribe((res:any) => {\r\n importedSaveAs(res.body, \"ScheduledAppointments.xlsx\");\r\n this.loading = false;\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n // validateExportType() {\r\n // this.ddlFormat = this.AppointmentsreportForm.controls['ddlFormat'].value;\r\n // if (this.ddlFormat == \"0\" || !this.canExport)\r\n // return true;\r\n // else\r\n // return false;\r\n // }\r\n navigateBackToTracking() {\r\n this.messageService.setNavigationClicked(false);\r\n if (this.clientInfo) {\r\n sessionStorage[\"corporateTrackInfo\"] = JSON.stringify(this.clientInfo);\r\n }\r\n if (this.clinicEventDetails) {\r\n sessionStorage[\"event_details\"] = JSON.stringify(this.clinicEventDetails);\r\n sessionStorage.removeItem(\"isOpenedFromReminderEmail\");\r\n }\r\n if (this.clinicPk > 0) {\r\n this.router.navigateByUrl('/communityoutreach/corpStoreApptTracker');\r\n } else {\r\n this.router.navigate(['/clientSchedulerApptTracker']);\r\n }\r\n }\r\n\r\n getLocations() {\r\n if (this.allLocations && this.allLocations.length > 0) {\r\n if (this.ddlClinicDate == '0') {\r\n this.locations = this.allLocations;\r\n } else {\r\n this.locations = this.alaSQL(\"SELECT distinct * FROM ? \\\r\n WHERE clinicDate = '\" + this.ddlClinicDate + \"' ORDER BY clinicDate ASC\", [this.allLocations]);\r\n }\r\n if (this.locations.length > 1) {\r\n this.clinicLocationPk = 0;\r\n this.showAllLocationsOption = true;\r\n }\r\n else {\r\n this.clinicLocationPk = ((this.locations.length == 1) ? this.locations[0].clinicPk : 0);\r\n this.showAllLocationsOption = false;\r\n }\r\n }\r\n this.canExportOnchange();\r\n }\r\n ngOnChanges(changes: { [propKey: string]: SimpleChange }) {\r\n if (changes[\"clientInfo\"]) {\r\n this.clientInfo = changes[\"clientInfo\"].currentValue;\r\n }\r\n if (changes[\"clinicEventDetails\"]) {\r\n this.clinicEventDetails = changes[\"clinicEventDetails\"].currentValue;\r\n }\r\n }\r\n canExportOnchange() {\r\n this.canExport = false;\r\n }\r\n\r\n customSort(event: SortEvent) {\r\n if (event.field == 'apptDate' || event.field == 'clinicAddress' || event.field == 'businessClinic') {\r\n var reA = /[^a-zA-Z]/g;\r\n var reN = /[^0-9]/g;\r\n var tmp = this.AppointmentsreportArray.sort((data1, data2) => {\r\n\r\n let value1: any = data1[event.field];\r\n let value2: any = data2[event.field];\r\n let result = null;\r\n\r\n if (value1 == null && value2 != null)\r\n result = -1;\r\n else if (value1 != null && value2 == null)\r\n result = 1;\r\n else if (value1 == null && value2 == null)\r\n result = 0;\r\n else if (typeof value1 === 'string' && typeof value2 === 'string') {\r\n if (event.field == 'businessClinic' || event.field == 'clinicAddress') {\r\n var aA = value1.replace(reA, \"\");\r\n var bA = value2.replace(reA, \"\");\r\n if (aA === bA) {\r\n var aN = parseInt(value1.replace(reN, \"\"), 10);\r\n var bN = parseInt(value2.replace(reN, \"\"), 10);\r\n result = aN === bN ? 0 : aN > bN ? 1 : -1;\r\n } else {\r\n result = aA > bA ? 1 : -1;\r\n }\r\n } else if (event.field == 'apptDate') {\r\n result = new Date(value1).getTime() - new Date(value2).getTime();\r\n }\r\n else\r\n result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\r\n }\r\n else\r\n result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\r\n return result;\r\n });\r\n if (event.order < 0) {\r\n tmp.reverse();\r\n }\r\n const thisRef = this;\r\n this.AppointmentsreportArray = [];\r\n tmp.forEach(function (row: any) {\r\n thisRef.AppointmentsreportArray.push(row);\r\n });\r\n }\r\n }\r\n reset(): void {\r\n this.showGrid = false;\r\n this.loading = false;\r\n this.makeAndSetFilters();\r\n }\r\n\r\n makeAndSetFilters() {\r\n let is_opened_from_reminder_email;\r\n if(typeof(sessionStorage[\"isOpenedFromReminderEmail\"]) === \"string\"){\r\n is_opened_from_reminder_email = JSON.parse(sessionStorage[\"isOpenedFromReminderEmail\"]);\r\n }else{\r\n is_opened_from_reminder_email = sessionStorage[\"isOpenedFromReminderEmail\"];\r\n }\r\n if (is_opened_from_reminder_email) { //From Reminder Email\r\n this.clinicLocationPk = this.clinicEventDetails.clinicPk;\r\n this.clinicPk = this.clinicEventDetails.clinicPk;\r\n //this.ddlCorporateClient = this.clinicEventDetails.clientId;\r\n this.ddlClinicDate = (this.clinicEventDetails.eventDate) ? this.clinicEventDetails.eventDate.replace(/-/g, '/') : this.clinicEventDetails.clinicDate.replace(/-/g, '/');\r\n //this.ddlRoom = this.clinicEventDetails.clinicRoom;\r\n this.ddlAppointments = '1';\r\n } else if (this.clinicEventDetails && this.clinicEventDetails.clinicPk > 0) {\r\n this.clinicPk = this.clinicEventDetails.clinicPk;\r\n this.clinicLocationPk = this.clinicEventDetails.clinicPk;\r\n this.ddlClinicDate = (this.clinicEventDetails.eventDate) ? this.clinicEventDetails.eventDate.replace(/-/g, '/') : this.clinicEventDetails.clinicDate.replace(/-/g, '/');\r\n } else {\r\n this.clinicPk = 0;\r\n this.clinicLocationPk = 0;\r\n }\r\n //this.clientInfo = SessionDetails.getSchedulerUserInfo();\r\n //console.log(this.clientInfo);\r\n /*if (sessionStorage[\"corporateTrackInfo\"]) {\r\n this.clientInfo = JSON.parse(sessionStorage[\"corporateTrackInfo\"]);\r\n sessionStorage.removeItem(\"corporateTrackInfo\");\r\n }*/\r\n\r\n //if (this.router.url.indexOf('communityoutreach') > -1) {\r\n if (!this.clientInfo && !this.clinicPk) {\r\n this.trackingflag = false;\r\n } else {\r\n this.trackingflag = true;\r\n }\r\n this.ddlAppointments = \"0\";\r\n this.ddlFormat = \"xlsxv\";\r\n this.ddlClinicDate = \"0\";\r\n this.ddlRoom = \"0\";\r\n this.ddlArea = \"0\";\r\n this.ddlDistrict=\"0\";\r\n this.ddlPod = \"0\";\r\n this.ddlRegion=\"0\";\r\n this.ddlCorporateClient=\"0\";\r\n this.regionList = [];\r\n this.areaList = [];\r\n this.podList = [];\r\n this.districtList = [];\r\n this.AppointmentsreportForm = this.fb.group({\r\n 'ddlRegion':[this.ddlRegion,null],\r\n 'ddlArea':[this.ddlArea,null],\r\n 'ddlPod':[this.ddlPod, null],\r\n 'ddlDistrict':[this.ddlDistrict,null],\r\n 'ddlCorporateClient': [this.ddlCorporateClient,null],\r\n 'ddlClinicDate': [this.ddlClinicDate,null],\r\n 'ddlRoom': [this.ddlRoom,null],\r\n 'ddlAppointments': [this.ddlAppointments,null],\r\n 'ddlFormat': [this.ddlFormat,null],\r\n 'ddlLocation': [this.showAllLocationsOption?\"0\":this.clinicLocationPk,null]\r\n });\r\n this.setCorportateClientPk();\r\n this.loadFilters();\r\n }\r\n\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { ScheduledClinicStatus } from '../../../../models/ScheduledClinicStatus';\r\nimport { ScheduledClinicstatusService } from '../../services/scheduledclinicstatus.service';\r\nimport * as appSettings from '../../globals';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { Paginator } from '../../../../../../node_modules/primeng/paginator';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\n\r\n@Component({\r\n selector: 'app-scheduledclinicstatus',\r\n templateUrl: './scheduledclinicstatus.component.html',\r\n styleUrls: ['./scheduledclinicstatus.component.css']\r\n})\r\nexport class ScheduledclinicstatusComponent implements OnInit {\r\n scheduledClinicStatusArray: any;\r\n ddlFormat: any;\r\n storeId: number;\r\n contacted: number; \r\n ddlStatus: number;\r\n outreachStartDate: any;\r\n outreachEndDate: any;\r\n ddlContacted: any;\r\n fromDate: any;\r\n toDate: any;\r\n minDate: any;\r\n maxDate: any;\r\n from_date: any;\r\n isDisableDates:boolean=false;\r\n to_date: any;\r\n totalRecords: any;\r\n scheduledClinicStatusReportArray: any;\r\n private scheduledClinicStatusDataSource: any;\r\n loading: any;\r\n canExport: boolean = true;;\r\n statusArray: any;\r\n private outreachEffort = appSettings.outreachEffortIP;\r\n rowGroupMetadata: any;\r\n canShowNoBusinessesText: boolean = false;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n @ViewChild('scPager') scPager: Paginator;\r\n constructor( private scheduledclinicStatusreport: ScheduledClinicstatusService, private message_service: MessageServiceService) {\r\n this.message_service.getStoreID().subscribe(x => {\r\n this.storeId = x.text;\r\n this.loading = true;\r\n this.generateReport();\r\n });\r\n }\r\n ngOnInit() {\r\n let date = new Date();\r\n date.setDate(date.getDate() + 3);\r\n this.storeId = SessionDetails.GetStoreId();\r\n this.ddlFormat = \"xlsxv\";\r\n this.ddlContacted = \"3\";\r\n this.ddlStatus = -1;\r\n this.isDisableDates=true;\r\n this.outreachStartDate = ApplicationSettings.getIMmunizationStartDate(new Date().getFullYear());\r\n this.outreachEndDate = ApplicationSettings.getImmunizationEndDate(new Date().getFullYear());\r\n this.setDates();\r\n this.bindDropdown(-1);\r\n setTimeout(() => {\r\n this.generateReport();\r\n }, 1000)\r\n \r\n }\r\n bindDropdown(id:any) {\r\n this.scheduledclinicStatusreport.getScheduledClinicStatusOutreachStatus().subscribe((resultArray: any) => {\r\n var temp : any;\r\n if(id==1)\r\n {\r\n this.isDisableDates=false;\r\n temp = resultArray.filter(x => x.category == 'AC' && x.pk!=0); \r\n this.ddlStatus=-1;\r\n }\r\n else if(id==0)\r\n {\r\n this.isDisableDates=true;\r\n temp = resultArray.filter(x => x.category == 'AC' && x.pk==0); \r\n this.ddlStatus=-1;\r\n }\r\n else\r\n {\r\n this.isDisableDates=true;\r\n temp = resultArray.filter(x => x.category == 'AC'); \r\n this.ddlStatus=-1;\r\n } \r\n this.statusArray = temp;\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.canExport = true;\r\n }, 1000)\r\n }\r\n );\r\n }\r\n setDates() {\r\n this.minDate = this.fromDate = new Date(this.outreachStartDate);\r\n this.maxDate = this.toDate = new Date(this.outreachEndDate);\r\n this.toDate.setMonth(this.toDate.getMonth());\r\n this.canExport = false;\r\n //this.toDate.setDate(this.toDate.getDate()+1);\r\n }\r\n setCalendarDates() {\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n this.canExport = false;\r\n }\r\n reset() {\r\n this.ddlContacted = \"3\";\r\n this.ddlFormat = \"xlsxv\";\r\n this.ddlStatus = -1;\r\n this.setDates();\r\n this.generateReport();\r\n }\r\n generateReport() {\r\n this.loading = true;\r\n this.scPager.changePage(0);\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n let scheduled_clinic_status = new ScheduledClinicStatus(this.storeId, this.outreachEffort, this.ddlContacted, this.from_date, this.to_date, this.ddlStatus);\r\n this.scheduledclinicStatusreport.getScheduledClinicStatusDetails(scheduled_clinic_status).subscribe((resultArray: any) => {\r\n if (resultArray.length == 0) {\r\n this.canShowNoBusinessesText = true;\r\n } else {\r\n this.canShowNoBusinessesText = false;\r\n }\r\n this.totalRecords = resultArray.length;\r\n //this.updateRowGroupMetaData(resultArray);\r\n this.scheduledClinicStatusDataSource = resultArray;\r\n var temp = this.scheduledClinicStatusDataSource.slice(0, 10);\r\n this.updateRowGroupMetaData(temp);\r\n this.scheduledClinicStatusReportArray = temp;\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.canExport = true;\r\n }, 1000)\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.scheduledClinicStatusReportArray = [];\r\n this.totalRecords = 0;\r\n });\r\n\t\r\n this.canExport = true;\r\n }\r\n generateReportFormat(): void {\r\n this.loading = true;\r\n let scheduled_clinics_status = new ScheduledClinicStatus(this.storeId,\r\n this.outreachEffort,\r\n this.ddlContacted, this.fromDate, this.toDate, this.ddlStatus, \"ScheduledClinicStatus\", this.ddlFormat);\r\n this.scheduledclinicStatusreport.exportReportData(scheduled_clinics_status).subscribe((res:any) => {\r\n importedSaveAs(res.body, \"ScheduledClinicStatus.xlsx\");\r\n this.loading = false;\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n\t\r\n }\r\n updateRowGroupMetaData(datasource: any) {\r\n this.rowGroupMetadata = {};\r\n if (datasource) {\r\n for (let i = 0; i < datasource.length; i++) {\r\n let rowData = datasource[i];\r\n let storeid = rowData.storeid;\r\n let bName = rowData.businessName;\r\n let bAddr = rowData.businessAddress;\r\n let store_address = rowData.storeAddress;\r\n if (i == 0) {\r\n this.rowGroupMetadata[storeid + \"_\" + store_address] = { index: 0, size: 1 };\r\n this.rowGroupMetadata[storeid + \"_\" + store_address][bName + \"_\" + bAddr] = { index: 0, size: 1 };\r\n }\r\n else {\r\n let previousRowData = datasource[i - 1];\r\n let previousRowGroup = previousRowData.storeid + \"_\" + previousRowData.storeAddress;\r\n let previousInnerRowGroup = previousRowData.businessName + \"_\" + previousRowData.businessAddress;\r\n if (storeid + \"_\" + store_address === previousRowGroup) {\r\n this.rowGroupMetadata[storeid + \"_\" + store_address].size++;\r\n if (bName + \"_\" + bAddr === previousInnerRowGroup) {\r\n this.rowGroupMetadata[storeid + \"_\" + store_address][bName + \"_\" + bAddr].size++;\r\n } else {\r\n this.rowGroupMetadata[storeid + \"_\" + store_address][bName + \"_\" + bAddr] = { index: i, size: 1 };\r\n }\r\n }\r\n else {\r\n this.rowGroupMetadata[storeid + \"_\" + store_address] = { index: i, size: 1 };\r\n this.rowGroupMetadata[storeid + \"_\" + store_address][bName + \"_\" + bAddr] = { index: i, size: 1 };\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n paginate(event) {\r\n this.rowGroupMetadata = {};\r\n this.scheduledClinicStatusReportArray = [];\r\n this.loading = true;\r\n var curr_page_rec_count = event.first + event.rows;\r\n var page_to_get = curr_page_rec_count / 50;\r\n page_to_get = Math.ceil(page_to_get);\r\n var start_number = ((event.first > 40) ? (event.first - (50 * (page_to_get - 1))) : event.first);\r\n if (this.scheduledClinicStatusDataSource) {\r\n var temp = this.scheduledClinicStatusDataSource.slice(start_number, (start_number + 10));\r\n this.updateRowGroupMetaData(temp);\r\n this.scheduledClinicStatusReportArray = temp;\r\n this.totalRecords = this.scheduledClinicStatusDataSource.length;\r\n }\r\n this.loading = false;\r\n //console.log(this.rowGroupMetadata);\r\n }\r\n canExportOnchange() {\r\n this.bindDropdown(this.ddlContacted);\r\n this.canExport = false;\r\n }\r\n \r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup,Validators,FormBuilder} from '@angular/forms';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { Scheduledeventsreportservice } from '../../services/scheduledeventsreport.services';\r\nimport { ScheduledEventsReport } from '../../../../models/ScheduledEventsReport';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { environment } from \"../../../../../environments/environment\";\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n\r\n@Component({\r\n selector: 'app-scheduledeventsreport',\r\n templateUrl: './scheduledeventsreport.component.html',\r\n styleUrls: ['./scheduledeventsreport.component.css']\r\n})\r\n\r\nexport class ScheduledeventsreportComponent implements OnInit {\r\n scheduledEventsReportForm: FormGroup;\r\n scheduledEventsReportArray: any;\r\n ddlTimePeriod: string=ApplicationSettings.getSRCurrentQuarter();\r\n private outreachEffort = environment.outreachEffort;\r\n totalRecords: number;\r\n loading: boolean;\r\n ddlYear: any = ApplicationSettings.getOutreachReportYears();\r\n private dt = new Date();\r\n private outreachStartDate: Date=new Date(ApplicationSettings.getSRStartDate(this.dt.getFullYear()));\r\n ddlFiscalYear: any=(this.outreachStartDate).getFullYear() + 1;\r\n ddlQuarter: any;\r\n ddlFormat: string;\r\n private isCurrentSeason: number;\r\n private userProfile: any;\r\n //outreachReportStartYear=2014; \r\n Quarter = ApplicationSettings.getReportYearQuarters();\r\n canExport:boolean=true;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n\r\n showGrid:boolean = false;\r\n\r\n constructor( private fb: FormBuilder, private Scheduledeventsreport: Scheduledeventsreportservice, private spinner: NgxSpinnerService) {\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n }\r\n\r\n ngOnInit() { \r\n this.ddlFormat = \"xlsx\";\r\n this.isCurrentSeason = ((this.ddlFiscalYear) != (new Date(this.outreachStartDate).getFullYear()+1) ? 0 : 1);\r\n \r\n this.setFormControls();\r\n //this.generateReport();\r\n };\r\n setFormControls() {\r\n this.scheduledEventsReportForm = this.fb.group({\r\n 'ddlFiscalYear': [this.ddlFiscalYear,null],\r\n 'ddlTimePeriod': [this.ddlTimePeriod,null],\r\n 'ddlFormat': [this.ddlFormat]\r\n });\r\n \r\n //this.generateReport();\r\n }\r\n \r\n generateReport(): void {\r\n \r\n if(!this.showGrid){\r\n this.spinner.show();\r\n }else{\r\n this.loading = true;\r\n }\r\n let data = this.scheduledEventsReportForm.value;\r\n this.ddlFiscalYear = data.ddlFiscalYear;\r\n this.isCurrentSeason = ((this.ddlFiscalYear) != (new Date(this.outreachStartDate).getFullYear()+1) ? 0 : 1);\r\n //let quarter_start_date:any = new Date(new Date(((this.isCurrentSeason)?\"09/01/\":\"09/01/\") + (this.ddlFiscalYear -1)));\r\n //quarter_start_date = ((quarter_start_date.getMonth() + 1) + \"/\" + quarter_start_date.getDate() + \"/\" + quarter_start_date.getFullYear());\r\n //let quarter_start_date = ((this.outreachStartDate.getMonth() + 1) + \"/\" + this.outreachStartDate.getDate() + \"/\" + this.outreachStartDate.getFullYear());\r\n \r\n let quarter_start_date = ApplicationSettings.getSRStartDate(data.ddlFiscalYear -1);\r\n let se: ScheduledEventsReport = new ScheduledEventsReport(this.userProfile.userPk, this.userProfile.userRole, quarter_start_date, data.ddlTimePeriod, this.outreachEffort, this.isCurrentSeason, \"ScheduledEvents\", \"xlsxv\");\r\n \r\n this.Scheduledeventsreport.getScheduledEventsReportData(se).subscribe((resultArray: any) => {\r\n this.scheduledEventsReportArray = resultArray;\r\n\t this.totalRecords = resultArray.length;\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.showGrid = true;\r\n this.canExport=true;\r\n }, 1000)\r\n\r\n //console.log(res);\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.scheduledEventsReportArray = [];\r\n this.totalRecords = 0;\r\n });\r\n }\r\n generatereportformat(): void {\r\n this.loading=true;\r\n let data = this.scheduledEventsReportForm.value;\r\n this.ddlFiscalYear = data.ddlFiscalYear;\r\n this.isCurrentSeason = ((this.ddlFiscalYear) != (new Date(this.outreachStartDate).getFullYear()+1) ? 0 : 1);\r\n //let quarter_start_date:any = new Date(new Date(((this.isCurrentSeason)?\"09/01/\":\"09/01/\") + (this.ddlFiscalYear -1)));\r\n //quarter_start_date = ((quarter_start_date.getMonth() + 1) + \"/\" + quarter_start_date.getDate() + \"/\" + quarter_start_date.getFullYear());\r\n //let quarter_start_date = ((this.outreachStartDate.getMonth() + 1) + \"/\" + this.outreachStartDate.getDate() + \"/\" + this.outreachStartDate.getFullYear());\r\n let quarter_start_date = ApplicationSettings.getSRStartDate(this.ddlFiscalYear -1);\r\n \r\n let se: ScheduledEventsReport = new ScheduledEventsReport(this.userProfile.userPk, this.userProfile.userRole, quarter_start_date, data.ddlTimePeriod, this.outreachEffort, this.isCurrentSeason, \"ScheduledEvents\",\"xlsxv\");\r\n \r\n this.Scheduledeventsreport.exportReportData(se).subscribe((res:Response) => {\r\n importedSaveAs(res.body, res.headers.get('Content-Disposition').split(';')[1].trim().split('=')[1]);\r\n this.loading=false;\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n validateExportType(){\r\n if(this.ddlFormat==\"0\" || !this.canExport)\r\n return true;\r\n else\r\n return false;\r\n }\r\n canExportOnchange(){\r\n this.canExport=false;\r\n }\r\n\r\n reset(): void {\r\n //this.loading = true;\r\n this.showGrid = false;\r\n this.ddlFormat = \"xlsx\";\r\n this.ddlTimePeriod = ApplicationSettings.getSRCurrentQuarter();\r\n this.ddlFiscalYear = (this.outreachStartDate).getFullYear() + 1;\r\n this.setFormControls();\r\n //this.generateReport();\r\n }\r\n\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { defaultSiteDesignInfo } from '../../../../JSON/schedulerDefaultValues';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\n\r\n@Component({\r\n selector: 'app-scheduler-appttracking',\r\n templateUrl: './scheduler-appttracking.component.html',\r\n styleUrls: ['./scheduler-appttracking.component.css']\r\n})\r\nexport class SchedulerAppttrackingComponent implements OnInit {\r\n showMe: boolean = true;\r\n corpDesignInfo: any;\r\n clientLogo: any;\r\n BannerColor: string = '';\r\n BannerTextColor: string = '';\r\n ButtonBgColor: string = '';\r\n ButtonTextcolor: string = '';\r\n clientInfo: any;\r\n clinicEventDetails:any;\r\n ctrlKeyDown = false;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n constructor(private messageService: MessageServiceService, private location: LocationStrategy) {\r\n this.location.onPopState(() => {\r\n this.messageService.setNavigationClicked(true);\r\n return false;\r\n });\r\n if (sessionStorage[\"corporateTrackDesignInfo\"]) {\r\n this.corpDesignInfo = JSON.parse(sessionStorage[\"corporateTrackDesignInfo\"]);\r\n sessionStorage.removeItem(\"corporateTrackDesignInfo\");\r\n }\r\n if (!this.corpDesignInfo) {\r\n this.corpDesignInfo[\"siteLogoAndStyles\"] = defaultSiteDesignInfo.siteLogoAndStyles;\r\n }\r\n this.clientLogo = ((this.corpDesignInfo && this.corpDesignInfo.siteLogoAndStyles && this.corpDesignInfo.siteLogoAndStyles.logoFile &&\r\n this.corpDesignInfo.siteLogoAndStyles.logoFile != \"string\") ? environment.RESOURCES.CORPORATE_SCHEDULER_UPLOADED_LOGOS_URL + this.corpDesignInfo.siteLogoAndStyles.logoFile : '');\r\n\r\n // if (this.corpDesignInfo && this.corpDesignInfo.clientInfo.clientId == 0) {\r\n // this.showMe = false;\r\n // this.clientLogo = \"assets/images/Walgreens_Logo_2022.png\";\r\n // }\r\n\r\n\r\n if (sessionStorage[\"corporateTrackInfo\"]) {\r\n this.clientInfo = JSON.parse(sessionStorage[\"corporateTrackInfo\"]);\r\n sessionStorage.removeItem(\"corporateTrackInfo\");\r\n }\r\n if (sessionStorage[\"event_details\"]){\r\n this.clinicEventDetails = JSON.parse(sessionStorage[\"event_details\"]);\r\n sessionStorage.removeItem(\"event_details\");\r\n }\r\n \r\n this.BannerColor = '#323264';\r\n this.BannerTextColor = this.corpDesignInfo.siteLogoAndStyles.bannerTextColor;\r\n this.ButtonBgColor = this.corpDesignInfo.siteLogoAndStyles.buttonColor;\r\n this.ButtonTextcolor = this.corpDesignInfo.siteLogoAndStyles.buttonTextColor;\r\n\r\n document.addEventListener('keyup', () => {\r\n this.ctrlKeyDown = false;\r\n });\r\n document.addEventListener('keydown', (e) => {\r\n if ((e.which || e.keyCode) == 116 || ((e.which || e.keyCode) == 82 && this.ctrlKeyDown)) {\r\n // Pressing F5 or Ctrl+R\r\n //e.preventDefault();\r\n if (this.clientInfo) {\r\n sessionStorage[\"corporateTrackInfo\"] = JSON.stringify(this.clientInfo);\r\n }\r\n if(this.corpDesignInfo){\r\n sessionStorage[\"corporateTrackDesignInfo\"]=JSON.stringify(this.corpDesignInfo);\r\n }\r\n if (this.clinicEventDetails){\r\n sessionStorage[\"event_details\"] = JSON.stringify(this.clinicEventDetails);\r\n }\r\n } else if ((e.which || e.keyCode) == 17) {\r\n // Pressing only Ctrl\r\n this.ctrlKeyDown = true;\r\n }\r\n });\r\n window.onbeforeunload = (ev) => {\r\n if (this.clientInfo) {\r\n sessionStorage[\"corporateTrackInfo\"] = JSON.stringify(this.clientInfo);\r\n }\r\n if(this.corpDesignInfo){\r\n sessionStorage[\"corporateTrackDesignInfo\"]=JSON.stringify(this.corpDesignInfo);\r\n }\r\n if (this.clinicEventDetails){\r\n sessionStorage[\"event_details\"] = JSON.stringify(this.clinicEventDetails);\r\n }\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Paginator } from \"primeng/paginator\"\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ScheduledClinicsReportService } from '../../services/scheduledclinicsreport.services';\r\nimport * as appSettings from '../../globals';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { ScheduledClinics } from '../../../../models/ScheduledClinics';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { String } from 'typescript-string-operations';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { CommonservicesService } from '../../services/commonservices.service';\r\nimport { states } from '../../../../JSON/States';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { UserRole } from '../../../../config-files/UserRole';\r\n\r\n@Component({\r\n selector: 'app-servicefeesreport',\r\n templateUrl: './servicefeesreport.component.html',\r\n styleUrls: ['./servicefeesreport.component.css']\r\n})\r\n\r\nexport class ServicefessreportComponent implements OnInit {\r\n\r\n scheduledClinicReportForm: FormGroup;\r\n scheduledClinicReportArray: any;\r\n userProfile: any;\r\n ddlSeason: number;\r\n ddlClinicStatus: any = [];\r\n ddlopportunityDesignationStatus: any=[];\r\n ddlClinicType: any = [];\r\n fromDate: Date;\r\n toDate: Date;\r\n ddlFormat: any;\r\n minDate: any;\r\n maxDate: any;\r\n outreachStartDate = ApplicationSettings.outreachStartDateIP;\r\n private from_date: string;\r\n private to_date: string;\r\n private outreachEffort = appSettings.outreachEffortIP;\r\n totalRecords: number;\r\n loading: boolean;\r\n checked: boolean = false;\r\n private currentSeason = appSettings.ipSeason;\r\n season: any = [];\r\n filterByDate: boolean = false;\r\n canExport: boolean = true;\r\n pageIndex: number = 1;\r\n isPagerClick: boolean = false;\r\n @ViewChild('plbcsPager') plbcsPager: Paginator;\r\n canShowCopay: boolean = false;\r\n showReport: boolean = false;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n canDisablePager:boolean = false;\r\n recordsExist: boolean = false;\r\n covidOnly: boolean = false;\r\n userType: string = \"\";\r\n markets: any;\r\n ddlRegion: any;\r\n ddlArea: any;\r\n ddlState:any= \"0\";\r\n IsPreviousSeason: boolean =false;\r\n states: any[];\r\n isAdmin: boolean = false;\r\n pageSize: number = 50;\r\n constructor(private fb: FormBuilder, private scheduleclinicreport: ScheduledClinicsReportService, \r\n private common_services: CommonservicesService,\r\n private spinner: NgxSpinnerService) {\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n this.ddlRegion = \"0\";\r\n this.ddlState = \"0\";\r\n this.ddlArea = \"0\";\r\n if (this.userProfile.userRole == \"Admin\") { \r\n this.isAdmin = true; \r\n } \r\n else if (this.userProfile.userRole.toLowerCase() == \"regional vice president\" || this.userProfile.userRole.toLowerCase() == \"regional healthcare director\") {\r\n this.userType = \"Region\";\r\n this.isAdmin = true;\r\n }\r\n else if (this.userProfile.userRole.toLowerCase() == \"healthcare supervisor\" || this.userProfile.userRole.toLowerCase() == \"director - rx and retail ops\") {\r\n this.userType = \"Area\";\r\n }\r\n else if (this.userProfile.userRole.toLowerCase() == UserRole.PODUSER){\r\n this.userType = \"Pod\";\r\n }\r\n else if (this.userProfile.userRole.toLowerCase() == \"district manager\") {\r\n this.userType = \"Area\";\r\n }\r\n else if (this.userProfile.userRole.toLowerCase() == \"store manager\" || this.userProfile.userRole.toLowerCase() == \"pharmacy manager\") { \r\n this.userType = \"Area\";\r\n }\r\n if (this.userType == \"\") {\r\n this.userType = \"-1\";\r\n }\r\n this.states = states.sort((a,b)=>a.id.localeCompare(b.id));\r\n }\r\n ClinicTypeArray = new ClinicTypeArray(null, null);\r\n clinictype = [\r\n { \"name\": \"Local\", \"value\": \"Local\" , \"isDefaultChecked\": true },\r\n // { \"name\": \"Community Outreach\", \"value\": \"Community Outreach\" , \"isDefaultChecked\": true }, \r\n // { \"name\": \"Equity Events (No Contract)\", \"value\": \"Equity Events (No Contract)\" , \"isDefaultChecked\": true },\r\n { \"name\": \"Uploaded Local\", \"value\": \"Uploaded Local\" , \"isDefaultChecked\": true },\r\n // { \"name\": \"Uploaded Charity\", \"value\": \"Uploaded Charity\" , \"isDefaultChecked\": true },\r\n { \"name\": \"Corporate\", \"value\": \"Corporate\" , \"isDefaultChecked\": true },\r\n { \"name\": \"Vote & Vax\", \"value\": \"Vote & Vax\" , \"isDefaultChecked\": true }\r\n ];\r\n ClinicStatusArray = new ClinicStatusArray(null, null);\r\n clinicstatus = [\r\n { \"name\": \"Contact Client\", \"value\": 0 , \"isDefaultChecked\": true },\r\n { \"name\": \"Confirmed\", \"value\": 1 , \"isDefaultChecked\": true },\r\n { \"name\": \"Completed\", \"value\": 3 , \"isDefaultChecked\": true },\r\n { \"name\": \"Cancelled\", \"value\": 2 , \"isDefaultChecked\": true }\r\n ];\r\n\r\n OpportunityDesignation=[\r\n { \"name\": \"Flu & Routine\", \"value\": \"Flu & Routine\", \"isDefaultChecked\": true },\r\n { \"name\": \"Covid\", \"value\": \"Covid\", \"isDefaultChecked\": true },\r\n { \"name\": \"Combined\", \"value\": \"Combined\", \"isDefaultChecked\": true } \r\n ]; \r\n\r\n\r\n ngOnInit() {\r\n this.ddlSeason = this.currentSeason;\r\n this.common_services.getMarket(this.userProfile.userPk, this.userType, this.ddlRegion, this.ddlArea).subscribe((data) => {\r\n this.markets = data[0];\r\n });\r\n this.defaultCheck();\r\n for (let report_year: number = parseInt(appSettings.reportStartYear); report_year <= new Date(this.outreachStartDate).getFullYear(); report_year++) {\r\n this.season.push({\r\n \"yearName\": report_year.toString() + \" - \" + (report_year + 1).toString(),\r\n \"yearCode\": report_year.toString()\r\n });\r\n }\r\n this.setDates(true);\r\n \r\n this.fromDate = this.minDate;\r\n this.toDate = this.maxDate;\r\n this.ddlFormat = \"xlsxv\";\r\n this.setFormControls();\r\n //this.generateReport();\r\n };\r\n setFormControls(){\r\n this.scheduledClinicReportForm = this.fb.group({\r\n 'fDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'tDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'ddlSeason': [this.currentSeason],\r\n 'ddlRegion': [\"0\"],\r\n 'ddlState': [\"0\"],\r\n 'ddlClinicStatus': [null],\r\n 'ddlClinicType': [null],\r\n 'filterByDate': [this.filterByDate],\r\n 'ddlFormat': [\"xlsxv\"],\r\n 'covidOnly': [false],\r\n 'ddlopportunityDesignationStatus':[null]\r\n });\r\n }\r\n setDates(is_page_load: boolean) {\r\n if(this.ddlSeason == 2016){\r\n this.ddlClinicType.push('Vote & Vax');\r\n this.bindClinicType('Vote & Vax');\r\n }\r\n else{\r\n let ind = this.ddlClinicType.indexOf('Vote & Vax');\r\n if(ind > -1){\r\n this.ddlClinicType.splice(ind, 1);\r\n }\r\n }\r\n let tempMinDate: Date;\r\n let tempMaxDate: Date;\r\n this.pageIndex = 1;\r\n if (!is_page_load) {\r\n let ddlSeason = this.scheduledClinicReportForm.controls.ddlSeason.value;\r\n tempMinDate = new Date(ApplicationSettings.getIMmunizationStartDate(ddlSeason));\r\n tempMaxDate = new Date(ApplicationSettings.getImmunizationEndDate(ddlSeason));\r\n this.minDate = new Date(tempMinDate);\r\n this.maxDate = new Date(tempMaxDate);\r\n this.scheduledClinicReportForm.patchValue({ 'fDate': tempMinDate, 'tDate': tempMaxDate });\r\n this.plbcsPager.changePage(this.pageIndex - 1);\r\n }\r\n else{\r\n tempMinDate = new Date(ApplicationSettings.getIMmunizationStartDate(this.ddlSeason));\r\n tempMaxDate = new Date(ApplicationSettings.getImmunizationEndDate(this.ddlSeason));\r\n this.minDate = new Date(tempMinDate);\r\n this.maxDate = new Date(tempMaxDate);\r\n }\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n this.canExport = false;\r\n this.canDisablePager = true;\r\n }\r\n setCalendarDates() {\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n this.canExport = false;\r\n }\r\n\r\n generateReport(): void {\r\n \r\n if (!this.showReport) {\r\n this.spinner.show();\r\n }\r\n this.recordsExist = false;\r\n let msg = \"\";\r\n if (this.ddlClinicType.length == 0) {\r\n msg = \"Clinic Type\";\r\n }\r\n if (this.ddlClinicStatus.length == 0) {\r\n msg += (msg.length > 0) ? \" and Clinic Status\" : \"Clinic Status\";\r\n }\r\n if (this.ddlClinicType.length == 0 || this.ddlClinicStatus.length == 0) {\r\n this.showDialog(\"Alert\", String.Format(ErrorMessages[\"scheduleClinicReportFilterError\"], msg), true);\r\n return;\r\n }\r\n this.loading = true;\r\n this.canShowCopay = this.ddlSeason < 2019 ? true : false;\r\n this.fromDate = this.scheduledClinicReportForm.controls['fDate'].value;\r\n this.toDate = this.scheduledClinicReportForm.controls['tDate'].value;\r\n this.ddlSeason = this.scheduledClinicReportForm.controls['ddlSeason'].value;\r\n this.ddlFormat = this.scheduledClinicReportForm.controls['ddlFormat'].value;\r\n this.filterByDate= this.scheduledClinicReportForm.controls['filterByDate'].value;\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n if (this.filterByDate) {\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n }\r\n else {\r\n this.from_date = \"\";\r\n this.to_date = \"\";\r\n }\r\n let f_date = this.fromDate.getMonth() + 1 + \"/\" + this.fromDate.getDate() + \"/\" + this.fromDate.getFullYear()\r\n let t_date = this.toDate.getMonth() + 1 + \"/\" + this.toDate.getDate() + \"/\" + this.toDate.getFullYear()\r\n let data = this.scheduledClinicReportForm.value;\r\n this.IsPreviousSeason =(data.ddlSeason == this.currentSeason) ? false : true;\r\n let scheduled_clinics = new ScheduledClinics((this.userProfile.userRole.toLowerCase() == \"regional vice president\" || this.userProfile.userRole.toLowerCase() == \"regional healthcare director\")?41:this.userProfile.userPk,\r\n this.outreachEffort,\r\n (this.ddlClinicStatus.length > 1) ? this.ddlClinicStatus.join(',') : this.ddlClinicStatus.join(),\r\n (this.ddlClinicType.length > 1) ? this.ddlClinicType.join(',') : this.ddlClinicType.join(),\r\n data.filterByDate,\r\n data.fDate,\r\n data.tDate,\r\n data.ddlSeason, ((data.ddlSeason == this.currentSeason) ? false : true), \r\n this.pageIndex, false, Number(data.ddlRegion),data.ddlState, (this.ddlopportunityDesignationStatus.length > 1) ? this.ddlopportunityDesignationStatus.join(',') : this.ddlopportunityDesignationStatus.join(),'','',this.pageSize);\r\n this.scheduleclinicreport.getServiceFeeDetails(scheduled_clinics).subscribe((resultArray: any) => {\r\n this.totalRecords = resultArray.Table1[0].totalScheduledClinics;\r\n this.scheduledClinicReportArray = resultArray.Table;\r\n this.recordsExist = this.totalRecords > 0 ? false : true;\r\n setTimeout(() => { \r\n this.loading = false;\r\n this.spinner.hide();\r\n this.showReport = true;\r\n this.canExport = true;\r\n this.canDisablePager = false;\r\n }, 1000)\r\n },error =>{\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.scheduledClinicReportArray = [];\r\n this.totalRecords = 0;\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n });\r\n this.canExport = true;\r\n }\r\n generateReportFormat(): void {\r\n this.loading = true;\r\n \r\n this.ddlSeason = this.scheduledClinicReportForm.controls['ddlSeason'].value;\r\n this.ddlFormat = this.scheduledClinicReportForm.controls['ddlFormat'].value;\r\n this.filterByDate= this.scheduledClinicReportForm.controls['filterByDate'].value;\r\n let f_date = this.fromDate.getMonth() + 1 + \"/\" + this.fromDate.getDate() + \"/\" + this.fromDate.getFullYear();\r\n let t_date = this.toDate.getMonth() + 1 + \"/\" + this.toDate.getDate() + \"/\" + this.toDate.getFullYear();\r\n let report_name: string = this.canShowCopay ? 'ScheduledClinicsLastSeason' : 'ScheduledClinics';\r\n let data = this.scheduledClinicReportForm.value;\r\n this.IsPreviousSeason =(data.ddlSeason == this.currentSeason) ? false : true;\r\n let scheduled_clinics = new ScheduledClinics((this.userProfile.userRole.toLowerCase() == \"regional vice president\" || this.userProfile.userRole.toLowerCase() == \"regional healthcare director\") ? 41 : this.userProfile.userPk,\r\n this.outreachEffort,\r\n (this.ddlClinicStatus.length > 1) ? this.ddlClinicStatus.join(',') : this.ddlClinicStatus.join(),\r\n (this.ddlClinicType.length > 1) ? this.ddlClinicType.join(',') : this.ddlClinicType.join(),\r\n data.filterByDate,\r\n data.fDate,\r\n data.tDate,\r\n data.ddlSeason, ((data.ddlSeason == this.currentSeason) ? false : true), 0, false, Number(data.ddlRegion), data.ddlState,(this.ddlopportunityDesignationStatus.length > 1) ? this.ddlopportunityDesignationStatus.join(',') : this.ddlopportunityDesignationStatus.join(), report_name, data.ddlFormat);\r\n this.scheduleclinicreport.exportServiceFeeReportData(scheduled_clinics).subscribe((res:any) => {\r\n importedSaveAs(res.body, \"ServiceFee\"+\".xlsx\");\r\n this.loading = false;\r\n },error =>{\r\n this.loading = false;\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n });\r\n }\r\n\r\n onFilterByDateChanged() {\r\n //console.log(this.filterByDate);\r\n this.canExport = false;\r\n this.canDisablePager = true;\r\n this.pageIndex = 1;\r\n }\r\n\r\n reset() {\r\n //this.loading = true;\r\n this.showReport = false;\r\n this.isPagerClick = true;\r\n this.ddlSeason = this.currentSeason;\r\n this.defaultCheck();\r\n this.ddlFormat = 0;\r\n this.pageIndex = 1;\r\n this.filterByDate = false;\r\n this.setDates(true);\r\n this.covidOnly = false;\r\n this.setFormControls();\r\n this.IsPreviousSeason =false;\r\n }\r\n \r\n canExportOnchange() {\r\n this.canExport = false;\r\n this.canDisablePager = true;\r\n this.pageIndex = 1;\r\n }\r\n\r\n paginate(event) {\r\n if(this.canDisablePager){\r\n return false;\r\n }\r\n var curr_page_rec_count = event.first + event.rows;\r\n var page_to_get = curr_page_rec_count / event.rows;\r\n page_to_get = Math.ceil(page_to_get);\r\n this.pageIndex = page_to_get; \r\n if (event.page >= 0) {\r\n this.loading = true;\r\n if(event.page==0){\r\n this.pageIndex=1;\r\n }\r\n this.pageSize=event.rows;\r\n this.generateReport();\r\n }\r\n }\r\n clinicTypeChange(ev, val) {\r\n if (ev.target.checked) {\r\n this.ddlClinicType.push(val);\r\n } else {\r\n let i = this.ddlClinicType.indexOf(val);\r\n this.ddlClinicType.splice(i, 1);\r\n }\r\n this.canDisablePager = true;\r\n this.pageIndex = 1;\r\n this.plbcsPager.changePage(this.pageIndex - 1);\r\n }\r\n clinicStatusChange(ev, val) {\r\n if (ev.target.checked) {\r\n this.ddlClinicStatus.push(val);\r\n } else {\r\n let i = this.ddlClinicStatus.indexOf(val);\r\n this.ddlClinicStatus.splice(i, 1);\r\n }\r\n this.canDisablePager = true;\r\n this.pageIndex = 1;\r\n this.plbcsPager.changePage(this.pageIndex - 1);\r\n }\r\n opportunityDesignationChange(ev, val)\r\n {\r\n\r\n if (ev.target.checked) {\r\n this.ddlopportunityDesignationStatus.push(val);\r\n } else {\r\n let i = this.ddlopportunityDesignationStatus.indexOf(val);\r\n this.ddlopportunityDesignationStatus.splice(i, 1);\r\n }\r\n this.canDisablePager = true;\r\n this.pageIndex = 1;\r\n this.plbcsPager.changePage(this.pageIndex - 1);\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n defaultCheck() {\r\n this.ddlClinicType = [];\r\n this.ddlClinicStatus = [];\r\n this.clinictype.forEach(v => {\r\n if (v.isDefaultChecked) {\r\n this.ddlClinicType.push(v.value)\r\n }\r\n });\r\n this.clinicstatus.forEach(v => {\r\n if (v.isDefaultChecked) {\r\n this.ddlClinicStatus.push(v.value)\r\n }\r\n });\r\n this.OpportunityDesignation.forEach(v => {\r\n if (v.isDefaultChecked) {\r\n this.ddlopportunityDesignationStatus.push(v.value)\r\n }\r\n });\r\n }\r\n bindClinicType(clinic_type: any) {\r\n return (this.ddlClinicType.indexOf(clinic_type) > -1) ? clinic_type : null;\r\n }\r\n\r\n bindClinicStatus(clinic_status: any) {\r\n return (this.ddlClinicStatus.indexOf(clinic_status) > -1) ? ((clinic_status == 0) ? true : clinic_status) : null;\r\n }\r\n bindopportunityDesignation(opportunity_Designation: any) {\r\n return (this.ddlopportunityDesignationStatus.indexOf(opportunity_Designation) > -1) ? ((opportunity_Designation == 0) ? true : opportunity_Designation) : null;\r\n }\r\n}\r\nexport class ClinicTypeArray {\r\n constructor(public id: string, public name: string) { }\r\n}\r\nexport class ClinicStatusArray {\r\n constructor(public id: number, public name: string) { }\r\n}","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { Router } from '../../../../../../node_modules/@angular/router';\r\nimport { SessionDetails } from '../../../../utility/session';\r\n//import * as appReportSettings from '../../globals';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { StorecompliancereportService } from '../../services/storecompliancereport.service';\r\nimport { StoreComplianceSR, StoreComplianceIP } from '../../../../models/storeCompliance';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { CommonservicesService } from '../../services/commonservices.service';\r\nimport {Table} from 'primeng/table';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { UserRole } from '../../../../config-files/UserRole';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-storecompliancereport',\r\n templateUrl: './storecompliancereport.component.html',\r\n styleUrls: ['./storecompliancereport.component.css']\r\n})\r\nexport class StorecompliancereportComponent implements OnInit {\r\n storeComplianceArray: any;\r\n canExport: any;\r\n markets: any = [];\r\n areas: any = [];\r\n districts: any = [];\r\n podList : any = [];\r\n ddlRegion: any;\r\n ddlArea: any;\r\n ddlPod: any;\r\n ddlDistrict: any;\r\n ddlYear: any;\r\n years: any;\r\n quarters: any;\r\n ddlQuarter: any;\r\n ddlFormat: any;\r\n loading: boolean = true;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n totalRecords: number = 0;\r\n private outreachEffort: number;\r\n showFilters: boolean = false;\r\n private storeId: any;\r\n private outreachStartDate: any;\r\n private dt = new Date();\r\n userProfile: any;\r\n\r\n showRegionFilter: boolean = false;\r\n showAreaFilter: boolean = false;\r\n showPodFilter = false;\r\n showDistrictFilter: boolean = true;\r\n private userType: string = \"\";\r\n recordExists: boolean = true;\r\n showSearchFilter: boolean = false;\r\n showddlState = false;\r\n cols: any[];\r\n @ViewChild('dt') private table:Table;\r\n \r\n @ViewChild('txtGlobalFilter') txtSearch:ElementRef \r\n storeComplianceForm:FormGroup;\r\n\r\n constructor(private router: Router, private message_service: MessageServiceService, private store_compliance: StorecompliancereportService, \r\n private common_services: CommonservicesService, private fb: FormBuilder, private spinner: NgxSpinnerService) {\r\n if (this.router.url.indexOf('immunization') > -1) {\r\n this.outreachEffort = ApplicationSettings.outreachEffortIP;\r\n } else {\r\n this.showFilters = true;\r\n this.outreachEffort = ApplicationSettings.outreachEffortSO;\r\n }\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n this.setFormControls();\r\n if (!this.showFilters) {\r\n if (this.userProfile.userRole == \"Admin\") {\r\n this.showRegionFilter = true;\r\n this.showAreaFilter = true;\r\n this.userType = \"Region\";\r\n this.showSearchFilter = true;\r\n this.showPodFilter = true;\r\n this.showddlState = true;\r\n } else if (this.userProfile.userRole.toLowerCase() == UserRole.REGIONALVICEPRESIDENT || this.userProfile.userRole.toLowerCase() == UserRole.REGIONALHEALTHCAREDIRECTOR) {\r\n this.showAreaFilter = true;\r\n this.showPodFilter = true;\r\n this.userType = \"Area\";\r\n this.showSearchFilter = true;\r\n this.showddlState = false;\r\n } else if (this.userProfile.userRole.toLowerCase() == UserRole.HEALTHCARESUPERVISOR || this.userProfile.userRole.toLowerCase() == UserRole.DIRECTORPHARMACYRETAILOPERATIONS) {\r\n this.showDistrictFilter = true;\r\n this.showPodFilter = true;\r\n this.showAreaFilter = false;\r\n this.userType = \"Pod\";\r\n this.showSearchFilter = true;\r\n this.showddlState = false;\r\n } else if(this.userProfile.userRole.toLowerCase() == UserRole.PODUSER) {\r\n this.showDistrictFilter = true;\r\n this.showSearchFilter = true;\r\n this.userType = \"District\";\r\n this.showAreaFilter = false;\r\n this.showddlState = false;\r\n this.showPodFilter = false;\r\n }\r\n else if (this.userProfile.userRole.toLowerCase() == UserRole.DISTRICTMANAGER) {\r\n this.showDistrictFilter = true;\r\n this.userType = \"District\";\r\n this.showPodFilter = false;\r\n this.showddlState = false;\r\n }\r\n else if (this.userProfile.userRole.toLowerCase() == UserRole.STOREMANAGER || this.userProfile.userRole.toLowerCase() == UserRole.PHARMACYMANAGER) {\r\n this.showDistrictFilter = false;\r\n this.showPodFilter = false;\r\n this.showSearchFilter = false;\r\n this.showddlState = false;\r\n }\r\n if (this.userType == \"\") {\r\n this.userType = \"-1\";\r\n }\r\n }\r\n if (this.showFilters) {\r\n this.message_service.getStoreID().subscribe(x => {\r\n this.storeId = x.text;\r\n this.loading = true;\r\n this.generateReport();\r\n });\r\n }\r\n this.message_service.setReportTitle(\"STORE COMPLIANCE REPORT\");\r\n }\r\n\r\n ngOnInit() { \r\n // if(this.outreachEffort==1){\r\n // this.outreachStartDate = ApplicationSettings.getSRStartDate(this.dt.getFullYear());\r\n // }\r\n // else{\r\n // this.outreachStartDate = ApplicationSettings.getOutreachStartDate();\r\n // }\r\n // this.storeId = SessionDetails.GetStoreId();\r\n // this.ddlFormat = \"0\";\r\n // if (this.showFilters) {\r\n // this.years = ApplicationSettings.getOutreachReportYears();\r\n // this.quarters = ApplicationSettings.getReportYearQuarters();\r\n // this.ddlYear = (ApplicationSettings.getOutreachStartDate().getFullYear() + 1);\r\n // this.ddlQuarter = ApplicationSettings.getSRCurrentQuarter();\r\n // }\r\n\r\n if (!this.showFilters) {\r\n this.cols = [\r\n { field: 'storeId', header: 'Store ID' },\r\n { field: 'storeAddress', header: 'Store Address' },\r\n { field: 'storeState', header: 'Store State' },\r\n { field: 'TotalBusiness', header: 'Total Opportunities' },\r\n { field: 'Contacted', header: 'Total Opportunities Contacted' },\r\n { field: 'NotContacted', header: 'Total Opportunities Not Contacted' },\r\n { field: 'PercentContacted', header: '% Opportunities Contacted' },\r\n { field: 'PercentNotContacted', header: '% Oppotunities Not Contacted' }\r\n ];\r\n }\r\n this.makeAndLoadFilters();\r\n this.setFormControls();\r\n this.generateReport();\r\n }\r\n setFormControls() {\r\n this.storeComplianceForm = this.fb.group({\r\n 'ddlYear': [this.ddlYear],\r\n 'ddlQuarter': [this.ddlQuarter],\r\n 'ddlRegion': [\"0\"],\r\n 'ddlArea': [\"0\"],\r\n 'ddlPod': [\"0\"],\r\n 'ddlDistrict': [\"0\"],\r\n 'covidOnly': [false],\r\n 'fluRoutine': [false],\r\n 'ddlFormat': [\"xlsxv\"]\r\n });\r\n //this.generateReport();\r\n }\r\n generateReport(): void {\r\n this.loading = true;\r\n let data = this.storeComplianceForm.value;\r\n let covidValue :any;\r\n if(data.covidOnly== true && data.fluRoutine==true)\r\n {\r\n covidValue =3;\r\n }\r\n else if(data.covidOnly)\r\n {\r\n covidValue=1;\r\n }\r\n else if(data.fluRoutine)\r\n {\r\n covidValue=2;\r\n }\r\n if (this.showFilters) {\r\n let scr: StoreComplianceSR;\r\n //let is_current_season = (((parseInt(this.ddlYear)) !== (new Date(this.outreachStartDate).getFullYear() + 1)) ? 0 : 1); \r\n let year_start_date = ApplicationSettings.getSRStartDate(data.ddlYear - 1);\r\n scr = new StoreComplianceSR(this.outreachEffort.toString(), this.userProfile.userPk, year_start_date, ((data.ddlQuarter == 5) ? '0' : data.ddlQuarter), \"\", \"\");\r\n this.store_compliance.getLocationComplianceSO(scr).subscribe((resultArray: any) => {\r\n //this.totalRecords = resultArray.length;\r\n //console.log(\"totalRecords:\" + this.totalRecords);\r\n resultArray.forEach(x => {\r\n x.PercentContacted = this.getPercentRounded(x.PercentContacted);\r\n x.PercentNotContacted = this.getPercentRounded(x.PercentNotContacted);\r\n });\r\n this.storeComplianceArray = resultArray;\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.canExport = true;\r\n }, 1000)\r\n\r\n //console.log(res);\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.storeComplianceArray = [];\r\n });\r\n } else {\r\n if(this.table){\r\n this.table.reset();\r\n if(this.txtSearch?.nativeElement)\r\n this.txtSearch.nativeElement.value ='';\r\n }\r\n this.recordExists = true;\r\n let scr: StoreComplianceIP;\r\n scr = new StoreComplianceIP(this.outreachEffort.toString(), this.userProfile.userPk, data.ddlRegion, data.ddlArea, data.ddlPod, data.ddlDistrict, \"\", \"\", \"\", \"\",covidValue );\r\n this.store_compliance.getStoreBusinessFeedbackPer(scr).subscribe((resultArray: any) => {\r\n if (resultArray && resultArray.length > 0) {\r\n this.totalRecords = resultArray.length;\r\n this.recordExists = true;\r\n //console.log(\"totalRecords:\" + this.totalRecords);\r\n resultArray.forEach(x => {\r\n x.PercentContacted = this.getPercentRounded(x.PercentContacted);\r\n x.PercentNotContacted = this.getPercentRounded(x.PercentNotContacted);\r\n });\r\n this.storeComplianceArray = resultArray;\r\n } else {\r\n this.totalRecords = 0;\r\n this.recordExists = false;\r\n this.storeComplianceArray = [];\r\n }\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.canExport = true;\r\n }, 1000)\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.storeComplianceArray = [];\r\n });\r\n }\r\n this.ddlFormat = \"xlsxv\";\r\n }\r\n generatereportformat(): void {\r\n\r\n this.loading = true;\r\n let data = this.storeComplianceForm.value;\r\n let covidValue :any;\r\n if(data.covidOnly== true && data.fluRoutine==true)\r\n {\r\n covidValue =3;\r\n }\r\n else if(data.covidOnly)\r\n {\r\n covidValue=1;\r\n }\r\n else if(data.fluRoutine)\r\n {\r\n covidValue=2;\r\n }\r\n if (this.showFilters) {\r\n let scr: StoreComplianceSR;\r\n // let is_current_season = (((parseInt(this.ddlYear)) !== (new Date(this.outreachStartDate).getFullYear())) ? 0 : 1);\r\n let year_start_date = ApplicationSettings.getSRStartDate(this.ddlYear - 1);\r\n scr = new StoreComplianceSR(this.outreachEffort.toString(), this.userProfile.userPk, year_start_date, ((this.ddlQuarter == 5) ? '0' : this.ddlQuarter), \"StoreCompliance\", \"xlsxv\");\r\n this.store_compliance.exportReportDataSO(scr).subscribe((res: any) => {\r\n importedSaveAs(res.body, \"StoreCompliance.xlsx\");\r\n this.loading = false;\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n } else {\r\n let scr: StoreComplianceIP;\r\n scr = new StoreComplianceIP(this.outreachEffort.toString(), this.userProfile.userPk, data.ddlRegion, data.ddlArea, data.ddlPod, data.ddlDistrict, \"\", \"\", \"StoreCompliance\", \"xlsxv\",covidValue);\r\n this.store_compliance.exportReportDataImz(scr).subscribe((res: any) => {\r\n importedSaveAs(res.body, \"StoreCompliance.xlsx\");\r\n this.loading = false;\r\n }, error => {\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.storeComplianceArray = [];\r\n });\r\n }\r\n this.ddlFormat = \"xlsxv\";\r\n }\r\n public getQuarterName(quarter: number) {\r\n var quarter_name = \"\";\r\n switch (quarter) {\r\n case 1:\r\n quarter_name = \"Q1\";\r\n break;\r\n case 2:\r\n quarter_name = \"Q2\";\r\n break;\r\n case 3:\r\n quarter_name = \"Q3\";\r\n break;\r\n case 4:\r\n quarter_name = \"Q4\";\r\n break;\r\n default:\r\n break;\r\n }\r\n return quarter_name;\r\n }\r\n canExportOnchange() {\r\n this.canExport = false;\r\n let month = new Date().getMonth();\r\n let quartersLocal = ApplicationSettings.getReportYearQuarters();\r\n this.quarters = ApplicationSettings.getReportYearQuarters();\r\n if((Number(this.storeComplianceForm.value.ddlYear)>2022)){\r\n if(month>=8 && month<=10){\r\n this.quarters = this.quarters.filter(q=>q.id===1); \r\n }\r\n else if(month>=11 ){\r\n this.quarters = this.quarters.filter(q=>q.id<3);\r\n this.quarters.push(quartersLocal.filter(q=>q.id == 5)[0]);\r\n }\r\n else if(month>=0 && month <= 1 ){\r\n this.quarters = this.quarters.filter(q=>q.id<3);\r\n }\r\n else if(month>=2 && month <= 4 ){\r\n this.quarters = this.quarters.filter(q=>q.id<4);\r\n }\r\n else{\r\n this.quarters = this.quarters.filter(q=>q.id<5);\r\n }\r\n }\r\n else if(Number(this.storeComplianceForm.value.ddlYear)<2021){\r\n this.quarters =this.quarters.filter(q=>q.id===3 || q.id===4);\r\n }\r\n else {\r\n this.quarters = ApplicationSettings.getReportYearQuarters();\r\n this.quarters = this.quarters.filter(q=>q.id<=5);\r\n }\r\n }\r\n\r\n getPercentRounded(value: any) {\r\n return value.toFixed(2);\r\n }\r\n\r\n getArea() { \r\n let data = this.storeComplianceForm.value;\r\n this.common_services.getAreaDist('Area', this.storeComplianceForm.get('ddlArea').value).subscribe((data) => {\r\n this.areas = [];\r\n this.districts = [];\r\n this.podList = [];\r\n this.ddlPod = 0;\r\n this.ddlArea = 0;\r\n this.ddlDistrict = 0;\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.areas.push({ key: keyValue, value: valueData });\r\n };\r\n });\r\n this.canExport = false;\r\n }\r\n\r\n getPod(){\r\n let data = this.storeComplianceForm.value;\r\n this.common_services.getAreaDist('pod', this.storeComplianceForm.get('ddlArea').value).subscribe((data) => {\r\n this.districts = [];\r\n this.podList = [];\r\n this.ddlPod = 0;\r\n this.ddlDistrict = 0;\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.podList.push({ key: keyValue, value: valueData });\r\n };\r\n });\r\n this.canExport = false;\r\n }\r\n\r\n getDistrict() { \r\n let data = this.storeComplianceForm.value;\r\n this.common_services.getAreaDist('podDistrict', this.storeComplianceForm.get('ddlPod').value).subscribe((data) => {\r\n // this.markets = formData.;\r\n let dataList = data;\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.districts.push({ key: keyValue, value: valueData });\r\n };\r\n this.ddlDistrict = 0;\r\n });\r\n this.canExport = false;\r\n }\r\n\r\n reset(): void {\r\n //this.loading = true;\r\n this.makeAndLoadFilters();\r\n if(this.table){\r\n this.table.reset();\r\n this.txtSearch.nativeElement.value ='';\r\n }\r\n this.setFormControls()\r\n this.generateReport();\r\n }\r\n\r\n makeAndLoadFilters() {\r\n if (this.outreachEffort == 1) {\r\n this.outreachStartDate = ApplicationSettings.getSRStartDate(this.dt.getFullYear());\r\n }\r\n else {\r\n this.outreachStartDate = ApplicationSettings.getOutreachStartDate();\r\n }\r\n this.storeId = SessionDetails.GetStoreId();\r\n this.ddlDistrict = \"0\";\r\n this.ddlArea = \"0\";\r\n this.ddlPod = \"0\";\r\n this.ddlRegion = \"0\";\r\n this.ddlFormat = \"xlsxv\";\r\n \r\n if (!this.showFilters) {\r\n if(this.userType === \"Region\" ){\r\n this.common_services.getAreaDist(this.userType, 0).subscribe((data) => {\r\n let dataList = data;\r\n this.markets = [];\r\n this.areas = [];\r\n this.podList = [];\r\n this.districts = [];\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.markets.push({ key: keyValue, value: valueData });\r\n }\r\n this.spinner.hide();\r\n });\r\n } else if(this.userType === \"Area\"){ \r\n this.common_services.getAreaDist(this.userType, 0).subscribe((data) => {\r\n let dataList = data;\r\n this.areas = [];\r\n this.podList = [];\r\n this.districts = [];\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.areas.push({ key: keyValue, value: valueData });\r\n }\r\n this.spinner.hide();\r\n });\r\n } else if(this.userType === \"Pod\") {\r\n this.common_services.getAreaDist(this.userType.toLowerCase(), 0).subscribe((data) => {\r\n let dataList = data;\r\n this.podList = [];\r\n this.districts = [];\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.podList.push({ key: keyValue, value: valueData });\r\n }\r\n this.spinner.hide();\r\n });\r\n } else if(this.userType === \"District\") {\r\n this.common_services.getAreaDist(`pod${this.userType.toLowerCase()}`, 0).subscribe((data) => {\r\n let dataList = data;\r\n this.districts = [];\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.districts.push({ key: keyValue, value: valueData });\r\n }\r\n this.spinner.hide();\r\n });\r\n } else { \r\n this.common_services.getAreaDist(this.userType, 0).subscribe(data => {\r\n let dataList = data;\r\n this.markets = [];\r\n this.areas = [];\r\n this.podList = [];\r\n this.districts = [];\r\n for (var keyValue in dataList) {\r\n let valueData = dataList[keyValue];\r\n this.markets.push({ key: keyValue, value: valueData });\r\n }\r\n this.spinner.hide();\r\n }); \r\n }\r\n };\r\n if (this.showFilters) {\r\n this.years = ApplicationSettings.getOutreachReportYears();\r\n this.years = this.years.filter(q=>q.yearCode>=2020);\r\n //Commeneted below line to fix Fiscal Year binding issue:\r\n // this.years.push({yearCode: this.years[this.years.length-1].yearCode+1, yearName:this.years[this.years.length-1].yearCode+1})\r\n this.quarters = ApplicationSettings.getReportYearQuarters();\r\n let quartersLocal = ApplicationSettings.getReportYearQuarters();\r\n let month = new Date().getMonth();\r\n \r\n if((new Date().getFullYear()>=2022)){\r\n if(month>=8 && month<=10){\r\n this.quarters = this.quarters.filter(q=>q.id===1); \r\n }\r\n else if(month>=11 ){\r\n this.quarters = this.quarters.filter(q=>q.id<3);\r\n this.quarters.push(quartersLocal.filter(q=>q.id == 5)[0]);\r\n }\r\n else if(month>=0 && month <= 1 ){\r\n this.quarters = this.quarters.filter(q=>q.id<3);\r\n }\r\n else if(month>=2 && month <= 4 ){\r\n this.quarters = this.quarters.filter(q=>q.id===3 || q.id===4);\r\n }\r\n else{\r\n this.quarters = this.quarters.filter(q=>q.id<5);\r\n }\r\n }\r\n this.ddlYear = (ApplicationSettings.getOutreachStartDate().getFullYear()+1);\r\n this.ddlQuarter = ApplicationSettings.getSRCurrentQuarter();\r\n }\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { TestingEvents } from '../../../../models/TestingEvents';\r\nimport { TestingeventsService } from '../../services/testingevents.service';\r\nimport {PaginatorModule, Paginator} from 'primeng/paginator'\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { String } from 'typescript-string-operations';\r\n\r\n@Component({\r\n selector: 'app-testingeventsreport',\r\n templateUrl: './testingeventsreport.component.html',\r\n styleUrls: ['./testingeventsreport.component.css']\r\n})\r\nexport class TestingeventsreportComponent implements OnInit { \r\n testingEventsReportArray: any; \r\n userProfile: any;\r\n ddlSeason: number;\r\n eventStatuses:any[]=[];\r\n eventStatusesToBind:any[]=[];\r\n ddlEventStatus: any[] = []\r\n //ddlClinicStatus: string;\r\n //ddlClinicType: string;\r\n fromDate: Date;\r\n toDate: Date;\r\n ddlFormat: any;\r\n minDate:any;\r\n maxDate:any;\r\n outreachStartDate = ApplicationSettings.outreachStartDateIP;\r\n private from_date: string;\r\n private to_date: string;\r\n private outreachEffort = 4;\r\n totalRecords: number;\r\n loading: boolean;\r\n OrganizationTypes:any=[];\r\n orgTypesToBind:any=[];\r\n //ddlOrganizationType:number=0;\r\n ddlOrganizationType: any = []\r\n checked: boolean = false;\r\n private currentSeason = ApplicationSettings.pcaSeason;// appSettings.ipSeason;\r\n private apiMethodName: string = \"\";\r\n season:any=[];\r\n filterByDate:boolean=false;\r\n canExport:boolean=true;\r\n pageIndex:number=1;\r\n isFiscalYearChanged:boolean = false;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n\r\n isPagerClick:boolean=false;\r\n\r\n showGrid:boolean = false;\r\n canDisablePager:boolean = false;\r\n\r\n @ViewChild('plbcsPager') plbcsPager: Paginator;\r\n testingEventsForm: FormGroup;\r\n pageSize: number=50;\r\n constructor(private fb : FormBuilder,\r\n private testingeventsreport: TestingeventsService, private spinner: NgxSpinnerService\r\n ) { \r\n this.userProfile = SessionDetails.GetUserProfile(); \r\n this.getOrgnizationTypes();\r\n this.loadEventStatuses();\r\n }\r\n\r\n ngOnInit() {\r\n this.ddlSeason = this.currentSeason;\r\n //this.defaultCheck();\r\n for (let report_year: number = 2019; report_year < (this.ddlSeason + 1); report_year++) {\r\n this.season.push({\r\n \"yearName\": report_year.toString(),// + \" - \" + (report_year + 1).toString(),\r\n \"yearCode\": report_year.toString()\r\n });\r\n }\r\n this.setDates(true);\r\n this.fromDate = this.minDate;\r\n this.toDate = this.maxDate;\r\n this.ddlFormat = \"xlsxv\";\r\n this.setFormControls();\r\n \r\n //this.generateReport();\r\n };\r\n setFormControls(){\r\n this.testingEventsForm = this.fb.group({\r\n 'fromDate': [this.fromDate, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'toDate': [this.toDate, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'ddlSeason': [this.currentSeason],\r\n 'orgType': [null],\r\n 'eventStatus': [null],\r\n 'filterByDate': [this.filterByDate],\r\n 'ddlFormat': [\"xlsxv\"]\r\n });\r\n }\r\n setDates(is_page_load:boolean){\r\n \r\n if(this.testingEventsForm != undefined){\r\n this.ddlSeason=this.testingEventsForm.controls['ddlSeason'].value;\r\n } \r\n this.fiscalYearChange(false);\r\n this.canExport=false;\r\n this.pageIndex=1;\r\n this.canDisablePager = true;\r\n if(!is_page_load){\r\n // this.plbcsPager.changePage(this.pageIndex-1);\r\n} \r\n if(this.testingEventsForm != undefined){\r\n this.testingEventsForm.controls['fromDate'].setValue(this.fromDate);\r\n \r\n this.testingEventsForm.controls['toDate'].setValue(this.toDate);\r\n }\r\n }\r\n\r\n fiscalYearChange(is_fiscalyear_changed:boolean){\r\n let tempMinDate:Date;\r\n let tempMaxDate:Date;\r\n tempMinDate=new Date(ApplicationSettings.getPCAStartDate(this.ddlSeason -1));\r\n tempMaxDate=new Date(ApplicationSettings.getPCAEndDate(this.ddlSeason -1));\r\n this.minDate=new Date(tempMinDate);\r\n this.maxDate=new Date(tempMaxDate)\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n if(is_fiscalyear_changed){\r\n this.isFiscalYearChanged = true;\r\n this.pageIndex = 1;\r\n }\r\n }\r\n\r\n showReportClick(){\r\n if(this.isFiscalYearChanged){\r\n this.plbcsPager.changePage(0);\r\n }else{\r\n this.generateReport();\r\n }\r\n }\r\n setCalendarDates(){\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n this.canExport=false;\r\n }\r\n \r\n generateReport(): void {\r\n \r\n let msg = \"\";\r\n if (this.ddlOrganizationType.length == 0) {\r\n msg = \"Organization Type\";\r\n }\r\n if (this.ddlEventStatus.length == 0) {\r\n msg += (msg.length > 0) ? \" and Event Status\" : \"Event Status\";\r\n }\r\n if (this.ddlOrganizationType.length == 0 || this.ddlEventStatus.length == 0) {\r\n this.showDialog(\"Alert\", String.Format(ErrorMessages[\"scheduleClinicReportFilterError\"], msg), true);\r\n return;\r\n }\r\n if(!this.showGrid){\r\n this.spinner.show();\r\n }\r\n else{\r\n this.loading = true;\r\n }\r\n let data = this.testingEventsForm.value;\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n if (this.filterByDate) {\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`; \r\n }\r\n else {\r\n this.from_date = \"\";\r\n this.to_date = \"\";\r\n }\r\n let f_date = this.fromDate.getMonth() +1 +\"/\" + this.fromDate.getDate() + \"/\" + this.fromDate.getFullYear();\r\n let t_date = this.toDate.getMonth() +1 +\"/\" + this.toDate.getDate() + \"/\" + this.toDate.getFullYear();\r\n //let data = this.testingEventsForm.value;\r\n let testing_events = new TestingEvents(this.userProfile.userPk,\r\n this.outreachEffort,\r\n (this.ddlEventStatus.length > 1) ? this.ddlEventStatus.join(',') : this.ddlEventStatus.join(),\r\n data.filterByDate, \r\n data.fromDate,\r\n data.toDate,\r\n data.ddlSeason, ((data.ddlSeason == this.currentSeason) ? false : true),\r\n this.pageIndex, \r\n (this.ddlOrganizationType.length > 1) ? this.ddlOrganizationType.join(',') : this.ddlOrganizationType.join(),\r\n '','',this.pageSize);\r\n this.testingeventsreport.getTestingEventsDetails(testing_events).subscribe((resultArray: any) => {\r\n if(this.isFiscalYearChanged){\r\n this.isFiscalYearChanged = false;\r\n }\r\n this.totalRecords = resultArray.Table1[0].totalTestingEvents; \r\n this.testingEventsReportArray =resultArray.Table;\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.canDisablePager = false;\r\n this.showGrid=true;\r\n this.canExport=true;\r\n }, 1000)\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.testingEventsReportArray = [];\r\n this.totalRecords = 0;\r\n });\r\n this.canExport=true;\r\n }\r\n generateReportFormat(): void {\r\n \r\n this.loading = true;\r\n let data = this.testingEventsForm.value;\r\n let f_date = this.fromDate.getMonth() +1 +\"/\" + this.fromDate.getDate() + \"/\" + this.fromDate.getFullYear()\r\n let t_date = this.toDate.getMonth() +1 +\"/\" + this.toDate.getDate() + \"/\" + this.toDate.getFullYear()\r\n //let data = this.testingEventsForm.value;\r\n let testing_events = new TestingEvents(this.userProfile.userPk,\r\n this.outreachEffort, \r\n (this.ddlEventStatus.length > 1) ? this.ddlEventStatus.join(',') : this.ddlEventStatus.join(),\r\n data.filterByDate, data.fromDate, data.toDate,\r\n data.ddlSeason,((data.ddlSeason == this.currentSeason)?false:true),0,\r\n (this.ddlOrganizationType.length > 1) ? this.ddlOrganizationType.join(',') : this.ddlOrganizationType.join(),\r\n \"TestingEventsDetails\",data.ddlFormat);\r\n this.testingeventsreport.exportReportData(testing_events).subscribe((res:any) => {\r\n importedSaveAs(res.body, \"TestingEventsDetails.xlsx\");\r\n this.loading = false;\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n\r\n onFilterByDateChanged(){\r\n console.log(this.filterByDate);\r\n this.canExport=false;\r\n this.canDisablePager = true;\r\n \t this.pageIndex=1;\r\n }\r\n\r\n reset(){\r\n //this.loading = true;\r\n this.showGrid = false;\r\n this.isPagerClick=true;\r\n this.ddlSeason = this.currentSeason;\r\n this.defaultCheck();\r\n this.ddlFormat=\"xlsxv\";\r\n this.pageIndex = 1; \r\n this.filterByDate=false;\r\n this.setDates(true);\r\n this.setFormControls();\r\n }\r\n validateExportType(){\r\n if(this.ddlFormat==\"0\" || !this.canExport)\r\n return true;\r\n else\r\n return false;\r\n }\r\n canExportOnchange(){\r\n this.canExport=false;\r\n this.pageIndex = 1;\r\n this.canDisablePager = true;\r\n }\r\n\r\n paginate(event) {\r\n if(this.canDisablePager){\r\n return false;\r\n }\r\n if(this.isFiscalYearChanged){\r\n event.first = 0;\r\n }\r\n var curr_page_rec_count = event.first + event.rows;\r\n var page_to_get = curr_page_rec_count / event.rows;\r\n page_to_get = Math.ceil(page_to_get); \r\n this.pageIndex = (this.isFiscalYearChanged)? this.pageIndex : page_to_get;\r\n this.loading = true;\r\n this.pageSize=event.rows;\r\n this.generateReport();\r\n }\r\n\r\n getOrgnizationTypes(){\r\n this.testingeventsreport.getOrganizationTypes().subscribe((result:any)=>{\r\n let cnt =0;\r\n if(result.length >0){\r\n result.forEach(element => {\r\n this.OrganizationTypes.push({\r\n \"name\": element.name,\r\n \"value\":element.fieldValue,\r\n \"description\":element.description,\r\n \"isDefaultChecked\":true\r\n });\r\n cnt++;\r\n });\r\n this.defaultCheck();\r\n }\r\n //this.OrganizationTypes=result;\r\n });\r\n }\r\n defaultCheck() {\r\n this.ddlOrganizationType = [];\r\n this.ddlEventStatus = [];\r\n this.OrganizationTypes.forEach(v => {\r\n if (v.isDefaultChecked) {\r\n this.ddlOrganizationType.push(v.value)\r\n }\r\n });\r\n this.eventStatuses.forEach(v => {\r\n if (v.isDefaultChecked) {\r\n this.ddlEventStatus.push(v.value)\r\n }\r\n });\r\n }\r\n loadEventStatuses(){\r\n this.eventStatuses = [\r\n new ClinicStatusArray(\"Contact Organization\",0, true),\r\n new ClinicStatusArray(\"Confirmed\",1, true),\r\n new ClinicStatusArray(\"Cancelled\",2, true),\r\n new ClinicStatusArray(\"Completed\",3, true)\r\n ];\r\n }\r\n\r\n bindOrgType(org_type: any) {\r\n return (this.ddlOrganizationType.indexOf(org_type) > -1) ? org_type : null;\r\n }\r\n\r\n bindEventStatus(event_status: any) {\r\n return (this.ddlEventStatus.indexOf(event_status) > -1) ? ((event_status == 0) ? true : event_status) : null;\r\n }\r\n\r\n orgTypeChange(ev, val) {\r\n if (ev.target.checked) {\r\n this.ddlOrganizationType.push(val);\r\n } else {\r\n let i = this.ddlOrganizationType.indexOf(val);\r\n this.ddlOrganizationType.splice(i, 1);\r\n }\r\n this.canDisablePager = true;\r\n this.pageIndex = 1;\r\n this.plbcsPager.changePage(this.pageIndex - 1);\r\n }\r\n eventStatusChange(ev, val) {\r\n if (ev.target.checked) {\r\n this.ddlEventStatus.push(val);\r\n } else {\r\n let i = this.ddlEventStatus.indexOf(val);\r\n this.ddlEventStatus.splice(i, 1);\r\n }\r\n this.canDisablePager = true;\r\n this.pageIndex = 1;\r\n this.plbcsPager.changePage(this.pageIndex - 1);\r\n }\r\n\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\nexport class ClinicStatusArray {\r\n constructor(public name: string,public value: number, public isDefaultChecked:boolean) { }\r\n \r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { UseraccessService } from '../../services/useraccess.service';\r\nimport { UserAccessLog } from '../../../../models/UserAccessLog';\r\nimport * as appReportSettings from '../../globals';\r\nimport { Router } from '../../../../../../node_modules/@angular/router';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n\r\n@Component({\r\n selector: 'app-useraccesslog',\r\n templateUrl: './useraccesslog.component.html',\r\n styleUrls: ['./useraccesslog.component.css']\r\n})\r\nexport class UseraccesslogComponent implements OnInit {\r\n ddlFormat: any;\r\n loading:boolean=true;\r\n userAccessLogForm: FormGroup;\r\n userAccessLogArray:any=[];\r\n totalRecords:number;\r\n ddlSeason:number;\r\n seasons:any=[];\r\n outreachStartDate=ApplicationSettings.outreachStartDateIP;\r\n ddlDistrict:number;\r\n districts:any=[];\r\n canExport:any;\r\n isAdmin:boolean=false;\r\n\r\n userProfile:any;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n\r\n showGrid:boolean = false;\r\n\r\n constructor(private fb: FormBuilder,private user_access_log:UseraccessService,private router:Router, private spinner: NgxSpinnerService) { \r\n this.userProfile = SessionDetails.GetUserProfile();\r\n }\r\n\r\n ngOnInit() {\r\n this.ddlFormat=\"xlsx\"; \r\n this.ddlSeason = (new Date(this.outreachStartDate)).getFullYear(); \r\n this.setFormControls(); \r\n for (let report_year: number = parseInt(appReportSettings.reportStartYear); report_year <= new Date(this.outreachStartDate).getFullYear(); report_year++) {\r\n this.seasons.push({\r\n \"yearName\": report_year.toString() + \" - \" + (report_year + 1).toString(),\r\n \"yearCode\": report_year.toString()\r\n });\r\n }\r\n this.user_access_log.getDistricts().subscribe((districtsarray: any) => {\r\n \r\n this.districts = districtsarray; \r\n if (this.userProfile.userRole.toLowerCase() == \"admin\" ){\r\n this.isAdmin=true;\r\n this.ddlDistrict=0;\r\n this.ddlDistrict.toString();\r\n this.setFormControls();\r\n }\r\n else{\r\n this.setFormControls();\r\n this.isAdmin=false;\r\n\t\t this.ddlDistrict=this.districts[0].districtID;this.ddlDistrict.toString();\r\n this.userAccessLogForm.controls['ddlDistrict'].setValue(this.districts[0].districtID);\r\n\t\t\r\n } \r\n \r\n //this.generateReport();\r\n });\r\n }\r\n setFormControls() {\r\n \r\n this.userAccessLogForm = this.fb.group({\r\n 'ddlDistrict':['0'],\r\n 'ddlSeason':[this.ddlSeason],\r\n 'ddlFormat': [this.ddlFormat]\r\n });\r\n //this.generateReport();\r\n }\r\n generateReport(): void {\r\n \r\n if(!this.showGrid){\r\n this.spinner.show();\r\n }else{\r\n this.loading = true;\r\n }\r\n \r\n let data= this.userAccessLogForm.value;\r\n let ual: UserAccessLog;\r\n ual = new UserAccessLog(this.ddlDistrict.toString(),data.ddlSeason.toString(), \"\", \"\");\r\n \r\n this.user_access_log.getUserAccessLog(ual).subscribe((resultArray: any) => {\r\n this.totalRecords = resultArray.length;\r\n this.userAccessLogArray = resultArray;\r\n \r\n setTimeout(() => {\r\n this.spinner.hide();\r\n this.loading = false;\r\n this.showGrid = true;\r\n this.canExport = true;\r\n }, 1000)\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.userAccessLogArray = [];\r\n this.totalRecords = 0;\r\n });\r\n this.ddlFormat=\"xlsx\";\r\n }\r\n\r\n generatereportformat(): void {\r\n this.loading = true;\r\n let data= this.userAccessLogForm.value;\r\n let ual: UserAccessLog;\r\n ual = new UserAccessLog(this.ddlDistrict.toString(),this.ddlSeason.toString(), \"UserAccessLog\", \"xlsxv\");\r\n this.user_access_log.exportReportData(ual).subscribe((res: any) => { \r\n importedSaveAs(res.body, res.headers.get('Content-Disposition').split(';')[1].trim().split('=')[1]);\r\n this.loading=false;\r\n this.canExport=true;\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n this.ddlFormat=\"xlsx\";\r\n }\r\n\r\n export(x){\r\n \r\n this.ddlDistrict= x.target.value;\r\n \r\n }\r\n canExportOnchange(){\r\n this.canExport=false;\r\n //this.generateReport();\r\n }\r\n // validateExportType(){\r\n // if(this.ddlFormat==\"0\" || !this.canExport)\r\n // return true;\r\n // else\r\n // return false;\r\n // }\r\n\r\n reset(){\r\n this.showGrid=false;\r\n this.loading = false;\r\n this.spinner.hide();\r\n this.ddlFormat=\"0\"; \r\n this.ddlSeason = (new Date(this.outreachStartDate)).getFullYear();\r\n this.ddlDistrict = (this.isAdmin)? '0' : this.districts[0].districtID;\r\n this.setFormControls();\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { VaccinePurchasingReportService } from '../../services/vaccinepurchasing.services';\r\nimport * as appSettings from '../../globals';\r\n//import { NGXLogger } from 'ngx-logger';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { VaccinePurchase } from '../../../../models/VaccinePurchase';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n\r\n@Component({\r\n selector: 'app-vaccine-purchasing-report',\r\n templateUrl: './vaccinepurchasingreport.component.html',\r\n styleUrls: ['./vaccinepurchasingreport.component.css']\r\n})\r\nexport class VaccinePurchasingReportComponent implements OnInit {\r\n vaccinePurchasingReportForm: FormGroup;\r\n vaccinePurchasingReportArray: any;\r\n ddlSeason: number;\r\n private isCurrentSeason = 1;\r\n fromDate: Date;\r\n toDate: Date;\r\n outreachStartDate=ApplicationSettings.outreachStartDateIP;\r\n outreachStartYear=ApplicationSettings.getOutreachReportStartYear();\r\n minDate:Date;\r\n maxDate:Date;\r\n ddlFormat:any;\r\n private from_date: string;\r\n private to_date: string;\r\n totalRecords: number;\r\n loading: boolean;\r\n private currentSeason = appSettings.ipSeason;\r\n seasons:any=[];\r\n canExport:boolean=true;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n showGrid:boolean= false;\r\n ddlVaccines: any = [2];\r\n constructor(\r\n private fb: FormBuilder,\r\n private vaccinepurchasingreport: VaccinePurchasingReportService,\r\n /*private logger: NGXLogger, */private spinner: NgxSpinnerService) {\r\n }\r\n ngOnInit() {\r\n \r\n for (let report_year:number = (new Date(this.outreachStartDate)).getFullYear(); report_year >=this.outreachStartYear; report_year--)\r\n {\r\n if(report_year<=2020){\r\n continue;\r\n }\r\n \r\n this.seasons.push({\r\n \"yearName\": report_year.toString()+\"-\"+(report_year+1).toString(),\r\n \"yearCode\": report_year.toString()\r\n }); \r\n }\r\n this.ddlSeason = (new Date(this.outreachStartDate)).getFullYear();\r\n this.setDates();\r\n this.fromDate =this.minDate;\r\n this.toDate = this.maxDate;\r\n this.ddlFormat=\"xlsxv\";\r\n this.vaccinePurchasingReportForm = this.fb.group({\r\n 'fDate': [null, [Validators.required, Validators.minLength(2), Validators.maxLength(10)]],\r\n 'tDate': [null, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]],\r\n 'ddlSeason': [null],\r\n 'ddlFormat':[null]\r\n });\r\n //this.generateReport();\r\n }\r\n generateReport(): void {\r\n if(!this.showGrid){\r\n this.spinner.show();\r\n }else{\r\n this.loading = true;\r\n }\r\n //this.ddlSeason = this.ddlSeason;\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n //this.logger.log(this.from_date);\r\n //this.logger.log(this.to_date);\r\n \r\n if (this.ddlSeason != this.currentSeason) {\r\n this.isCurrentSeason = 0;\r\n } \r\n else\r\n {\r\n this.isCurrentSeason = 1;\r\n } \r\n let vaccine_purchase = new VaccinePurchase(this.from_date,this.to_date,this.isCurrentSeason,this.ddlVaccines.sort().join(','),false,\"\",\"\");\r\n this.vaccinepurchasingreport.getVaccinePurchasingDetailsReportData(vaccine_purchase).subscribe((resultArray: any) => {\r\n //this.datasource = resultArray\r\n this.totalRecords = resultArray.length;\r\n //this.logger.log(\"totalRecords:\" + this.totalRecords);\r\n this.vaccinePurchasingReportArray = resultArray;\r\n //this.logger.log(\"this.vaccinePurchasingReportArray:\" + this.vaccinePurchasingReportArray.length);\r\n setTimeout(() => {\r\n this.spinner.hide();\r\n this.loading = false;\r\n this.canExport=true;\r\n this.showGrid = true;\r\n }, 1000)\r\n } ,error =>{\r\n this.spinner.hide();\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true); \r\n this.loading = false;\r\n this.vaccinePurchasingReportArray = [];\r\n this.totalRecords = 0;\r\n }); \r\n }\r\n generateReportFormat(): void {\r\n this.loading=true; \r\n let vaccine_purchase = new VaccinePurchase(this.from_date,this.to_date,this.isCurrentSeason,this.ddlVaccines.sort().join(','),false,\"VaccinePurchase\",this.ddlFormat);\r\n this.vaccinepurchasingreport.exportReportData(vaccine_purchase).subscribe((res:any) => {\r\n importedSaveAs(res.body, 'VaccinePurchase.xlsx');\r\n this.loading=false;\r\n },error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n }); \r\n }\r\n setDates(){\r\n let tempMinDate:Date;\r\n let tempMaxDate:Date;\r\n tempMinDate=new Date(ApplicationSettings.getIMmunizationStartDate(this.ddlSeason));\r\n tempMaxDate=new Date(ApplicationSettings.getImmunizationEndDate(this.ddlSeason));\r\n this.minDate=new Date(tempMinDate);\r\n this.maxDate=new Date(tempMaxDate)\r\n this.fromDate = tempMinDate;\r\n this.toDate = tempMaxDate;\r\n this.canExport=false;\r\n }\r\n setCalendarDates(){\r\n let d1 = this.fromDate;\r\n let d2 = this.toDate;\r\n this.from_date = `${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`;\r\n this.to_date = `${d2.getMonth() + 1}/${d2.getDate()}/${d2.getFullYear()}`;\r\n this.canExport=false;\r\n }\r\n reset(): void {\r\n this.showGrid = false;\r\n this.loading = false;\r\n this.ddlSeason = this.currentSeason;\r\n this.setDates();\r\n this.isCurrentSeason=1;\r\n this.ddlFormat=\"xlsxv\";\r\n //this.generateReport();\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n vaccineChange(ev, val) {\r\n if (ev.target.checked) {\r\n this.ddlVaccines.push(val);\r\n } else {\r\n let i = this.ddlVaccines.indexOf(val);\r\n this.ddlVaccines.splice(i, 1);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport * as appSettings from '../../globals';\r\n\r\n@Component({\r\n selector: 'app-weeklygroupid',\r\n templateUrl: './weeklygroupidassignments.component.html',\r\n styleUrls: ['./weeklygroupidassignments.component.css']\r\n})\r\nexport class WeeklygroupidassignmentsComponent implements OnInit {\r\n WeeklyGroupIdReportForm: FormGroup;\r\n WeeklyGroupIdReportArray: any;\r\n\r\n ddlYear: any = [];\r\n season: string;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n private groupIdLaunchDate:string=\"05/01/2016\";\r\n constructor(\r\n private fb: FormBuilder) {\r\n }\r\n ngOnInit() {\r\n this.WeeklyGroupIdReportForm = this.fb.group({\r\n 'ddlYear': [null]\r\n });\r\n\r\n for (let year: number = new Date().getFullYear(); year >= new Date(this.groupIdLaunchDate).getFullYear(); year--) {\r\n this.ddlYear.push({\r\n \"yearName\": year.toString() + \" - \" + (year + 1).toString(),\r\n \"yearCode\": year.toString()\r\n });\r\n }\r\n\r\n }\r\n\r\n onSeasonChange(){\r\n \r\n if(this.season){\r\n this.bindReportSeasonWeeks();\r\n }\r\n }\r\n bindReportSeasonWeeks() {\r\n /*this.WeeklyGroupId.getGroupId(this.season,appSettings.outreachStartDateIP.replace(/\\//g,'-')).subscribe((resultArray: any) => {\r\n this.WeeklyGroupIdReportArray=resultArray;\r\n \r\n });*/\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport * as appSettings from '../../globals';\r\nimport { WeeklyvaccinepurchasingService } from '../../services/weeklyvaccinepurchase.service';\r\nimport { ApplicationSettings } from '../../../common/application-settings';\r\nimport { WeeklyVaccinePurchasing } from '../../../../models/WeeklyVaccinePurchasing';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-weeklyvaccine',\r\n templateUrl: './weeklyvaccinepurchase.component.html',\r\n styleUrls: ['./weeklyvaccinepurchase.component.css']\r\n})\r\nexport class WeeklyvaccinepurhaseComponent implements OnInit {\r\n weeklyVaccinePurchaseReportArray: any = [];\r\n columnCount: number = 0;\r\n private outreachStartDate: string;\r\n ddlYear: any = [];\r\n season: string;\r\n\r\n loading: boolean;\r\n\r\n private isCurrentSeason: number;\r\n private currentSeason = appSettings.ipSeason;\r\n\r\n column1Links: any = [];\r\n column2Links: any = [];\r\n column3Links: any = [];\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n ddlVaccines: string = \"2\";\r\n\r\n constructor(\r\n private WeeklyVaccinePurchase: WeeklyvaccinepurchasingService, private spinner: NgxSpinnerService) {\r\n }\r\n ngOnInit() {\r\n this.season = this.currentSeason.toString();\r\n this.outreachStartDate = ApplicationSettings.outreachStartDateIP;\r\n this.isCurrentSeason = ((this.season) != (new Date(this.outreachStartDate).getFullYear().toString()) ? 0 : 1);\r\n for (let report_year: number = parseInt(appSettings.reportStartYear); report_year <= new Date(this.outreachStartDate).getFullYear(); report_year++) {\r\n if(report_year<=2020){\r\n continue;\r\n }\r\n if (report_year > 2014) {\r\n this.ddlYear.push({\r\n \"yearName\": report_year.toString() + \" - \" + (report_year + 1).toString(),\r\n \"yearCode\": report_year.toString()\r\n });\r\n }\r\n }\r\n this.bindReportSeasonWeeks();\r\n }\r\n\r\n onSeasonChange() {\r\n if (this.season) {\r\n this.isCurrentSeason = ((this.season) != (new Date(this.outreachStartDate).getFullYear().toString()) ? 0 : 1);\r\n this.bindReportSeasonWeeks();\r\n }\r\n }\r\n bindReportSeasonWeeks() {\r\n\r\n this.columnCount = 0;\r\n this.column1Links = [];\r\n this.column2Links = [];\r\n this.column3Links = [];\r\n\r\n this.loading = true;\r\n this.spinner.show();\r\n let outreach_start_date = \"05-01-\" + this.season;\r\n this.WeeklyVaccinePurchase.getVaccinePurchase(this.season, outreach_start_date, false).subscribe((resultArray: any) => {\r\n this.weeklyVaccinePurchaseReportArray = resultArray;\r\n this.columnCount = Math.ceil(resultArray.Length / 3);\r\n\r\n this.columnCount = Math.round(resultArray.length / 3);\r\n let i = 1;\r\n for (let j = 0; j < this.weeklyVaccinePurchaseReportArray.length; j++) {\r\n if (j <= this.columnCount * i) {\r\n if (i == 1) {\r\n this.column1Links.push(this.weeklyVaccinePurchaseReportArray[j]);\r\n } else if (i == 2) {\r\n this.column2Links.push(this.weeklyVaccinePurchaseReportArray[j]);\r\n } else if (i == 3) {\r\n this.column3Links.push(this.weeklyVaccinePurchaseReportArray[j]);\r\n }\r\n }\r\n if (j == (this.columnCount * i)) {\r\n i++;\r\n }\r\n }\r\n\r\n this.loading = false;\r\n this.spinner.hide();\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.spinner.hide();\r\n this.loading = false;\r\n });\r\n }\r\n\r\n getReport(file: any) {\r\n\r\n this.loading = true;\r\n this.spinner.show();\r\n //let from_date = file.weekRange.split('^')[0];\r\n //let to_date = file.weekRange.split('^')[1];\r\n let from_date = file.displayName.split(\" - \")[0];\r\n let to_date = file.displayName.split(\" - \")[1].substring(file.displayName.split(\" - \")[1], file.displayName.split(\" - \")[1].indexOf(' '));\r\n let file_name = \"IP_VPR_\" + from_date.replace(/-/g, '').replace(/\\//g, '') + \"-\" + to_date.replace(/-/g, '').replace(/\\//g, '') + ((this.season >= \"2018\") ? \".xlsx\" : \".xls\");\r\n let wvp: WeeklyVaccinePurchasing = new WeeklyVaccinePurchasing(from_date.replace(\"-\", \"/\"), to_date.replace(\"-\", \"/\"), file_name, this.isCurrentSeason, \"\", \"\",this.ddlVaccines,false);\r\n this.WeeklyVaccinePurchase.exportReportData(wvp).subscribe((res: any) => {\r\n importedSaveAs(res.body, file_name);\r\n this.loading = false;\r\n this.spinner.hide();\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.spinner.hide();\r\n });\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport * as appSettings from '../../globals';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { WorkflowmonitorService } from '../../services/workflowmonitor.service';\r\nimport { WorkflowMonitor } from '../../../../models/WorkflowMonitor';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ErrorMessages } from \"../../../../config-files/error-messages\";\r\n\r\n@Component({\r\n selector: 'app-workflowmonitorreport',\r\n templateUrl: './workflowmonitorreport.component.html',\r\n styleUrls: ['./workflowmonitorreport.component.css']\r\n})\r\nexport class WorkflowMonitorReportComponent implements OnInit {\r\n workFlowReportForm:FormGroup;\r\n workFlowReportArray: any;\r\n userProfile: any;\r\n private outreachEffort = appSettings.outreachEffortIP;\r\n totalRecords: number;\r\n loading: boolean;\r\n ddlFormat: any;\r\n showDlg: boolean = false;\r\n dialogBody: string = \"\";\r\n dialogHeader: string = \"\";\r\n constructor(private fb: FormBuilder,\r\n private workflowreport: WorkflowmonitorService,\r\n ) {\r\n this.userProfile = SessionDetails.GetUserProfile(); \r\n }\r\n\r\n ngOnInit() {\r\n this.ddlFormat = \"\";\r\n this.loading = true;\r\n this.setFormControls();\r\n this.generateReport();\r\n }\r\n\r\n setFormControls() {\r\n \r\n this.workFlowReportForm = this.fb.group({\r\n \r\n 'ddlFormat': [this.ddlFormat],\r\n \r\n });\r\n //this.generateReport();\r\n }\r\n\r\n generateReport(): void { \r\n \r\n let data= this.workFlowReportForm.value;\r\n let workflow_monitor = new WorkflowMonitor(this.userProfile.userPk, this.userProfile.userRole, this.outreachEffort, \"\", \"\");\r\n this.workflowreport.getWorkflowMonitorReportData(workflow_monitor).subscribe((resultArray: any) => { \r\n this.totalRecords = resultArray.length;\r\n //console.log(\"totalRecords:\" + this.totalRecords);\r\n this.workFlowReportArray = resultArray;\r\n //console.log(\"this.scheduledClinicReportArray:\" + this.workFlowReportArray.length);\r\n setTimeout(() => {\r\n this.loading = false;\r\n }, 1000)\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n this.workFlowReportArray = [];\r\n this.totalRecords = 0;\r\n });\r\n }\r\n generateReportFormat(): void {\r\n \r\n this.loading = true;\r\n let data= this.workFlowReportForm.value;\r\n let workflow_monitor = new WorkflowMonitor(this.userProfile.userPk, this.userProfile.userRole, this.outreachEffort, \"WorkflowMonitor\", \"xlsxv\");\r\n this.workflowreport.exportReportData(workflow_monitor).subscribe((res:any) => {\r\n importedSaveAs(res.body, res.headers.get('Content-Disposition').split(';')[1].trim().split('=')[1]);\r\n this.loading = false;\r\n } ,error =>{\r\n this.showDialog(\"Error\", ErrorMessages[\"error\"], true);\r\n this.loading = false;\r\n });\r\n }\r\n validateExportType(){\r\n if(this.ddlFormat==\"\")\r\n return true;\r\n else\r\n return false;\r\n }\r\n //Shows the message dialog.\r\n showDialog(msg_header: string, msg_body: string, show_dialog: boolean) {\r\n this.dialogHeader = msg_header;\r\n this.dialogBody = msg_body;\r\n this.showDlg = show_dialog;\r\n }\r\n}\r\n","export const userID = 41;\r\nexport const storeID = 13;\r\nexport const ipSeason = 2024;\r\nexport const covidSeason = 2021;\r\nexport const seasonStartDate: string = \"05/01/2014\";\r\nexport const seasonEndDate: string = \"04/30/2018\";\r\nexport const outreachEffortIP = 3;\r\nexport const outreachEffortSO =1;\r\nexport const userRole = \"admin\";\r\nexport const reportStartYear=\"2014\";\r\nexport const covidReportStartYear=\"2020\";\r\nexport const outreachStartDateSR: string = \"06/01/2018\";\r\nexport const outreachStartDateIP: string = \"05/01/2018\";\r\nexport const outreachProgramSelected: string = \"SR\";","import { NgModule,CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {FormsModule,ReactiveFormsModule} from '@angular/forms';\r\nimport { ScheduledclinicsreportComponent } from './components/scheduleclinicreport/scheduledclinicsreport.component';\r\nimport { ServicefessreportComponent } from './components/servicefeesreport/servicefeesreport.component';\r\nimport { ActivityreportComponent } from './components/activityreport/activityreport.component';\r\nimport { ScheduledAppointmentsreportComponent } from './components/scheduledappointmentsreport/scheduledappointmentsreport.component';\r\nimport { GroupidassignmentreportComponent } from './components/groupidassignmentreport/groupidassignmentreport.component';\r\nimport { ImmunizationfinancereportComponent } from './components/immunizationfinancereport/immunizationfinancereport.component';\r\nimport { RevisedclinicdatesComponent } from './components/revisedclinicdates/revisedclinicdates.component';\r\nimport { ScheduledeventsreportComponent } from './components/scheduledeventsreport/scheduledeventsreport.component';\r\nimport { VaccinePurchasingReportComponent } from './components/vaccinepurchasingreport/vaccinepurchasingreport.component';\r\nimport { WeeklygroupidassignmentsComponent } from './components/weeklygroupidassignmentsreport/weeklygroupidassignments.component';\r\nimport { WeeklyvaccinepurhaseComponent } from './components/weeklyvaccinepuchasingreport/weeklyvaccinepurchase.component';\r\nimport { ActivityReportService } from './services/activityreport.services';\r\nimport { HighlevelstatusreportComponent } from './components/highlevelstatusreport/highlevelstatusreport.component';\r\nimport {PaginatorModule} from 'primeng/paginator';\r\nimport { GroupIdAssignmentReportService } from './services/groupidassignmentreport.services';\r\nimport { VaccinePurchasingReportService } from './services/vaccinepurchasing.services';\r\nimport { Scheduledeventsreportservice } from './services/scheduledeventsreport.services';\r\nimport { ScheduledClinicsReportService } from './services/scheduledclinicsreport.services';\r\nimport { WeeklyvaccinepurchasingService } from './services/weeklyvaccinepurchase.service';\r\nimport { WeeklygroupidassignmentsService } from './services/weeklygroupidassignments.service';\r\nimport { RevisedClinicDatesAndVolumesService } from './services/revisedclinicdatesandvolumes.service';\r\nimport { ScheduledAppointmentsService } from './services/scheduledAppointments.service';\r\nimport { ImmunizationFinanceService } from './services/immunizationfinance.service';\r\nimport { WorkflowMonitorReportComponent } from './components/workflowmonitorreport/workflowmonitorreport.component';\r\nimport { WorkflowmonitorService } from './services/workflowmonitor.service';\r\nimport { HighlevelstatusService } from './services/highlevelstatus.service';\r\nimport { HcsActionsItemsIpComponent } from './components/hcs-actions-items-ip/hcs-actions-items-ip.component';\r\nimport { ActionitemsandmetricsService } from './services/actionitemsandmetrics.service';\r\nimport { StorecompliancereportComponent } from './components/storecompliancereport/storecompliancereport.component';\r\nimport { StorecompliancereportService } from './services/storecompliancereport.service';\r\nimport { UseraccessService } from './services/useraccess.service';\r\nimport { UseraccesslogComponent } from './components/useraccesslog/useraccesslog.component';\r\nimport { PotentiallocalbusinesslistService } from './services/potentiallocalbusinesslist.service';\r\nimport { PotentiallocalbusinesslistComponent } from './components/potentiallocalbusinesslist/potentiallocalbusinesslist.component';\r\nimport { PotentionallocalbusinessandcontactstatusComponent } from './components/potentionallocalbusinessandcontactstatus/potentionallocalbusinessandcontactstatus.component';\r\nimport { PotentialLocalBusinessAndContactStatusService } from './services/potential-local-business.service';\r\nimport { MinimumShotExceptionsComponent } from './components/minimumshotexceptions/minimumshotexceptions.component';\r\nimport { MinimumshotexceptionsService } from './services/minimumshotexceptions.service';\r\nimport { HighlevelcomplianceComponent } from './components/highlevelcompliance/highlevelcompliance.component';\r\nimport { HighlevelcomplianceService } from './services/highlevelcompliance.service';\r\nimport { InitiatedcontractsreportComponent } from './components/initiatedcontractsreport/initiatedcontractsreport.component';\r\nimport { InitiatedcontractsService } from './services/initiatedcontracts.service';\r\nimport { ScheduledclinicstatusComponent } from './components/scheduledclinicstatus/scheduledclinicstatus.component';\r\nimport { ScheduledClinicstatusService } from './services/scheduledclinicstatus.service';\r\nimport { DistrictCompliancereportComponent } from './components/districtcompliancereport/districtcompliancereport.component';\r\nimport { DistrictcomplianceService } from './services/districtcompliance.service';\r\nimport { RestrictedstateclinicsComponent } from './components/restrictedstateclinics/restrictedstateclinics.component';\r\nimport { SchedulerAppttrackingComponent } from './components/scheduler-appttracking/scheduler-appttracking.component';\r\nimport { NavigationCanDeactivateGuard } from '../../guards/navigationDeactivate/navigation-can-deactivate';\r\nimport { RestrictedstateclinicsService } from './services/restrictedstateclinics.service';\r\nimport { TableModule } from 'primeng/table';\r\nimport { PcaActionItemsComponent } from './components/pcaactionitems/pcaactionitems.component';\r\nimport { TestingeventsreportComponent } from './components/testingeventsreport/testingeventsreport.component';\r\nimport { TestingeventsService } from './services/testingevents.service';\r\nimport { DataStatsReportingComponent } from './components/data-stats-reporting/data-stats-reporting.component';\r\nimport { ScheduledApptsRepForReminderEmailComponent } from './components/scheduledApptsRepForReminderEmail/scheduledApptsRepForReminderEmail.component';\r\nimport { DialogModule } from \"primeng/dialog\";\r\nimport { CommonservicesService } from './services/commonservices.service';\r\nimport { ContactUsReportComponent } from './components/contact-us-report/contact-us-report.component';\r\nimport { CovidclinicsreportComponent } from './components/covidclinicsreport/covidclinicsreport.component';\r\nimport { CovidclinicsService } from './services/covidclinics.service';\r\nimport { CovidContactUsReportComponent } from './components/covid-contact-us-report/covid-contact-us-report.component';\r\nimport { CovidOppStatusreportComponent } from './components/covid-opp-statusreport/covid-opp-statusreport.component';\r\nimport { ScheduledCovidClinicsReportComponent } from './components/scheduled-covid-clinics-report/scheduled-covid-clinics-report.component';\r\nimport { CovidVaccinePurchasingReportComponent } from './components/covid-vaccine-purchasing-report/covid-vaccine-purchasing-report.component';\r\nimport { CovidGroupidassignmentreportComponent } from './components/covid-groupidassignmentreport/covid-groupidassignmentreport.component';\r\nimport { CovidHighlevelstatusreportrtComponent } from './components/covid-highlevelstatusreportrt/covid-highlevelstatusreportrt.component';\r\nimport { CovidimmunizationfinanceReportComponent } from './components/covidimmunizationfinancereport/covidimmunizationfinancereport.component';\r\nimport { CovidMinimumshotexceptionsReportComponent } from './components/covid-minimumshotexceptions-report/covid-minimumshotexceptions-report.component';\r\nimport { CovidRevisedClinicdatesComponent } from './components/covid-revised-clinicdates/covid-revised-clinicdates.component';\r\nimport { CovidWeeklyVaccinePurchaseReportComponent } from './components/covid-weekly-vaccine-purchase-report/covid-weekly-vaccine-purchase-report.component';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { LtcfContactUsReportComponent } from './components/ltcf-contact-us-report/ltcf-contact-us-report.component';\r\nimport { FluHcsActionsItemsIpComponent } from './components/flu-hcs-actions-items-ip/flu-hcs-actions-items-ip.component';\r\nimport { FluOpportunitiesContactStatusComponent } from './components/flu-opportunities-contact-status/flu-opportunities-contact-status.component';\r\n//import { RestrictedstateclinicsService } from './services/restrictedstateclinics.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,FormsModule,\r\n ReactiveFormsModule,CalendarModule,CheckboxModule,PaginatorModule,TableModule,DialogModule,NgxSpinnerModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n declarations: [ScheduledclinicsreportComponent, ActivityreportComponent, ScheduledAppointmentsreportComponent, \r\n GroupidassignmentreportComponent, ImmunizationfinancereportComponent, RevisedclinicdatesComponent, ScheduledeventsreportComponent, \r\n VaccinePurchasingReportComponent, WeeklygroupidassignmentsComponent, WeeklyvaccinepurhaseComponent,WorkflowMonitorReportComponent,\r\n HighlevelstatusreportComponent, HcsActionsItemsIpComponent,StorecompliancereportComponent,UseraccesslogComponent,\r\n PotentiallocalbusinesslistComponent,PotentionallocalbusinessandcontactstatusComponent, MinimumShotExceptionsComponent, \r\n HighlevelcomplianceComponent,InitiatedcontractsreportComponent,ScheduledclinicstatusComponent,DistrictCompliancereportComponent,\r\n RestrictedstateclinicsComponent,SchedulerAppttrackingComponent,PcaActionItemsComponent, TestingeventsreportComponent, \r\n DataStatsReportingComponent,FluOpportunitiesContactStatusComponent, ScheduledApptsRepForReminderEmailComponent, ContactUsReportComponent, CovidclinicsreportComponent, CovidOppStatusreportComponent, CovidContactUsReportComponent, ScheduledCovidClinicsReportComponent, CovidVaccinePurchasingReportComponent, CovidGroupidassignmentreportComponent, CovidHighlevelstatusreportrtComponent, CovidimmunizationfinanceReportComponent, CovidMinimumshotexceptionsReportComponent, CovidRevisedClinicdatesComponent, CovidWeeklyVaccinePurchaseReportComponent, LtcfContactUsReportComponent, FluHcsActionsItemsIpComponent,ServicefessreportComponent],\r\n \r\n providers: [ActivityReportService,GroupIdAssignmentReportService,VaccinePurchasingReportService,Scheduledeventsreportservice, \r\n ScheduledClinicsReportService,WeeklyvaccinepurchasingService,WeeklygroupidassignmentsService,RevisedClinicDatesAndVolumesService,\r\n ScheduledAppointmentsService,ImmunizationFinanceService,WorkflowmonitorService,HighlevelstatusService,ActionitemsandmetricsService,\r\n StorecompliancereportService,UseraccessService,PotentialLocalBusinessAndContactStatusService,MinimumshotexceptionsService,\r\n HighlevelcomplianceService,RestrictedstateclinicsService,InitiatedcontractsService,ScheduledClinicstatusService,DistrictcomplianceService,TestingeventsService,\r\n PotentiallocalbusinesslistService,NavigationCanDeactivateGuard,CommonservicesService,CovidclinicsService]\r\n})\r\nexport class ReportsModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class ActionitemsandmetricsService {\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n constructor(private http: HttpClient) { }\r\n\r\n public getActionItemsReportData(user_id:string,report_id:string,is_pca:boolean,is_flu:boolean=false, organization_type?:number) {\r\n let url = this._url + \"/api/JsActionItems_get/\" + user_id +\"/\" + report_id + \"/\" + is_pca+\"/\" + is_flu;\r\n if(is_pca){\r\n url=url+\"/\"+organization_type;\r\n }\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public getMetricsReportData(user_id:string,report_id:string,is_pca:boolean, organization_type?:number) {\r\n let url = this._url + \"/api/JsMetrics_get/\" + user_id +\"/\" + report_id + \"/\" + is_pca;\r\n if(is_pca){\r\n url=url+\"/\"+organization_type;\r\n }\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public exportActionItemsReportData(user_id:string,report_id:string,is_pca:boolean, report_name:string,output_type:string,is_flu:boolean=false, organization_type?:number) { \r\n let url = this._url + \"/api/JsActionItems_downloadReport/\"+ user_id + \"/\" + report_id + \"/\" + is_pca + \"/\" + report_name + \"/\" + output_type + \"/\" + is_flu;\r\n \r\n if(is_pca){\r\n url=url+\"/\"+organization_type;\r\n }\r\n return this.exportReportData(url);\r\n /*let headers: Headers = new Headers();\r\n let userData= SessionDetails.GetUserInfo()\r\n let token = window.btoa(userData.userName+':'+userData.password);\r\n headers.append(\"Content-Type\", \"application/json\");\r\n headers.append('Authorization', 'Basic '+token)\r\n let url = this._url + \"/api/JsActionItems_downloadReport/\"+ user_id + \"/\" + report_id + \"/\" + report_name + \"/\" + output_type;\r\n let options = new RequestOptions({ responseType: ResponseContentType.Blob, headers: headers });\r\n return this.http.get(url, options).map(res => {\r\n var contentDisposition = res.headers.get('Content-Disposition');\r\n var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n this.filename = result;\r\n return res.blob()\r\n });*/\r\n }\r\n\r\n public exportMetricsReportData(user_id:string,report_id:string,is_pca:boolean,\r\n report_name:string,output_type:string, organization_type?:number) {\r\n let url = this._url + \"/api/JsMetrics_downloadReport/\"+ user_id + \"/\" + report_id + \"/\" + is_pca + \"/\" + report_name + \"/\" + output_type;\r\n if(is_pca){\r\n url=url+\"/\"+organization_type;\r\n }\r\n return this.exportReportData(url);\r\n /*let headers: Headers = new Headers();\r\n let userData= SessionDetails.GetUserInfo()\r\n let token = window.btoa(userData.userName+':'+userData.password);\r\n headers.append(\"Content-Type\", \"application/json\");\r\n headers.append('Authorization', 'Basic '+token)\r\n let url = this._url + \"/api/JsMetrics_downloadReport/\"+ user_id + \"/\" + report_id + \"/\" + report_name + \"/\" + output_type;\r\n let options = new RequestOptions({ responseType: ResponseContentType.Blob, headers: headers });\r\n return this.http.get(url, options).map(res => {\r\n var contentDisposition = res.headers.get('Content-Disposition');\r\n var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n this.filename = result;\r\n return res.blob()\r\n });*/\r\n }\r\n\r\n exportReportData(url:string){\r\n let userData= SessionDetails.GetUserInfo()\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n return this.http.get(url, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'})\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n public getOrganizationTypes() {\r\n let url : any = this._url + \"/api/getOrganizationsList_get\";\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivityReport } from '../../../models/ActivityReport';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class ActivityReportService {\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n constructor(private http: HttpClient) { }\r\n\r\n public getActivityReportData(ar_params: ActivityReport) {\r\n let url = this._url + \"/api/JsActivity_get\";\r\n return this.http.post(url, ar_params, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n public exportReportData(ar_params: ActivityReport) {\r\n let headers: Headers = new Headers();\r\n let userData= SessionDetails.GetUserInfo()\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let url = this._url + \"/api/JsActivity_downloadReport\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n return this.http.post(url, ar_params, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'})\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class CommonservicesService {\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n public getMarket(user_id,user_type,region, area, pod?) {\r\n let url = pod ? this._url + \"/api/JsGetAreaDistrictsAndMarkets/\"+user_id + \"/\" + user_type + \"/\" + region + \"/\" + area + \"/\" + pod: this._url + \"/api/JsGetAreaDistrictsAndMarkets/\"+user_id + \"/\" + user_type + \"/\" + region + \"/\" + area;\r\n return this.http.get(url,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n getAreaDist(location_type,type):Observable\r\n {\r\n var url = environment.API_URL + environment.RESOURCES.AREA_REGION_LIST+\"/\"+location_type+\"/\"+type;\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));;\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { Util } from '../../../utility/util';\r\n\r\n\r\n@Injectable()\r\nexport class CovidclinicsService {\r\n private _baseURL:string = environment.API_URL;\r\n filename: string;\r\n constructor(private http: HttpClient) { }\r\n public getCovidClinicsDetails(data: any): Observable {\r\n let url : any = this._baseURL + \"/api/JsCovidClinicsDetails_get\";\r\n return this.http.post(url, data, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n public exportReportData(data:any) {\r\n let user_data = SessionDetails.GetUserInfo();\r\n //let headers: Headers = new Headers();\r\n //headers.append(\"Content-Type\", \"application/json\");\r\n //let token = window.btoa(user_data.userName + ':' + user_data.password);\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,user_data.userName + ':'+ user_data.password); \r\n //headers.append('Authorization', 'Basic ' + usernamePassword);\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n let url = this._baseURL + \"/api/JsCovidClinicsDetails_downloadReport\";\r\n\r\n //let options = new RequestOptions({ responseType: ResponseContentType.Blob, headers: headers });\r\n return this.http.post(url, data, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'}).pipe(catchError(Util.handleErrorV2));\r\n /*.map(res => {\r\n var contentDisposition = res.headers.get('Content-Disposition');\r\n var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n this.filename = result;\r\n return res.blob()\r\n });*/\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class DatastatsreportingService {\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n constructor(private http: HttpClient) { }\r\n\r\n public exportData(report_name:string) {\r\n let api_url =\"\";\r\n switch (report_name) {\r\n case \"DataStatistics\":\r\n api_url = environment.RESOURCES.GET_STATS_DATA + \"/\" + report_name\r\n break;\r\n case \"OpportunityCountsBySIC\":\r\n api_url = environment.RESOURCES.GET_OPPORTUNITIES_BY_SIC + \"/\" + report_name\r\n break;\r\n case \"Assigned30PlusOpportunities\":\r\n api_url = environment.RESOURCES.GET_ASSIGNED_30PLUS_OPPORTUNITIES + \"/\" + report_name\r\n break;\r\n case \"StoreCountByAssignedOpportunities\":\r\n api_url = environment.RESOURCES.GET_STORE_COUNT_BY_ASSIGNED_OPPORTUNITIES + \"/\" + report_name\r\n break;\r\n case \"StoreCountByAssignedRange\":\r\n api_url = environment.RESOURCES.GET_STORE_COUNT_BY_ASSIGNED_RANGE + \"/\" + report_name\r\n break;\r\n case \"IPClinicsBySIC\":\r\n api_url = environment.RESOURCES.GET_IP_CLINICS_BY_SIC + \"/\" + report_name\r\n break;\r\n case \"SREventsBySIC\":\r\n api_url = environment.RESOURCES.GET_SR_EVENTS_BY_SIC + \"/\" + report_name\r\n break;\r\n default:\r\n break;\r\n }\r\n if (api_url != \"\") {\r\n let url = this._url + api_url\r\n // let options: RequestOptions = Util.getRequestHeaders();\r\n // options.responseType = ResponseContentType.Blob;\r\n let user_data= SessionDetails.GetUserInfo()\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ SessionDetails.getE(SessionDetails.absJ,user_data.userName + ':'+ user_data.password));\r\n return this.http.get(url, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'})\r\n .pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob();\r\n // });\r\n }\r\n }\r\n}\r\n","import { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { DistrictCompliance } from '../../../models/DistrictCompliance';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class DistrictcomplianceService {\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL; \r\n constructor(private http: HttpClient) { }\r\n\r\n public getDistrictComplianceReportData(district_compliance : DistrictCompliance) {\r\n let url = this._url + \"/api/JsDistrictCompliance_get\";\r\n var headers = new Headers();\r\n headers.append(\"Content-Type\", \"application/json\");\r\n return this.http.post(url,district_compliance, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n public getDistrictComplianceReportDistrictsData() {\r\n let url = this._url + \"/api/JsGetDistricts_DistrictCompliance\";\r\n var headers = new Headers();\r\n headers.append(\"Content-Type\", \"application/json\");\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n public exportReportData(district_compliance : DistrictCompliance) {\r\n let user_data = SessionDetails.GetUserInfo();\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,user_data.userName + ':'+ user_data.password); \r\n let url = this._url + \"/api/JsDistrictCompliance_downloadReport\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n return this.http.post(url, district_compliance , {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'})\r\n .pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { JsFluOppContactStatusModel } from '../../../models/JsFluOppContactStatusModel';\r\n\r\n@Injectable()\r\nexport class FluOpportunitiesContactStatusService {\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n constructor(private http: HttpClient) { }\r\n\r\n public exportData(post_Model:JsFluOppContactStatusModel) { \r\n let url : any = this._url + \"/api/JsStatsReporting/getFluOppContactStatusReport\";\r\n return this.http.post(url, post_Model, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n \r\n }\r\n public getTotalRecordsCountForFluOppContactStatusReport(post_Model:JsFluOppContactStatusModel) { \r\n \r\n let url : any = this._url + \"/api/JsStatsReporting/getTotalRecordsCountForFluOppContactStatusReport\";\r\n return this.http.post(url, post_Model, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n \r\n } \r\n}\r\n","\r\nimport {throwError as observableThrowError, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class GroupIdAssignmentReportService {\r\n private _baseURL: string = environment.API_URL; \r\n private _url: string = this._baseURL;\r\n private cURL;\r\n constructor(private http: HttpClient) { }\r\n public getGroupidassignmentreportData(from_date: string, to_date: string,filter_by_date:boolean,is_current_season:number,ip_season:number,covidOnly:boolean): Observable { \r\n this.cURL = this._url + \"/api/JsGroupIdAssignments_get/\" + from_date.replace(/\\//g,\"-\") + \"/\" + to_date.replace(/\\//g,\"-\") + \"/\"+ filter_by_date +\"/\"+ is_current_season + \"/\" + ip_season+ \"/\" + covidOnly;\r\n return this.http.get(this.cURL,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n private handleError(error: Response) {\r\n return observableThrowError(\"Error in Service:\" + error);\r\n }\r\n public exportReportData(from_date: string, to_date: string,filter_by_date:boolean, is_current_season:number,ip_season:number, report_name: string, output_type: string, covidOnly: boolean) {\r\n let headers: Headers = new Headers();\r\n let userData= SessionDetails.GetUserInfo()\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n \r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n let url = this._url + \"/api/JsGroupIdAssignments_downloadReport/\" + from_date.replace(/\\//g,\"-\") + \"/\" + to_date.replace(/\\//g,\"-\") + \"/\"+ filter_by_date + \"/\" + is_current_season + \"/\" + ip_season + \"/\" + report_name + \"/\" + output_type + \"/\" + covidOnly ;\r\n return this.http.get(url, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'})\r\n .pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { HighLevelCompliance } from '../../../models/HighLevelCompliance';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class HighlevelcomplianceService {\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL; \r\n constructor(private http: HttpClient) { }\r\n\r\n public getHighLevelReportSO(highlevel_compliance: HighLevelCompliance) {\r\n let url = this._url + \"/api/JsHighLevelCompliance_get\";\r\n return this.http.post(url, highlevel_compliance, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public exportReportData(highlevel_compliance: HighLevelCompliance) {\r\n let headers: Headers = new Headers();\r\n let userData = SessionDetails.GetUserInfo()\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let url = this._url + \"/api/JsHighLevelCompliance_downloadReport\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n return this.http.post(url, highlevel_compliance, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'})\r\n .pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { HighLevelStatus } from '../../../models/HighLevelStatus';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class HighlevelstatusService {\r\n\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n constructor(private http: HttpClient) { }\r\n\r\n public getHighLevelStatusReportData(hlsr_params: HighLevelStatus) {\r\n let url = this._url + \"/api/JsHighLevelStatus_get\";\r\n return this.http.post(url, hlsr_params, Util.getRequestHeadersV1()) .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public getDistrictNames(user_id: string) {\r\n let url = this._url + \"/api/JsGetDistrictNames_get/\" + user_id;\r\n return this.http.get(url, Util.getRequestHeadersV1()) .pipe(catchError(Util.handleErrorV2));\r\n }\r\n \r\n public exportReportData(hlsr_params: HighLevelStatus) {\r\n let userData= SessionDetails.GetUserInfo()\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let url = this._url + \"/api/JsHighLevelStatus_downloadReport\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n return this.http.post(url, hlsr_params, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'})\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ImmunizationFinance } from '../../../models/ImmunizationFinance';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class ImmunizationFinanceService {\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n private cURL;\r\n constructor(private http: HttpClient) { }\r\n public getImmunizationFinanceReportData(immz_finance: ImmunizationFinance): Observable {\r\n\r\n this.cURL = this._url + \"/api/JsImmunizationFinance_get\";\r\n\r\n console.log(this.cURL);\r\n return this.http.post(this.cURL, immz_finance, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public exportReportData(immz_finance: ImmunizationFinance) {\r\n let user_data = SessionDetails.GetUserInfo()\r\n let headers: Headers = new Headers();\r\n headers.append(\"Content-Type\", \"application/json\");\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,user_data.userName + ':'+ user_data.password); \r\n headers.append('Authorization', 'Basic ' + usernamePassword)\r\n let url = this._url + \"/api/JsImmunizationFinance_downloadReport\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n return this.http.post(url, immz_finance, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'})\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Util } from '../../../utility/util';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class InitiatedcontractsService {\r\n private _baseURL:string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n constructor(private http: HttpClient) { }\r\n public getInitiatedContractsDetails(covidOnly: boolean): Observable {\r\n \r\n let url : any = this._url + \"/api/JsInitiatedContractsDetails_get/\"+ covidOnly;\r\n console.log(url);\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n public exportReportData(covidOnly: boolean, report_name:string,output_type:string) {\r\n let user_data = SessionDetails.GetUserInfo();\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,user_data.userName + ':'+ user_data.password); \r\n let url = this._url + \"/api/JsInitiatedContractsDetails_downloadReport/\" + covidOnly + \"/\" + report_name + \"/\" + output_type;\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n return this.http.get(url, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'})\r\n .pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { MinimumShotExceptions } from '../../../models/MinimumShotExceptions';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class MinimumshotexceptionsService {\r\n private _baseURL: string = environment.API_URL; \r\n private _url: string = this._baseURL;\r\n private cURL;\r\n constructor(private http: HttpClient) { }\r\n\r\n public getExceptionShotDetailsReport(minimum_shot_exceptions:MinimumShotExceptions): Observable { \r\n this.cURL = this._url + \"/api/JsMinimumShotExceptions_get/\";\r\n return this.http.post(this.cURL,minimum_shot_exceptions,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public exportReportData(minimum_shot_exceptions:MinimumShotExceptions) {\r\n let userData= SessionDetails.GetUserInfo()\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n let url = this._url + \"/api/JsMinimumShotExceptions_downloadReport/\";\r\n return this.http.post(url, minimum_shot_exceptions,{headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'})\r\n .pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n\r\n}\r\n","\r\nimport {throwError as observableThrowError} from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Observable } from '../../../../../node_modules/rxjs';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { PotentialCOVIDBusiness, PotentialLocalBusiness } from '../../../models/PotentialLocalBusiness';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class PotentialLocalBusinessAndContactStatusService {\r\n private _baseURL:string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n constructor(private http:HttpClient) { }\r\n public getPotentialLocalBusinessData(potential_local_business:PotentialLocalBusiness): Observable {\r\n let url : any = this._url + \"/api/JsPotentialLocalBusinessContactStatus_get\";\r\n return this.http.post(url, potential_local_business, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n private handleError(error: Response) {\r\n return observableThrowError(\"Error in Service:\" + error);\r\n }\r\n getOutreachStatus(): Observable {\r\n let url = environment.API_URL + environment.RESOURCES.GET_OUTREACH_STATUS_LABELS;\r\n return this.http.get(url,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n public exportReportData(ar_params: PotentialLocalBusiness) { \r\n let userData= SessionDetails.GetUserInfo()\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let url = this._url + \"/api/JsPotentinalLocalBusiness_downloadReport \";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n return this.http.post(url, ar_params, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'})\r\n .pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n public exportCOVIDReportData(ar_params: PotentialCOVIDBusiness) {\r\n let userData = SessionDetails.GetUserInfo()\r\n //let token = window.btoa(userData.userName + ':' + userData.password);\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let url = this._url + \"/api/JsPotentinalCOVIDBusiness_downloadReport\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n return this.http.post(url, ar_params, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'}).pipe(catchError(Util.handleErrorV2));\r\n }\r\n public getPotentialCOVIDBusinessData(potential_local_business:PotentialLocalBusiness): Observable {\r\n let url : any = this._url + \"/api/JsPotentialCOVIDBusinessContactStatus_get\";\r\n return this.http.post(url, potential_local_business, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class PotentiallocalbusinesslistService {\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n constructor(private http: HttpClient) { }\r\n\r\n public getBusinessAssignedToStore(store_id:string,outreach_effort:string) {\r\n let url = this._url + \"/api/JsPotentialLocalBusinessList_get/\"+ store_id +\"/\"+ outreach_effort;\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public exportReportData(store_id:string,outreach_effort:string,report_name:string,output_type:string) {\r\n let userData= SessionDetails.GetUserInfo()\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let url = this._url + \"/api/JsPotentialLocalBusinessList_downloadReport/\"+ store_id +\"/\"+ outreach_effort +\"/\"+ report_name + \"/\"+ output_type;\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n return this.http.get(url, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'}).pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { RestrictedClinicsAndOpportunitiesReport } from '../../../models/RestrictedClinicsAndOpportunitiesReport';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n\r\n@Injectable()\r\nexport class RestrictedstateclinicsService {\r\n private _baseURL: string = environment.API_URL;\r\n \r\n private _url: string = this._baseURL;\r\n private cURL;\r\n constructor(private http: HttpClient) { }\r\n public getRestrictedClinicsOpportunitiesReportData(restricted_clinics_opportunities: RestrictedClinicsAndOpportunitiesReport): Observable {\r\n\r\n this.cURL = this._url + \"/api/JsRestrictedStateClinicsAndOpportunities_get\";\r\n\r\n return this.http.post(this.cURL, restricted_clinics_opportunities, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n public exportReportData(restricted_clinics_opportunities: RestrictedClinicsAndOpportunitiesReport) {\r\n let user_data = SessionDetails.GetUserInfo()\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,user_data.userName + ':'+ user_data.password); \r\n let url = this._url + \"/api/JsRestrictedStateClinicsAndOpportunities_downloadReport\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n return this.http.post(url, restricted_clinics_opportunities, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'}).pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { VaccinePurchase } from '../../../models/VaccinePurchase';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class RevisedClinicDatesAndVolumesService { \r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n constructor(private http: HttpClient) { }\r\n public getRevisedClinicDatesAndVolumeReportData(vaccine_purchase:VaccinePurchase) {\r\n \r\n let url = this._url + \"/api/JsRevisedClinicDatesAndVolumes_get/\";\r\n return this.http.post(url,vaccine_purchase,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public exportReportData(vaccine_purchase:VaccinePurchase) {\r\n let user_data = SessionDetails.GetUserInfo();\r\n \r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,user_data.userName + ':'+ user_data.password); \r\n \r\n let url = this._url + \"/api/JsRevisedClinicDatesAndVolumes_downloadReport/\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n return this.http.post(url,vaccine_purchase, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'}).pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ScheduledAppointment } from '../../../models/ScheduledAppointment';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class ScheduledAppointmentsService {\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL; \r\n constructor(private http: HttpClient) { }\r\n\r\n public getScheduledAppointmentsReportData(scheduled_appointments: ScheduledAppointment) {\r\n let url = this._url + \"/api/JsScheduledAppointments_get\";\r\n return this.http.post(url, scheduled_appointments, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n public getCorporateClients(user_role: string, user_pk: number, corporate_client: number, regionNumber:number = -1, areaNumber:number=-1, districtNumber:number=-1, podNumber = -1) {\r\n let url = this._url + \"/api/JsGetCorporateClientsForReports/\" + user_role + \"/\" + user_pk + \"/\" + corporate_client +\"/\" + regionNumber + \"/\" +areaNumber\r\n +\"/\"+ podNumber+ \"/\" + districtNumber;\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n public exportReportData(scheduled_appointments: ScheduledAppointment) {\r\n let user_data = SessionDetails.GetUserInfo();\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,user_data.userName + ':'+ user_data.password); \r\n let url = this._url + \"/api/JsScheduledAppointments_downloadReport\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n \r\n return this.http.post(url, scheduled_appointments, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'}).pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ScheduledClinics } from '../../../models/ScheduledClinics';\r\nimport { Util } from '../../../utility/util';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class ScheduledClinicsReportService {\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n constructor(private http: HttpClient) { }\r\n public getScheduledClinicDetails(scheduled_clinics: ScheduledClinics): Observable {\r\n let url: any = this._url + \"/api/JsScheduledClinicsDetails_get\";\r\n return this.http.post(url, scheduled_clinics, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public exportReportData(sheduled_clinics: ScheduledClinics) {\r\n let user_data = SessionDetails.GetUserInfo();\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ, user_data.userName + ':' + user_data.password);\r\n let url = sheduled_clinics.isPreviousSeason ? (environment.API_URL_V2 + environment.RESOURCES.SCHEDULED_CLINIC_REPORT_V2) : (environment.API_URL + environment.RESOURCES.SCHEDULED_CLINIC_REPORT);\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type', 'application/json')\r\n .set('Authorization', 'Basic ' + usernamePassword);\r\n return this.http.post(url, sheduled_clinics, { headers: req_headers, observe: 'response' as 'body', responseType: 'blob' as 'json' }).pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n\r\n public getServiceFeeDetails(scheduled_clinics: ScheduledClinics): Observable {\r\n let url: any = this._url + \"/api/JsClinicfeesDetails_get\";\r\n return this.http.post(url, scheduled_clinics, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public exportServiceFeeReportData(sheduled_clinics: ScheduledClinics) {\r\n let user_data = SessionDetails.GetUserInfo();\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ, user_data.userName + ':' + user_data.password);\r\n let url = this._url + \"/api/JsClinicfeesDetails_downloadReport\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type', 'application/json')\r\n .set('Authorization', 'Basic ' + usernamePassword);\r\n return this.http.post(url, sheduled_clinics, { headers: req_headers, observe: 'response' as 'body', responseType: 'blob' as 'json' }).pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Util } from '../../../utility/util';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { ScheduledClinicStatus } from '../../../models/ScheduledClinicStatus';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class ScheduledClinicstatusService {\r\n private _baseURL:string = environment.API_URL;\r\n private _url: string = this._baseURL; \r\n constructor(private http: HttpClient) { }\r\n public getScheduledClinicStatusDetails(scheduled_clinic_status:ScheduledClinicStatus): Observable {\r\n let url : any = this._url + \"/api/JsScheduledClinicStatus_get\";\r\n return this.http.post(url, scheduled_clinic_status, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n public getScheduledClinicStatusOutreachStatus(): Observable {\r\n let url : any = this._url + \"/api/JsScheduledClinicOutreachStatus_get\";\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n public exportReportData(scheduled_clinic_status:ScheduledClinicStatus ) {\r\n let user_data = SessionDetails.GetUserInfo();\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,user_data.userName + ':'+ user_data.password); \r\n let url = this._url + \"/api/JsScheduledClinicStatusDetails_downloadReport\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n return this.http.post(url,scheduled_clinic_status, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'}).pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { ScheduledEventsReport } from '../../../models/ScheduledEventsReport';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { Util } from '../../../utility/util';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class Scheduledeventsreportservice {\r\n private _baseURL: string = environment.API_URL;\r\n constructor(private http: HttpClient) { }\r\n\r\n public getScheduledEventsReportData(se_params: ScheduledEventsReport) {\r\n let url = this._baseURL + \"/api/JsScheduledEvents_get\";\r\n return this.http.post(url, se_params, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public exportReportData(se_params: ScheduledEventsReport) {\r\n let user_data = SessionDetails.GetUserInfo()\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,user_data.userName + ':'+ user_data.password); \r\n let url = this._baseURL + \"/api/JsScheduledEvents_downloadReport\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n return this.http.post(url, se_params, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'}).pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { StoreComplianceSR,StoreComplianceIP } from '../../../models/storeCompliance';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class StorecompliancereportService {\r\n\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n constructor(private http: HttpClient) { }\r\n\r\n\r\n public getStoreBusinessFeedbackPer(store_compliance: StoreComplianceIP) {\r\n let url = this._url + \"/api/JsStoreComplianceImz_get\";\r\n return this.http.post(url, store_compliance, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public getLocationComplianceSO(store_compliance: StoreComplianceSR) {\r\n let url = this._url + \"/api/JsStoreComplianceSO_get\";\r\n return this.http.post(url, store_compliance, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public exportReportDataImz(store_compliance: StoreComplianceIP) {\r\n let url = this._url + \"/api/JsStoreComplianceImz_downloadReport\";\r\n return this.exportReportData(url,store_compliance);\r\n /*let headers: Headers = new Headers();\r\n let userData = SessionDetails.GetUserInfo()\r\n let token = window.btoa(userData.userName + ':' + userData.password);\r\n headers.append(\"Content-Type\", \"application/json\");\r\n headers.append('Authorization', 'Basic ' + token)\r\n let url = this._url + \"/api/JsStoreComplianceImz_downloadReport\";\r\n let options = new RequestOptions({ responseType: ResponseContentType.Blob, headers: headers });\r\n return this.http.post(url, store_compliance, options).map(res => {\r\n var contentDisposition = res.headers.get('Content-Disposition');\r\n var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n this.filename = result;\r\n return res.blob()\r\n });*/\r\n }\r\n public exportReportDataSO(store_compliance: StoreComplianceSR) {\r\n\r\n let url = this._url + \"/api/JsStoreComplianceSO_downloadReport\";\r\n return this.exportReportData(url,store_compliance);\r\n /*let headers: Headers = new Headers();\r\n let userData = SessionDetails.GetUserInfo()\r\n let token = window.btoa(userData.userName + ':' + userData.password);\r\n headers.append(\"Content-Type\", \"application/json\");\r\n headers.append('Authorization', 'Basic ' + token)\r\n let options = new RequestOptions({ responseType: ResponseContentType.Blob, headers: headers });\r\n return this.http.post(url, store_compliance, options).map(res => {\r\n var contentDisposition = res.headers.get('Content-Disposition');\r\n var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n this.filename = result;\r\n return res.blob()\r\n });*/\r\n }\r\n\r\n exportReportData(url:string,store_compliance:any){\r\n let userData = SessionDetails.GetUserInfo()\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n //let url = this._url + \"/api/JsStoreComplianceSO_downloadReport\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n return this.http.post(url, store_compliance, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'}).pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Util } from '../../../utility/util';\r\nimport { TestingEvents } from '../../../models/TestingEvents';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\n\r\nexport class TestingeventsService {\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n constructor(private http: HttpClient) { }\r\n\r\n\r\n public getOrganizationTypes(): Observable {\r\n let url : any = this._url + \"/api/getOrganizationsList_get\";\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public getTestingEventsDetails(testing_events:TestingEvents): Observable {\r\n let url : any = this._url + \"/api/JsTestingEventDetails_get\";\r\n return this.http.post(url,testing_events, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n public exportReportData(testing_events:TestingEvents) {\r\n let user_data = SessionDetails.GetUserInfo();\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,user_data.userName + ':'+ user_data.password); \r\n let url = this._url + \"/api/JsTestingEventDetails_downloadReport\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n\r\n return this.http.post(url,testing_events, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'}).pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport 'rxjs';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { UserAccessLog } from '../../../models/UserAccessLog';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class UseraccessService {\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n constructor(private http: HttpClient) { }\r\n\r\n public getDistricts() {\r\n let url = this._url + \"/api/JsGetDistricts\";\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public getUserAccessLog(user_access_log: UserAccessLog) {\r\n let url = this._url + \"/api/JsUserAccessLog_get\";\r\n return this.http.post(url, user_access_log, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public exportReportData(user_access_log: UserAccessLog) {\r\n let userData = SessionDetails.GetUserInfo()\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let url = this._url + \"/api/JsUserAccessLog_downloadReport\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n\r\n return this.http.post(url, user_access_log, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'}).pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { VaccinePurchase } from '../../../models/VaccinePurchase';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class VaccinePurchasingReportService {\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n private cURL;\r\n public filename: any;\r\n constructor(private http: HttpClient) { }\r\n public getVaccinePurchasingDetailsReportData(vaccine_purchase:VaccinePurchase): Observable {\r\n this.cURL = this._url +\"/api/JsVaccinePurchases_get\";\r\n return this.http.post(this.cURL,vaccine_purchase,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n public exportReportData(vaccine_purchase:VaccinePurchase) {\r\n let user_data = SessionDetails.GetUserInfo();\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,user_data.userName + ':'+ user_data.password); \r\n let url = this._url + \"/api/JsVaccinePurchases_downloadReport\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n return this.http.post(url,vaccine_purchase, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'}).pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Util } from '../../../utility/util';\r\n\r\n\r\n@Injectable()\r\nexport class WeeklygroupidassignmentsService {\r\n private _baseURL: string = \"http://localhost:52823\";\r\n private _url: string = this._baseURL + \"/getGroupIdReportSeasonWeeks\";\r\n constructor(private http: HttpClient) { }\r\n public getGroupId(season,date){\r\n let url = this._url+\"/\"+date+\"/\"+season ;\r\n return this.http.get(url).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { WeeklyVaccinePurchasing } from '../../../models/WeeklyVaccinePurchasing';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { Util } from '../../../utility/util';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n@Injectable()\r\nexport class WeeklyvaccinepurchasingService {\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n\r\n public filename: any;\r\n \r\n constructor(private http: HttpClient) { }\r\n public getVaccinePurchase(season,date, isCovid){\r\n let url = this._url+\"/api/JsWeeklyVaccineReportSeasonWeeks_get/\"+date+\"/\"+season+\"/\"+isCovid ;\r\n return this.http.get(url,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n public exportReportData(weekly_vaccine_purchase:WeeklyVaccinePurchasing) {\r\n let user_data = SessionDetails.GetUserInfo();\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,user_data.userName + ':'+ user_data.password); \r\n let url = this._url + \"/api/JsWeeklyVaccinePurchases_downloadReport\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n return this.http.post(url,weekly_vaccine_purchase, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'}).pipe(catchError(Util.handleErrorV2));\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { SessionDetails } from '../../../utility/session';\r\nimport { WorkflowMonitor } from '../../../models/WorkflowMonitor';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class WorkflowmonitorService {\r\n private _baseURL: string = environment.API_URL;\r\n private _url: string = this._baseURL;\r\n private cURL;\r\n public filename: any;\r\n constructor(private http: HttpClient) { }\r\n public getWorkflowMonitorReportData(workflow_monitor:WorkflowMonitor): Observable {\r\n this.cURL = this._url +\"/api/JsWorkflowMonitor_get\";\r\n return this.http.post(this.cURL,workflow_monitor,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n public exportReportData(workflow_monitor:WorkflowMonitor) {\r\n let user_data = SessionDetails.GetUserInfo();\r\n \r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,user_data.userName + ':'+ user_data.password); \r\n let url = this._url + \"/api/JsWorkflowMonitor_downloadReport\";\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n\r\n return this.http.post(url,workflow_monitor, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'}).pipe(catchError(Util.handleErrorV2))\r\n // .map(res => {\r\n // var contentDisposition = res.headers.get('Content-Disposition');\r\n // var result = contentDisposition.split(';')[1].trim().split('=')[1];\r\n // this.filename = result;\r\n // return res.blob()\r\n // });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-favorites',\r\n templateUrl: './favorites.component.html',\r\n styleUrls: ['./favorites.component.css']\r\n})\r\nexport class FavoritesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-immunization-program-email-template',\r\n templateUrl: './immunization-program-email-template.component.html',\r\n styleUrls: ['./immunization-program-email-template.component.css']\r\n})\r\nexport class ImmunizationProgramEmailTemplateComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { Router } from '@angular/router';\r\nimport { ResourcecountService } from '../../services/resourcecount.service';\r\nimport { ResourceCountDetails } from '../../../../models/resourceCountDetails';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { HttpResponse } from '@angular/common/http';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n\r\n@Component({\r\n selector: 'app-immunization',\r\n templateUrl: './immunization.component.html',\r\n styleUrls: ['./immunization.component.css']\r\n})\r\nexport class ImmunizationComponent implements OnInit {\r\n userProfile = SessionDetails.GetUserProfile();\r\n displayDownload:boolean=false;\r\n selectedIndex:number;\r\n selectedResourcesFiles:any=[];\r\n totalItems: number;\r\n isAdmin : boolean = false;\r\n dialogMessage: string = \"\";\r\n \r\n\r\n walgreensResources=\r\n {\r\n \"resources\": {\r\n /*\"COVID19Resources\": [\r\n {\r\n \"resourceName\": \"Walgreens Immunizations COVID-19 FAQ - English/Spanish\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Walgreens_Immunizations_COVID-19_FAQ_ENG_SPA.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Uninsured COVID-19 Vaccine & Testing
Buckslip - English\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/FY24_COVID_Uninsured_POD_PRINT_ENG.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Uninsured COVID-19 Vaccine & Testing
Buckslip - Spanish\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/FY24_COVID_Uninsured_POD_PRINT_SPANISH.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"What to Expect Guide - English\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/COVID19_Vaccine_WhatToExpect_Guide_Residents.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"What to Expect Guide - Spanish\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/COVID19_Vaccine_WhatToExpect_Guide_Spanish.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"On-Site Clinics Preparation Guide\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Clinic_Prep_Guide.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"B2B VAR Form - English\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/COVID-19_VACCINE_Standard_VAR.pdf\"\r\n }\r\n ]\r\n },\r\n ],*/\r\n \"DigitalSupport\": [\r\n /*{\r\n \"resourceName\": \"LTCF Facility Preparation Guide\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/LTCF_Facility_Preparation_Guide.pdf\"\r\n }\r\n ]\r\n },*/\r\n\r\n {\r\n \"resourceName\": \"LTCF Admin - Patient Registration Guide\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/LTCFAdmin_Patient_Registration.pdf\"\r\n }\r\n ]\r\n },\r\n /* {\r\n \"resourceName\": \"LTCF - Patient Insurance, Consent, & Assessment Guide\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/LTCFAdmin_Patient_Consent_Guide.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"CP LTCF Patient Insurance & Assessment Guide\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/LTCF_Insurance_Assessment_Guide.pdf\"\r\n }\r\n ]\r\n },*/\r\n {\r\n \"resourceName\": \"LTCF Admin - Dashboard Access\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/LTCFAdmin_Dashboard_Access.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"CuraPatient Add User Guide\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/LTCFAdmin_Add_User_Guide.pdf\"\r\n }\r\n ]\r\n }\r\n /*{\r\n \"resourceName\": \"LTCF VAR form - Spanish\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/COVID-19_VACCINE_LTCF_VAR_SP.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"LTCF VAR form - GA\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/COVID-19_VACCINE_LTCF_VAR_GA.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"LTCF VAR form - NC\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/COVID-19_VACCINE_LTCF_VAR_NC.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"LTCF VAR form - SC\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/COVID-19_VACCINE_LTCF_VAR_SC.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Moderna COVID-19 EUA Fact Sheet\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Moderna_COVID-19_EUA_Fact_Sheet.pdf\"\r\n }\r\n ]\r\n },*/\r\n /* {\r\n \"resourceName\": \"COVID-19 EUA Fact Sheets\" \r\n }\r\n ,\r\n {\r\n \"resourceName\": \"Sample Call Script for COVID-19 Clinics\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Sample_Call_Script_COVID-19_Initial_Outreach.pdf\"\r\n }\r\n ]\r\n }*/\r\n ],\r\n// \"MarketingMaterials\": [\r\n// {\r\n// \"resourceName\": \"Editable Clinic Flyer\",\r\n// \"resourceFiles\": [\r\n// {\r\n// \"resourceType\": \"PDF\",\r\n// \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Editable_Clinic_Flyer.pdf\"\r\n// }\r\n// ] \r\n// },\r\n// {\r\n// \"resourceName\": \"Immunization Pull Through Toolkit\",\r\n// \"resourceFiles\": [\r\n// {\r\n// \"resourceType\": \"PDF\",\r\n// \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Immunization_Pull_Through_Toolkit.pdf\"\r\n// } \r\n// ]\r\n// } \r\n// ],\r\n \"BeneficialResources\": [\r\n {\r\n \"resourceName\": \"Appointment Scheduler Job Aid – Client\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Appointment_Scheduling_Guide.pdf\"\r\n }\r\n ] \r\n },\r\n {\r\n \"resourceName\": \"Appointment Scheduler Job Aid - Team Member\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Off-Site_Appointment_Scheduling_Job_Aid.pdf\"\r\n }\r\n ] \r\n }, \r\n {\r\n \"resourceName\": \"Clinic Upload Template\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/ClinicUploadTemplate.xlsm\"\r\n }\r\n ] \r\n },\r\n {\r\n \"resourceName\": \"Offsite Patient Clinic Sign Up Sheet - Editable\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/OffsiteClinicPatientSignUpSheet-Editable.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n } ]\r\n },\r\n {\r\n \"resourceName\": \"Offsite Patient Clinic Sign Up Sheet\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/OffsiteClinicPatientSignUpSheet.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n /*{\r\n \"resourceName\": \"On-Site Immunization Clinics: Client Guide\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/On-Site_Immunization_Client_Guide.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n }, \r\n {\r\n \"resourceName\": \"Printable Call Script\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Imz_Call_Script.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Social Distancing Signage\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/COVID_SocialDistancing.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n }\r\n ,\r\n {\r\n \"resourceName\": \"Standard English VAR\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/prefilledVarForm_EN.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n }\r\n , \r\n {\r\n \"resourceName\": \"Walgreens W9\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/W9form_102018.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n }*/\r\n \r\n ]/*,\r\n \"HealthEquityResources\": [\r\n {\r\n \"resourceName\": \"Field Leadership Outreach\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/HealthEquityFluShotClinics_FieldLeadershipOutreachEmail.pdf\"\r\n }\r\n ] \r\n }\r\n ,\r\n {\r\n \"resourceName\": \"Field Leadership Talking Points\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/HealthEquityFluShotClinics_FieldLeadershipTalkingPoints.pdf\"\r\n }\r\n ] \r\n } \r\n ,\r\n {\r\n \"resourceName\": \"Flu Educational Flyer\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/HealthEquity_FluEducationalFlyer.pdf\"\r\n }\r\n ] \r\n }\r\n ,\r\n {\r\n \"resourceName\": \"Flu Poster\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/HealthEquity_FluPoster.pdf\"\r\n }\r\n ] \r\n }\r\n ,\r\n {\r\n \"resourceName\": \"Flu Shot Clinics - Partnership Interest Email\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/FluShotClinics_PartnershipInterestEmail.pdf\"\r\n }\r\n ] \r\n }\r\n ,\r\n {\r\n \"resourceName\": \"Partner Social Media Templates - English\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/FluShotClinics_PartnerSocialMediaTemplates.pdf\"\r\n }\r\n ] \r\n }\r\n ,\r\n {\r\n \"resourceName\": \"Partner Social Media Templates - Spanish\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/FluShotClinics_PartnerNewsletterTemplateSpanish.pdf\"\r\n }\r\n ] \r\n }\r\n ,\r\n {\r\n \"resourceName\": \"Partner Newsletter Template - English\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/FluShotClinics_PartnerNewsletterTemplate.pdf\"\r\n }\r\n ] \r\n }\r\n ,\r\n {\r\n \"resourceName\": \"Partner Newsletter Template - Spanish\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/FluShotClinics_PartnerSocialMediaTemplatesSpanish.pdf\"\r\n }\r\n ] \r\n }\r\n ,\r\n {\r\n \"resourceName\": \"Sample Call Script - Health Equity Initiative\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/HealthEquityInitiative_TeamMemberSampleCallScript.pdf\"\r\n }\r\n ] \r\n }\r\n ]*/\r\n }\r\n } \r\n\r\n constructor(private router:Router,private resourcecountService: ResourcecountService,private spinner: NgxSpinnerService) { }\r\n\r\n ngOnInit() {\r\n this.displayDownload = false;\r\n this.isAdmin = this.userProfile.isAdmin;\r\n }\r\n\r\n scrollDownSample(){\r\n window.document.getElementById('smapleCallScript').scrollIntoView();\r\n }\r\n visresources(){\r\n this.router.navigate(['/communityoutreach/vissresouces']) ;\r\n }\r\n showDownloadDialog(index,resource_category)\r\n {\r\n this.selectedResourcesFiles=this.walgreensResources.resources[resource_category][index].resourceFiles;\r\n this.displayDownload=true;\r\n }\r\n\r\n dispSelectedResource(selected_type){\r\n \r\n }\r\n\r\n \r\n getCount(value: string) { \r\n this.spinner.show(); \r\n let getData: ResourceCountDetails = {\r\n userId: this.userProfile.userPk,\r\n reportName: value\r\n };\r\n this.resourcecountService.getResourceCount(getData).subscribe((res: HttpResponse) => {\r\n importedSaveAs(res.body, 'Resources & Materials Tracking.xlsx'); \r\n this.spinner.hide(); \r\n }, error => {\r\n this.spinner.hide(); \r\n if (error.status === 417) {\r\n this.dialogMessage = \"An error occurred\";\r\n } else {\r\n this.dialogMessage = \"An error occurred.\";\r\n }\r\n });\r\n }\r\n \r\n handleClick(event: Event, resourceName: string ,resourceLink: string) {\r\n let postData: ResourceCountDetails = {\r\n userId: this.userProfile.userPk,\r\n title : resourceName,\r\n resourceClickedTime: new Date().toISOString(),\r\n resourceLink: resourceLink,\r\n count : 0,\r\n pk : 0\r\n }\r\n this.resourcecountService.resourceItemCount(postData).subscribe((data :any)=>{\r\n },(e) => {\r\n console.log(\"Error\");\r\n });\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-patient-care-advocacy-email-template',\r\n templateUrl: './patient-care-advocacy-email-template.component.html',\r\n styleUrls: ['./patient-care-advocacy-email-template.component.css']\r\n})\r\nexport class PatientCareAdvocacyEmailTemplateComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { SessionDetails } from '../../../../utility/session';\r\n\r\n@Component({\r\n selector: 'app-pcaresources',\r\n templateUrl: './pcaresources.component.html',\r\n styleUrls: ['./pcaresources.component.css']\r\n})\r\nexport class PcaresourcesComponent implements OnInit { userProfile = SessionDetails.GetUserProfile();\r\n displayDownload:boolean=false;\r\n selectedIndex:number;\r\n selectedResourcesFiles:any=[];\r\n\r\n walgreensResources=\r\n {\r\n \"resources\": {\r\n \"jobAids\": [ {\r\n \"resourceName\": \"Sample Call Script\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Sample_Call_Script-Patient_Care_and_Advocacy_Events.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n }, {\r\n \"resourceName\": \"Scheduling & Completing a Patient Care &
Advocacy Event\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Scheduling_and_Completing_an_HIV_and_or_HCV_Testing_Event.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"RVP LULA Approval\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/RVP_LULA_Approval.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"How to Prepare Your Store for a Patient
Care & Advocacy Event\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/How_To_Prepare_Your_Store_For_A_Testing_Event.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n }],\r\n \"MarketingFlyers\": [\r\n {\r\n \"resourceName\": \"Free HIV testing (English)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3794573_Free_HIV_Testing_Editable_Flyer-POD_ENG.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n }, {\r\n \"resourceName\": \"Free HIV testing (Spanish)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3794573_Free_HIV_Testing_Editable_Flyer-POD_SPA.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n }, {\r\n \"resourceName\": \"Free HIV testing (Puerto Rican)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3794573_Free_HIV_Testing_Editable_Flyer-POD_PR.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n }, {\r\n \"resourceName\": \"Free HIV testing (English B&W)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3794573_FY24_Free_HIV_Testing_Editable_Flyer_ENG_PRINT.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n }, {\r\n \"resourceName\": \"Free HIV testing (Spanish B&W)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3794573_FY24_Free_HIV_Testing_Editable_Flyer_SPA_PRINT.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n }, {\r\n \"resourceName\": \"Free HIV testing (Puerto Rican B&W)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3794573_FY24_Free_HIV_Testing_Editable_Flyer_PR_PRINT.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },{\r\n \"resourceName\": \"Free HIV & hepatitis C testing (English)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3995099-5656_V2_HIV_HepC_CMYK_Flyer_ENG.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },{\r\n \"resourceName\": \"Free HIV & hepatitis C testing (Spanish)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3995099-5658_V2_HIV_HepC_CMYK_Flyer_SPA.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },{\r\n \"resourceName\": \"Free HIV & hepatitis C testing (Puerto Rican)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3995099-5660_V2_HIV_HepC_CMYK_Flyer_PR.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },{\r\n \"resourceName\": \"Free HIV & hepatitis C testing (English B&W)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3995099-5650_V2_HIV_HepC_B-W_Flyer_ENG.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },{\r\n \"resourceName\": \"Free HIV & hepatitis C testing (Spanish B&W)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3995099-5652_V2_HIV_HepC_B-W_Flyer_SPA.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },{\r\n \"resourceName\": \"Free HIV & hepatitis C testing (Puerto Rican B&W)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3995099-5654_V2_HIV_HepC_B-W_Flyer_PR.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },{\r\n \"resourceName\": \"Free HIV & STI testing (English)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3995099-5656_V1_HIV_STI_CMYK_Flyer_ENG.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },{\r\n \"resourceName\": \"Free HIV & STI testing (Spanish)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3995099-5658_V1_HIV_STI_CMYK_Flyer_SPA.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },{\r\n \"resourceName\": \"Free HIV & STI testing (Puerto Rican)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3995099-5660_V1_HIV_STI_CMYK_Flyer_PR.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },{\r\n \"resourceName\": \"Free HIV & STI testing (English B&W)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3995099-5650_V1_HIV_STI_B-W_Flyer_ENG.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },{\r\n \"resourceName\": \"Free HIV & STI testing (Spanish B&W)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3995099-5652_V1_HIV_STI_B-W_Flyer_SPA.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },{\r\n \"resourceName\": \"Free HIV & STI testing (Puerto Rican B&W)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/3995099-5654_V1_HIV_STI_B-W_Flyer_PR.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n } ],\r\n \"OrganDonationRegistrationFlyers\": [\r\n {\r\n \"resourceName\": \"Organ donation registration (Bilingual)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Organ_Donation_Registration_Walgreens-Bilingual.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Organ donation registration (English)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Organ_Donation_Registration_Walgreens-English.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },{\r\n \"resourceName\": \"Organ donation registration (Community Bilingual)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Organ_Donation_Registration_Community-Bilingual.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Organ donation registration (Community English)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Organ_Donation_Registration_Community-English.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Organ donation registration (Duane Reade Bilingual)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Organ_Donation_Registration_Duande_Reade-Bilingual.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Organ donation registration (Duane Reade English)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Organ_Donation_Registration_Duane_Reade-English.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n }],\r\n /* \"BreastCancerScreeningFlyers\": [\r\n {\r\n \"resourceName\": \"Breast Cancer Screening Community - Bilingual\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Breast_Cancer_Screening_Community-Bilingual.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Breast Cancer Screening Community - English\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Breast_Cancer_Screening_Community-English.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Breast Cancer Screening Duane Reade - Bilingual\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Breast_Cancer_Screening_Duane_Reade-Bilingual.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Breast Cancer Screening Duane Reade - English\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Breast_Cancer_Screening_Duane_Reade-English.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Breast Cancer Screening Walgreens - Bilingual\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Breast_Cancer_Screening_Walgreens-Bilingual.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Breast Cancer Screening Walgreens - English\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Breast_Cancer_Screening_Walgreens-English.pdf\"\r\n }\r\n ]\r\n }], */\r\n \"SkinCancerScreeningFlyers\": [\r\n {\r\n \"resourceName\": \"Skin Cancer screening (Bilingual)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Skin_Cancer_Screening_Walgreens-Bilingual.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Skin Cancer screening (English)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Skin_Cancer_Screening_Walgreens-English.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },{\r\n \"resourceName\": \"Skin Cancer screening (Community Bilingual)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Skin_Cancer_Screening_Community-Bilingual.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Skin Cancer screening (Community English)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Skin_Cancer_Screening_Community-English.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Skin Cancer screening (Duane Reade Bilingual)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Skin_Cancer_Screening_Duane_Reade-Bilingual.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Skin Cancer screening (Duane Reade English)\",\r\n \"resourceFiles\": [{\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Skin_Cancer_Screening_Duane_Reade-English.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n }]\r\n }\r\n }\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.displayDownload = false;\r\n }\r\n\r\n scrollDownSample(){\r\n window.document.getElementById('smapleCallScript').scrollIntoView();\r\n }\r\n\r\n showDownloadDialog(index,resource_category)\r\n {\r\n this.selectedResourcesFiles=this.walgreensResources.resources[resource_category][index].resourceFiles;\r\n this.displayDownload=true;\r\n }\r\n\r\n dispSelectedResource(selected_type){\r\n \r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-senior-outreach-email-template',\r\n templateUrl: './senior-outreach-email-template.component.html',\r\n styleUrls: ['./senior-outreach-email-template.component.css']\r\n})\r\nexport class SeniorOutreachEmailTemplateComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { SessionDetails } from '../../../../utility/session';\r\n\r\n@Component({\r\n selector: 'app-senioroutreach',\r\n templateUrl: './senioroutreach.component.html',\r\n styleUrls: ['./senioroutreach.component.css']\r\n})\r\nexport class SenioroutreachComponent implements OnInit {\r\n userProfile = SessionDetails.GetUserProfile();\r\n displayDownload:boolean=false;\r\n selectedIndex:number;\r\n selectedResourcesFiles:any=[];\r\n walgreensResources : any = \r\n {\r\n \"resources\": {\r\n \"SeniorPresentations\": [\r\n {\r\n \"resourceName\": \"The ABCD's of Medicare\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/ABCDsOfMedicare(FullVersion).pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/ABCDsOfMedicare(FullVersion).pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"The ABCD's of Medicare Short Version\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/ABCDsOfMedicare(ShortVersion).pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/ABCDsOfMedicare(ShortVersion).pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },{\r\n \"resourceName\": \"Blood Pressure & Cholesterol Management\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/BloodPressureAndCholesterol.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/BloodPressureAndCholesterol_Notes.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/BloodPressureAndCholesterol.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n }, \r\n {\r\n \"resourceName\": \"Blood Pressure & Cholesterol - Spanish\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Blood_Pressure_and_Cholesterol-Spanish.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Blood_Pressure_and_Cholesterol-Spanish-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Blood_Pressure_and_Cholesterol-Spanish.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Cough, Cold, and Flu in Older Adults\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/CoughAndColdOlderAdults.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/CoughAndColdOlderAdults_Notes.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/CoughAndColdOlderAdults.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Cost Saving Tips for Your Medications\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/CostSavingsMedications.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/CostSavingsMedications_Notes.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/CostSavingsMedications.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Dementia & Alzheimer's Disease\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Dementia_and_Alzheimers.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Dementia_and_Alzheimers-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Dementia_and_Alzheimers.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n \r\n \r\n {\r\n \"resourceName\": \"Depression in Older Adults\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Depression_in_Older_Adults.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Depression_in_Older_Adults-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Depression_in_Older_Adults.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Diabetes Management Basics\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Diabetes_Management_Basics.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Diabetes_Management_Basics-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Diabetes_Management_Basics.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Diabetes Management Basics - Spanish\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Diabetes-Spanish.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Diabetes-Spanish-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Diabetes-Spanish.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Drug Interactions\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Drug_Interactions.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Drug_Interactions-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Drug_Interactions.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Eating for Healthy Aging\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Eating_for_Healthy_Aging.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Eating_for_Healthy_Aging-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Eating_for_Healthy_Aging.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Exercise & Physical Activity\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Exercise_and_Physical_Activity.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Exercise_and_Physical_Activity-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Exercise_and_Physical_Activity.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Fall Prevention\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Fall_Prevention.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Fall_Prevention-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Fall_Prevention.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"General Senior Issues\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/General_Senior_Issues.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/General_Senior_Issues-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/General_Senior_Issues.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Hypertension\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Hypertension.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Hypertension-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Hypertension.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Immunizations\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Immunizations.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Immunizations-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Immunizations.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Medication Adherence\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Medication_Adherence.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Medication_Adherence-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Medication_Adherence.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Medication Safety\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Medication_Safety.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Medication_Safety-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Medication_Safety.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Nutrition & Exercise\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Nutrition_and_Exercise.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Nutrition_and_Exercise-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Nutrition_and_Exercise.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Osteporosis Prevention & Management\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Osteporosis_Presentation.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Osteporosis_Presentation-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Osteporosis_Presentation.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Parkinson's Disease\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Parkinsons_Disease.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Parkinsons_Disease-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Parkinsons_Disease.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Poison Prevention\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Poison_Prevention.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Poison_Prevention-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Poison_Prevention.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Quit Smoking Now\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Quit_Smoking_Education.pdf\" \r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Quit_Smoking_Education-NOTES.pdf\" \r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Quit_Smoking_Education.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Safe Medication Disposal\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Safe_Medication_Disposal.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Safe_Medication_Disposal-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Safe_Medication_Disposal.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Skin Care for Seniors\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Skin_Care_for_Seniors.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Skin_Care_for_Seniors-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Skin_Care_for_Seniors.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Stress Management in Older Adults\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Stress_Management_in_Older_Adults.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Stress_Management_in_Older_Adults-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Stress_Management_in_Older_Adults.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n }, \r\n {\r\n \"resourceName\": \"Tips to Avoid Being Scammed\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Scams%20on%20Customers.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Scams%20on%20Customers.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"The Walgreens App - An Overview\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Walgreens_App-An_Overview-2019.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Walgreens_App-An_Overview-2019-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Walgreens_App-An_Overview-2019.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Vitamins, Herbals & Supplements\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Vitamins_Herbals_and_Supplements.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Vitamins_Herbals_and_Supplements-NOTES.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pptx/Vitamins_Herbals_and_Supplements.pptx\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"CommunityOutreachMaterials\": [\r\n {\r\n \"resourceName\": \"Senior Outreach - Talking points\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/senior_outreach_job_aid.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Senior Outreach Letter\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/senior_outreach_letter.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"AARP State Office Contact List\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/AARP-State-Office-Contact-List-April-2014.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/AARP-State-Office-Contact-List-April-2014.xlsx\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"MedBMaterials\": [\r\n {\r\n \"resourceName\": \"Med-B Patient FAQ\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Medicare_Part-B_Patient_FAQ.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Med-B Diabetes Testing Supplies Presentation\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Medicare_Part_B_Diabetes_Testing_Supplies_Presentation.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Med-B Flyer\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Medicare_Part-B_Flyer.pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Med-B Flyer(Spanish)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Medicare_Part-B_Flyer(SP).pdf\"\r\n },\r\n {\r\n \"resourceType\": \"PDF NOTES\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"PPTX\",\r\n \"resourcePath\": \"\"\r\n },\r\n {\r\n \"resourceType\": \"EXCEL\",\r\n \"resourcePath\": \"\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n }\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.displayDownload = false;\r\n }\r\nshowDownloadDialog(index,resource_category)\r\n {\r\n \r\n \r\n this.selectedResourcesFiles=this.walgreensResources.resources[resource_category][index].resourceFiles;\r\n this.displayDownload=true;\r\n }\r\n\r\n dispSelectedResource(selected_type){\r\n \r\n \r\n }\r\n}\r\n","import { Component, OnInit, Inject, Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-trainingvideos',\r\n templateUrl: './trainingvideos.component.html',\r\n styleUrls: ['./trainingvideos.component.css']\r\n})\r\nexport class TrainingvideosComponent implements OnInit {\r\n domain: any;\r\n protocol: any;\r\n port: any; \r\n constructor(private router: Router, @Inject(DOCUMENT) private document: any) {\r\n \r\n }\r\n \r\n ngOnInit() {\r\n this.domain = this.document.location.hostname;\r\n this.protocol = this.document.location.protocol;\r\n this.port = this.document.location.port;\r\n }\r\n\r\n passVideoPath(event: string) {\r\n sessionStorage[\"videoSrcPath\"] = event;\r\n let path = this.protocol + \"//\" + this.domain + ((this.port) ? \":\" + this.port : \"\");\r\n console.log(path);\r\n window.open(path + '/videoplayer', '_blank');\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-video-player',\r\n templateUrl: './video-player.component.html',\r\n styleUrls: ['./video-player.component.css']\r\n})\r\nexport class VideoPlayerComponent implements OnInit {\r\n videoSrcPath: string;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.videoSrcPath= sessionStorage.getItem('videoSrcPath');\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { SessionDetails } from '../../../../utility/session';\r\n\r\n@Component({\r\n selector: 'app-vis',\r\n templateUrl: './vis.component.html',\r\n styleUrls: ['./vis.component.css']\r\n})\r\nexport class VisComponent implements OnInit {\r\n\r\n userProfile = SessionDetails.GetUserProfile();\r\n displayDownload:boolean=false;\r\n selectedIndex:number;\r\n footerText1=\"For your protection, only your name and email will be stored to identify your appointment. Email stored for appointments will not be used for any other purpose than communicating with the customer about the scheduled immunization clinic and will be flushed from our system after the clinic has been completed.\";\r\n selectedResourcesFiles:any=[];\r\n walgreensResources : any = \r\n {\r\n \"resources\": {\r\n \"routine\": [\r\n {\r\n \"resourceName\": \"CAPVAXIVE\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/pcv.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Chickenpox (Varivax)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/varicella.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"HPV (Gardasil 9)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/hpv.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Meningitis B (Trumenba, Bexsero)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/mening-serogroup.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Meningitis (Penbraya)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/mening.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Meningococcal (MCV4 - Menveo, Menactra)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/mening.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"MenQuadfi\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/mening.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"MMR (M-M-R II, PRIORIX)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/mmr.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Pneumovax 23\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/ppv.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Prevnar 13\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/pcv.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Prevnar 20\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/pcv.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"RSV (ABRYSVO, AREXVY, MRESVIA)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/rsv.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Shingles (Shingrix)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/shingles-recombinant.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Smallpox/Monkeypox (JYNNEOS)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/smallpox-monkeypox.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Td (Tetanus and Diphtheria)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/td.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Tdap (Boostrix, Adacel)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/tdap.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Vaxneuvance\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/pcv.pdf\"\r\n }\r\n ]\r\n } \r\n ],\r\n \"flu\": [\r\n {\r\n \"resourceName\": \"Flu\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/flu.pdf\"\r\n }\r\n ]\r\n }\r\n \r\n ],\r\n \"nonroutine\": [\r\n {\r\n \"resourceName\": \"Hepatitis A\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/hep-a.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Hepatitis B \",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/hep-b.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Hepatitis A and B (Twinrix)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Hep-A_and_B_Twinrix.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Heplisav-B\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/hep-b.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Japanese Encephalitis (lxlaro)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/je-ixiaro.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Polio (Ipol Inactive)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/ipv.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Rabies (Imovax, Rabavert)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/rabies.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Tick-borne Encephalitis (TicoVac)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/tbe.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Typhoid\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/typhoid.pdf\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"COVID_19\":[\r\n {\r\n \"resourceName\": \"COVID-19\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/covid-19.pdf\"\r\n }\r\n ]\r\n } \r\n ]\r\n }\r\n }\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.displayDownload = false;\r\n }\r\n showDownloadDialog(index,resource_category)\r\n {\r\n \r\n this.selectedResourcesFiles=this.walgreensResources.resources[resource_category][index].resourceFiles;\r\n this.displayDownload=true;\r\n }\r\n\r\n dispSelectedResource(selected_type){\r\n \r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { SessionDetails } from '../../../../utility/session';\r\n\r\n@Component({\r\n selector: 'app-viss',\r\n templateUrl: './viss.component.html',\r\n styleUrls: ['./viss.component.css']\r\n})\r\nexport class VissComponent implements OnInit {\r\n userProfile = SessionDetails.GetUserProfile();\r\n displayDownload:boolean=false;\r\n selectedIndex:number;\r\n footerText1=\"For your protection, only your name and email will be stored to identify your appointment. Email stored for appointments will not be used for any other purpose than communicating with the customer about the scheduled immunization clinic and will be flushed from our system after the clinic has been completed.\";\r\n selectedResourcesFiles:any=[];\r\n walgreensResources : any = \r\n {\r\n \"resources\": {\r\n \"routine\": [\r\n {\r\n \"resourceName\": \"CAPVAXIVE\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/pcv.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Chickenpox (Varivax)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/varicella.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"HPV (Gardasil 9)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/hpv.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Meningitis B (Trumenba, Bexsero)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/mening-serogroup.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Meningitis (Penbraya)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/mening.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Meningococcal (MCV4 - Menveo, Menactra)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/mening.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"MenQuadfi\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/mening.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"MMR (M-M-R II, PRIORIX)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/mmr.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Pneumovax 23\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/ppv.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Prevnar 13\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/pcv.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Prevnar 20\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/pcv.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"RSV (ABRYSVO, AREXVY, MRESVIA)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/rsv.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Shingles (Shingrix)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/shingles-recombinant.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Smallpox/Monkeypox (JYNNEOS)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/smallpox-monkeypox.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Td (Tetanus and Diphtheria)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/td.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Tdap (Boostrix, Adacel)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/tdap.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Vaxneuvance\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/pcv.pdf\"\r\n }\r\n ]\r\n } \r\n ],\r\n \"flu\": [\r\n {\r\n \"resourceName\": \"Flu\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/flu.pdf\"\r\n }\r\n ]\r\n }\r\n \r\n ],\r\n \"nonroutine\": [\r\n {\r\n \"resourceName\": \"Hepatitis A\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/hep-a.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Hepatitis B \",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/hep-b.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Hepatitis A and B (Twinrix)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://tdwagsoutreachcfiles.blob.core.windows.net/pdf/Hep-A_and_B_Twinrix.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Heplisav-B\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/hep-b.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Japanese Encephalitis (lxlaro)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/je-ixiaro.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Polio (Ipol Inactive)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/ipv.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Rabies (Imovax, Rabavert)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/rabies.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Tick-borne Encephalitis (TicoVac)\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/tbe.pdf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"resourceName\": \"Typhoid\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/typhoid.pdf\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"COVID_19\":[\r\n {\r\n \"resourceName\": \"COVID-19\",\r\n \"resourceFiles\": [\r\n {\r\n \"resourceType\": \"PDF\",\r\n \"resourcePath\": \"https://www.cdc.gov/vaccines/hcp/current-vis/downloads/covid-19.pdf\"\r\n }\r\n ]\r\n } \r\n ]\r\n }\r\n }\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.displayDownload = false;\r\n }\r\n showDownloadDialog(index,resource_category)\r\n {\r\n \r\n this.selectedResourcesFiles=this.walgreensResources.resources[resource_category][index].resourceFiles;\r\n this.displayDownload=true;\r\n }\r\n\r\n dispSelectedResource(selected_type){\r\n \r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { ImmunizationComponent } from './components/immunization/immunization.component';\r\nimport { SenioroutreachComponent } from './components/senioroutreach/senioroutreach.component';\r\nimport { TrainingvideosComponent } from './components/trainingvideos/trainingvideos.component';\r\nimport { VideoPlayerComponent } from './components/video-player/video-player.component';\r\nimport { PcaresourcesComponent } from './components/pcaresources/pcaresources.component';\r\nimport { ImmunizationProgramEmailTemplateComponent } from './components/immunization-program-email-template/immunization-program-email-template.component';\r\nimport { SeniorOutreachEmailTemplateComponent } from './components/senior-outreach-email-template/senior-outreach-email-template.component';\r\nimport { PatientCareAdvocacyEmailTemplateComponent } from './components/patient-care-advocacy-email-template/patient-care-advocacy-email-template.component';\r\nimport { FavoritesComponent } from './components/favorites/favorites.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { VisComponent } from './components/vis/vis.component';\r\nimport { VissComponent } from './components/viss/viss.component';\r\nimport { ResourcecountService } from './services/resourcecount.service';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DialogModule,\r\n RouterModule,\r\n NgxSpinnerModule\r\n ],\r\n declarations: [\r\n ImmunizationComponent, \r\n SenioroutreachComponent, \r\n TrainingvideosComponent, \r\n VideoPlayerComponent, \r\n PcaresourcesComponent, \r\n ImmunizationProgramEmailTemplateComponent, \r\n SeniorOutreachEmailTemplateComponent, \r\n PatientCareAdvocacyEmailTemplateComponent, \r\n FavoritesComponent, \r\n VisComponent, \r\n VissComponent,\r\n ],\r\n providers: [\r\n ResourcecountService,\r\n]\r\n})\r\nexport class ResourcesModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport {ResourceCountDetails} from '../../../models/resourceCountDetails';\r\nimport { SessionDetails } from '../../../utility/session';\r\n\r\n@Injectable()\r\nexport class ResourcecountService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n resourceItemCount(data: ResourceCountDetails) {\r\n let url = environment.API_URL + environment.RESOURCES.RESOURCE_COUNT;\r\n return this.http.post(url,data, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));;\r\n }\r\n\r\n getResourceCount(requestData: ResourceCountDetails){\r\n let userData= SessionDetails.GetUserInfo()\r\n let usernamePassword = SessionDetails.getE(SessionDetails.absJ,userData.userName + ':'+ userData.password); \r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type','application/json')\r\n .set('Authorization','Basic '+ usernamePassword);\r\n let url = `${environment.API_URL}/${environment.RESOURCES.GET_RESOURCE_COUNT}/${requestData.userId}/${requestData.reportName}`;\r\n return this.http.get(url, {headers:req_headers,observe:'response' as 'body',responseType:'blob' as 'json'})\r\n .pipe(catchError(Util.handleErrorV2));\r\n}\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Contactlogpipe } from '../../pipes/contactlogpipe';\r\nimport { ContactlogService } from '../../services/contactlog.service';\r\nimport { AppCommonSession } from '../../../common/app-common-session';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { FilterPipe } from '../../pipes/filter-pipe';\r\nimport { MessageServiceService } from '../../../store/services/message-service.service';\r\nimport { ProgramType } from '../../../../utility/enum';\r\nimport { PcacontractAgreementService } from '../../../patientcareadvocacy/Services/pcacontract-agreement.service';\r\nimport { Util } from '../../../../utility/util';\r\nimport { LulaAso } from '../../../../models/pcaTandC';\r\nimport { LulaAsoRelease2 } from '../../../../models/pcaTandC-release2';\r\nimport { universalContractReleaseDate } from '../../../../JSON/UniversalTandC';\r\nimport { getContractComponentName } from '../../../../utility/loadContracts';\r\n@Component({\r\n selector: 'app-contactlog',\r\n templateUrl: './contactlog.component.html',\r\n styleUrls: ['./contactlog.component.css'],\r\n providers: [Contactlogpipe, FilterPipe]\r\n})\r\nexport class ContactlogComponent implements OnInit {\r\n\r\n showHints: boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) === 'yes') ? false : true;\r\n pageName: string = \"viewcontactlogHistory\";\r\n\r\n contactlogList: any[] = [];\r\n date: string;\r\n businessPk1: string;\r\n data: any[] = [];\r\n employees: any[] = [];\r\n contactLogData: any;\r\n contactLogHistory: any;\r\n selectedBusinessName: string;\r\n value: any;\r\n GetAssignedBusinessesData: string[] = [];\r\n businessData: any;\r\n businessName: string;\r\n selected: any = 0;\r\n loghistory: string = \"\";\r\n logTitle: string = \"\";\r\n noRecords: string = \"\";\r\n businesspk: any;\r\n id: any;\r\n private sub: any;\r\n viewlog: boolean = false;\r\n view_log_history: boolean = false;\r\n message: string;\r\n assinedData: any;\r\n contact_data: any;\r\n business_name: any;\r\n user_info: any;\r\n contact_log_history: any;\r\n business_type: any;\r\n displayLog: boolean = false;\r\n contact_log_pk: number = 0;\r\n outreach_effort_code: boolean = false;\r\n oldPcaReleaseDate: any;\r\n PcaReleaseDate2022_1: any;\r\n\r\n constructor(private _contactlog: ContactlogService, private router: Router, private _sortByPipe: FilterPipe, \r\n private _locationNumberPipe: Contactlogpipe, private route: ActivatedRoute, private commonsession: AppCommonSession, \r\n private message_service: MessageServiceService, private _contractService: PcacontractAgreementService) {\r\n \r\n this.contact_log_history = SessionDetails.GetopportunitiesData();\r\n if (this.contact_log_history.businessPk > 0) {\r\n this.view_log_history = true;\r\n this.business_type = SessionDetails.GetBusinessType();\r\n this.GetContactLogs(this.contact_log_history.businessPk);\r\n }\r\n }\r\n public GetContactLogs(businessPk) {\r\n this.outreach_effort_code = false;\r\n this.user_info = this.commonsession.login_info;\r\n var outreach_effort_code = this.contact_log_history.isPCA?\"PCA\":\"IP\";\r\n this.loghistory = '';\r\n this.logTitle = '';\r\n this.noRecords = '';\r\n this._contactlog.GetContactLogs(businessPk,SessionDetails.GetStoreId(), outreach_effort_code).subscribe((res) => {\r\n this.contact_data = res.dataList;\r\n this.selectedBusinessName = this.contact_data.length>0? this.contact_data[0].businessName:'';\r\n var contact_log_data;\r\n var contact_log_history;\r\n contact_log_data = this._locationNumberPipe.transform(this.contact_data.filter(item => item.isCurrentSeason == true), 'contactDate');\r\n contact_log_history = this._locationNumberPipe.transform(this.contact_data.filter(item => item.isCurrentSeason == false), 'contactDate');\r\n this.contactLogData = this._sortByPipe.sortBy(contact_log_data, \"contactDate\");\r\n this.contactLogHistory = this._sortByPipe.sortBy(contact_log_history, \"contactDate\");\r\n if (this.contactLogHistory.length > 0) {\r\n this.loghistory = \"Past Outreach Logs\";\r\n }\r\n if (this.contactLogData.length > 0) {\r\n this.logTitle = \"Current Outreach Logs\";\r\n }\r\n if(this.contactLogData.length === 0 && this.contactLogHistory.length === 0){\r\n this.noRecords=\"No records found\";\r\n }\r\n console.log(this.contactLogHistory);\r\n });\r\n }\r\n \r\n ngOnInit() {\r\n SessionDetails.EventDetails(\"\");\r\n SessionDetails.SetPageName(\"\");\r\n SessionDetails.SetAgreementPK(0);\r\n SessionDetails.fromLocalclinics(false);\r\n this.outreach_effort_code = false;\r\n this.oldPcaReleaseDate = new LulaAso().tnCCutOffDate;\r\n this.PcaReleaseDate2022_1 = new LulaAsoRelease2().tnCCutOffDate;\r\n }\r\n GoTo(contact_log, outreach_status, clinic_type) { \r\n this._contractService.getPCAContractAgreement(contact_log.clinicAgreementPk, null).subscribe((data:any) => { \r\n\r\n let contractdateApproved = null;\r\n let routePageName =null;\r\n let showOldUniversalContract = false;\r\n \r\n if(data && (data?.dateApproved || data?.clientInfo?.reviewedDate)){\r\n contractdateApproved = new Date(data.dateApproved);\r\n if(data.clientInfo.reviewedDate && data.clientInfo.reviewedDate != '' )\r\n {\r\n contractdateApproved = new Date(data.clientInfo.reviewedDate);\r\n }\r\n // let uniContractReleaseDate:Date = new Date (universalContractReleaseDate);\r\n // if(contractdateApproved < uniContractReleaseDate){\r\n // showOldUniversalContract = true;\r\n // } \r\n \r\n routePageName = getContractComponentName(contractdateApproved,'contactlog-viewcontract')\r\n }\r\n\r\n if (outreach_status == 'Contract Initiated (Contracted Clinic)' && contact_log.isCurrentSeason && contact_log.isScheduledClinics && !contact_log.isDeleted) {\r\n SessionDetails.fromLocalclinics(true);\r\n sessionStorage[\"clinic_agreement_pk\"] = contact_log.clinicAgreementPk;\r\n // if(showOldUniversalContract)\r\n // {\r\n // this.router.navigateByUrl(\"/viewcontract\");\r\n // }\r\n // else\r\n // {\r\n // this.router.navigateByUrl(\"/viewcontract-2022-1\"); \r\n // }\r\n this.router.navigateByUrl(routePageName); \r\n }\r\n else if (outreach_status == 'Contract Initiated (Contracted Clinic)' && contact_log.isCurrentSeason && contact_log.isDeleted) {\r\n SessionDetails.fromUserPage(false);\r\n sessionStorage[\"clinic_agreement_pk\"] = contact_log.clinicAgreementPk;\r\n // if(showOldUniversalContract)\r\n // {\r\n // this.router.navigateByUrl(\"/viewcontract\");\r\n // }\r\n // else\r\n // {\r\n // this.router.navigateByUrl(\"/viewcontract-2022-1\"); \r\n // }\r\n this.router.navigateByUrl(routePageName); \r\n }\r\n else if (outreach_status == 'Contract Initiated (Contracted Clinic)' && contact_log.isCurrentSeason && !contact_log.isDeleted) {\r\n SessionDetails.SetAgreementPK(contact_log.clinicAgreementPk);\r\n this.router.navigateByUrl(\"/communityoutreach/contract\");\r\n }\r\n else if (outreach_status == 'Contract Initiated (Contracted Clinic)' && !contact_log.isCurrentSeason) {\r\n SessionDetails.fromUserPage(false);\r\n SessionDetails.fromLocalclinics(true);\r\n sessionStorage[\"clinic_agreement_pk\"] = contact_log.clinicAgreementPk;\r\n // if(showOldUniversalContract)\r\n // {\r\n // this.router.navigateByUrl(\"/viewcontract\");\r\n // }\r\n // else\r\n // {\r\n // this.router.navigateByUrl(\"/viewcontract-2022-1\"); \r\n // }\r\n routePageName = getContractComponentName(contractdateApproved,'contactlog-viewcontract')\r\n this.router.navigateByUrl(routePageName); \r\n }\r\n else if (outreach_status == 'Event Scheduled') {\r\n SessionDetails.EventDetails(contact_log);\r\n this.router.navigateByUrl(\"/communityoutreach/scheduleevent\");\r\n }\r\n else if (outreach_status == 'Follow Up') {\r\n SessionDetails.SetFollowUp(true);\r\n SessionDetails.SetPageName(\"followUp\");\r\n SessionDetails.opportunitiesData(contact_log);\r\n SessionDetails.SetProgramType(contact_log.outreachEffortCode == \"IP\" ? ProgramType.IP : contact_log.outreachEffortCode == \"PCA\"? ProgramType.PCA : ProgramType.SR);\r\n this.router.navigateByUrl(\"/communityoutreach/followUp\");\r\n }\r\n else if (outreach_status == 'Community Outreach') {\r\n this.router.navigateByUrl(\"/communityoutreach/communityoutreach\");\r\n }\r\n else if (outreach_status.toUpperCase().indexOf('LULA INITIATED')>-1 && \r\n contact_log.isCurrentSeason && contact_log.isScheduledClinics) {\r\n SessionDetails.fromUserPage(false);\r\n sessionStorage[\"clinic_agreement_pk\"] = contact_log.clinicAgreementPk;\r\n if(outreach_status.toUpperCase().indexOf('AIDS SERVICE ORGANIZATION LULA INITIATED')>-1 ){\r\n sessionStorage[\"clinic_type\"] = \"8\";\r\n }\r\n else if(outreach_status.toUpperCase().indexOf('GOVERNMENT LULA INITIATED')>-1 ){\r\n sessionStorage[\"clinic_type\"] = \"10\";\r\n }\r\n else if(outreach_status.toUpperCase().indexOf('ORGAN PROCUREMENT ORGANIZATION LULA INITIATED')>-1 ){\r\n sessionStorage[\"clinic_type\"] = \"11\";\r\n }\r\n else if(outreach_status.toUpperCase().indexOf('CANCER SCREENING LULA INITIATED')>-1 ){\r\n sessionStorage[\"clinic_type\"] = \"12\";\r\n }\r\n\r\n if(new Date(Util.getFormatedDate(data.dateApproved)) >= new Date(this.PcaReleaseDate2022_1) || Util.getFormatedDate(data.dateApproved) == null)\r\n {\r\n this.router.navigate(['/rhdContractAgreement-2023-1']);\r\n }\r\n else\r\n {\r\n this.router.navigate(['/rhdContractAgreement']);\r\n } \r\n }\r\n else if (outreach_status.toUpperCase().indexOf('AIDS SERVICE ORGANIZATION LULA INITIATED')>-1 && contact_log.isCurrentSeason && !contact_log.isDeleted) {\r\n SessionDetails.fromUserPage(false);\r\n SessionDetails.SetAgreementPK(contact_log.clinicAgreementPk);\r\n this.router.navigateByUrl(\"/communityoutreach/asolula\");\r\n }\r\n else if (outreach_status.toUpperCase().indexOf('GOVERNMENT LULA INITIATED')>-1 && contact_log.isCurrentSeason && !contact_log.isDeleted) {\r\n SessionDetails.fromUserPage(false);\r\n SessionDetails.SetAgreementPK(contact_log.clinicAgreementPk);\r\n this.router.navigateByUrl(\"/communityoutreach/govlula\");\r\n }\r\n else if (outreach_status.toUpperCase().indexOf('ORGAN PROCUREMENT ORGANIZATION LULA INITIATED')>-1 && contact_log.isCurrentSeason && !contact_log.isDeleted) {\r\n SessionDetails.fromUserPage(false);\r\n SessionDetails.SetAgreementPK(contact_log.clinicAgreementPk);\r\n this.router.navigateByUrl(\"/communityoutreach/opolula\");\r\n }\r\n else if (outreach_status.toUpperCase().indexOf('CANCER SCREENING LULA INITIATED')>-1 && contact_log.isCurrentSeason && !contact_log.isDeleted) {\r\n SessionDetails.fromUserPage(false);\r\n SessionDetails.SetAgreementPK(contact_log.clinicAgreementPk);\r\n this.router.navigateByUrl(\"/communityoutreach/csslula\");\r\n }\r\n else if(!contact_log.isCurrentSeason && !contact_log.isDeleted){\r\n sessionStorage[\"clinic_agreement_pk\"] = contact_log.clinicAgreementPk;\r\n if(outreach_status.toUpperCase().indexOf('AIDS SERVICE ORGANIZATION LULA INITIATED')>-1 ){\r\n sessionStorage[\"clinic_type\"] = \"8\";\r\n }\r\n else if(outreach_status.toUpperCase().indexOf('GOVERNMENT LULA INITIATED')>-1 ){\r\n sessionStorage[\"clinic_type\"] = \"10\";\r\n }\r\n else if(outreach_status.toUpperCase().indexOf('ORGAN PROCUREMENT ORGANIZATION LULA INITIATED')>-1 ){\r\n sessionStorage[\"clinic_type\"] = \"11\";\r\n }\r\n else if(outreach_status.toUpperCase().indexOf('CANCER SCREENING LULA INITIATED')>-1 ){\r\n sessionStorage[\"clinic_type\"] = \"12\";\r\n }\r\n sessionStorage[\"fromPcaDetails\"] = false;\r\n if(new Date(Util.getFormatedDate(data.dateApproved)) >= new Date(this.PcaReleaseDate2022_1) || Util.getFormatedDate(data.dateApproved) == null)\r\n {\r\n this.router.navigate(['/rhdContractAgreement-2023-1']);\r\n }\r\n else\r\n {\r\n this.router.navigate(['/rhdContractAgreement']);\r\n } \r\n }\r\n\r\n});\r\n }\r\n removeLogEntry(contact_log_pk) {\r\n \r\n this.displayLog = true;\r\n this.contact_log_pk = contact_log_pk;\r\n }\r\n cancelConfirmation() {\r\n this.displayLog = false;\r\n }\r\n deleteLogEntry() {\r\n \r\n if (this.contact_log_pk > 0) {\r\n this._contactlog.DeleteContactLog(this.contact_log_pk).subscribe((data: any) => {\r\n if (data == \"success\") {\r\n this.GetContactLogs(this.contact_log_history.businessPk);\r\n this.displayLog = false;\r\n this.contact_log_pk = 0;\r\n this.message_service.sendProfileChange(\"profilechange\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n\r\n // public onChange(val: any) {\r\n // if (val.businessPk != undefined) {\r\n // this.selectedBusinessName = val.businessName;\r\n // this.GetContactLogs(val.businessPk);\r\n // }\r\n // else {\r\n // //this.contactLogData = '[{}]';\r\n // //this.contactLogHistory= '[{}]';\r\n // }\r\n // }\r\n}\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ProgramType } from '../../../../utility/enum';\r\nimport { FormGroup, FormBuilder, Validators, NgForm } from '@angular/forms';\r\nimport { FollowUp } from '../../../../models/FollowUp';\r\nimport { ScheduleeventService } from '../../services/scheduleevent.service';\r\nimport { Router } from '@angular/router';\r\nimport { FollowUpDetailsList, FollowUpDetails } from '../../../../models/FollowUpDetailsList';\r\nimport { MessageServiceService } from '../../services/message-service.service';\r\nimport { Location, DatePipe } from '@angular/common';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { Util } from '../../../../utility/util';\r\nimport { FormCanDeactivate } from '../../../../guards/form-can-deactivate/form-can-deactivate';\r\n\r\n@Component({\r\n selector: 'app-followup',\r\n templateUrl: './followup.component.html',\r\n styleUrls: ['./followup.component.css'],\r\n providers: [DatePipe]\r\n})\r\n//\r\nexport class FollowupComponent extends FormCanDeactivate implements OnInit {\r\n @ViewChild('form')\r\n form: NgForm;\r\n \r\n showHints: boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) === 'yes') ? false : true;\r\n pageName: string = \"followUp\";\r\n\r\n defaultDate: Date = new Date();\r\n maxDateValue: Date = new Date();\r\n minDateValue: Date = new Date();\r\n date3: Date;\r\n sr_followup: boolean = false;\r\n ip_followup: boolean = false;\r\n followup_date: Date;\r\n followupForm: FormGroup;\r\n followup_save: any[] = [];\r\n get_contact_log: any;\r\n follow_up: FollowUp;\r\n displayOnSucc: boolean = false;\r\n get_follow_up: any;\r\n get_followup_data: any = 0;\r\n status: boolean = false;\r\n contact_log_IP: any = 0;\r\n contact_log_SR: any = 0;\r\n page_name: any = \"\";\r\n savePopUp: boolean = false;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n follow_up_details: FollowUpDetailsList = new FollowUpDetailsList();\r\n doNotSaveText: string = \"\";\r\n setUp: string = \"\";\r\n user_profile: any;\r\n showCanRouteChange: boolean;\r\n disable_button: boolean = false;\r\n follow_up_title:any;\r\n email_pattern = /^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$/;\r\n formError = false;\r\n constructor(private formBuilder: FormBuilder, private _location: Location,\r\n private schedule_event_service: ScheduleeventService, private router: Router, private utility: Util, private message_service: MessageServiceService,\r\n private date_pipe: DatePipe) {\r\n super();\r\n this.message_service.getCanShowRouteChangeConfirmation().subscribe(message => {\r\n this.showCanRouteChange = message.text;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.user_profile = SessionDetails.GetUserProfile();\r\n let email = this.user_profile.email;\r\n let today = new Date();\r\n this.date3 = new Date();\r\n this.minDateValue = new Date();\r\n this.date3.setDate(this.date3.getDate() + 7);\r\n // this.minDateValue = new Date(today.getFullYear(), 8, 1);\r\n if (SessionDetails.GetProgramType() == ProgramType.SR) {\r\n this.sr_followup = true;\r\n this.ip_followup = false;\r\n this.follow_up_title = 'Senior Outreach Follow-Up Email Reminder';\r\n }\r\n if (SessionDetails.GetProgramType() == ProgramType.PCA) {\r\n this.sr_followup = true;\r\n this.ip_followup = false;\r\n this.follow_up_title = 'PCA Follow-Up Email Reminder';\r\n }\r\n if (SessionDetails.GetProgramType() == ProgramType.IP) {\r\n this.sr_followup = false;\r\n this.ip_followup = true;\r\n }\r\n if (SessionDetails.GetProgramType() == ProgramType.SRIP) {\r\n this.follow_up_title = 'Senior Outreach Follow-Up Email Reminder';\r\n this.sr_followup = true;\r\n this.ip_followup = true;\r\n }\r\n\r\n this.followupForm = this.formBuilder.group({\r\n imzemail: [email, [Validators.required, Validators.email, Validators.pattern(/^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$/)]],\r\n imzdate: [this.date3, Validators.required],\r\n sremail: [email, [Validators.required, Validators.email, Validators.pattern(/^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$/)]],\r\n srdate: [this.date3, Validators.required],\r\n doNotSendImz: [false, null],\r\n doNotSendSR: [false, null]\r\n\r\n });\r\n this.status = SessionDetails.GetFollowUp();\r\n this.page_name = SessionDetails.GetPageName();\r\n if (this.status) {\r\n this.get_follow_up = SessionDetails.GetopportunitiesData();\r\n this.getFollowpData();\r\n }\r\n this.follow_up_details = this.followupForm.value;\r\n }\r\n isFieldValid(field: string) {\r\n return !this.followupForm.get(field).valid && this.followupForm.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n onSave() { \r\n if (this.followupForm.valid) {\r\n \r\n var followup_details_list = new FollowUpDetails();\r\n var followup_details_list1 = new FollowUpDetailsList();\r\n if(!this.email_pattern.test(this.followupForm.controls[\"imzemail\"].value.trim()) || !this.email_pattern.test(this.followupForm.controls[\"sremail\"].value.trim())){\r\n //this.showDialog(\"Error\",\"Invalid Email pattern.\");\r\n this.dialogMsg=\"Invalid Email Pattern.\";\r\n this.dialogSummary = \"Error\";\r\n this.formError = true;\r\n return;\r\n }\r\n\r\n if (this.get_followup_data.length > 0) {\r\n for (let i = 0; i < this.get_followup_data.length; i++) {\r\n if (this.get_followup_data[i].outreachEffortCode == \"IP\") {\r\n followup_details_list.contactLogPk = this.get_followup_data[i].contactLogPk;\r\n followup_details_list.emailReminder = this.followupForm.controls[\"doNotSendImz\"].value;\r\n followup_details_list.outreachEffortCode = this.get_followup_data[i].outreachEffortCode;\r\n followup_details_list.outreachPk = this.get_followup_data[i].outreachPk;\r\n followup_details_list.updatedBy = this.get_followup_data[i].updatedBy;\r\n followup_details_list.updatedDate = new Date();\r\n followup_details_list.emailTo = this.followupForm.controls[\"imzemail\"].value;\r\n followup_details_list.followupDate = this.followupForm.controls[\"imzdate\"].value;\r\n if(followup_details_list.followupDate != null && followup_details_list.followupDate != undefined && followup_details_list.followupDate != ''){\r\n followup_details_list.followupDate = this.date_pipe.transform(followup_details_list.followupDate, \"MM/dd/yyyy\");\r\n }\r\n }\r\n if (this.get_followup_data[i].outreachEffortCode == \"SR\" || this.get_followup_data[i].outreachEffortCode == \"PCA\") {\r\n followup_details_list.contactLogPk = this.get_followup_data[i].contactLogPk;\r\n followup_details_list.emailReminder = this.followupForm.controls[\"doNotSendSR\"].value;\r\n followup_details_list.outreachEffortCode = this.get_followup_data[i].outreachEffortCode;\r\n followup_details_list.outreachPk = this.get_followup_data[i].outreachPk;\r\n followup_details_list.updatedBy = this.get_followup_data[i].updatedBy;\r\n followup_details_list.updatedDate = new Date();\r\n followup_details_list.emailTo = this.followupForm.controls[\"sremail\"].value;\r\n followup_details_list.followupDate = this.followupForm.controls[\"srdate\"].value;\r\n if(followup_details_list.followupDate != null && followup_details_list.followupDate != undefined && followup_details_list.followupDate != ''){\r\n followup_details_list.followupDate = this.date_pipe.transform(followup_details_list.followupDate, \"MM/dd/yyyy\");\r\n }\r\n }\r\n followup_details_list1.followUpDetailsList.push(followup_details_list);\r\n this.follow_up_details = followup_details_list1;\r\n followup_details_list = new FollowUpDetails();\r\n\r\n }\r\n this.disable_button = true;\r\n this.schedule_event_service.updateFollowUpEvent(followup_details_list1).subscribe((data: any) => {\r\n if (data === \"success\") {\r\n this.displayOnSucc = true;\r\n this.disable_button = false;\r\n }\r\n },\r\n err=>{\r\n this.dialogMsg=\"An error has occurred and your contact log has not been added successfully. Please try reentering the log. If the status is not updated, please contact a site administrator.\";\r\n this.dialogSummary = \"Error\";\r\n this.formError = true; \r\n this.disable_button = false;\r\n });\r\n }\r\n else {\r\n this.follow_up = new FollowUp();\r\n this.get_contact_log = SessionDetails.GetLogContact();\r\n this.follow_up.logOutreachStatus.businessPk = this.get_contact_log.logOutreachStatus.businessPk;\r\n this.follow_up.logOutreachStatus.firstName = this.get_contact_log.logOutreachStatus.firstName;\r\n this.follow_up.logOutreachStatus.lastName = this.get_contact_log.logOutreachStatus.lastName;\r\n this.follow_up.logOutreachStatus.jobTitle = this.get_contact_log.logOutreachStatus.jobTitle;\r\n this.follow_up.logOutreachStatus.outreachProgram = this.get_contact_log.logOutreachStatus.outreachProgram;\r\n this.follow_up.logOutreachStatus.outreachBusinessPk = this.get_contact_log.logOutreachStatus.outreachBusinessPk;\r\n this.follow_up.logOutreachStatus.contactDate = this.get_contact_log.logOutreachStatus.contactDate;\r\n \r\n this.follow_up.logOutreachStatus.outreachStatusId = this.get_contact_log.logOutreachStatus.outreachStatusId;\r\n this.follow_up.logOutreachStatus.outreachStatusTitle = this.get_contact_log.logOutreachStatus.outreachStatusTitle;\r\n this.follow_up.logOutreachStatus.feedback = this.get_contact_log.logOutreachStatus.feedback;\r\n this.follow_up.logOutreachStatus.createdBy = this.get_contact_log.logOutreachStatus.createdBy;\r\n this.follow_up.logOutreachStatus.clinicAgreementPk = 0;\r\n this.follow_up.followUpDetails.createdBy = this.follow_up.logOutreachStatus.createdBy;\r\n\r\n if (this.follow_up.logOutreachStatus.outreachProgram == 'IP') {\r\n this.follow_up.followUpDetails.emailTo = this.followupForm.value.imzemail;\r\n this.follow_up.followUpDetails.followupDate = this.followupForm.value.imzdate;\r\n if(this.follow_up.followUpDetails.followupDate != null && this.follow_up.followUpDetails.followupDate != undefined && this.follow_up.followUpDetails.followupDate != ''){\r\n this.follow_up.followUpDetails.followupDate = this.date_pipe.transform(this.follow_up.followUpDetails.followupDate, \"MM/dd/yyyy\");\r\n }\r\n this.follow_up.followUpDetails.isSendEmailReminder = this.followupForm.value.doNotSendImz;\r\n }\r\n if (this.follow_up.logOutreachStatus.outreachProgram == 'SR' || this.follow_up.logOutreachStatus.outreachProgram == 'PCA') {\r\n this.follow_up.followUpDetails.emailTo = this.followupForm.value.sremail;\r\n this.follow_up.followUpDetails.followupDate = this.followupForm.value.srdate;\r\n if(this.follow_up.followUpDetails.followupDate != null && this.follow_up.followUpDetails.followupDate != undefined && this.follow_up.followUpDetails.followupDate != ''){\r\n this.follow_up.followUpDetails.followupDate = this.date_pipe.transform(this.follow_up.followUpDetails.followupDate, \"MM/dd/yyyy\");\r\n }\r\n this.follow_up.followUpDetails.isSendEmailReminder = this.followupForm.value.doNotSendSR;\r\n }\r\n this.disable_button = true;\r\n this.schedule_event_service.postFollowUpEvent(this.follow_up).subscribe((data: any) => {\r\n if (data === \"success\") {\r\n this.displayOnSucc = true;\r\n this.disable_button = false;\r\n }\r\n },\r\n err=>{\r\n this.dialogMsg=\"An error has occurred and your contact log has not been added successfully. Please try reentering the log. If the status is not updated, please contact a site administrator.\";\r\n this.dialogSummary = \"Error\";\r\n this.formError = true;\r\n this.disable_button = false;\r\n }\r\n );\r\n }\r\n }\r\n }\r\n onFolloUpIPDateSelected(select_date: Date) {\r\n this.followupForm.controls['imzdate'].setValue(new Date(select_date.getFullYear(), select_date.getMonth(), select_date.getDate(), 12, 30, 55));\r\n }\r\n onFolloUpSRDateSelected(select_date: Date) {\r\n this.followupForm.controls['srdate'].setValue(new Date(select_date.getFullYear(), select_date.getMonth(), select_date.getDate(), 12, 30, 55));\r\n }\r\n onClick() {\r\n this.follow_up_details=this.deepCopy(this.followupForm.value);\r\n this.message_service.sendProfileChange(\"profilechange\");\r\n this.router.navigateByUrl('/communityoutreach/storehome');\r\n }\r\n getFollowpData() {\r\n\r\n if (this.page_name != \"\") {\r\n if (this.get_follow_up.outreachEffortCode == \"IP\") {\r\n this.contact_log_IP = this.get_follow_up.contactLogPk;\r\n }\r\n if (this.get_follow_up.outreachEffortCode == \"SR\") {\r\n this.contact_log_SR = this.get_follow_up.contactLogPk;\r\n }\r\n if (this.get_follow_up.outreachEffortCode == \"PCA\") {\r\n this.contact_log_SR = this.get_follow_up.contactLogPk;\r\n }\r\n }\r\n else {\r\n if (this.get_follow_up.outreachEffort.IP.outreachStatus == 2) {\r\n this.contact_log_IP = this.get_follow_up.outreachEffort.IP.contactLogPk;\r\n }\r\n if (this.get_follow_up.outreachEffort.SR.outreachStatus == 2) {\r\n this.contact_log_SR = this.get_follow_up.outreachEffort.SR.contactLogPk;\r\n }\r\n if (this.get_follow_up.outreachEffort.PCA.outreachStatus == 2) {\r\n this.contact_log_SR = this.get_follow_up.outreachEffort.PCA.contactLogPk;\r\n }\r\n }\r\n this.schedule_event_service.getFollowUpEvent(this.contact_log_IP, this.contact_log_SR).subscribe((data: any) => {\r\n this.get_followup_data = data.followUpDetailsList;\r\n if (this.get_followup_data.length > 0) {\r\n for (let i = 0; i < this.get_followup_data.length; i++) {\r\n if (this.get_followup_data[i].outreachEffortCode == \"IP\") {\r\n this.followupForm.controls[\"imzemail\"].setValue(this.get_followup_data[i].emailTo);\r\n this.followupForm.controls[\"imzdate\"].setValue(new Date(this.get_followup_data[i].followupDate));\r\n this.followupForm.controls[\"doNotSendImz\"].setValue(this.get_followup_data[i].emailReminder);\r\n }\r\n if (this.get_followup_data[i].outreachEffortCode == \"SR\" || this.get_followup_data[i].outreachEffortCode == \"PCA\") {\r\n this.followupForm.controls[\"sremail\"].setValue(this.get_followup_data[i].emailTo);\r\n this.followupForm.controls[\"srdate\"].setValue(new Date(this.get_followup_data[i].followupDate));\r\n this.followupForm.controls[\"doNotSendSR\"].setValue(this.get_followup_data[i].emailReminder);\r\n }\r\n }\r\n }\r\n this.follow_up_details = this.followupForm.value;\r\n });\r\n\r\n }\r\n onCancel() {\r\n var compare_objects = false;\r\n if (this.status) {\r\n compare_objects = this.utility.compareTwoObjects(this.follow_up_details, this.followupForm.value);\r\n if (compare_objects) {\r\n this.doNotSaveText = \"Cancel\";\r\n this.setUp = \"Ok\";\r\n // this.showDialog(ErrorMessages['unSavedData'], ErrorMessages['contract_alert']);\r\n this.showCanRouteChange = true; \r\n }\r\n else {\r\n this._location.back();\r\n }\r\n }\r\n else {\r\n \r\n this.doNotSaveText = \"Do Not Save\";\r\n this.setUp = \"Continue Setup\";\r\n this.showDialog(ErrorMessages['unSavedData'], ErrorMessages['followp_alert']);\r\n \r\n }\r\n\r\n }\r\n doNotSave() {\r\n if (this.doNotSaveText == \"Cancel\") {\r\n this.savePopUp = false;\r\n }\r\n else if (this.doNotSaveText == \"Do Not Save\") {\r\n \r\n this.follow_up_details=this.deepCopy(this.followupForm.value);\r\n this._location.back();\r\n }\r\n }\r\n Continue() {\r\n if (this.setUp == \"Continue Setup\") {\r\n this.savePopUp = false;\r\n }\r\n else if (this.setUp == \"Ok\") {\r\n this._location.back();\r\n }\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.savePopUp = true;\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n }\r\n\r\n getModelDiff() {\r\n var diff = this.utility.getDifference(this.follow_up_details, this.followupForm.value);\r\n return diff;\r\n }\r\n\r\n leaveRoute() {\r\n this.router.navigateByUrl(\"/communityoutreach/storehome\");\r\n }\r\n cancelRoute() {\r\n this.showCanRouteChange = false;\r\n return false; \r\n }\r\n deepCopy(oldObj: any) {\r\n var newObj = oldObj;\r\n if (oldObj && typeof oldObj === \"object\") {\r\n newObj = Object.prototype.toString.call(oldObj) === \"[object Array]\" ? [] : {};\r\n for (var i in oldObj) {\r\n newObj[i] = this.deepCopy(oldObj[i]);\r\n }\r\n }\r\n return newObj;\r\n }\r\n disableButton() {\r\n if (this.disable_button) {\r\n return 'false';\r\n }\r\n else {\r\n return '';\r\n }\r\n\r\n }\r\n}\r\n","import { of as observableOf, Observable } from 'rxjs';\r\nimport { catchError, switchMap, tap, distinctUntilChanged, debounceTime } from 'rxjs/operators';\r\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { AddBusinessService } from '../../services/AddBusiness.Service';\r\nimport { String } from 'typescript-string-operations';\r\nimport { ConfirmationService, Message } from 'primeng/api';\r\nimport { Util } from '../../../../utility/util';\r\nimport { AddOutreachOpportunity, OutreachEffortList, SelectType } from '../../../../models/OutreachOpportunity';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { ActionType } from '../../../../utility/enum';\r\nimport { DuplicateBusiness } from '../../../../models/duplicatebusiness';\r\nimport { OpportunitiesService } from '../../services/opportunities.service';\r\nimport { FollowUp } from '../../../../models/FollowUp';\r\nimport { HeaderserviceService } from '../../../common/services/headerservice.service';\r\nimport { states } from '../../../../JSON/States';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { covidClinicTypeValues } from '../../../../JSON/covidClinicType';\r\nimport { LTCFTypesValues } from '../../../../JSON/LTCFTypes';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { LookupService } from '../../../../lookup.service';\r\nimport { adminUserNames } from '../../../../JSON/adminsInformation';\r\nimport { UserRole } from '../../../../config-files/UserRole';\r\n@Component({\r\n selector: 'app-opportunity',\r\n templateUrl: './opportunity.component.html',\r\n styleUrls: ['./opportunity.component.css']\r\n})\r\nexport class OpportunityComponent implements OnInit {\r\n openAlternateAcc = false;\r\n states: any[];\r\n covidClinicTypeValues:any[];\r\n LTCFTypeValues:any[];\r\n public AddBusinessView: Boolean;\r\n public BusinessInformation: any[] = [];\r\n business_info: boolean = false;\r\n isUserAdmin: Boolean = false;\r\n addBusinessForm: FormGroup;\r\n form_edit: FormBuilder;\r\n phone_search: string;\r\n address_search: string;\r\n dupilicate_search: boolean;\r\n LocalBusinesses: any[] = [];\r\n duplicate_message: string;\r\n duplicate_message1: string;\r\n duplicate_message2: string;\r\n search_string: string;\r\n duplicate_business: string;\r\n duplicate_business1: string = \"\";\r\n duplicate_business2: boolean;\r\n msgs: Message[] = [];\r\n phoneValue: string;\r\n isEdit: boolean = false;\r\n business_name: string;\r\n buttonName: string;\r\n outreachOpportunity: AddOutreachOpportunity;\r\n updateOutreachOpportunity: AddOutreachOpportunity;\r\n displayDNC: boolean = false;\r\n popupShow: boolean = false;\r\n dialogSummary: string = \"\";\r\n dialogMsg: string = \"\";\r\n userProfile: any;\r\n isShowAssignStore: boolean = false;\r\n isImmunizationProgram: boolean = false;\r\n isSeniorOutreach: boolean = false;\r\n popupSuccessShow: boolean = false;\r\n businessData: any;\r\n enableDisableCovidOption : boolean = false;\r\n noContract : boolean = true;\r\n isDNC: boolean = true;\r\n isOverrideDupCheck: boolean = false;\r\n canReassign: boolean = false;\r\n isRemoveContactLog: boolean = false;\r\n usPhoneNoRegEx: RegExp = /^((\\(\\d{3}\\) ?)|(\\d{3}-))?\\d{3}-\\d{4}$/\r\n ccnRegEx :RegExp =/^[a-zA-Z0-9%*#@%]*$/;\r\n ipProgramCheck: boolean = false;\r\n srProgramCheck: boolean = false;\r\n searching: boolean = false;\r\n storeSearchRsp = null;\r\n assignedStoreValue: any;\r\n updatePopupShow: boolean = false;\r\n overridePopupShow: boolean = false;\r\n duplicateErrorPopUp: boolean = false;\r\n logExistsPopupShow: boolean = false;\r\n removeIPSR: boolean = false;\r\n diffStateOverridePopupShow: boolean = false;\r\n updateBusinessShow: boolean = false;\r\n okCancel: string = \"Ok\";\r\n isCommunityCharity: boolean = false;\r\n isCharityCommunityNew: boolean = false;\r\n isCheckContractInitiatedCharity: boolean = false;\r\n isCheckContractInitiatedCommunity: boolean = false;\r\n disable_button: boolean = false;\r\n currentStateCode: string;\r\n loginUserEmailId : string;\r\n authorizedUserForUpdate :['jerry.v.thomas@walgreens.com','eli.zaguri@walgreens.com','tyrone.clark@walgreens.com',\r\n 'csmith@tribpub.com','CommunityUpdate@WagOutreach.com','maili.dellinger@walgreens.com'];\r\n\r\n dncText:string = 'The Opportunity you are attempting to add is a match or partial match to a Client Name on the Do Not Call \\– National Contracts list. ' +\r\n 'This client may already have a contract with the Walgreens Corporate Office and should not be contacted to conduct any Immunization opportunity unless assigned by Walgreens Corporate. ' +\r\n 'This opportunity cannot be added to your store. If you have questions regarding this opportunity or do not think the opportunity is a match to a client in the Do Not Call list, ' +\r\n 'please open a ticket on Ask the Retail Hub via Pharmacy > Community Outreach Portal > Immunizations';\r\n isAdmin: boolean = false;\r\n disableStandard: boolean = false;\r\n disableFluLTCFFlu: boolean = false;\r\n businessPk: number;\r\n pkhash:string\r\n showDeactivateOpportunity: boolean = false;\r\n Action: string = '';\r\n businessType: number = 0;\r\n IndustryForLTCFCovidOpp = ['LTCF', 'SNF', 'ALF', 'IDD', 'HUD', 'VET', 'RES','Long Term Care Facility','Skilled Nursing Facility',\r\n 'Housing and Urban Development','State Veterans Home','Assisted Living Facility', \r\n 'Intellectual and Developmental Disability']\r\n businessNameLegthExceeded: any;\r\n industries: SelectType[] = [];\r\n canDisplayIndustries = false;\r\n canDisplayOtherTextboxForIndustries = false;\r\n isIPChecked = false;\r\n isSOChecked = false;\r\n ltcfOpportunityIndustries: SelectType[] = [];\r\n standardOpportunityIndustries: SelectType[] = [];\r\n isIPOrSR = false;\r\n canDisplayAutoInitiate = false;\r\n deleteOpportunityHeader: string = '';\r\n deleteOpportunityBody: string = '';\r\n displayDeleteDialog: boolean;\r\n isSuperAdmin: boolean;\r\n user_profile: any;\r\n\r\n constructor(\r\n protected _AddBusinessService: AddBusinessService, \r\n private utility: Util,\r\n private formBuilder: FormBuilder, \r\n private confirmationService: ConfirmationService, \r\n private prouter: Router, \r\n private _opportunityService: OpportunitiesService, \r\n private _headerservice: HeaderserviceService, \r\n private spinner: NgxSpinnerService,\r\n private _ref: ChangeDetectorRef,\r\n private _lookupService: LookupService\r\n ) {\r\n this.formControls();\r\n this.AddBusinessView = true;\r\n this.isEdit = false;\r\n this.buttonName = \"Save\"\r\n // this.openAllAccordionTabs();\r\n }\r\n\r\n openAllAccordionTabs() { \r\n // work around to make accordian work. \r\n this.spinner.show(); \r\n setTimeout(() => {\r\n this.openAlternateAcc = true; \r\n }, 1);\r\n setTimeout(() => {\r\n this.openAlternateAcc = false;\r\n this.spinner.hide();\r\n }, 1);\r\n }\r\n\r\n validatePhoneNo() {\r\n const control = this.addBusinessForm.get('Phone');\r\n if (control.dirty && control.touched) {\r\n this.phone_search = this.addBusinessForm.value.Phone;\r\n // Check for duplicate Opportunity \r\n var duplicateAddress = new DuplicateBusiness();\r\n duplicateAddress.totalRecs = 0;\r\n duplicateAddress.totalS = 0;\r\n duplicateAddress.primaryAddress.phone = this.addBusinessForm.controls['Phone'].value;\r\n\r\n this._AddBusinessService.checkDuplicateBusiness(duplicateAddress).subscribe((data:any) => {\r\n if (data.duplicateAddressList.length > 0) {\r\n var store_id = data.duplicateAddressList[0].storeId;\r\n this.dialogSummary = \"Duplicate Opportunity\";\r\n this.dialogMsg = String.Format('There is more than one opportunity assigned to a Walgreens store with the same phone number ( store {0} ). To eliminate duplicate follow up activity, this opportunity will not be added to your contacts', store_id);\r\n this.popupShow = true;\r\n\r\n }\r\n });\r\n }\r\n }\r\n\r\n displayNgMsg(msgSeverity: string, msgSummary: string, msgDetail: string) {\r\n this.msgs = [];\r\n this.msgs.push({ severity: msgSeverity, summary: msgSummary, detail: msgDetail });\r\n }\r\n\r\n onBlurMethod1() {\r\n if (this.AddBusinessView) {\r\n this.validateAddress();\r\n }\r\n }\r\n\r\n validateAddress() {\r\n const control = this.addBusinessForm.get('Address1');\r\n if ((this.addBusinessForm.get('Address1').dirty && this.addBusinessForm.get('Address1').touched) ||\r\n (this.addBusinessForm.get('Address2').dirty && this.addBusinessForm.get('Address2').touched) ||\r\n (this.addBusinessForm.get('City').dirty && this.addBusinessForm.get('City').touched) ||\r\n (this.addBusinessForm.get('state').dirty && this.addBusinessForm.get('state').touched) ||\r\n (this.addBusinessForm.get('ZipCode').dirty && this.addBusinessForm.get('ZipCode').touched)) {\r\n this.address_search = this.getFormValue();\r\n if (this.address_search != null) {\r\n this.dupilicate_search = this._AddBusinessService.duPlicateAddressSearch(this.address_search);\r\n if (this.dupilicate_search) {\r\n this.displayNgMsg('error', 'Duplicate Opportunity',\r\n 'TODO for storeID:There is already an opportunity assigned to a Walgreens store with the same address (Store 13. How to get this number?). To eliminate duplicate follow up activity, this opportunity will not be added to your contacts');\r\n }\r\n else {\r\n this.duplicate_message1 = \"\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n getFormValue() {\r\n return this.removeSpace(this.addBusinessForm.value.Address1 + this.addBusinessForm.value.Address2 + this.addBusinessForm.value.City + this.addBusinessForm.value.state + this.addBusinessForm.value.ZipCode);\r\n }\r\n\r\n removeSpace(text: string) {\r\n if (text.length > 0) {\r\n return text.replace(/[\\s]/g, '');\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n let userProfile = SessionDetails.GetUserProfile(); \r\n this.loginUserEmailId= userProfile.email;\r\n console.log(this.loginUserEmailId);\r\n \r\n this.isAdmin = adminUserNames.filter(item => item.toLowerCase() == userProfile.userName.toLowerCase()).length > 0;\r\n this.isShowAssignStore = false;\r\n this.userProfile = SessionDetails.GetUserProfile();\r\n\r\n this._lookupService.getLookUpValues('Industry', 'StandardOpportunity')\r\n .subscribe((response: SelectType[]) => {\r\n this.standardOpportunityIndustries = response;\r\n });\r\n\r\n this._lookupService.getLookUpValues('Industry', 'LTCFOpportunity')\r\n .subscribe((response: SelectType[]) => {\r\n this.ltcfOpportunityIndustries = response;\r\n });\r\n\r\n if (this.userProfile.isAdmin) {\r\n this.okCancel = \"Cancel\";\r\n }\r\n else {\r\n this.okCancel = \"Ok\";\r\n }\r\n this.outreachOpportunity = new AddOutreachOpportunity();\r\n this.updateOutreachOpportunity = new AddOutreachOpportunity();\r\n this.addBusinessForm = this.formBuilder.group({\r\n BusinessSelected: ['', ''],\r\n BusinessInfoSelected: ['1', ''],\r\n BusinessName: ['', [Validators.required,Validators.maxLength(100)]],\r\n Phone: ['', [\r\n Validators.required\r\n ]],\r\n FirstName: [null, ''],\r\n TollFree: [null, ''],\r\n Ext: [null, ''],\r\n AlternateContactExt: [null, ''],\r\n LastName: [null, ''],\r\n EMail: [null, ''],\r\n JobTitle: [null, ''],\r\n WebsiteURL: [null, ''],\r\n EmploymentSize: [null, ''],\r\n Residents: [null, ''],\r\n Address2: ['', [Validators.maxLength(60)]],\r\n CharityHHSVoucher: [null, ''],\r\n CommunityOutreach: [null, ''],\r\n City: ['', Validators.required],\r\n SeniorOutreach: [null, ''],\r\n Industry: ['', Validators.required],\r\n Others: [null, ''],\r\n Address1: ['', [Validators.required,Validators.maxLength(40)]],\r\n assignedStore: [null, ''],\r\n //County: [null, ''],\r\n ZipCode: ['', Validators.required],\r\n state: ['', Validators.required],\r\n ImmunizationProgram: [null, ''],\r\n SeniorOutReachStore: [null, ''],\r\n isCovidOpportunity: [null, ''],\r\n isFluOpportunity: [null, ''],\r\n covidOpportunityType: [null, Validators.required],\r\n fluOpportunityType: [null, ''],\r\n isNoContractOpportunity:[null, ''],\r\n ImmunizationProgramStore: [null, ''],\r\n pkhash: [null, ''],\r\n privateClinicFees:['8.50',''],\r\n targetPopulation: ['', ''],\r\n communityPartner: ['', ''],\r\n communityPartnerName: ['', ''],\r\n healthDeptInvolved: ['', ''],\r\n opportunityHostLocation: ['', ''],\r\n vaccineInventorySource: ['', ''],\r\n covidClinicType:['',''],\r\n LTCFType:['ALF',''],\r\n ccn:['',[Validators.maxLength(10)]],//,Validators.pattern('')\r\n notes:[null,''],\r\n AlternateFirstName:[null,''],\r\n AlternateLastName:[null,''],\r\n AlternatePhone:['',''],\r\n AlternateJobTitle:[null,''],\r\n AlternateEMail:[null,'']\r\n });\r\n\r\n this.isUserAdmin = this.CheckIfUserIsAdmin();\r\n\r\n //edit\r\n if (SessionDetails.GetActionType() == ActionType.editOportunity) {\r\n this.isShowAssignStore = true;\r\n this.isEdit = true;\r\n this.buttonName = \"Update\"\r\n this.AddBusinessView = false;\r\n\r\n let data = SessionDetails.GetopportunitiesData();\r\n if(\r\n (JSON.stringify(data.outreachEffort.IP).length > 2 \r\n || JSON.stringify(data.outreachEffort.SR).length > 2)\r\n && JSON.stringify(data.outreachEffort.PCA).length == 2\r\n ){\r\n this.isIPOrSR = true;\r\n\r\n if(JSON.stringify(data.outreachEffort.IP).length > 2){\r\n const statusTitle: string = data.outreachEffort.IP.outreachStatusTitle;\r\n if(statusTitle.toLowerCase() == \"no outreach\" \r\n || statusTitle.toLowerCase() == \"follow-up\"\r\n || statusTitle.toLowerCase() == \"no client interest\"\r\n ){\r\n this.canDisplayAutoInitiate = true;\r\n }\r\n }\r\n }\r\n\r\n this.business_name = data.businessName;\r\n if (data.businessPk != undefined && data.businessPk != null && data.businessPk != \"\") {\r\n this.onBusinessSelected(data.businessPk);\r\n this.businessPk= data.businessPk\r\n } else {\r\n this.displayNgMsg('error', 'Error', \"An error has occurred. Pleaase contact administrartor.\");\r\n return false;\r\n }\r\n this.BusinessInformation = this._AddBusinessService.getStoreBusinessInfo();\r\n \r\n }\r\n\r\n this.states = states;\r\n this.covidClinicTypeValues = covidClinicTypeValues;\r\n this.LTCFTypeValues = LTCFTypesValues;\r\n this.addBusinessForm.get('BusinessName').valueChanges.subscribe(val=>{this.isDNC = true;});\r\n\r\n this.user_profile = SessionDetails.GetUserProfile();\r\n if(environment.SuperAdmins.includes(this.user_profile.userName.toLowerCase())){\r\n this.isSuperAdmin = true;\r\n }\r\n }\r\n\r\n\r\n formControls() {\r\n this.addBusinessForm = this.formBuilder.group({\r\n BusinessSelected: ['', ''],\r\n BusinessName: ['', Validators.required],\r\n BusinessInfoSelected: ['1', ''],\r\n Phone: ['', [\r\n Validators.required\r\n ]],\r\n FirstName: [null, ''],\r\n EMail: [null, Validators.email],\r\n TollFree: [null, ''],\r\n Ext: [null, ''],\r\n AlternateContactExt: [null, ''],\r\n LastName: [null, ''],\r\n JobTitle: [null, ''],\r\n WebsiteURL: [null, ''],\r\n EmploymentSize: [null, ''],\r\n Residents: [null,''],\r\n Address2: [null, ''],\r\n CharityHHSVoucher: [null, ''],\r\n CommunityOutreach: [null, ''],\r\n City: [null, Validators.required],\r\n SeniorOutreach: [null, ''],\r\n Industry: [null, Validators.required],\r\n Others: [null, ''],\r\n Address1: [null, Validators.required],\r\n //County: [null, ''],\r\n ZipCode: [null, Validators.required],\r\n assignedStore: [null, Validators.required],\r\n //ZipCode4: ['', ''],\r\n state: [null, Validators.required],\r\n ImmunizationProgram: [null, ''],\r\n SeniorOutReachStore: [null, ''],\r\n isCovidOpportunity: [null, ''],\r\n isFluOpportunity: [null, ''],\r\n covidOpportunityType: [null, Validators.required],\r\n fluOpportunityType: [null, ''],\r\n isNoContractOpportunity:[null, ''],\r\n ImmunizationProgramStore: [null, ''],\r\n pkhash: [null, ''],\r\n privateClinicFees:['8.50',''],\r\n targetPopulation: ['', ''],\r\n communityPartner: ['', ''],\r\n communityPartnerName: ['', ''],\r\n healthDeptInvolved: ['', ''],\r\n opportunityHostLocation: ['', ''],\r\n vaccineInventorySource: ['', ''],\r\n covidClinicType:['',''],\r\n LTCFType:['ALF',''],\r\n ccn:['',[Validators.maxLength(10)]],//,Validators.pattern('/^[a-zA-Z0-9%*#@%]*$/')\r\n notes:[null,''],\r\n AlternateFirstName:[null,''],\r\n AlternateLastName:[null,''],\r\n AlternatePhone:[null,''],\r\n AlternateJobTitle:[null,''],\r\n AlternateEMail:[null,'']\r\n });\r\n }\r\n\r\n validateMaxLengths() : boolean {\r\n let maxLegthExceeded = false;\r\n if(this.addBusinessForm.controls['BusinessName'].value.length > 100)\r\n {\r\n this.businessNameLegthExceeded = true;\r\n maxLegthExceeded = true;\r\n } \r\n \r\n return maxLegthExceeded;\r\n }\r\n\r\n onAddEditBusinessSubmit() {\r\n this.validateControls();\r\n if(this.IndustryForLTCFCovidOpp.includes(this.addBusinessForm.controls['Industry'].value) \r\n && this.addBusinessForm.controls['covidOpportunityType'].value == '2'){\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = \"Based on the value entered into the Industry field, the COVID Designation should be LTCF COVID Opportunity. Please update your selection to add this opportunity.\";\r\n this.popupShow = true;\r\n return;\r\n }\r\n if (this.isEdit)\r\n this.EditBusiness();\r\n else\r\n this.AddBusiness();\r\n }\r\n\r\n isFieldValid(field: string) {\r\n return !this.addBusinessForm.get(field).valid && this.addBusinessForm.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n\r\n private selectedLink: any;\r\n setradio(e: any): void {\r\n this.selectedLink = e;\r\n }\r\n\r\n AddToStore() {\r\n this._AddBusinessService.AddToStore(this.selectedLink)\r\n .subscribe(res => {\r\n this.displayNgMsg('success', 'Opportunity Added', \"Opportunity added successfully to selected store...\")\r\n },\r\n error => this.displayNgMsg('error', 'Server Error', (error).toString())\r\n );\r\n }\r\n\r\n AddBusiness() {\r\n var store_id = SessionDetails.GetStoreId();\r\n var store_pk = SessionDetails.GetStorePk();\r\n\r\n if (!this.addBusinessForm.controls['ImmunizationProgram']?.value && !this.addBusinessForm.controls['SeniorOutreach']?.value) {\r\n this.addBusinessForm.controls['ImmunizationProgram']?.setErrors({ 'incorrect': true });\r\n this.addBusinessForm.controls['SeniorOutreach']?.setErrors({ 'incorrect': true });\r\n this.addBusinessForm.updateValueAndValidity();\r\n }\r\n else {\r\n this.addBusinessForm.controls['ImmunizationProgram']?.setErrors(null);\r\n this.addBusinessForm.controls['SeniorOutreach']?.setErrors(null);\r\n this.addBusinessForm.updateValueAndValidity();\r\n }\r\n\r\n if (!this.addBusinessForm.valid) {\r\n this.utility.validateAllFormFields(this.addBusinessForm);\r\n return;\r\n }\r\n if (this.validateMaxLengths()) {\r\n return;\r\n }\r\n else {\r\n if (!this.usPhoneNoRegEx.test(this.addBusinessForm.controls['Phone'].value)) {\r\n if (this.addBusinessForm.controls['Phone'].value && ((this.addBusinessForm.controls['Phone'].value).indexOf(\"X\") > -1)) {\r\n this.addBusinessForm.controls['Phone'].setValue(null);\r\n this.addBusinessForm.controls['Phone'].updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.addBusinessForm);\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = \"Mandatory fields are empty or have invalid entries. Please check the fields highlighted in red and enter or correct the information.\";\r\n this.popupShow = true;\r\n return false;\r\n }\r\n this.dialogSummary = \"Phone number error.\";\r\n this.dialogMsg = \"Invalid phone number. Please enter valid phone number in phone field.\";\r\n this.popupShow = true;\r\n return false;\r\n }\r\n // Commented as per Work Item# 1311 and 1310\r\n // if (this.addBusinessForm.controls['TollFree'].value!==\"\" && this.addBusinessForm.controls['TollFree'].value !== null \r\n // && this.addBusinessForm.controls['TollFree'].value !== undefined && !this.usPhoneNoRegEx.test(this.addBusinessForm.controls['TollFree'].value)) {\r\n // if (this.addBusinessForm.controls['TollFree'].value && ((this.addBusinessForm.controls['TollFree'].value).indexOf(\"X\") > -1)) {\r\n // this.addBusinessForm.controls['TollFree'].setValue(null);\r\n // this.addBusinessForm.controls['TollFree'].updateValueAndValidity();\r\n // this.utility.validateAllFormFields(this.addBusinessForm);\r\n // this.dialogSummary = \"Error\";\r\n // this.dialogMsg = \"Invalid toll free number. Please enter valid toll free number in toll free field.\"; \r\n // this.popupShow = true;\r\n // return false;\r\n // }\r\n // this.dialogSummary = \"Toll free number error.\";\r\n // this.dialogMsg = \"Invalid toll free number. Please enter valid toll free number in toll free field.\"; \r\n // this.popupShow = true;\r\n // return false;\r\n // }\r\n\r\n if (this.addBusinessForm.controls['covidOpportunityType'].value == null &&\r\n this.addBusinessForm.controls['fluOpportunityType'].value == null) {\r\n if (this.addBusinessForm.controls['ImmunizationProgram'].value == 1) {\r\n this.dialogSummary = \"Designation error\";\r\n this.dialogMsg = \"Please select an Outreach Program Designation.\";\r\n this.popupShow = true;\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n if (this.addBusinessForm.controls['EMail'].value) {\r\n if (!this.utility.validateEmail(this.addBusinessForm.controls['EMail'].value)) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"Please enter a valid Email\";\r\n this.popupShow = true;\r\n return;\r\n }\r\n }\r\n\r\n if (this.addBusinessForm.controls['AlternateEMail'].value) {\r\n if (!this.utility.validateEmail(this.addBusinessForm.controls['AlternateEMail'].value)) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"Please enter a valid Alternate Email\";\r\n this.popupShow = true;\r\n return;\r\n }\r\n }\r\n\r\n // this.utility.validateAllFormFields(this.addBusinessForm);\r\n if (this.addBusinessForm.controls['BusinessName'].value != \"\" && this.addBusinessForm.controls['Phone'].value != \"\" &&\r\n this.addBusinessForm.controls['Industry'].value != \"\" && this.addBusinessForm.controls['Address1'].value != \"\" &&\r\n this.addBusinessForm.controls['state'].value != \"\" && this.addBusinessForm.controls['City'].value != \"\" &&\r\n this.addBusinessForm.controls['ZipCode'].value != \"\") {\r\n let SeniorOutReach = this.addBusinessForm.controls['SeniorOutreach'].value;\r\n let ImmunizationProgram = this.addBusinessForm.controls['ImmunizationProgram'].value;\r\n if ((SeniorOutReach == false || SeniorOutReach == null) && (ImmunizationProgram == false || ImmunizationProgram == null)) {\r\n\r\n this.dialogSummary = \"Program Selection\";\r\n this.dialogMsg = \"Senior Outreach Program and/or Immunization Program should be selected to Add your Opportunity\";\r\n this.popupShow = true;\r\n return;\r\n }\r\n\r\n let address1: string = this.addBusinessForm.controls['Address1'].value;\r\n let address2: string = this.addBusinessForm.controls['Address2'].value;\r\n let address = (address1 + address2).trim().replace(/[\\[\\]().-]+/g, '');\r\n address = address.replace(/\\s/g, '');\r\n if (address.toLowerCase().includes(\"pobox\")) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"Addresses containing a P.O. Box are not allowed. Please enter a valid location address.\";\r\n this.popupShow = true;\r\n return;\r\n }\r\n\r\n if (this.addBusinessForm.controls['covidOpportunityType'].value == '1' && this.addBusinessForm.controls['ccn'].value &&\r\n !this.ccnRegEx.test(this.addBusinessForm.controls['ccn'].value)) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"CNN can only have combinition of Alphabets, Numbers or special characters\";\r\n this.popupShow = true;\r\n return;\r\n }\r\n\r\n let CharityHHSVoucher = this.addBusinessForm.controls['CharityHHSVoucher'].value;\r\n let CommunityOutreach = this.addBusinessForm.controls['CommunityOutreach'].value;\r\n\r\n if (((CharityHHSVoucher == true) || (CommunityOutreach == true)) && (ImmunizationProgram != true)) {\r\n let msg = \"\";\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"The Auto Initiate options are only available for the Immunization Program. Please include the Immunization Program in your Outreach Program selection or deselect the Auto Initiate option.\";\r\n this.popupShow = true;\r\n return;\r\n }\r\n var state = SessionDetails.GetState();\r\n\r\n this.outreachOpportunity.businessPk = -1;\r\n this.outreachOpportunity.address1 = this.addBusinessForm.controls['Address1'].value;\r\n this.outreachOpportunity.address2 = this.addBusinessForm.controls['Address2'].value;\r\n this.outreachOpportunity.businessName = this.addBusinessForm.controls['BusinessName'].value;\r\n this.outreachOpportunity.city = this.addBusinessForm.controls['City'].value;\r\n this.outreachOpportunity.email = this.addBusinessForm.controls['EMail'].value;\r\n this.outreachOpportunity.employmentSize = +this.addBusinessForm.controls['EmploymentSize'].value;\r\n this.outreachOpportunity.residents = this.addBusinessForm.controls['Residents'].value;\r\n this.outreachOpportunity.firstName = this.addBusinessForm.controls['FirstName'].value;\r\n this.outreachOpportunity.industry = this.addBusinessForm.controls['Industry'].value;\r\n this.outreachOpportunity.others = this.addBusinessForm.controls['Others']?.value ?? null;\r\n this.outreachOpportunity.jobTitle = this.addBusinessForm.controls['JobTitle'].value;\r\n this.outreachOpportunity.lastName = this.addBusinessForm.controls['LastName'].value;\r\n this.outreachOpportunity.phone = this.addBusinessForm.controls['Phone'].value;\r\n this.outreachOpportunity.state = this.addBusinessForm.controls['state'].value;\r\n //this.outreachOpportunity.tollFree = this.addBusinessForm.controls['TollFree'].value;\r\n this.outreachOpportunity.ext = this.addBusinessForm.controls['Ext'].value;\r\n this.outreachOpportunity.alternateContactExt = this.addBusinessForm.controls['AlternateContactExt'].value;\r\n this.outreachOpportunity.zipCode = this.addBusinessForm.controls['ZipCode'].value;\r\n this.outreachOpportunity.pkhash = this.addBusinessForm.controls['pkhash'].value;\r\n this.outreachOpportunity.covidOpportunityType = this.addBusinessForm.controls['covidOpportunityType'].value;\r\n this.outreachOpportunity.fluOpportunityType = this.addBusinessForm.controls['fluOpportunityType'].value;\r\n this.outreachOpportunity.covidClinicType = this.addBusinessForm.controls['covidClinicType'].value;\r\n this.outreachOpportunity.LTCFType = this.addBusinessForm.controls['LTCFType'].value;\r\n this.outreachOpportunity.ccn = this.addBusinessForm.controls['ccn'].value;\r\n this.outreachOpportunity.notes = this.addBusinessForm.controls['notes'].value;\r\n if (this.outreachOpportunity.covidOpportunityType === null || Number(this.outreachOpportunity.covidOpportunityType) === 0) {\r\n this.outreachOpportunity.covidOpportunityType = 0;\r\n }\r\n this.outreachOpportunity.addressMatchKey = \"\";\r\n this.outreachOpportunity.outreachBusinessPk = -1;\r\n this.outreachOpportunity.totalS = 0;\r\n this.outreachOpportunity.isScheduledClinics = 0;\r\n this.outreachOpportunity.privateClinicFees = this.addBusinessForm.controls['privateClinicFees'].value;\r\n this.outreachOpportunity.targetPopulation = this.addBusinessForm.controls['targetPopulation'].value;\r\n this.outreachOpportunity.communityPartner = this.addBusinessForm.controls['communityPartner'].value;\r\n this.outreachOpportunity.communityPartnerName = this.addBusinessForm.controls['communityPartnerName'].value;\r\n this.outreachOpportunity.healthDeptInvolved = this.addBusinessForm.controls['healthDeptInvolved'].value;\r\n this.outreachOpportunity.opportunityHostLocation = this.addBusinessForm.controls['opportunityHostLocation'].value;\r\n this.outreachOpportunity.vaccineInventorySource = this.addBusinessForm.controls['vaccineInventorySource'].value;\r\n this.outreachOpportunity.alternateFirstName = this.addBusinessForm.controls['AlternateFirstName'].value;\r\n this.outreachOpportunity.alternateLastName = this.addBusinessForm.controls['AlternateLastName'].value;\r\n this.outreachOpportunity.alternatePhone = this.addBusinessForm.controls['AlternatePhone'].value;\r\n this.outreachOpportunity.alternateJobTitle = this.addBusinessForm.controls['AlternateJobTitle'].value;\r\n this.outreachOpportunity.alternateEMail = this.addBusinessForm.controls['AlternateEMail'].value;\r\n\r\n this.outreachOpportunity.outreachEffortList = [];\r\n if (this.addBusinessForm.controls['SeniorOutreach'].value) {\r\n var outreachEffort = new OutreachEffortList();\r\n outreachEffort.outreachBusinessPk = -1;\r\n outreachEffort.outreachProgram = \"SR\";\r\n outreachEffort.storeId = store_id;\r\n outreachEffort.storePk = store_pk;\r\n outreachEffort.existingStoreId = -1\r\n outreachEffort.isCommunityInitiated = 0; // this.addBusinessForm.controls['CommunityOutreach'].value ? 1 : 0;\r\n outreachEffort.isCharityInitiated = 0; //this.addBusinessForm.controls['CharityHHSVoucher'].value ? 1 : 0;\r\n this.outreachOpportunity.outreachEffortList.push(outreachEffort);\r\n }\r\n if (this.addBusinessForm.controls['ImmunizationProgram'].value) {\r\n var outreachEffort = new OutreachEffortList();\r\n outreachEffort.outreachBusinessPk = -1;\r\n outreachEffort.outreachProgram = \"IP\";\r\n outreachEffort.storeId = store_id;\r\n outreachEffort.storePk = store_pk;\r\n outreachEffort.existingStoreId = -1;\r\n outreachEffort.isCommunityInitiated = this.addBusinessForm.controls['CommunityOutreach'].value ? 1 : 0;\r\n outreachEffort.isCharityInitiated = this.addBusinessForm.controls['CharityHHSVoucher'].value ? 1 : 0;\r\n this.outreachOpportunity.outreachEffortList.push(outreachEffort);\r\n this.outreachOpportunity.isCovidOpportunity = this.addBusinessForm.controls['isCovidOpportunity'].value && Number(this.addBusinessForm.controls['covidOpportunityType'].value) != 3 ? true : false;\r\n this.outreachOpportunity.isFluOpportunity = this.addBusinessForm.controls['isFluOpportunity'].value && (Number(this.addBusinessForm.controls['fluOpportunityType'].value) == 3 || Number(this.addBusinessForm.controls['fluOpportunityType'].value) == 0) ? true : false;\r\n this.outreachOpportunity.isNoContractOpportunity = this.addBusinessForm.controls['isNoContractOpportunity'].value ? true : false;\r\n this.outreachOpportunity.privateClinicFees = this.addBusinessForm.controls['privateClinicFees'].value;\r\n }\r\n\r\n // Check for duplicate Opportunity \r\n var duplicateAddress = new DuplicateBusiness();\r\n duplicateAddress.totalRecs = 0;\r\n duplicateAddress.totalS = 0;\r\n duplicateAddress.primaryAddress.storeId = store_id;\r\n duplicateAddress.primaryAddress.businessPk = -1;\r\n duplicateAddress.primaryAddress.businessName = this.addBusinessForm.controls['BusinessName'].value;\r\n duplicateAddress.primaryAddress.outreachPk = -1;\r\n duplicateAddress.primaryAddress.phone = this.addBusinessForm.controls['Phone'].value;\r\n duplicateAddress.primaryAddress.address1 = this.addBusinessForm.controls['Address1'].value;\r\n duplicateAddress.primaryAddress.address2 = this.addBusinessForm.controls['Address2'].value;\r\n duplicateAddress.primaryAddress.city = this.addBusinessForm.controls['City'].value;\r\n duplicateAddress.primaryAddress.state = this.addBusinessForm.controls['state'].value;\r\n duplicateAddress.primaryAddress.zipCode = this.addBusinessForm.controls['ZipCode'].value;\r\n // this.addBusiness(this.outreachOpportunity, this.userProfile.userPk);\r\n if (state != this.addBusinessForm.controls['state'].value) {\r\n // this.confirmState(duplicateAddress);\r\n this.dialogSummary = 'Alert';\r\n this.dialogMsg = 'The store you are assigning this opportunity to is in a different state than the opportunity’s location.';\r\n this.diffStateOverridePopupShow = true;\r\n }\r\n else {\r\n this.addBusiness(this.outreachOpportunity, this.userProfile.userPk);\r\n }\r\n\r\n }\r\n }\r\n confirmState(duplicateAddress) {\r\n this.confirmationService.confirm({\r\n message: 'The store you are assigning this opportunity to is in a different state than the opportunity’s location.',\r\n header: 'Store Assignment',\r\n accept: () => {\r\n\r\n this.addBusiness(this.outreachOpportunity, this.userProfile.userPk);\r\n },\r\n reject: () => {\r\n return;\r\n }\r\n });\r\n }\r\n\r\n checkDNC(businessName, outreachOpportunity, userPk) {\r\n //Gets Do Not Call Clients\r\n this._opportunityService.getNationalContractClients().subscribe((res:any) => {\r\n\r\n var data = res.filter(item => item.clientName === businessName);\r\n\r\n if (data.length > 0) {\r\n this.displayDNC = true;\r\n\r\n }\r\n else {\r\n this.addBusiness(outreachOpportunity, userPk);\r\n }\r\n\r\n });\r\n }\r\n\r\n DNCClick() {\r\n this.displayDNC = false;\r\n }\r\n overrideDNCAdd() {\r\n this.displayDNC = false;\r\n this.isDNC = false;\r\n this.outreachOpportunity.isCheckDnc = 0;\r\n this.addBusiness(this.outreachOpportunity, this.userProfile.userPk)\r\n }\r\n addBusiness(outreachOpportunity, userPk) {\r\n //this._AddBusinessService.saveStoreBusiness(this.addBusinessForm.value).subscribe(res => {\r\n this.disable_button = true;\r\n this._AddBusinessService.addOpportunity(outreachOpportunity, userPk, this.isDNC, this.isOverrideDupCheck).subscribe(res => {\r\n this.disable_button = false;\r\n this.businessData = res;\r\n if (res.errorS == null && res.businessPk > 0) {\r\n this.dialogSummary = \"Opportunity\";\r\n this.dialogMsg = \"Opportunity Added successfully.\";\r\n this.popupSuccessShow = true;\r\n }\r\n else if (res.errorS.errorCode == \"1\") {\r\n this.dialogSummary = \"DUPLICATE WARNING\";\r\n this.dialogMsg = String.format('There is already an opportunity assigned to a Walgreens store with the same {0}. To eliminate duplicate outreach activity, this opportunity will not be added to your contacts. Go to this opportunity’s Clinic Details to add additional clinic dates or to amend a contract, If additional vaccines or payment methods are required for the clinic.', res.errorS.errorMessage); \r\n if(this.userProfile.isAdmin){\r\n this.overridePopupShow = true;\r\n }\r\n else\r\n {\r\n this.duplicateErrorPopUp = true;\r\n }\r\n }\r\n\r\n else if (res.errorS.errorCode == \"-2\") {\r\n this.dialogSummary = \"Opportunity matches DNC Client\";\r\n this.dialogMsg = this.dncText;\r\n this.updatePopupShow = true;\r\n }\r\n else if (res.errorS.errorCode == \"-3\") {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = res.errorS.errorMessage;\r\n this.popupShow = true;\r\n }\r\n else if (res.errorS.errorCode == \"-4\") {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = res.errorS.errorMessage;\r\n this.overridePopupShow = true;\r\n }\r\n else if (res.errorS.errorCode == \"-5\") {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = res.errorS.errorMessage;\r\n this.overridePopupShow = true;\r\n }\r\n else if (res.errorS.errorCode == \"-6\") {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = res.errorS.errorMessage;\r\n this.popupShow = true;\r\n }\r\n else if (res.errorS.errorCode == \"-7\") {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = res.errorS.errorMessage;\r\n this.popupShow = true;\r\n }\r\n else if (res.errorS.errorCode == \"-8\") {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = res.errorS.errorMessage;\r\n this.logExistsPopupShow = true;\r\n }\r\n else {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = res.errorS.errorMessage;\r\n this.popupShow = true;\r\n }\r\n },\r\n error => {\r\n this.disable_button = false;\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = \"Server Error\";\r\n this.popupShow = true;\r\n }\r\n //this.displayNgMsg('error', 'Server Error', (error).toString())\r\n );\r\n }\r\n Cancel() {\r\n this.prouter.navigate(['/communityoutreach/storehome']);\r\n }\r\n\r\n confirm() {\r\n this.confirmationService.confirm({\r\n message: 'The store you are assigning this opportunity to is in a different state than the opportunity’s location.?',\r\n header: 'Confirmation',\r\n icon: 'fa fa-question-circle',\r\n accept: () => {\r\n this._AddBusinessService.updateStoreBusiness(this.addBusinessForm.value);\r\n this.displayNgMsg('success', 'Opportunity Update', \"Opportunity updated successfully\");\r\n },\r\n reject: () => {\r\n return;\r\n }\r\n });\r\n }\r\n isBusinessStateStoreStateDiff(BusinessId: Number, selectedState: string): Boolean {\r\n\r\n return false;\r\n }\r\n\r\n format() {\r\n if (this.addBusinessForm.value.Phone != undefined) {\r\n this.phoneValue = Util.telephoneNumberFormat(this.addBusinessForm.value.Phone);\r\n }\r\n }\r\n //Edit Opportunity related changes\r\n onBusinessSelected(businessId) {\r\n this._AddBusinessService.getStoreBusinessDetails(businessId).subscribe((res:any) => {\r\n this.outreachOpportunity = res;\r\n let edit_business_data = this.outreachOpportunity;\r\n this.pkhash=edit_business_data.pkhash;\r\n this.addBusinessForm.controls['Address1'].setValue(edit_business_data.address1);\r\n this.addBusinessForm.controls['Address2'].setValue(edit_business_data.address2);\r\n this.addBusinessForm.controls['BusinessName'].setValue(edit_business_data.businessName);\r\n this.addBusinessForm.controls['City'].setValue(edit_business_data.city);\r\n this.addBusinessForm.controls['EMail'].setValue(edit_business_data.email);\r\n this.addBusinessForm.controls['EmploymentSize'].setValue(edit_business_data.employmentSize == null ? null : edit_business_data.employmentSize);\r\n this.addBusinessForm.controls['Residents'].setValue(edit_business_data.residents == null ? null : edit_business_data.residents);\r\n this.addBusinessForm.controls['FirstName'].setValue(edit_business_data.firstName);\r\n this.addBusinessForm.controls['JobTitle'].setValue(edit_business_data.jobTitle);\r\n this.addBusinessForm.controls['LastName'].setValue(edit_business_data.lastName);\r\n this.addBusinessForm.controls['Phone'].setValue(edit_business_data.phone);\r\n this.addBusinessForm.controls['state'].setValue(edit_business_data.state);\r\n //this.addBusinessForm.controls['TollFree'].setValue(edit_business_data.tollFree);\r\n this.addBusinessForm.controls['ZipCode'].setValue(edit_business_data.zipCode);\r\n this.addBusinessForm.controls['pkhash'].setValue(edit_business_data.pkhash);\r\n this.addBusinessForm.controls['covidOpportunityType'].setValue(edit_business_data.covidOpportunityType);\r\n this.addBusinessForm.controls['fluOpportunityType'].setValue(edit_business_data.fluOpportunityType);\r\n this.addBusinessForm.controls['covidClinicType'].setValue(edit_business_data.covidClinicType);\r\n this.addBusinessForm.controls['LTCFType'].setValue(edit_business_data.LTCFType);\r\n this.addBusinessForm.controls['ccn'].setValue(edit_business_data.ccn);\r\n if(edit_business_data.covidOpportunityType=== null || Number(edit_business_data.covidOpportunityType=== 0)){\r\n this.addBusinessForm.controls['covidOpportunityType'].setValue('0');\r\n }\r\n this.addBusinessForm.controls['privateClinicFees'].setValue(edit_business_data.privateClinicFees);\r\n this.addBusinessForm.controls['targetPopulation'].setValue(edit_business_data.targetPopulation);\r\n this.addBusinessForm.controls['communityPartner'].setValue(edit_business_data.communityPartner == null ? '' : edit_business_data.communityPartner);\r\n this.addBusinessForm.controls['communityPartnerName'].setValue(edit_business_data.communityPartnerName);\r\n this.addBusinessForm.controls['healthDeptInvolved'].setValue(edit_business_data.healthDeptInvolved);\r\n this.addBusinessForm.controls['opportunityHostLocation'].setValue(edit_business_data.opportunityHostLocation);\r\n this.addBusinessForm.controls['vaccineInventorySource'].setValue(edit_business_data.vaccineInventorySource);\r\n this.addBusinessForm.controls['notes'].setValue(edit_business_data.notes);\r\n this.addBusinessForm.controls['AlternateFirstName'].setValue(edit_business_data.alternateFirstName);\r\n this.addBusinessForm.controls['AlternateLastName'].setValue(edit_business_data.alternateLastName);\r\n this.addBusinessForm.controls['AlternatePhone'].setValue(edit_business_data.alternatePhone);\r\n this.addBusinessForm.controls['AlternateJobTitle'].setValue(edit_business_data.alternateJobTitle);\r\n this.addBusinessForm.controls['AlternateEMail'].setValue(edit_business_data.alternateEMail);\r\n this.addBusinessForm.controls['Ext'].setValue(edit_business_data.ext);\r\n this.addBusinessForm.controls['AlternateContactExt'].setValue(edit_business_data.alternateContactExt);\r\n this.currentStateCode = edit_business_data.state;\r\n this.businessType = res.businessType;\r\n this.hasAlternateContactData();\r\n if (edit_business_data.outreachEffortList.length >= 1) {\r\n if (edit_business_data.outreachEffortList[0].outreachProgram == \"SR\") {\r\n this.addBusinessForm.controls['SeniorOutreach'].setValue(true);\r\n this.addBusinessForm.controls['assignedStore'].setValue(edit_business_data.outreachEffortList[0].storeId);\r\n if (!this.userProfile.isAdmin && this.isEdit) {\r\n this.isSeniorOutreach = true;\r\n\r\n }\r\n if (edit_business_data.outreachEffortList[0].isCommunityInitiated || edit_business_data.outreachEffortList[0].isCharityInitiated) {\r\n this.isCommunityCharity = true;\r\n }\r\n else {\r\n this.isCharityCommunityNew = true;\r\n }\r\n this.srProgramCheck = true;\r\n // this.ipProgramCheck=true;\r\n this.assignedStoreValue = edit_business_data.outreachEffortList[0].storeId;\r\n }\r\n this.enableDisableCovidOption = false;\r\n if (edit_business_data.outreachEffortList[0].outreachProgram == \"IP\") {\r\n this.addBusinessForm.controls['ImmunizationProgram'].setValue(true);\r\n edit_business_data.isCovidOpportunity ? this.addBusinessForm.controls['isCovidOpportunity'].setValue(edit_business_data.isCovidOpportunity):this.addBusinessForm.controls['isCovidOpportunity'].setValue(null);\r\n edit_business_data.isFluOpportunity ? this.addBusinessForm.controls['isFluOpportunity'].setValue(edit_business_data.isFluOpportunity):this.addBusinessForm.controls['isFluOpportunity'].setValue(null);\r\n edit_business_data.isNoContractOpportunity ? this.addBusinessForm.controls['isNoContractOpportunity'].setValue(edit_business_data.isNoContractOpportunity):this.addBusinessForm.controls['isNoContractOpportunity'].setValue(null);\r\n this.addBusinessForm.controls['assignedStore'].setValue(edit_business_data.outreachEffortList[0].storeId);\r\n this.addBusinessForm.controls['CommunityOutreach'].setValue(edit_business_data.outreachEffortList[0].isCommunityInitiated);\r\n this.addBusinessForm.controls['CharityHHSVoucher'].setValue(edit_business_data.outreachEffortList[0].isCharityInitiated);\r\n this.outreachOpportunity.outreachEffortList[0].isCharityInitiated = edit_business_data.outreachEffortList[0].isCharityInitiated;\r\n this.outreachOpportunity.outreachEffortList[0].isCommunityInitiated = edit_business_data.outreachEffortList[0].isCommunityInitiated;\r\n\r\n if (edit_business_data.outreachEffortList[0].isCommunityInitiated || edit_business_data.outreachEffortList[0].isCharityInitiated) {\r\n this.isCommunityCharity = true;\r\n }\r\n else {\r\n this.isCharityCommunityNew = true;\r\n }\r\n this.enableDisableCovidOption = true;\r\n if (!this.userProfile.isAdmin && this.isEdit) {\r\n this.isImmunizationProgram = true;\r\n this.enableDisableCovidOption = true;\r\n }\r\n this.ipProgramCheck = true;\r\n this.assignedStoreValue = edit_business_data.outreachEffortList[0].storeId;\r\n\r\n if (this.outreachOpportunity.isScheduledClinics) {\r\n this.isImmunizationProgram = true;\r\n this.enableDisableCovidOption = false;\r\n }\r\n\r\n if(!this.outreachOpportunity.isCovidOpportunity)\r\n {\r\n this.enableDisableCovidOption = true;\r\n }\r\n }\r\n }\r\n if (edit_business_data.outreachEffortList.length > 1) {\r\n if (edit_business_data.outreachEffortList[1].outreachProgram == \"IP\") {\r\n\r\n this.addBusinessForm.controls['ImmunizationProgram'].setValue(true);\r\n this.addBusinessForm.controls['assignedStore'].setValue(edit_business_data.outreachEffortList[1].storeId);\r\n this.addBusinessForm.controls['CommunityOutreach'].setValue(edit_business_data.outreachEffortList[1].isCommunityInitiated);\r\n this.addBusinessForm.controls['CharityHHSVoucher'].setValue(edit_business_data.outreachEffortList[1].isCharityInitiated);\r\n this.outreachOpportunity.outreachEffortList[1].isCharityInitiated = edit_business_data.outreachEffortList[1].isCharityInitiated;\r\n this.outreachOpportunity.outreachEffortList[1].isCommunityInitiated = edit_business_data.outreachEffortList[1].isCommunityInitiated;\r\n this.assignedStoreValue = edit_business_data.outreachEffortList[1].storeId;\r\n edit_business_data.isCovidOpportunity ? this.addBusinessForm.controls['isCovidOpportunity'].setValue(edit_business_data.isCovidOpportunity):this.addBusinessForm.controls['isCovidOpportunity'].setValue(null);\r\n edit_business_data.isFluOpportunity ? this.addBusinessForm.controls['isFluOpportunity'].setValue(edit_business_data.isFluOpportunity):this.addBusinessForm.controls['isFluOpportunity'].setValue(null);\r\n edit_business_data.isNoContractOpportunity ? this.addBusinessForm.controls['isNoContractOpportunity'].setValue(edit_business_data.isNoContractOpportunity):this.addBusinessForm.controls['isNoContractOpportunity'].setValue(null);\r\n\r\n if (edit_business_data.outreachEffortList[1].isCommunityInitiated || edit_business_data.outreachEffortList[1].isCharityInitiated) {\r\n this.isCommunityCharity = true;\r\n }\r\n else {\r\n this.isCharityCommunityNew = true;\r\n }\r\n if (!this.userProfile.isAdmin && this.isEdit) {\r\n this.isImmunizationProgram = true;\r\n }\r\n\r\n this.ipProgramCheck = true;\r\n this.enableDisableCovidOption = true;\r\n if (this.outreachOpportunity.isScheduledClinics) {\r\n this.isImmunizationProgram = true;\r\n this.enableDisableCovidOption = false;\r\n }\r\n \r\n if(!this.outreachOpportunity.isCovidOpportunity)\r\n {\r\n this.enableDisableCovidOption = true;\r\n }\r\n\r\n }\r\n if (edit_business_data.outreachEffortList[1].outreachProgram == \"SR\") {\r\n\r\n this.addBusinessForm.controls['SeniorOutreach'].setValue(true);\r\n this.addBusinessForm.controls['assignedStore'].setValue(edit_business_data.outreachEffortList[1].storeId);\r\n this.outreachOpportunity.outreachEffortList[1].isCharityInitiated = edit_business_data.outreachEffortList[1].isCharityInitiated;\r\n this.outreachOpportunity.outreachEffortList[1].isCommunityInitiated = edit_business_data.outreachEffortList[1].isCommunityInitiated;\r\n this.assignedStoreValue = edit_business_data.outreachEffortList[1].storeId;\r\n\r\n if (edit_business_data.outreachEffortList[1].isCommunityInitiated || edit_business_data.outreachEffortList[1].isCharityInitiated) {\r\n this.isCommunityCharity = true;\r\n }\r\n else {\r\n this.isCharityCommunityNew = true;\r\n }\r\n\r\n if (!this.userProfile.isAdmin && this.isEdit) {\r\n this.isSeniorOutreach = true;\r\n\r\n }\r\n this.srProgramCheck = true;\r\n }\r\n }\r\n // 792 Fix\r\n // if(!this.isAdmin && this.isEdit && edit_business_data.covidOpportunityType == 1){\r\n // this.disableStandard = true;\r\n // }\r\n if(!this.isAdmin && this.isEdit && this.outreachOpportunity.isScheduledClinics){\r\n this.disableFluLTCFFlu = true;\r\n }\r\n this.noContract = !this.addBusinessForm.controls['ImmunizationProgram'].value;\r\n if(this.isAdmin){\r\n this.noContract = false;\r\n }\r\n else {\r\n this.noContract = true;\r\n }\r\n // 792 fix\r\n // this.enableDisableCovidOption = edit_business_data.outreachEffortList.filter(item=>item.outreachProgram==\"IP\").length>0 && !this.outreachOpportunity.isScheduledClinics && this.isAdmin?null:false;\r\n this.isCommunityCharity = this.enableDisableCovidOption==null||this.enableDisableCovidOption== false?false:true;\r\n\r\n // Verify UserEmail this.loginUserEmailId \r\n if(( this.loginUserEmailId.toLowerCase()=='jerry.v.thomas@walgreens.com' ||\r\n this.loginUserEmailId.toLowerCase()=='eli.zaguri@walgreens.com' ||\r\n this.loginUserEmailId.toLowerCase()=='tyrone.clark@walgreens.com' ||\r\n this.loginUserEmailId.toLowerCase()=='maili.dellinger@walgreens.com' ||\r\n this.loginUserEmailId.toLowerCase()=='csmith@tribpub.com' ) && this.outreachOpportunity.isScheduledClinics)\r\n {\r\n this.enableDisableCovidOption =true;\r\n }\r\n //if covidOpportunityType is 1 i.e. LTCF opportunity\r\n if (edit_business_data.covidOpportunityType === 1) {\r\n this.industries = this.ltcfOpportunityIndustries;\r\n \r\n if(this.covidClinicTypeValues?.findIndex(type => type?.name?.toLocaleLowerCase() === 'ltcf') == -1){\r\n this.covidClinicTypeValues.push({\r\n id: 'LTCF',\r\n name: 'LTCF'\r\n });\r\n }\r\n\r\n if(this.addBusinessForm.controls['covidClinicType'].value.toLowerCase() != 'ltcf'){\r\n this.addBusinessForm.controls['covidClinicType'].setValue('LTCF');\r\n }\r\n\r\n }\r\n //else if covidOpportunityType is 2 i.e. Standard opportunity\r\n else if (edit_business_data.covidOpportunityType === 2) {\r\n this.industries = this.standardOpportunityIndustries;\r\n\r\n const ltcfClinicTypeIndex = this.covidClinicTypeValues?.findIndex(type => type.name.toLocaleLowerCase() === 'ltcf');\r\n\r\n if(ltcfClinicTypeIndex !== -1){\r\n this.covidClinicTypeValues?.splice(ltcfClinicTypeIndex, 1);\r\n \r\n if(!this.covidClinicTypeValues?.some(type => type.name.toLocaleLowerCase() === 'other senior housing')){\r\n this.covidClinicTypeValues.push({\r\n id: 'Other senior housing',\r\n name: 'Other senior housing'\r\n });\r\n }\r\n }\r\n }\r\n\r\n if(edit_business_data?.industry?.length){\r\n this.canDisplayIndustries = true;\r\n this.addBusinessForm.controls['Industry'].setValue(edit_business_data.industry);\r\n }\r\n\r\n if(edit_business_data?.industry?.toLocaleLowerCase() === 'other' && edit_business_data?.others?.length){\r\n this.canDisplayOtherTextboxForIndustries = true;\r\n this.addBusinessForm.controls['Others'].setValue(edit_business_data.others);\r\n }\r\n });\r\n\r\n }\r\n onCharityHHSVoucherChange() {\r\n\r\n if (this.addBusinessForm.controls['CommunityOutreach'].enabled && this.addBusinessForm.controls['CharityHHSVoucher'].enabled) {\r\n if (this.addBusinessForm.controls['CommunityOutreach'].value == true) {\r\n this.dialogSummary = \"Program\";\r\n this.dialogMsg = \"Community Outreach already selected, you cannot select both programs.\";\r\n this.popupShow = true;\r\n\r\n this.addBusinessForm.controls['CharityHHSVoucher'].setValue(false);\r\n return;\r\n }\r\n }\r\n else {\r\n this.addBusinessForm.controls['CharityHHSVoucher'].setValue(this.addBusinessForm.controls['CharityHHSVoucher'].enabled);\r\n }\r\n\r\n if (this.isEdit && this.outreachOpportunity.outreachEffortList.length == 1) {\r\n if (this.outreachOpportunity.outreachEffortList[0].outreachProgram == \"IP\" && this.outreachOpportunity.outreachEffortList[0].isCharityInitiated == false && this.outreachOpportunity.outreachEffortList[0].isCommunityInitiated == false) {\r\n this.isCheckContractInitiatedCharity = true;\r\n }\r\n\r\n }\r\n\r\n if (this.isEdit && this.outreachOpportunity.outreachEffortList.length > 1) {\r\n if (this.outreachOpportunity.outreachEffortList[1].outreachProgram == \"IP\" && this.outreachOpportunity.outreachEffortList[1].isCharityInitiated == false && this.outreachOpportunity.outreachEffortList[1].isCommunityInitiated == false) {\r\n this.isCheckContractInitiatedCharity = true;\r\n }\r\n }\r\n }\r\n onCommunityOutreachChange() {\r\n if (this.addBusinessForm.controls['CommunityOutreach'].enabled && this.addBusinessForm.controls['CharityHHSVoucher'].enabled) {\r\n if (this.addBusinessForm.controls['CharityHHSVoucher'].value == true) {\r\n this.dialogSummary = \"Program\";\r\n this.dialogMsg = \"Charity (WAG Free Flu Voucher) already selected, you cannot select both programs.\";\r\n this.popupShow = true;\r\n this.addBusinessForm.controls['CommunityOutreach'].setValue(false);\r\n }\r\n }\r\n else {\r\n this.addBusinessForm.controls['CommunityOutreach'].setValue(this.addBusinessForm.controls['CommunityOutreach'].enabled);\r\n }\r\n\r\n if (this.isEdit && this.outreachOpportunity.outreachEffortList.length == 1) {\r\n if (this.outreachOpportunity.outreachEffortList[0].outreachProgram == \"IP\" && this.outreachOpportunity.outreachEffortList[0].isCharityInitiated == false && this.outreachOpportunity.outreachEffortList[0].isCommunityInitiated == false) {\r\n this.isCheckContractInitiatedCommunity = true;\r\n }\r\n\r\n }\r\n\r\n if (this.isEdit && this.outreachOpportunity.outreachEffortList.length > 1) {\r\n if (this.outreachOpportunity.outreachEffortList[1].outreachProgram == \"IP\" && this.outreachOpportunity.outreachEffortList[1].isCharityInitiated == false && this.outreachOpportunity.outreachEffortList[1].isCommunityInitiated == false) {\r\n this.isCheckContractInitiatedCommunity = true;\r\n }\r\n }\r\n }\r\n\r\n CheckIfUserIsAdmin(): Boolean {\r\n return true;\r\n }\r\n\r\n EditBusiness() {\r\n var store_id = SessionDetails.GetStoreId();\r\n var store_pk = SessionDetails.GetStorePk();\r\n\r\n if (!this.addBusinessForm.controls['ImmunizationProgram']?.value && !this.addBusinessForm.controls['SeniorOutreach']?.value) {\r\n this.addBusinessForm.controls['ImmunizationProgram']?.setErrors({ 'incorrect': true });\r\n this.addBusinessForm.controls['SeniorOutreach']?.setErrors({ 'incorrect': true });\r\n this.addBusinessForm.updateValueAndValidity();\r\n }\r\n else {\r\n this.addBusinessForm.controls['ImmunizationProgram']?.setErrors(null);\r\n this.addBusinessForm.controls['SeniorOutreach']?.setErrors(null);\r\n this.addBusinessForm.updateValueAndValidity();\r\n }\r\n\r\n if (!this.addBusinessForm.valid) {\r\n this.utility.validateAllFormFields(this.addBusinessForm);\r\n return;\r\n }\r\n if (this.validateMaxLengths()) {\r\n return;\r\n }\r\n else {\r\n if (!this.usPhoneNoRegEx.test(this.addBusinessForm.controls['Phone'].value)) {\r\n if (((this.addBusinessForm.controls['Phone'].value).indexOf(\"X\") > -1)) {\r\n this.addBusinessForm.controls['Phone'].setValue(null);\r\n this.addBusinessForm.controls['Phone'].updateValueAndValidity();\r\n this.utility.validateAllFormFields(this.addBusinessForm);\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = \"Mandatory fields are empty or have invalid entries. Please check the fields highlighted in red and enter or correct the information.\";\r\n this.popupShow = true;\r\n return false;\r\n }\r\n this.dialogSummary = \"Phone number error.\";\r\n this.dialogMsg = \"Invalid phone number. Please enter valid phone number in phone field.\";\r\n this.popupShow = true;\r\n return false;\r\n }\r\n }\r\n \r\n if (this.addBusinessForm.controls['EMail'].value) {\r\n if (!this.utility.validateEmail(this.addBusinessForm.controls['EMail'].value)) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"Please enter a valid Email\";\r\n this.popupShow = true;\r\n return;\r\n }\r\n }\r\n\r\n if (this.addBusinessForm.controls['AlternateEMail'].value) {\r\n if (!this.utility.validateEmail(this.addBusinessForm.controls['AlternateEMail'].value)) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"Please enter a valid Alternate Email\";\r\n this.popupShow = true;\r\n return;\r\n }\r\n }\r\n\r\n if (this.addBusinessForm.controls['covidOpportunityType'].value == '1' && this.addBusinessForm.controls['ccn'].value &&\r\n !this.ccnRegEx.test(this.addBusinessForm.controls['ccn'].value)) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"CNN can only have combinition of Alphabets, Numbers or special characters\";\r\n this.popupShow = true;\r\n return;\r\n }\r\n\r\n // if (this.addBusinessForm.controls['TollFree'].value!==\"\"&&this.addBusinessForm.controls['TollFree'].value!==null&&this.addBusinessForm.controls['TollFree'].value!==undefined &&!this.usPhoneNoRegEx.test(this.addBusinessForm.controls['TollFree'].value)) {\r\n // if (this.addBusinessForm.controls['TollFree'].value&&((this.addBusinessForm.controls['TollFree'].value).indexOf(\"X\") > -1)) {\r\n // this.addBusinessForm.controls['TollFree'].setValue(null);\r\n // this.addBusinessForm.controls['TollFree'].updateValueAndValidity();\r\n // this.utility.validateAllFormFields(this.addBusinessForm);\r\n // this.dialogSummary = \"Error\";\r\n // this.dialogMsg = \"Invalid toll free number. Please enter valid toll free number in toll free field.\"; \r\n // this.popupShow = true;\r\n // return ;\r\n // }\r\n // this.dialogSummary = \"Toll free number error.\";\r\n // this.dialogMsg = \"Invalid toll free number. Please enter valid toll free number in toll free field.\"; \r\n // this.popupShow = true;\r\n // return ;\r\n // }\r\n\r\n if (this.addBusinessForm.controls['BusinessName'].value != \"\" && this.addBusinessForm.controls['Phone'].value != \"\" &&\r\n this.addBusinessForm.controls['Industry'].value != \"\" && this.addBusinessForm.controls['Address1'].value != \"\" &&\r\n this.addBusinessForm.controls['state'].value != \"\" && this.addBusinessForm.controls['City'].value != \"\" &&\r\n this.addBusinessForm.controls['ZipCode'].value != \"\") {\r\n if (!this.business_info) {\r\n this.utility.validateAllFormFields(this.addBusinessForm);\r\n\r\n }\r\n\r\n let SeniorOutReach = this.addBusinessForm.controls['SeniorOutreach'].value;\r\n let ImmunizationProgram = this.addBusinessForm.controls['ImmunizationProgram'].value;\r\n let store = this.addBusinessForm.controls['assignedStore'].value;\r\n\r\n if (SeniorOutReach == true && (store == null || store == \"\")) {\r\n\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"Please enter the store id for Outreach Program.\";\r\n this.popupShow = true;\r\n return;\r\n }\r\n else if (ImmunizationProgram == true && (store == null || store == \"\")) {\r\n\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"Please enter the store id for Outreach Program.\";\r\n this.popupShow = true;\r\n return;\r\n }\r\n var state = SessionDetails.GetState();\r\n if ((state == \"DC\") && this.outreachOpportunity.outreachEffortList.length >= 1 && this.userProfile.userRole.toLowerCase() != \"healthcare supervisor\") {\r\n var srList = this.outreachOpportunity.outreachEffortList.filter(f => f.outreachProgram == \"SR\");\r\n var ipList = this.outreachOpportunity.outreachEffortList.filter(f => f.outreachProgram == \"IP\");\r\n if (srList.length >= 1 && ipList.length <= 0 && ImmunizationProgram) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = state == \"DC\" ? String.Format(ErrorMessages['restrictedStates'], \"Columbia \", \"15\") : String.Format(ErrorMessages['restrictedStates'], \"Missouri \", \"20\")\r\n this.popupShow = true;\r\n return;\r\n }\r\n }\r\n let CharityHHSVoucher = this.addBusinessForm.controls['CharityHHSVoucher'].value;\r\n let CommunityOutreach = this.addBusinessForm.controls['CommunityOutreach'].value;\r\n\r\n if (((CharityHHSVoucher == true) || (CommunityOutreach == true)) && (ImmunizationProgram != true)) {\r\n let msg = \"\";\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"The Auto Initiate options are only available for the Immunization Program. Please include the Immunization Program in your Outreach Program selection or deselect the Auto Initiate option.\";\r\n this.popupShow = true;\r\n return;\r\n }\r\n let address1: string = this.addBusinessForm.controls['Address1'].value;\r\n let address2: string = this.addBusinessForm.controls['Address2'].value;\r\n let address = (address1 + address2).trim().replace(/[\\[\\]().-]+/g, '');\r\n address = address.replace(/\\s/g, '');\r\n if (address.toLowerCase().includes(\"pobox\")) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"Addresses containing a P.O. Box are not allowed. Please enter a valid location address.\";\r\n this.popupShow = true;\r\n return;\r\n }\r\n if (this.outreachOpportunity.isScheduledClinics && this.isCheckContractInitiatedCharity && this.addBusinessForm.controls['CharityHHSVoucher'].value) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"The selected opportunity has already been Contract Initiated (Contracted Clinic), it cannot be changed to Charity(HHS) Voucher\";\r\n this.popupShow = true;\r\n return;\r\n }\r\n if (this.outreachOpportunity.isScheduledClinics && this.isCheckContractInitiatedCommunity && this.addBusinessForm.controls['CommunityOutreach'].value) {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = \"The selected opportunity has already been Contract Initiated (Contracted Clinic), it cannot be changed to Community Outreach\";\r\n this.popupShow = true;\r\n return;\r\n }\r\n this.updateOutreachOpportunity.businessPk = this.outreachOpportunity.businessPk;\r\n this.updateOutreachOpportunity.address1 = this.addBusinessForm.controls['Address1'].value;\r\n this.updateOutreachOpportunity.address2 = this.addBusinessForm.controls['Address2'].value;\r\n this.updateOutreachOpportunity.businessName = this.addBusinessForm.controls['BusinessName'].value;\r\n this.updateOutreachOpportunity.city = this.addBusinessForm.controls['City'].value;\r\n this.updateOutreachOpportunity.email = this.addBusinessForm.controls['EMail'].value;\r\n this.updateOutreachOpportunity.employmentSize = +this.addBusinessForm.controls['EmploymentSize'].value;\r\n this.updateOutreachOpportunity.residents = this.addBusinessForm.controls['Residents'].value;\r\n this.updateOutreachOpportunity.firstName = this.addBusinessForm.controls['FirstName'].value;\r\n this.updateOutreachOpportunity.industry = this.addBusinessForm.controls['Industry'].value;\r\n this.updateOutreachOpportunity.others = this.addBusinessForm.controls['Others']?.value ?? null;\r\n this.updateOutreachOpportunity.jobTitle = this.addBusinessForm.controls['JobTitle'].value;\r\n this.updateOutreachOpportunity.lastName = this.addBusinessForm.controls['LastName'].value;\r\n this.updateOutreachOpportunity.phone = this.addBusinessForm.controls['Phone'].value;\r\n this.updateOutreachOpportunity.state = this.addBusinessForm.controls['state'].value;\r\n //this.updateOutreachOpportunity.tollFree = this.addBusinessForm.controls['TollFree'].value;\r\n this.updateOutreachOpportunity.ext = this.addBusinessForm.controls['Ext'].value;\r\n this.updateOutreachOpportunity.alternateContactExt = this.addBusinessForm.controls['AlternateContactExt'].value;\r\n this.updateOutreachOpportunity.zipCode = this.addBusinessForm.controls['ZipCode'].value;\r\n this.updateOutreachOpportunity.pkhash = this.addBusinessForm.controls['pkhash'].value;\r\n this.updateOutreachOpportunity.covidOpportunityType = this.addBusinessForm.controls['covidOpportunityType'].value;\r\n this.updateOutreachOpportunity.fluOpportunityType = this.addBusinessForm.controls['fluOpportunityType'].value;\r\n this.updateOutreachOpportunity.covidClinicType = this.addBusinessForm.controls['covidClinicType'].value;\r\n this.updateOutreachOpportunity.LTCFType = this.addBusinessForm.controls['LTCFType'].value;\r\n this.updateOutreachOpportunity.ccn = this.addBusinessForm.controls['ccn'].value;\r\n this.updateOutreachOpportunity.notes = this.addBusinessForm.controls['notes'].value;\r\n if (this.updateOutreachOpportunity.covidOpportunityType == null || Number(this.updateOutreachOpportunity.covidOpportunityType) == 0) {\r\n this.updateOutreachOpportunity.covidOpportunityType = 0;\r\n }\r\n this.updateOutreachOpportunity.isCovidOpportunity = this.addBusinessForm.controls['isCovidOpportunity'].value && Number(this.addBusinessForm.controls['covidOpportunityType'].value) != 3 ? this.addBusinessForm.controls['isCovidOpportunity'].value : null;\r\n this.updateOutreachOpportunity.isFluOpportunity = (Number(this.addBusinessForm.controls['fluOpportunityType'].value) == 3 || Number(this.addBusinessForm.controls['fluOpportunityType'].value) == 0) ? true : null;\r\n this.updateOutreachOpportunity.isNoContractOpportunity = this.addBusinessForm.controls['isNoContractOpportunity'].value;\r\n this.updateOutreachOpportunity.privateClinicFees = this.addBusinessForm.controls['privateClinicFees'].value;\r\n this.updateOutreachOpportunity.targetPopulation = this.addBusinessForm.controls['targetPopulation'].value;\r\n this.updateOutreachOpportunity.communityPartner = this.addBusinessForm.controls['communityPartner'].value;\r\n this.updateOutreachOpportunity.communityPartnerName = this.addBusinessForm.controls['communityPartnerName'].value;\r\n this.updateOutreachOpportunity.healthDeptInvolved = this.addBusinessForm.controls['healthDeptInvolved'].value;\r\n this.updateOutreachOpportunity.opportunityHostLocation = this.addBusinessForm.controls['opportunityHostLocation'].value;\r\n this.updateOutreachOpportunity.vaccineInventorySource = this.addBusinessForm.controls['vaccineInventorySource'].value;\r\n this.updateOutreachOpportunity.alternateFirstName = this.addBusinessForm.controls['AlternateFirstName'].value;\r\n this.updateOutreachOpportunity.alternateLastName = this.addBusinessForm.controls['AlternateLastName'].value;\r\n this.updateOutreachOpportunity.alternatePhone = this.addBusinessForm.controls['AlternatePhone'].value;\r\n this.updateOutreachOpportunity.alternateJobTitle = this.addBusinessForm.controls['AlternateJobTitle'].value;\r\n this.updateOutreachOpportunity.alternateEMail = this.addBusinessForm.controls['AlternateEMail'].value;\r\n this.updateOutreachOpportunity.isScheduledClinics = this.outreachOpportunity.isScheduledClinics ? 1 : 0;\r\n this.updateOutreachOpportunity.isCheckDnc = this.isDNC ? 1 : 0;\r\n this.updateOutreachOpportunity.isOverrideDupCheck = this.isOverrideDupCheck ? 1 : 0;\r\n this.updateOutreachOpportunity.isRemoveContactLog = this.isRemoveContactLog ? 1 : 0;\r\n this.updateOutreachOpportunity.canReassign = this.canReassign ? 1 : 0;\r\n\r\n this.updateOutreachOpportunity.outreachEffortList = [];\r\n if (this.addBusinessForm.controls['SeniorOutreach'].value) {\r\n var outreachEffort = new OutreachEffortList();\r\n if (this.srProgramCheck) {\r\n for (var i = 0; i < this.outreachOpportunity.outreachEffortList.length; i++) {\r\n if (this.outreachOpportunity.outreachEffortList[i].outreachProgram == \"SR\") {\r\n outreachEffort.outreachBusinessPk = this.outreachOpportunity.outreachEffortList[i].outreachBusinessPk;\r\n outreachEffort.outreachProgram = \"SR\";\r\n outreachEffort.existingStoreId = this.outreachOpportunity.outreachEffortList[i].existingStoreId;\r\n }\r\n }\r\n }\r\n else {\r\n outreachEffort.outreachBusinessPk = -1;\r\n outreachEffort.outreachProgram = \"SR\";\r\n outreachEffort.existingStoreId = -1;\r\n }\r\n if (this.searching) {\r\n let destinationState: string = \"\";\r\n if (!this.validateRestrictedStatesReassignment()) {\r\n this.dialogSummary = \"Alert\";\r\n var storeId = this.addBusinessForm.controls['assignedStore'].value.storeId;\r\n if (storeId == undefined) {\r\n storeId = this.addBusinessForm.controls['assignedStore'].value;\r\n }\r\n var filterSearchRes = this.storeSearchRsp.filter(store => store.storeId == storeId);\r\n if (filterSearchRes.length > 0) {\r\n this.dialogMsg = filterSearchRes[0].state == \"DC\" ? String.Format(ErrorMessages['restrictedStates'], \"Columbia \", \"15\") : String.Format(ErrorMessages['restrictedStates'], \"Missouri \", \"20\")\r\n this.popupShow = true;\r\n var orginalStoreId = SessionDetails.GetStoreId();\r\n this.searching = false;\r\n this.addBusinessForm.controls['assignedStore'].setValue(orginalStoreId);\r\n this.addBusinessForm.controls['assignedStore'].updateValueAndValidity();\r\n }\r\n return;\r\n }\r\n if (this.addBusinessForm.controls['assignedStore'].value.storeId != undefined) {\r\n outreachEffort.storeId = this.addBusinessForm.controls['assignedStore'].value.storeId;\r\n outreachEffort.storePk = this.addBusinessForm.controls['assignedStore'].value.storePk;\r\n }\r\n else {\r\n outreachEffort.storeId = this.addBusinessForm.controls['assignedStore'].value;\r\n }\r\n }\r\n else {\r\n outreachEffort.storeId = this.addBusinessForm.controls['assignedStore'].value;\r\n outreachEffort.storePk = store_pk;\r\n }\r\n\r\n outreachEffort.isChecked = 1;\r\n\r\n if (this.addBusinessForm.controls['CommunityOutreach'].value) {\r\n outreachEffort.isCommunityInitiated = 1\r\n }\r\n else {\r\n outreachEffort.isCommunityInitiated = 0;\r\n }\r\n if (this.addBusinessForm.controls['CharityHHSVoucher'].value) {\r\n outreachEffort.isCharityInitiated = 1\r\n }\r\n else {\r\n outreachEffort.isCharityInitiated = 0;\r\n }\r\n\r\n this.updateOutreachOpportunity.outreachEffortList.push(outreachEffort);\r\n }\r\n\r\n\r\n if (this.addBusinessForm.controls['ImmunizationProgram'].value) {\r\n var outreachEffort = new OutreachEffortList();\r\n if (this.ipProgramCheck) {\r\n for (var i = 0; i < this.outreachOpportunity.outreachEffortList.length; i++) {\r\n if (this.outreachOpportunity.outreachEffortList[i].outreachProgram == \"IP\") {\r\n outreachEffort.outreachBusinessPk = this.outreachOpportunity.outreachEffortList[i].outreachBusinessPk;\r\n outreachEffort.outreachProgram = \"IP\";\r\n outreachEffort.existingStoreId = this.outreachOpportunity.outreachEffortList[i].existingStoreId;\r\n }\r\n }\r\n this.updateOutreachOpportunity.isCovidOpportunity = this.addBusinessForm.controls['isCovidOpportunity'].value && Number(this.addBusinessForm.controls['covidOpportunityType'].value) != 3 ? true : false;\r\n this.updateOutreachOpportunity.isFluOpportunity = this.addBusinessForm.controls['isFluOpportunity'].value && (Number(this.addBusinessForm.controls['fluOpportunityType'].value) == 3 || Number(this.addBusinessForm.controls['fluOpportunityType'].value) == 0) ? true : false;\r\n this.updateOutreachOpportunity.isNoContractOpportunity = this.addBusinessForm.controls['isNoContractOpportunity'].value ? true : false;\r\n }\r\n else {\r\n outreachEffort.outreachBusinessPk = -1;\r\n outreachEffort.outreachProgram = \"IP\";\r\n outreachEffort.existingStoreId = -1;\r\n }\r\n\r\n if (this.searching) {\r\n if (this.addBusinessForm.controls['assignedStore'].value.storeId != undefined) {\r\n outreachEffort.storeId = this.addBusinessForm.controls['assignedStore'].value.storeId;\r\n outreachEffort.storePk = this.addBusinessForm.controls['assignedStore'].value.storePk;\r\n }\r\n else {\r\n outreachEffort.storeId = this.addBusinessForm.controls['assignedStore'].value;\r\n }\r\n }\r\n else {\r\n outreachEffort.storeId = this.addBusinessForm.controls['assignedStore'].value;\r\n outreachEffort.storePk = store_pk;\r\n }\r\n outreachEffort.isChecked = 1;\r\n if (this.addBusinessForm.controls['CommunityOutreach'].value) {\r\n outreachEffort.isCommunityInitiated = 1\r\n }\r\n else {\r\n outreachEffort.isCommunityInitiated = 0;\r\n }\r\n if (this.addBusinessForm.controls['CharityHHSVoucher'].value) {\r\n outreachEffort.isCharityInitiated = 1\r\n }\r\n else {\r\n outreachEffort.isCharityInitiated = 0;\r\n }\r\n\r\n this.updateOutreachOpportunity.outreachEffortList.push(outreachEffort);\r\n\r\n }\r\n\r\n if (this.ipProgramCheck && this.addBusinessForm.controls['ImmunizationProgram'].value == false) {\r\n var outreachEffort = new OutreachEffortList();\r\n for (var i = 0; i < this.outreachOpportunity.outreachEffortList.length; i++) {\r\n if (this.outreachOpportunity.outreachEffortList[i].outreachProgram == \"IP\") {\r\n outreachEffort.outreachBusinessPk = this.outreachOpportunity.outreachEffortList[i].outreachBusinessPk;\r\n outreachEffort.outreachProgram = \"IP\";\r\n outreachEffort.existingStoreId = this.outreachOpportunity.outreachEffortList[i].existingStoreId;\r\n outreachEffort.storePk = this.outreachOpportunity.outreachEffortList[i].storePk;\r\n outreachEffort.storeId = this.outreachOpportunity.outreachEffortList[i].storeId;\r\n outreachEffort.isCharityInitiated = this.outreachOpportunity.outreachEffortList[i].isCharityInitiated;\r\n outreachEffort.isCommunityInitiated = this.outreachOpportunity.outreachEffortList[i].isCommunityInitiated;\r\n }\r\n }\r\n outreachEffort.isChecked = 0;\r\n this.updateOutreachOpportunity.outreachEffortList.push(outreachEffort);\r\n }\r\n\r\n if (this.srProgramCheck && this.addBusinessForm.controls['SeniorOutreach'].value == false) {\r\n var outreachEffort = new OutreachEffortList();\r\n for (var i = 0; i < this.outreachOpportunity.outreachEffortList.length; i++) {\r\n if (this.outreachOpportunity.outreachEffortList[i].outreachProgram == \"SR\") {\r\n outreachEffort.outreachBusinessPk = this.outreachOpportunity.outreachEffortList[i].outreachBusinessPk;\r\n outreachEffort.outreachProgram = \"SR\";\r\n outreachEffort.existingStoreId = this.outreachOpportunity.outreachEffortList[i].existingStoreId;\r\n outreachEffort.storePk = this.outreachOpportunity.outreachEffortList[i].storePk;\r\n outreachEffort.storeId = this.outreachOpportunity.outreachEffortList[i].storeId;\r\n outreachEffort.isCharityInitiated = this.outreachOpportunity.outreachEffortList[i].isCharityInitiated;\r\n outreachEffort.isCommunityInitiated = this.outreachOpportunity.outreachEffortList[i].isCommunityInitiated;\r\n }\r\n }\r\n outreachEffort.isChecked = 0;\r\n this.updateOutreachOpportunity.outreachEffortList.push(outreachEffort);\r\n }\r\n // Check for duplicate Opportunity \r\n var duplicateAddress = new DuplicateBusiness();\r\n duplicateAddress.totalRecs = 0;\r\n duplicateAddress.totalS = 0;\r\n duplicateAddress.primaryAddress.storeId = 13;\r\n duplicateAddress.primaryAddress.businessPk = this.outreachOpportunity.businessPk;\r\n duplicateAddress.primaryAddress.businessName = this.addBusinessForm.controls['BusinessName'].value;\r\n duplicateAddress.primaryAddress.outreachPk = -1;\r\n duplicateAddress.primaryAddress.phone = this.addBusinessForm.controls['Phone'].value;\r\n duplicateAddress.primaryAddress.address1 = this.addBusinessForm.controls['Address1'].value;\r\n duplicateAddress.primaryAddress.address2 = this.addBusinessForm.controls['Address2'].value;\r\n duplicateAddress.primaryAddress.city = this.addBusinessForm.controls['City'].value;\r\n duplicateAddress.primaryAddress.state = this.addBusinessForm.controls['state'].value;\r\n duplicateAddress.primaryAddress.zipCode = this.addBusinessForm.controls['ZipCode'].value;\r\n var state = SessionDetails.GetState();\r\n\r\n if (!(this.currentStateCode == this.addBusinessForm.controls['state'].value) && state != this.addBusinessForm.controls['state'].value) {\r\n // this.confirmState(duplicateAddress);\r\n this.dialogSummary = 'Alert';\r\n this.dialogMsg = 'The store you are assigning this opportunity to is in a different state than the opportunity’s location.';\r\n this.diffStateOverridePopupShow = true;\r\n }\r\n else {\r\n if (!this.addBusinessForm.controls['ImmunizationProgram'].value && !this.addBusinessForm.controls['SeniorOutreach'].value) {\r\n this.removeIPSR = true;\r\n }\r\n else {\r\n if (this.searching && this.addBusinessForm.controls['assignedStore'].value.storeId == undefined) {\r\n this._headerservice.getStoresProfile([\"District Manager\", \"District Lead\", \"Healthcare Supervisor\",\r\n \"Director - Rx and Retail Ops\", \"Regional Vice President\",\r\n \"Regional Healthcare Director\", UserRole.PODUSER].indexOf(this.userProfile.userRole) > -1 ? 41 : this.userProfile.userPk, this.addBusinessForm.controls['assignedStore'].value, 0).subscribe((res: any) => {\r\n if (res.data.length > 0) {\r\n this.storeSearchRsp = res.data;\r\n if (!this.validateRestrictedStatesReassignment()) {\r\n this.dialogSummary = \"Alert\";\r\n var storeId = this.addBusinessForm.controls['assignedStore'].value;\r\n var filterSearchRes = this.storeSearchRsp.filter(store => store.storeId == storeId);\r\n if (filterSearchRes.length > 0) {\r\n this.dialogMsg = filterSearchRes[0].state == \"DC\" ? String.Format(ErrorMessages['restrictedStates'], \"Columbia \", \"15\") : String.Format(ErrorMessages['restrictedStates'], \"Missouri \", \"20\")\r\n this.popupShow = true;\r\n var orginalStoreId = SessionDetails.GetStoreId();\r\n this.searching = false;\r\n this.addBusinessForm.controls['assignedStore'].setValue(orginalStoreId);\r\n this.addBusinessForm.controls['assignedStore'].updateValueAndValidity();\r\n }\r\n return;\r\n }\r\n let storeProfile = SessionDetails.getStoreProfileData();\r\n let assignedStore: Number = this.addBusinessForm.controls['assignedStore'].value;\r\n let selectedStore = res.data.filter(store => store.storeId === Number(assignedStore));\r\n\r\n if ((selectedStore.length > 0 && Number(storeProfile[0].regionNumber) === Number(selectedStore[0].regionNumber))\r\n || this.userProfile.userRole === \"Admin\") {\r\n this.updateOutreachOpportunity.outreachEffortList.forEach(list => {\r\n list.storePk = selectedStore[0].storePk;\r\n });\r\n this.updateOpportunity();\r\n }\r\n else {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = String.Format('Store #{0} is not within your area of responsibility or does not exist.', this.addBusinessForm.controls['assignedStore'].value);\r\n this.popupShow = true;\r\n return;\r\n }\r\n }\r\n else {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = String.Format('Store #{0} is not within your area of responsibility or does not exist.', this.addBusinessForm.controls['assignedStore'].value);\r\n this.popupShow = true;\r\n return;\r\n }\r\n });\r\n }\r\n else {\r\n if (!this.validateRestrictedStatesReassignment()) {\r\n this.dialogSummary = \"Alert\";\r\n var storeId = this.addBusinessForm.controls['assignedStore'].value.storeId;\r\n var filterSearchRes = this.storeSearchRsp.filter(store => store.storeId == storeId);\r\n if (filterSearchRes.length > 0) {\r\n this.dialogMsg = filterSearchRes[0].state == \"DC\" ? String.Format(ErrorMessages['restrictedStates'], \"Columbia \", \"15\") : String.Format(ErrorMessages['restrictedStates'], \"Missouri \", \"20\")\r\n this.popupShow = true;\r\n var orginalStoreId = SessionDetails.GetStoreId();\r\n this.searching = false;\r\n this.addBusinessForm.controls['assignedStore'].setValue(orginalStoreId);\r\n this.addBusinessForm.controls['assignedStore'].updateValueAndValidity();\r\n }\r\n return;\r\n }\r\n this.updateOpportunity();\r\n }\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n doNotRemove() {\r\n this.removeIPSR = false;\r\n }\r\n validateRestrictedStatesReassignment() {\r\n var storeId = this.addBusinessForm.controls['assignedStore'].value.storeId;\r\n if (storeId == undefined || storeId == null) {\r\n storeId = this.addBusinessForm.controls['assignedStore'].value;\r\n }\r\n let returnValue: boolean = true;\r\n if (storeId != SessionDetails.GetStoreId()) {\r\n var current_date = new Date();\r\n var filterSearchRes = this.storeSearchRsp!==null&&this.storeSearchRsp!==undefined ? this.storeSearchRsp.filter(store => store.storeId == storeId):[];\r\n\r\n if (SessionDetails.GetState() == \"MO\") {\r\n if (filterSearchRes.length > 0 && filterSearchRes[0].state == \"DC\" && current_date > new Date(environment.DC_State_From) && current_date < new Date(environment.DC_State_TO)) {\r\n returnValue = false;\r\n }\r\n }\r\n else if (SessionDetails.GetState() == \"DC\") {\r\n if (filterSearchRes.length > 0 && filterSearchRes[0].state == \"MO\" && current_date > new Date(environment.MO_State_From) && current_date < new Date(environment.MO_State_TO)) {\r\n returnValue = false;\r\n }\r\n }\r\n else if (SessionDetails.GetState() != \"MO\" || SessionDetails.GetState() != \"DC\") {\r\n if (filterSearchRes.length > 0 && ((filterSearchRes[0].state == \"MO\" && current_date > new Date(environment.MO_State_From) && current_date < new Date(environment.MO_State_TO))\r\n || (filterSearchRes[0].state == \"DC\" && current_date > new Date(environment.DC_State_From) && current_date < new Date(environment.DC_State_TO)))) {\r\n returnValue = false;\r\n }\r\n }\r\n }\r\n return returnValue;\r\n }\r\n removeIPSROk() {\r\n this.removeIPSR = false;\r\n this.updateOpportunity();\r\n }\r\n\r\n onUpdateSuccess() {\r\n if(this.businessData.outreachEffortList.filter(p=>p.outreachProgram == 'IP') && this.businessData.outreachEffortList.filter(p=>p.outreachProgram == 'IP').length > 0 && this.businessData.outreachEffortList.filter(p=>p.outreachProgram == 'IP')[0].outreachBusinessPk == -1)\r\n {\r\n this._AddBusinessService.getStoreBusinessDetails(this.businessData.businessPk).subscribe((res:any)=>\r\n {\r\n this.businessData.outreachEffortList = res.outreachEffortList;\r\n this.updateBusinessShow = false;\r\n this.onUpdateNavinagtion();\r\n })\r\n }\r\n else\r\n {\r\n this.updateBusinessShow = false;\r\n this.onUpdateNavinagtion();\r\n }\r\n }\r\n updateOpportunity() {\r\n this.disable_button = true;\r\n this._AddBusinessService.updateOpportunity(this.updateOutreachOpportunity, this.userProfile.userPk, this.isDNC, this.isOverrideDupCheck).subscribe(res => {\r\n this.disable_button = false;\r\n this.businessData = res;\r\n if (res.errorS == null) {\r\n //sucessfully updated.\r\n this.dialogSummary = \"Message\";\r\n this.dialogMsg = \"Opportunity profile updated successfully.\";\r\n this.updateBusinessShow = true;\r\n\r\n }\r\n else if (res.errorS.errorCode == \"-1\") {\r\n this.dialogSummary = \"DUPLICATE WARNING\";\r\n this.dialogMsg = String.Format('There is already an opportunity assigned to a Walgreens store with the same {0}. To eliminate duplicate follow up activity, this opportunity will not be added to your contacts, unless required to setup a COVID clinic.', res.errorS.errorMessage);\r\n this.overridePopupShow = true;\r\n }\r\n else if (res.errorS.errorCode == \"-2\") {\r\n this.dialogSummary = \"Opportunity matches DNC Client\";\r\n this.dialogMsg = this.dncText;\r\n this.updatePopupShow = true;\r\n }\r\n else if (res.errorS.errorCode == \"-3\") {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = res.errorS.errorMessage;\r\n this.popupShow = true;\r\n }\r\n else if (res.errorS.errorCode == \"-4\") {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = res.errorS.errorMessage;\r\n this.overridePopupShow = true;\r\n }\r\n else if (res.errorS.errorCode == \"-5\") {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = res.errorS.errorMessage;\r\n this.overridePopupShow = true;\r\n }\r\n else if (res.errorS.errorCode == \"-6\") {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = res.errorS.errorMessage;\r\n this.popupShow = true;\r\n }\r\n else if (res.errorS.errorCode == \"-7\") {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = res.errorS.errorMessage;\r\n this.popupShow = true;\r\n }\r\n else if (res.errorS.errorCode == \"-8\") {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = res.errorS.errorMessage;\r\n this.logExistsPopupShow = true;\r\n }\r\n else if (res.errorS.errorCode == \"-9\") {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = ErrorMessages.CoCharityForUnapprovedOpportunity;\r\n this.popupShow = true;\r\n }\r\n },\r\n error => {\r\n this.disable_button = false;\r\n this.dialogSummary = \"Server Error\";\r\n this.dialogMsg = \"Server issue while updating the opportunity\";\r\n this.popupShow = true;\r\n }\r\n );\r\n }\r\n\r\n onClick(action: string) {\r\n if (action == 'DeactivateOpp') {\r\n this.Action = '';\r\n this.Cancel();\r\n }\r\n else\r\n this.popupShow = false;\r\n }\r\n onSuccess() {\r\n this.popupSuccessShow = false;\r\n\r\n if (this.addBusinessForm.controls['ImmunizationProgram'].value) {\r\n if (this.businessData.businessPk > 0) {\r\n var log_outreach_status = new FollowUp();\r\n log_outreach_status.logOutreachStatus.businessPk = this.businessData.businessPk;\r\n log_outreach_status.logOutreachStatus.firstName = this.businessData.firstName;\r\n log_outreach_status.logOutreachStatus.lastName = this.businessData.lastName;\r\n log_outreach_status.logOutreachStatus.jobTitle = this.businessData.jobTitle;\r\n log_outreach_status.logOutreachStatus.feedback = this.businessData.feedback;\r\n log_outreach_status.logOutreachStatus.contactDate = new Date();\r\n log_outreach_status.logOutreachStatus.createdBy = this.userProfile.userPk;\r\n if (this.addBusinessForm.value.CharityHHSVoucher == true) {\r\n this.businessData.outreachEffortList.forEach(list => {\r\n if (list.outreachProgram == \"IP\") {\r\n log_outreach_status.logOutreachStatus.outreachBusinessPk = list.outreachBusinessPk;\r\n log_outreach_status.logOutreachStatus.outreachProgram = list.outreachProgram;\r\n }\r\n });\r\n log_outreach_status.logOutreachStatus.outreachStatusTitle = \"Charity (WAG Free Flu Voucher)\";\r\n log_outreach_status.logOutreachStatus.outreachStatusId = 8;\r\n log_outreach_status.logOutreachStatus.feedback = \"\";\r\n SessionDetails.EventDetails(log_outreach_status);\r\n SessionDetails.opportunitiesData(this.businessData);\r\n this.prouter.navigate(['/communityoutreach/charityprogram']);\r\n\r\n }\r\n else if (this.addBusinessForm.value.CommunityOutreach == true) {\r\n this.businessData.outreachEffortList.forEach(list => {\r\n if (list.outreachProgram == \"IP\") {\r\n log_outreach_status.logOutreachStatus.outreachBusinessPk = list.outreachBusinessPk;\r\n log_outreach_status.logOutreachStatus.outreachProgram = list.outreachProgram;\r\n }\r\n });\r\n\r\n log_outreach_status.logOutreachStatus.outreachStatusTitle = \"Community Outreach\";\r\n log_outreach_status.logOutreachStatus.outreachStatusId = 12;\r\n log_outreach_status.logOutreachStatus.feedback = \"\";\r\n SessionDetails.EventDetails(log_outreach_status);\r\n SessionDetails.opportunitiesData(this.businessData);\r\n this.prouter.navigate(['/communityoutreach/communityoutreach']);\r\n\r\n }\r\n else {\r\n this.prouter.navigate(['/communityoutreach/storehome']);\r\n }\r\n }\r\n else {\r\n this.prouter.navigate(['/communityoutreach/storehome']);\r\n }\r\n }\r\n else {\r\n this.prouter.navigate(['/communityoutreach/storehome']);\r\n }\r\n }\r\n\r\n formatter = (result: any) => this.searching == true ? result.storeId + \" - \" +\r\n result.address + \", \" + result.city + \",\"\r\n + result.state + \" \" + result.zip || '' : result;\r\n\r\n search = (text$: Observable) =>\r\n text$.pipe(\r\n debounceTime(400),\r\n distinctUntilChanged(),\r\n tap(() => this.searching = true),\r\n switchMap(term =>\r\n this._headerservice.storeSearch(this.userProfile.userPk, term.trim(), 0).pipe(\r\n tap((data) => {\r\n this.storeSearchRsp = data;\r\n }),\r\n catchError(() => {\r\n return observableOf([]);\r\n }),)),)\r\n onDNCClick() {\r\n this.updatePopupShow = false;\r\n }\r\n onOverrideDNC() {\r\n this.isDNC = false;\r\n this.overrideUdpateBusiness();\r\n }\r\n\r\n overrideUdpateBusiness() {\r\n this.updatePopupShow = false;\r\n var store_id = SessionDetails.GetStoreId();\r\n var store_pk = SessionDetails.GetStorePk();\r\n this.updateOutreachOpportunity.businessPk = this.outreachOpportunity.businessPk;\r\n this.updateOutreachOpportunity.address1 = this.addBusinessForm.controls['Address1'].value;\r\n this.updateOutreachOpportunity.address2 = this.addBusinessForm.controls['Address2'].value;\r\n this.updateOutreachOpportunity.businessName = this.addBusinessForm.controls['BusinessName'].value;\r\n this.updateOutreachOpportunity.city = this.addBusinessForm.controls['City'].value;\r\n this.updateOutreachOpportunity.email = this.addBusinessForm.controls['EMail'].value;\r\n this.updateOutreachOpportunity.employmentSize = +this.addBusinessForm.controls['EmploymentSize'].value;\r\n this.updateOutreachOpportunity.residents = +this.addBusinessForm.controls['EmploymentSize'].value;\r\n this.updateOutreachOpportunity.firstName = this.addBusinessForm.controls['FirstName'].value;\r\n this.updateOutreachOpportunity.industry = this.addBusinessForm.controls['Industry'].value;\r\n this.updateOutreachOpportunity.others = this.addBusinessForm.controls['Others']?.value ?? null;\r\n this.updateOutreachOpportunity.jobTitle = this.addBusinessForm.controls['JobTitle'].value;\r\n this.updateOutreachOpportunity.lastName = this.addBusinessForm.controls['LastName'].value;\r\n this.updateOutreachOpportunity.phone = this.addBusinessForm.controls['Phone'].value;\r\n this.updateOutreachOpportunity.state = this.addBusinessForm.controls['state'].value;\r\n //this.updateOutreachOpportunity.tollFree = this.addBusinessForm.controls['TollFree'].value;\r\n this.updateOutreachOpportunity.ext = this.addBusinessForm.controls['Ext'].value;\r\n this.updateOutreachOpportunity.alternateContactExt = this.addBusinessForm.controls['AlternateContactExt'].value;\r\n this.updateOutreachOpportunity.zipCode = this.addBusinessForm.controls['ZipCode'].value;\r\n this.updateOutreachOpportunity.isScheduledClinics = this.outreachOpportunity.isScheduledClinics ? 1 : 0;\r\n this.updateOutreachOpportunity.isCheckDnc = this.isDNC ? 1 : 0;\r\n this.updateOutreachOpportunity.isOverrideDupCheck = this.isOverrideDupCheck ? 1 : 0;\r\n this.updateOutreachOpportunity.isRemoveContactLog = this.isRemoveContactLog ? 1 : 0;\r\n this.updateOutreachOpportunity.canReassign = this.canReassign ? 1 : 0;\r\n\r\n this.updateOutreachOpportunity.outreachEffortList = [];\r\n if (this.addBusinessForm.controls['SeniorOutreach'].value) {\r\n var outreachEffort = new OutreachEffortList();\r\n if (this.srProgramCheck) {\r\n for (var i = 0; i < this.outreachOpportunity.outreachEffortList.length; i++) {\r\n if (this.outreachOpportunity.outreachEffortList[i].outreachProgram == \"SR\") {\r\n outreachEffort.outreachBusinessPk = this.outreachOpportunity.outreachEffortList[i].outreachBusinessPk;\r\n outreachEffort.outreachProgram = \"SR\";\r\n outreachEffort.existingStoreId = this.outreachOpportunity.outreachEffortList[i].existingStoreId;\r\n }\r\n }\r\n }\r\n else {\r\n outreachEffort.outreachBusinessPk = -1;\r\n outreachEffort.outreachProgram = \"SR\";\r\n outreachEffort.existingStoreId = -1;\r\n }\r\n if (this.searching) {\r\n if (this.addBusinessForm.controls['assignedStore'].value.storeId != undefined) {\r\n outreachEffort.storeId = this.addBusinessForm.controls['assignedStore'].value.storeId;\r\n outreachEffort.storePk = this.addBusinessForm.controls['assignedStore'].value.storePk;\r\n }\r\n else {\r\n outreachEffort.storeId = this.addBusinessForm.controls['assignedStore'].value;\r\n }\r\n }\r\n else {\r\n outreachEffort.storeId = this.addBusinessForm.controls['assignedStore'].value;\r\n outreachEffort.storePk = store_pk;\r\n }\r\n outreachEffort.isChecked = 1;\r\n\r\n if (this.addBusinessForm.controls['CommunityOutreach'].value) {\r\n outreachEffort.isCommunityInitiated = 1\r\n }\r\n else {\r\n outreachEffort.isCommunityInitiated = 0;\r\n }\r\n if (this.addBusinessForm.controls['CharityHHSVoucher'].value) {\r\n outreachEffort.isCharityInitiated = 1\r\n }\r\n else {\r\n outreachEffort.isCharityInitiated = 0;\r\n }\r\n this.updateOutreachOpportunity.outreachEffortList.push(outreachEffort);\r\n }\r\n\r\n\r\n if (this.addBusinessForm.controls['ImmunizationProgram'].value) {\r\n var outreachEffort = new OutreachEffortList();\r\n if (this.ipProgramCheck) {\r\n for (var i = 0; i < this.outreachOpportunity.outreachEffortList.length; i++) {\r\n if (this.outreachOpportunity.outreachEffortList[i].outreachProgram == \"IP\") {\r\n outreachEffort.outreachBusinessPk = this.outreachOpportunity.outreachEffortList[i].outreachBusinessPk;\r\n outreachEffort.outreachProgram = \"IP\";\r\n outreachEffort.existingStoreId = this.outreachOpportunity.outreachEffortList[i].existingStoreId;\r\n }\r\n }\r\n this.updateOutreachOpportunity.isCovidOpportunity = this.addBusinessForm.controls['isCovidOpportunity'].value&&Number(this.addBusinessForm.controls['covidOpportunityType'].value)!=3? true: false;\r\n this.updateOutreachOpportunity.isFluOpportunity = this.addBusinessForm.controls['isFluOpportunity'].value&&(Number(this.addBusinessForm.controls['fluOpportunityType'].value)==3 || Number(this.addBusinessForm.controls['fluOpportunityType'].value)==0)? true: false;\r\n this.updateOutreachOpportunity.isNoContractOpportunity = this.addBusinessForm.controls['isNoContractOpportunity'].value? true: false;\r\n }\r\n else {\r\n outreachEffort.outreachBusinessPk = -1;\r\n outreachEffort.outreachProgram = \"IP\";\r\n outreachEffort.existingStoreId = -1;\r\n }\r\n if (this.searching) {\r\n if (this.addBusinessForm.controls['assignedStore'].value.storeId != undefined) {\r\n outreachEffort.storeId = this.addBusinessForm.controls['assignedStore'].value.storeId;\r\n outreachEffort.storePk = this.addBusinessForm.controls['assignedStore'].value.storePk;\r\n }\r\n else {\r\n outreachEffort.storeId = this.addBusinessForm.controls['assignedStore'].value;\r\n }\r\n }\r\n else {\r\n outreachEffort.storeId = this.addBusinessForm.controls['assignedStore'].value;\r\n outreachEffort.storePk = store_pk;\r\n }\r\n outreachEffort.isChecked = 1;\r\n if (this.addBusinessForm.controls['CommunityOutreach'].value) {\r\n outreachEffort.isCommunityInitiated = 1\r\n }\r\n else {\r\n outreachEffort.isCommunityInitiated = 0;\r\n }\r\n if (this.addBusinessForm.controls['CharityHHSVoucher'].value) {\r\n outreachEffort.isCharityInitiated = 1\r\n }\r\n else {\r\n outreachEffort.isCharityInitiated = 0;\r\n }\r\n this.updateOutreachOpportunity.outreachEffortList.push(outreachEffort);\r\n }\r\n\r\n if (this.ipProgramCheck && this.addBusinessForm.controls['ImmunizationProgram'].value == false) {\r\n var outreachEffort = new OutreachEffortList();\r\n for (var i = 0; i < this.outreachOpportunity.outreachEffortList.length; i++) {\r\n if (this.outreachOpportunity.outreachEffortList[i].outreachProgram == \"IP\") {\r\n outreachEffort.outreachBusinessPk = this.outreachOpportunity.outreachEffortList[i].outreachBusinessPk;\r\n outreachEffort.outreachProgram = \"IP\";\r\n outreachEffort.existingStoreId = this.outreachOpportunity.outreachEffortList[i].existingStoreId;\r\n outreachEffort.storePk = this.outreachOpportunity.outreachEffortList[i].storePk;\r\n outreachEffort.storeId = this.outreachOpportunity.outreachEffortList[i].storeId;\r\n outreachEffort.isCharityInitiated = this.outreachOpportunity.outreachEffortList[i].isCharityInitiated;\r\n outreachEffort.isCommunityInitiated = this.outreachOpportunity.outreachEffortList[i].isCommunityInitiated;\r\n }\r\n }\r\n outreachEffort.isChecked = 0;\r\n this.updateOutreachOpportunity.outreachEffortList.push(outreachEffort);\r\nthis.outreachOpportunity.isCovidOpportunity = null;\r\n this.outreachOpportunity.isNoContractOpportunity = null;\r\n }\r\n\r\n if (this.srProgramCheck && this.addBusinessForm.controls['SeniorOutreach'].value == false) {\r\n var outreachEffort = new OutreachEffortList();\r\n for (var i = 0; i < this.outreachOpportunity.outreachEffortList.length; i++) {\r\n if (this.outreachOpportunity.outreachEffortList[i].outreachProgram == \"SR\") {\r\n outreachEffort.outreachBusinessPk = this.outreachOpportunity.outreachEffortList[i].outreachBusinessPk;\r\n outreachEffort.outreachProgram = \"SR\";\r\n outreachEffort.existingStoreId = this.outreachOpportunity.outreachEffortList[i].existingStoreId;\r\n outreachEffort.storePk = this.outreachOpportunity.outreachEffortList[i].storePk;\r\n outreachEffort.storeId = this.outreachOpportunity.outreachEffortList[i].storeId;\r\n outreachEffort.isCharityInitiated = this.outreachOpportunity.outreachEffortList[i].isCharityInitiated;\r\n outreachEffort.isCommunityInitiated = this.outreachOpportunity.outreachEffortList[i].isCommunityInitiated;\r\n }\r\n }\r\n outreachEffort.isChecked = 0;\r\n this.updateOutreachOpportunity.outreachEffortList.push(outreachEffort);\r\n }\r\n // Check for duplicate Opportunity \r\n var duplicateAddress = new DuplicateBusiness();\r\n duplicateAddress.totalRecs = 0;\r\n duplicateAddress.totalS = 0;\r\n duplicateAddress.primaryAddress.storeId = 13;\r\n duplicateAddress.primaryAddress.businessPk = this.outreachOpportunity.businessPk;\r\n duplicateAddress.primaryAddress.businessName = this.addBusinessForm.controls['BusinessName'].value;\r\n duplicateAddress.primaryAddress.outreachPk = -1;\r\n duplicateAddress.primaryAddress.phone = this.addBusinessForm.controls['Phone'].value;\r\n duplicateAddress.primaryAddress.address1 = this.addBusinessForm.controls['Address1'].value;\r\n duplicateAddress.primaryAddress.address2 = this.addBusinessForm.controls['Address2'].value;\r\n duplicateAddress.primaryAddress.city = this.addBusinessForm.controls['City'].value;\r\n duplicateAddress.primaryAddress.state = this.addBusinessForm.controls['state'].value;\r\n duplicateAddress.primaryAddress.zipCode = this.addBusinessForm.controls['ZipCode'].value;\r\n\r\n if (this.searching && this.addBusinessForm.controls['assignedStore'].value.storeId == undefined) {\r\n this._headerservice.getStoresProfile([\"District Manager\",\"District Lead\",\"Healthcare Supervisor\",\r\n \"Director - Rx and Retail Ops\",\"Regional Vice President\",\r\n \"Regional Healthcare Director\", UserRole.PODUSER].indexOf(this.userProfile.userRole)>-1?41:this.userProfile.userPk, this.addBusinessForm.controls['assignedStore'].value, 0).subscribe((res:any) => {\r\n if (res.data.length > 0) {\r\n this.storeSearchRsp = res.data;\r\n if (!this.validateRestrictedStatesReassignment()) {\r\n this.dialogSummary = \"Alert\";\r\n var storeId = this.addBusinessForm.controls['assignedStore'].value;\r\n var filterSearchRes = this.storeSearchRsp.filter(store => store.storeId == storeId);\r\n if (filterSearchRes.length > 0) {\r\n this.dialogMsg = filterSearchRes[0].state == \"DC\" ? String.Format(ErrorMessages['restrictedStates'], \"Columbia \", \"15\") : String.Format(ErrorMessages['restrictedStates'], \"Missouri \", \"20\")\r\n this.popupShow = true;\r\n var orginalStoreId = SessionDetails.GetStoreId();\r\n this.searching = false;\r\n this.addBusinessForm.controls['assignedStore'].setValue(orginalStoreId);\r\n this.addBusinessForm.controls['assignedStore'].updateValueAndValidity();\r\n }\r\n return;\r\n }\r\n let storeProfile = SessionDetails.getStoreProfileData();\r\n let assignedStore:Number = this.addBusinessForm.controls['assignedStore'].value;\r\n let selectedStore = res.data.filter(store=>store.storeId===Number(assignedStore));\r\n\r\n if((selectedStore.length>0 && Number(storeProfile[0].regionNumber)===Number(selectedStore[0].regionNumber))\r\n ||this.userProfile.userRole===\"Admin\"){\r\n this.updateOutreachOpportunity.outreachEffortList.forEach(list => {\r\n list.storePk = selectedStore[0].storePk;\r\n });\r\n this.updateOpportunity();\r\n }\r\n else {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = String.Format('Store #{0} is not within your area of responsibility or does not exist.', this.addBusinessForm.controls['assignedStore'].value);\r\n this.popupShow = true;\r\n return; \r\n }\r\n \r\n }\r\n else {\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = String.Format('Store #{0} is not within your area of responsibility or does not exist.', this.addBusinessForm.controls['assignedStore'].value);\r\n this.popupShow = true;\r\n return;\r\n }\r\n });\r\n }\r\n else {\r\n this.updateOpportunity();\r\n }\r\n }\r\n onOverrideOk() {\r\n this.overridePopupShow = false;\r\n }\r\n onDuplicateOk() {\r\n this.duplicateErrorPopUp = false;\r\n }\r\n onOverride() {\r\n this.overridePopupShow = false;\r\n this.isOverrideDupCheck = true;\r\n\r\n if (this.businessData != undefined && this.businessData != null && this.businessData.errorS != null && (this.businessData.errorS.errorCode == -4 || this.businessData.errorS.errorCode == -5)) {\r\n this.canReassign = true;\r\n }\r\n if (this.isEdit) {\r\n if (!this.addBusinessForm.controls['ImmunizationProgram'].value && !this.addBusinessForm.controls['SeniorOutreach'].value) {\r\n this.removeIPSR = true;\r\n }\r\n else {\r\n this.overrideUdpateBusiness();\r\n }\r\n\r\n }\r\n else {\r\n this.addBusiness(this.outreachOpportunity, this.userProfile.userPk)\r\n }\r\n }\r\n ondiffStateOverride() {\r\n this.diffStateOverridePopupShow = false;\r\n if (this.businessData != undefined && this.businessData != null && this.businessData.errorS != null && (this.businessData.errorS.errorCode == -4 || this.businessData.errorS.errorCode == -5)) {\r\n this.canReassign = true;\r\n }\r\n if (this.isEdit) {\r\n if (!this.addBusinessForm.controls['ImmunizationProgram'].value && !this.addBusinessForm.controls['SeniorOutreach'].value) {\r\n this.removeIPSR = true;\r\n }\r\n else {\r\n this.overrideUdpateBusiness();\r\n }\r\n\r\n }\r\n else {\r\n this.isOverrideDupCheck = false;\r\n this.addBusiness(this.outreachOpportunity, this.userProfile.userPk)\r\n }\r\n }\r\n\r\n ondiffStateOverrideOk() {\r\n this.diffStateOverridePopupShow = false;\r\n }\r\n\r\n onLogExistOk() {\r\n this.logExistsPopupShow = false;\r\n }\r\n onContactLogOverride() {\r\n this.logExistsPopupShow = false;\r\n this.isRemoveContactLog = true;\r\n this.overrideUdpateBusiness();\r\n }\r\n onOnlyNumbers(event: any) {\r\n Util.onlyNumbers(event);\r\n }\r\n\r\n onUpdateNavinagtion() {\r\n if (this.addBusinessForm.controls['ImmunizationProgram'].value) {\r\n if (this.isCharityCommunityNew) {\r\n var log_outreach_status = new FollowUp();\r\n log_outreach_status.logOutreachStatus.businessPk = this.businessData.businessPk;\r\n log_outreach_status.logOutreachStatus.firstName = this.businessData.firstName;\r\n log_outreach_status.logOutreachStatus.lastName = this.businessData.lastName;\r\n log_outreach_status.logOutreachStatus.jobTitle = this.businessData.jobTitle;\r\n log_outreach_status.logOutreachStatus.feedback = this.businessData.feedback;\r\n log_outreach_status.logOutreachStatus.contactDate = new Date();\r\n\r\n log_outreach_status.logOutreachStatus.createdBy = this.userProfile.userPk;\r\n if (this.addBusinessForm.value.CharityHHSVoucher == true) {\r\n this.businessData.outreachEffortList.forEach(list => {\r\n if (list.outreachProgram == \"IP\") {\r\n log_outreach_status.logOutreachStatus.outreachBusinessPk = list.outreachBusinessPk;\r\n log_outreach_status.logOutreachStatus.outreachProgram = list.outreachProgram;\r\n }\r\n });\r\n log_outreach_status.logOutreachStatus.outreachStatusTitle = \"Charity (WAG Free Flu Voucher)\";\r\n log_outreach_status.logOutreachStatus.outreachStatusId = 8;\r\n log_outreach_status.logOutreachStatus.feedback = \"\";\r\n SessionDetails.EventDetails(log_outreach_status);\r\n SessionDetails.opportunitiesData(this.businessData);\r\n this.prouter.navigate(['/communityoutreach/charityprogram']);\r\n\r\n }\r\n else if (this.addBusinessForm.value.CommunityOutreach == true) {\r\n this.businessData.outreachEffortList.forEach(list => {\r\n if (list.outreachProgram == \"IP\") {\r\n log_outreach_status.logOutreachStatus.outreachBusinessPk = list.outreachBusinessPk;\r\n log_outreach_status.logOutreachStatus.outreachProgram = list.outreachProgram;\r\n }\r\n });\r\n\r\n log_outreach_status.logOutreachStatus.outreachStatusTitle = \"Community Outreach\";\r\n log_outreach_status.logOutreachStatus.outreachStatusId = 12;\r\n log_outreach_status.logOutreachStatus.feedback = \"\";\r\n SessionDetails.EventDetails(log_outreach_status);\r\n SessionDetails.opportunitiesData(this.businessData);\r\n this.prouter.navigate(['/communityoutreach/communityoutreach']);\r\n\r\n }\r\n else {\r\n this.prouter.navigate(['/communityoutreach/storehome']);\r\n }\r\n }\r\n else {\r\n this.prouter.navigate(['/communityoutreach/storehome']);\r\n }\r\n }\r\n else {\r\n this.prouter.navigate(['/communityoutreach/storehome']);\r\n }\r\n }\r\n disableButton() {\r\n if (this.disable_button) {\r\n return 'false';\r\n }\r\n else {\r\n return '';\r\n }\r\n\r\n }\r\n AllowAdminsToEditDataForRestrictedState() {\r\n var userProfile = SessionDetails.GetUserProfile();\r\n let disableControls: boolean = false;\r\n let stateSpecific = SessionDetails.GetState();\r\n var resrict_states = [\"MO\"]; // \"DC\" -- Removing DC state as per task# 1363\r\n var current_date = new Date();\r\n if (resrict_states.indexOf(stateSpecific) > -1) {\r\n if (userProfile.userRole.toLowerCase() == \"admin\"|| userProfile.userRole.toLowerCase() == \"healthcare supervisor\") {\r\n disableControls = false;\r\n }\r\n else {\r\n if (stateSpecific == \"MO\" && current_date > new Date(environment.MO_State_From) && current_date < new Date(environment.MO_State_TO)) {\r\n disableControls = true;\r\n }\r\n else if (stateSpecific == \"DC\" && current_date > new Date(environment.DC_State_From) && current_date < new Date(environment.DC_State_TO)) {\r\n disableControls = true;\r\n }\r\n else {\r\n disableControls = false;\r\n }\r\n }\r\n return disableControls\r\n }\r\n }\r\n checkForIP(checked){\r\n if (checked.target.checked) {\r\n this.isIPChecked = true;\r\n this.enableDisableCovidOption = true;\r\n if(this.isAdmin){\r\n this.noContract = false;\r\n }\r\n else { \r\n this.noContract = true;\r\n this.isCommunityCharity = false; \r\n }\r\n this.addBusinessForm.controls['ImmunizationProgram']?.setErrors(null);\r\n this.addBusinessForm.controls['SeniorOutreach']?.setErrors(null);\r\n this.addBusinessForm.controls['SeniorOutreach']?.markAsPristine();\r\n this.addBusinessForm.controls['SeniorOutreach']?.markAsUntouched();\r\n this.addBusinessForm.updateValueAndValidity();\r\n this.canDisplayAutoInitiate = true;\r\n }\r\n else {\r\n this.canDisplayAutoInitiate = false;\r\n this.isIPChecked = false;\r\n if(!this.isSOChecked && this.addBusinessForm.controls['SeniorOutreach'].value != true){\r\n this.addBusinessForm.controls['covidOpportunityType'].setValue(null);\r\n this.addBusinessForm.controls['fluOpportunityType'].setValue(null);\r\n this.addBusinessForm.controls['isNoContractOpportunity'].setValue(false);\r\n this.addBusinessForm.controls['isCovidOpportunity'].setValue(null);\r\n this.addBusinessForm.controls['isFluOpportunity'].setValue(null);\r\n this.addBusinessForm.controls['covidClinicType'].setValue('');\r\n this.addBusinessForm.controls['LTCFType'].setValue(''); \r\n this.addBusinessForm.controls['CharityHHSVoucher'].setValue(false); \r\n this.enableDisableCovidOption = false;\r\n this.noContract = true;\r\n this.isCommunityCharity = false;\r\n this.canDisplayIndustries = false;\r\n this.addBusinessForm.controls['Others'].setValue(null);\r\n }\r\n if(this.addBusinessForm.controls['ImmunizationProgram'].value != true && this.addBusinessForm.controls['SeniorOutreach'].value != true){\r\n this.addBusinessForm.controls['ImmunizationProgram']?.setErrors({'incorrect': true});\r\n this.addBusinessForm.controls['SeniorOutreach']?.setErrors({'incorrect': true});\r\n this.addBusinessForm.controls['ImmunizationProgram']?.markAsDirty();\r\n this.addBusinessForm.controls['ImmunizationProgram']?.markAsTouched();\r\n this.addBusinessForm.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n\r\n checkForSO(checked){\r\n if (checked.target.checked) {\r\n this.isSOChecked = true;\r\n this.enableDisableCovidOption = true;\r\n this.addBusinessForm.controls['ImmunizationProgram']?.setErrors(null);\r\n this.addBusinessForm.controls['SeniorOutreach']?.setErrors(null);\r\n this.addBusinessForm.controls['ImmunizationProgram']?.markAsPristine();\r\n this.addBusinessForm.controls['ImmunizationProgram']?.markAsUntouched();\r\n this.addBusinessForm.updateValueAndValidity();\r\n }\r\n else {\r\n this.isSOChecked = false;\r\n if(this.isImmunizationProgram == false && !this.isIPChecked && this.addBusinessForm.controls['ImmunizationProgram'].value != true){\r\n this.addBusinessForm.controls['covidOpportunityType'].setValue(null);\r\n this.addBusinessForm.controls['fluOpportunityType'].setValue(null);\r\n this.addBusinessForm.controls['isNoContractOpportunity'].setValue(false);\r\n this.addBusinessForm.controls['isCovidOpportunity'].setValue(null);\r\n this.addBusinessForm.controls['isFluOpportunity'].setValue(null);\r\n this.addBusinessForm.controls['covidClinicType'].setValue('');\r\n this.addBusinessForm.controls['LTCFType'].setValue(''); \r\n this.addBusinessForm.controls['CharityHHSVoucher'].setValue(false); \r\n this.enableDisableCovidOption = false;\r\n this.noContract = true;\r\n this.isCommunityCharity = false;\r\n this.canDisplayIndustries = false;\r\n this.addBusinessForm.controls['Others'].setValue(null);\r\n }\r\n if(this.addBusinessForm.controls['ImmunizationProgram'].value != true && this.addBusinessForm.controls['SeniorOutreach'].value != true){\r\n this.addBusinessForm.controls['ImmunizationProgram']?.setErrors({'incorrect': true});\r\n this.addBusinessForm.controls['SeniorOutreach']?.setErrors({'incorrect': true});\r\n this.addBusinessForm.controls['SeniorOutreach']?.markAsDirty();\r\n this.addBusinessForm.controls['SeniorOutreach']?.markAsTouched();\r\n this.addBusinessForm.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n\r\n checkForCovid(checked) {\r\n if (checked.target.checked) {\r\n // Task 943 Fix\r\n if(Number(this.addBusinessForm.controls['covidOpportunityType'].value) == 1)\r\n {\r\n this.addBusinessForm.controls['fluOpportunityType'].setValue(\"3\");\r\n }\r\n\r\n if(Number(this.addBusinessForm.controls['covidOpportunityType'].value) == 2)\r\n {\r\n this.addBusinessForm.controls['fluOpportunityType'].setValue(\"0\");\r\n }\r\n\r\n Number(this.addBusinessForm.controls['covidOpportunityType'].value)!==0 ? \r\n this.addBusinessForm.controls['isCovidOpportunity'].setValue(true):\r\n this.addBusinessForm.controls['isCovidOpportunity'].setValue(false);\r\n\r\n this.addBusinessForm.controls['fluOpportunityType'].value != null && \r\n (Number(this.addBusinessForm.controls['fluOpportunityType'].value)==3 || \r\n Number(this.addBusinessForm.controls['fluOpportunityType'].value)==0) ? \r\n this.addBusinessForm.controls['isFluOpportunity'].setValue(true):\r\n this.addBusinessForm.controls['isFluOpportunity'].setValue(false);\r\n \r\n if(this.addBusinessForm.controls['covidOpportunityType'].value == 1 || \r\n this.addBusinessForm.controls['fluOpportunityType'].value == 3)\r\n {\r\n this.addBusinessForm.controls['LTCFType'].setValue('ALF');\r\n // this.addBusinessForm.controls['Residents'].setValue(this.addBusinessForm.controls['EmploymentSize'].value); \r\n }\r\n else\r\n {\r\n this.addBusinessForm.controls['LTCFType'].setValue(''); \r\n //this.addBusinessForm.controls['Residents'].setValue(0); \r\n }\r\n if(this.isAdmin){\r\n this.noContract = false;\r\n }\r\n else {\r\n this.noContract = true;\r\n this.addBusinessForm.controls['CommunityOutreach'].setValue(false);\r\n this.addBusinessForm.controls['CharityHHSVoucher'].setValue(false);\r\n //Number(this.addBusinessForm.controls['covidOpportunityType'].value)===0 || this.addBusinessForm.controls['covidOpportunityType'].value===null?this.isCommunityCharity=false: this.isCommunityCharity=true;\r\n }\r\n }\r\n else {\r\n this.addBusinessForm.controls['isCovidOpportunity'].setValue(null);\r\n if(this.isAdmin){\r\n this.noContract = false;\r\n }\r\n else {\r\n this.noContract = true;\r\n this.addBusinessForm.controls['CommunityOutreach'].setValue(false);\r\n this.addBusinessForm.controls['CharityHHSVoucher'].setValue(false);\r\n this.isCommunityCharity = true;\r\n }\r\n }\r\n }\r\n validateControls(){\r\n if(this.addBusinessForm.value.covidOpportunityType == '1'){\r\n // this.addBusinessForm.controls['pkhash'].setValidators([Validators.required]);\r\n // this.addBusinessForm.controls['pkhash'].updateValueAndValidity();\r\n this.addBusinessForm.controls['LTCFType'].setValidators([Validators.required]);\r\n this.addBusinessForm.controls['LTCFType'].updateValueAndValidity();\r\n }\r\n else{\r\n this.addBusinessForm.controls['pkhash'].clearValidators();\r\n this.addBusinessForm.controls['pkhash'].updateValueAndValidity();\r\n this.addBusinessForm.controls['LTCFType'].clearValidators();\r\n this.addBusinessForm.controls['LTCFType'].updateValueAndValidity();\r\n }\r\n if(this.addBusinessForm.value.covidOpportunityType == '2' ||this.addBusinessForm.value.covidOpportunityType == '1'){\r\n this.addBusinessForm.controls['covidClinicType'].setValidators([Validators.required]);\r\n this.addBusinessForm.controls['covidClinicType'].updateValueAndValidity();\r\n }\r\n else {\r\n this.addBusinessForm.controls['covidClinicType'].clearValidators();\r\n this.addBusinessForm.controls['covidClinicType'].updateValueAndValidity();\r\n }\r\n \r\n if(this.addBusinessForm.value.covidOpportunityType == '2'){\r\n // this.addBusinessForm.controls['targetPopulation'].setValidators([Validators.required]);\r\n // this.addBusinessForm.controls['targetPopulation'].updateValueAndValidity();\r\n // this.addBusinessForm.controls['communityPartner'].setValidators([Validators.required]);\r\n // this.addBusinessForm.controls['communityPartner'].updateValueAndValidity();\r\n // this.addBusinessForm.controls['healthDeptInvolved'].setValidators([Validators.required]);\r\n // this.addBusinessForm.controls['healthDeptInvolved'].updateValueAndValidity();\r\n // this.addBusinessForm.controls['opportunityHostLocation'].setValidators([Validators.required]);\r\n // this.addBusinessForm.controls['opportunityHostLocation'].updateValueAndValidity();\r\n // this.addBusinessForm.controls['vaccineInventorySource'].setValidators([Validators.required]);\r\n // this.addBusinessForm.controls['vaccineInventorySource'].updateValueAndValidity();\r\n }\r\n else{\r\n this.addBusinessForm.controls['targetPopulation'].clearValidators();\r\n this.addBusinessForm.controls['targetPopulation'].updateValueAndValidity();\r\n this.addBusinessForm.controls['communityPartner'].clearValidators();\r\n this.addBusinessForm.controls['communityPartner'].updateValueAndValidity();\r\n this.addBusinessForm.controls['healthDeptInvolved'].clearValidators();\r\n this.addBusinessForm.controls['healthDeptInvolved'].updateValueAndValidity();\r\n this.addBusinessForm.controls['opportunityHostLocation'].clearValidators();\r\n this.addBusinessForm.controls['opportunityHostLocation'].updateValueAndValidity();\r\n this.addBusinessForm.controls['vaccineInventorySource'].clearValidators();\r\n this.addBusinessForm.controls['vaccineInventorySource'].updateValueAndValidity();\r\n }\r\n if(this.addBusinessForm.value.communityPartner == \"true\"){\r\n this.addBusinessForm.controls['communityPartnerName'].setValidators([Validators.required]);\r\n this.addBusinessForm.controls['communityPartnerName'].updateValueAndValidity();\r\n }\r\n else{\r\n this.addBusinessForm.controls['communityPartnerName'].clearValidators();\r\n this.addBusinessForm.controls['communityPartnerName'].updateValueAndValidity();\r\n }\r\n }\r\n confirmDeactivateOpportunity() {\r\n this.dialogMsg = \"Are you sure you want to deactivate this opportunity? Deactivating it will remove it from the store's Opportunity List and all Outreach Programs. This opportunity will no longer be available through the Outreach Portal.\";\r\n this.dialogSummary = 'Deactivate Opportunity';\r\n this.showDeactivateOpportunity = true;\r\n }\r\n DeactivateOpportunity(){\r\n this._AddBusinessService.deactivateOpportunity(this.businessPk).subscribe((res: any) => {\r\n if (res == \"success\") {\r\n this.showDeactivateOpportunity = false;\r\n this.popupShow = true;\r\n this.Action = \"DeactivateOpp\";\r\n this.dialogMsg = 'The Opportunity has been removed successfully.';\r\n this.dialogSummary = 'Deactivate Opportunity';\r\n }\r\n }, error => {\r\n this.showDeactivateOpportunity = false;\r\n this.displayNgMsg('error', 'Error', \"An error has occurred. Pleaase contact administrartor.\");\r\n return false;\r\n });\r\n }\r\n CheckIfOnlyCovidSelected(){ \r\n if(this.addBusinessForm.controls['covidOpportunityType'].value == 1 || this.addBusinessForm.controls['covidOpportunityType'].value == 2 && this.isCommunityCharity == false)\r\n {\r\n if(this.addBusinessForm.controls['fluOpportunityType'].value == 0 || this.addBusinessForm.controls['fluOpportunityType'].value == 3)\r\n {\r\n return null;\r\n }\r\n return true;\r\n }\r\n else\r\n {\r\n return null;\r\n } \r\n }\r\n\r\n public displayIndustries(event: any, designationType: string) { \r\n if (event) {\r\n this.canDisplayIndustries = true;\r\n this.canDisplayOtherTextboxForIndustries = false;\r\n this.addBusinessForm.controls['Industry']?.setValue('');\r\n this.addBusinessForm.controls['Others']?.clearValidators();\r\n this.addBusinessForm.controls['Others']?.setValue(null);\r\n\r\n if (designationType?.toLocaleLowerCase() === 'ltcf opportunity') {\r\n this.industries = this.ltcfOpportunityIndustries;\r\n }\r\n else if (designationType?.toLocaleLowerCase() === 'standard opportunity') {\r\n this.industries = this.standardOpportunityIndustries;\r\n const ltcfClinicTypeIndex = this.covidClinicTypeValues.findIndex(type => type.name.toLocaleLowerCase() === 'ltcf');\r\n\r\n if(ltcfClinicTypeIndex !== -1){\r\n this.covidClinicTypeValues.splice(ltcfClinicTypeIndex, 1);\r\n \r\n if(!this.covidClinicTypeValues.some(type => type.name.toLocaleLowerCase() === 'other senior housing')){\r\n this.covidClinicTypeValues.push({\r\n id: 'Other senior housing',\r\n name: 'Other senior housing'\r\n });\r\n }\r\n }\r\n }\r\n\r\n // hard code the clinic type to LTCF if LTCF Designation has been selected.\r\n if (designationType?.toLocaleLowerCase() === 'ltcf opportunity') {\r\n if(!this.covidClinicTypeValues.some(type => type.name.toLocaleLowerCase() === 'ltcf')){\r\n this.covidClinicTypeValues.push({\r\n id: 'LTCF',\r\n name: 'LTCF'\r\n });\r\n }\r\n this.addBusinessForm.controls['covidClinicType'].setValue('LTCF');\r\n }\r\n else{\r\n this.addBusinessForm.controls['covidClinicType'].setValue(null); \r\n }\r\n this._ref.detectChanges();\r\n }\r\n }\r\n\r\n public addConditionForOtherIndustry(event: any){\r\n if(event){\r\n const opportunityType = this.addBusinessForm.controls['covidOpportunityType']?.value;\r\n const selectedIndustry = this.addBusinessForm.controls['Industry']?.value;\r\n\r\n // if opportunityType is LTCF OR Standard \r\n // AND selectedIndustry is Others\r\n // then display others txt box and add required validator\r\n if ((opportunityType === '1' || opportunityType === 1 \r\n || opportunityType === '2' || opportunityType === 2) \r\n && selectedIndustry.toLocaleLowerCase() === 'other'){\r\n this.canDisplayOtherTextboxForIndustries = true;\r\n this.addBusinessForm.controls['Others']?.setValidators([Validators.required]);\r\n this.addBusinessForm.updateValueAndValidity();\r\n }\r\n \r\n if(selectedIndustry.toLocaleLowerCase() !== 'other'){\r\n this.canDisplayOtherTextboxForIndustries = false;\r\n this.addBusinessForm.controls['Others']?.setValue(null);\r\n this.addBusinessForm.controls['Others']?.setErrors(null);\r\n this.addBusinessForm.controls['Others']?.clearValidators();\r\n this.addBusinessForm.updateValueAndValidity();\r\n }\r\n this._ref.detectChanges();\r\n }\r\n }\r\n\r\n public ValidateFieldForSpecialCharacters(event){\r\n if (event.key == '\"') {\r\n event.preventDefault();\r\n return;\r\n }\r\n }\r\n\r\n public RemoveCharactersFromField(event, formCtrlName: string){\r\n if(event.target.value.length){\r\n // remove double quotes\r\n let opportunityName = event.target.value?.replace('\"', '');\r\n opportunityName = opportunityName?.replace('\"', '');\r\n opportunityName = opportunityName?.replace('“', '');\r\n opportunityName = opportunityName?.replace('”', '');\r\n\r\n // remove tab space\r\n opportunityName = opportunityName?.replace('\\t', ''); \r\n\r\n this.addBusinessForm.controls[formCtrlName].setValue(opportunityName);\r\n }\r\n }\r\n\r\n public deleteOpportunityConfirmation(){\r\n this.displayDeleteDialog = true;\r\n this.deleteOpportunityHeader = ErrorMessages['deleteOpportunityHeader'];\r\n this.deleteOpportunityBody = ErrorMessages['deleteOpportunityConfirmation'];\r\n }\r\n\r\n deleteOpportunityCancel() {\r\n this.displayDeleteDialog = false;\r\n }\r\n\r\n hasAlternateContactData(){\r\n if((this.addBusinessForm.get('AlternateFirstName').value !== null && this.addBusinessForm.get('AlternateFirstName').value !== '') || \r\n (this.addBusinessForm.get('AlternateLastName').value !== null && this.addBusinessForm.get('AlternateLastName').value !== '') || \r\n (this.addBusinessForm.get('AlternatePhone').value !== null && this.addBusinessForm.get('AlternatePhone').value !== '') || \r\n (this.addBusinessForm.get('AlternateContactExt').value !== null && this.addBusinessForm.get('AlternateContactExt').value !== '') || \r\n (this.addBusinessForm.get('AlternateJobTitle').value !== null && this.addBusinessForm.get('AlternateJobTitle').value !== '') || \r\n (this.addBusinessForm.get('AlternateEMail').value !== null && this.addBusinessForm.get('AlternateEMail').value !== ''))\r\n this.openAlternateAcc = true;\r\n else \r\n this.openAlternateAcc = false;\r\n }\r\n\r\n private deleteOpportunityData(){\r\n this.spinner.show();\r\n this._opportunityService.deleteOpporunityInfo(this.businessPk)\r\n .subscribe((data: string) => {\r\n this.spinner.hide();\r\n if (data?.toLowerCase() == \"cannot delete the opportunity\") {\r\n this.dialogSummary = ErrorMessages['warning'];\r\n this.dialogMsg = ErrorMessages['cannotDeleteOpportunity'];\r\n this.popupSuccessShow = true;\r\n }\r\n else if (data?.toLowerCase() == \"success\") {\r\n this.prouter.navigate(['/communityoutreach/storehome']);\r\n }\r\n },\r\n error => {\r\n this.spinner.hide();\r\n });\r\n }\r\n}\r\n\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, NgForm } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { Schedulevent } from '../../../../models/schedulevent';\r\nimport { Util } from '../../../../utility/util';\r\nimport { ScheduleeventService } from '../../services/scheduleevent.service';\r\nimport { SessionDetails } from '../../../../utility/session';\r\nimport { FollowUp } from '../../../../models/FollowUp';\r\nimport { DatePipe, Time, Location } from '@angular/common';\r\nimport { MessageServiceService } from '../../services/message-service.service';\r\nimport { ErrorMessages } from '../../../../config-files/error-messages';\r\nimport { FormCanDeactivate } from '../../../../guards/form-can-deactivate/form-can-deactivate';\r\nimport { TimeToDatePipe } from '../../../contractaggreement/pipes/time-to-date.pipe';\r\n\r\n@Component({\r\n selector: 'app-schedule-event',\r\n templateUrl: './schedule-event.component.html',\r\n styleUrls: ['./schedule-event.component.css'],\r\n providers: [TimeToDatePipe, DatePipe]\r\n})\r\nexport class ScheduleEventComponent extends FormCanDeactivate implements OnInit {\r\n @ViewChild('form')\r\n form: NgForm;\r\n showHints: boolean = ((localStorage.getItem(\"hintsOff\") || sessionStorage.getItem(\"hintsOff\")) === 'yes') ? false : true;\r\n pageName: string = \"scheduleevent\";\r\n schedule_event_form: FormGroup;\r\n schedule_event: Schedulevent;\r\n defaultTime: Date = new Date('Mon Jan 1 1900 00:00:00')\r\n eventdate: string;\r\n event_details: any;\r\n startTime: any;\r\n endTime: any;\r\n isEdit: boolean = false;\r\n displayOnSucc: boolean = false;\r\n startTimeToDo: string = \"\";\r\n eventStartTimeValid: Date;\r\n eventEndTimeValid: Date;\r\n savePopUp: boolean = false;\r\n continuePopUp: boolean = false;\r\n dialogSummary: string;\r\n dialogMsg: string;\r\n doNotSaveText: string = \"\";\r\n setUp: string = \"\";\r\n isEventTypeReadOnly: boolean = false;\r\n isWallgreenRoleReadOnly: boolean = false;\r\n schedule_event_check = new Schedulevent();\r\n showCanRouteChange: boolean;\r\n disable_button: boolean = false;\r\n showStartTimeEndTimeValid :boolean = false;\r\n isTimeValid:Number = 0;\r\n continueToSaveClicked :Number = 1;\r\n constructor(private formBuilder: FormBuilder, private _location: Location, private router: Router,\r\n private message_service: MessageServiceService, private _datePipe: DatePipe, private utility: Util, private schedule_event_service: ScheduleeventService,\r\n private _timeToDatePipe: TimeToDatePipe) {\r\n super();\r\n this.message_service.getCanShowRouteChangeConfirmation().subscribe(message => {\r\n this.showCanRouteChange = message.text;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.schedule_event_form = this.formBuilder.group({\r\n eventdate: ['', Validators.required],\r\n eventStartTime: ['', Validators.required],\r\n eventEndTime: ['', Validators.required],\r\n eventTypeId: ['', Validators.required],\r\n walgreensRoleId: ['', null],\r\n provideEducationalMaterial: ['', null],\r\n description: ['', null],\r\n numberOfAttendees: ['', null],\r\n eventDescription: ['', null],\r\n walgreensRoleDescription: ['', null]\r\n });\r\n\r\n this.isEventTypeReadOnly = true;\r\n this.isWallgreenRoleReadOnly = true;\r\n this.event_details = SessionDetails.GetEventDetails();\r\n this.schedule_event_check = this.schedule_event_form.value;\r\n if (this.event_details != null && this.event_details.contactLogPk != null) {\r\n this.getScheduleEvents(this.event_details.contactLogPk)\r\n }\r\n let today = new Date();\r\n this.defaultTime = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 8, 0, 0);\r\n }\r\n getScheduleEvents(contact_log_pk) {\r\n var schedule_event = new Schedulevent();\r\n this.isEdit = true;\r\n this.schedule_event_service.getScheduleEvents(contact_log_pk).subscribe((schedule_events:Schedulevent) => {\r\n schedule_event = schedule_events;\r\n this.schedule_event_check = schedule_event;\r\n this.schedule_event_form.controls['eventdate'].setValue(new Date(schedule_event.dateOfEvent));\r\n this.schedule_event_form.controls['eventStartTime'].setValue(schedule_event.eventStartTime.replace(\" \", \" \"));//schedule_event.eventStartTime);\r\n this.schedule_event_form.controls['eventEndTime'].setValue(schedule_event.eventEndTime.replace(\" \", \" \"));// schedule_event.eventEndTime);\r\n this.schedule_event_form.controls['eventTypeId'].setValue(String(schedule_event.eventTypeId));\r\n if (schedule_event.eventTypeId != 8) {\r\n this.isEventTypeReadOnly = true;\r\n }\r\n this.schedule_event_form.controls['walgreensRoleId'].setValue(String(schedule_event.walgreensRoleId));\r\n if (schedule_event.eventTypeId != 3) {\r\n this.isWallgreenRoleReadOnly = true;\r\n }\r\n this.schedule_event_form.controls['provideEducationalMaterial'].setValue(schedule_event.provideEducationalMaterial == true ? \"1\" : \"2\");\r\n this.schedule_event_form.controls['description'].setValue(schedule_event.description);\r\n this.schedule_event_form.controls['numberOfAttendees'].setValue(schedule_event.numberOfAttendees);\r\n this.schedule_event_form.controls['walgreensRoleDescription'].setValue(schedule_event.walgreensRoleDescription);\r\n this.schedule_event_form.controls['eventDescription'].setValue(schedule_event.eventDescription);\r\n this.schedule_event_check = this.schedule_event_form.value;\r\n });\r\n }\r\n\r\n isFieldValid(field: string) {\r\n return !this.schedule_event_form.get(field).valid && this.schedule_event_form.get(field).touched;\r\n }\r\n\r\n displayFieldCss(field: string) {\r\n return {\r\n 'has-error': this.isFieldValid(field),\r\n 'has-feedback': this.isFieldValid(field)\r\n };\r\n }\r\n onSubmit() {\r\n if (this.isEdit) {\r\n this.updateEvent();\r\n }\r\n else {\r\n this.addEvent();\r\n }\r\n }\r\n addEvent() {\r\n \r\n if (this.schedule_event_form.controls['eventTypeId'].value == \"8\") {\r\n this.schedule_event_form.controls['eventDescription'].setValidators([Validators.required])\r\n this.schedule_event_form.controls['eventDescription'].updateValueAndValidity()\r\n }\r\n if (this.schedule_event_form.controls['walgreensRoleId'].value == \"3\") {\r\n this.schedule_event_form.controls['walgreensRoleDescription'].setValidators([Validators.required])\r\n this.schedule_event_form.controls['walgreensRoleDescription'].updateValueAndValidity()\r\n }\r\n var scheduleEvent = new FollowUp();\r\n if (this.schedule_event_form.valid) {\r\n if (this.schedule_event_form.controls['eventStartTime'].value != \"\")\r\n this.startTime = this._datePipe.transform(this.schedule_event_form.controls['eventStartTime'].value, 'shortTime');\r\n if (this.schedule_event_form.controls['eventEndTime'].value != \"\") {\r\n this.endTime = this._datePipe.transform(this.schedule_event_form.controls['eventEndTime'].value, 'shortTime');\r\n }\r\n scheduleEvent.srEventScheduledDetails.dateOfEvent = new Date(this.schedule_event_form.controls['eventdate'].value);\r\n \r\n let endDate: Date;\r\n let startDate: Date;\r\n if (this.endTime.toString().toLowerCase().search('am') !== -1 || this.endTime.toString().toLowerCase().search('pm') !== -1) {\r\n endDate = this._timeToDatePipe.transform(scheduleEvent.srEventScheduledDetails.dateOfEvent, this.endTime);\r\n }\r\n if (this.startTime.toString().toLowerCase().search('am') !== -1 || this.startTime.toString().toLowerCase().search('pm') !== -1) {\r\n startDate = this._timeToDatePipe.transform(scheduleEvent.srEventScheduledDetails.dateOfEvent, this.startTime);\r\n }\r\n \r\n let locStart: Date = new Date(startDate);\r\n let locEnd: Date = new Date(endDate);\r\n if(locEnd.getHours()-locStart.getHours()< 0 &&this.continueToSaveClicked != 2){\r\n this.showStartTimeEndTimeValid = true;\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = ErrorMessages['clinicLengthAlert'];\r\n this.isTimeValid = 2;\r\n return false;\r\n }\r\n else if(locEnd.getHours()-locStart.getHours()> 8 &&this.continueToSaveClicked != 2){ \r\n this.continueToSaveClicked = 0;\r\n this.showStartTimeEndTimeValid = true;\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = ErrorMessages['clinicLengthMoreThan8Hrs'];\r\n this.isTimeValid = 1; \r\n return false;\r\n }\r\n \r\n scheduleEvent.srEventScheduledDetails.dateOfEvent = this._datePipe.transform(scheduleEvent.srEventScheduledDetails.dateOfEvent, \"MM/dd/yyyy\");\r\n scheduleEvent.srEventScheduledDetails.eventStartTime = this.startTime;\r\n scheduleEvent.srEventScheduledDetails.eventEndTime = this.endTime;\r\n scheduleEvent.srEventScheduledDetails.numberOfAttendes = +this.schedule_event_form.controls['numberOfAttendees'].value;\r\n scheduleEvent.srEventScheduledDetails.eventTypeId = +this.schedule_event_form.controls['eventTypeId'].value;\r\n scheduleEvent.srEventScheduledDetails.walgreensRoleId = +this.schedule_event_form.controls['walgreensRoleId'].value;\r\n if (this.schedule_event_form.controls['provideEducationalMaterial'].value == \"1\") {\r\n scheduleEvent.srEventScheduledDetails.provideEducationalMaterial = true;\r\n }\r\n else {\r\n scheduleEvent.srEventScheduledDetails.provideEducationalMaterial = false;\r\n }\r\n\r\n scheduleEvent.srEventScheduledDetails.description = this.schedule_event_form.controls['description'].value;\r\n scheduleEvent.srEventScheduledDetails.walgreensRoleDescription = this.schedule_event_form.controls['walgreensRoleDescription'].value;\r\n scheduleEvent.srEventScheduledDetails.eventDescription = this.schedule_event_form.controls['eventDescription'].value;\r\n\r\n scheduleEvent.logOutreachStatus.businessPk = this.event_details.logOutreachStatus.businessPk;;\r\n scheduleEvent.logOutreachStatus.firstName = this.event_details.logOutreachStatus.firstName;\r\n scheduleEvent.logOutreachStatus.lastName = this.event_details.logOutreachStatus.lastName;\r\n scheduleEvent.logOutreachStatus.jobTitle = this.event_details.logOutreachStatus.jobTitle;\r\n scheduleEvent.logOutreachStatus.outreachProgram = this.event_details.logOutreachStatus.outreachProgram;\r\n scheduleEvent.logOutreachStatus.outreachBusinessPk = this.event_details.logOutreachStatus.outreachBusinessPk;\r\n scheduleEvent.logOutreachStatus.contactDate = this.event_details.logOutreachStatus.contactDate;\r\n \r\n scheduleEvent.logOutreachStatus.outreachStatusId = this.event_details.logOutreachStatus.outreachStatusId;\r\n scheduleEvent.logOutreachStatus.outreachStatusTitle = this.event_details.logOutreachStatus.outreachStatusTitle;\r\n scheduleEvent.logOutreachStatus.feedback = this.event_details.logOutreachStatus.feedback;\r\n scheduleEvent.logOutreachStatus.createdBy = this.event_details.logOutreachStatus.createdBy;\r\n scheduleEvent.logOutreachStatus.clinicAgreementPk = 0;\r\n this.disable_button = true;\r\n this.schedule_event_service.postScheduleEvent(scheduleEvent).subscribe((data) => { \r\n if (data === \"success\") {\r\n this.displayOnSucc = true;\r\n this.disable_button = false;\r\n }\r\n },\r\n err => {\r\n this.disable_button = false;\r\n });\r\n\r\n\r\n } else {\r\n this.utility.validateAllFormFields(this.schedule_event_form); //{7}\r\n }\r\n }\r\n updateEvent() {\r\n if (this.schedule_event_form.controls['eventTypeId'].value == \"8\") {\r\n this.schedule_event_form.controls['eventDescription'].setValidators([Validators.required])\r\n this.schedule_event_form.controls['eventDescription'].updateValueAndValidity()\r\n }\r\n if (this.schedule_event_form.controls['walgreensRoleId'].value == \"3\") {\r\n this.schedule_event_form.controls['walgreensRoleDescription'].setValidators([Validators.required])\r\n this.schedule_event_form.controls['walgreensRoleDescription'].updateValueAndValidity()\r\n }\r\n var scheduleEvent = new Schedulevent();\r\n if (this.schedule_event_form.valid) {\r\n\r\n this.eventStartTimeValid = new Date(this.schedule_event_form.controls['eventStartTime'].value);\r\n this.eventEndTimeValid = new Date(this.schedule_event_form.controls['eventEndTime'].value);\r\n\r\n if (this.eventStartTimeValid.toString().toLowerCase() == \"invalid date\") {\r\n scheduleEvent.eventStartTime = this.schedule_event_form.controls['eventStartTime'].value;\r\n }\r\n else {\r\n if (this.schedule_event_form.controls['eventStartTime'].value != \"\")\r\n scheduleEvent.eventStartTime = this._datePipe.transform(this.schedule_event_form.controls['eventStartTime'].value, 'shortTime');\r\n }\r\n if (this.eventEndTimeValid.toString().toLowerCase() == \"invalid date\") {\r\n scheduleEvent.eventEndTime = this.schedule_event_form.controls['eventEndTime'].value;\r\n }\r\n else {\r\n if (this.schedule_event_form.controls['eventEndTime'].value != \"\")\r\n scheduleEvent.eventEndTime = this._datePipe.transform(this.schedule_event_form.controls['eventEndTime'].value, 'shortTime');\r\n }\r\n scheduleEvent.contactLogPk = this.event_details.contactLogPk;\r\n scheduleEvent.dateOfEvent = new Date(this.schedule_event_form.controls['eventdate'].value);\r\n let endDate: Date;\r\n let startDate: Date;\r\n \r\n if ( scheduleEvent.eventEndTime.toString().toLowerCase().search('am') !== -1 || scheduleEvent.eventEndTime.toString().toLowerCase().search('pm') !== -1) {\r\n endDate = this._timeToDatePipe.transform(scheduleEvent.dateOfEvent, scheduleEvent.eventEndTime);\r\n }\r\n if ( scheduleEvent.eventStartTime.toString().toLowerCase().search('am') !== -1 || scheduleEvent.eventStartTime.toString().toLowerCase().search('pm') !== -1) {\r\n startDate = this._timeToDatePipe.transform(scheduleEvent.dateOfEvent, scheduleEvent.eventStartTime);\r\n }\r\n \r\n let locStart: Date = new Date(startDate);\r\n let locEnd: Date = new Date(endDate);\r\n if(locEnd.getHours()-locStart.getHours()< 0 && this.continueToSaveClicked != 2){\r\n this.showStartTimeEndTimeValid = true;\r\n this.dialogSummary = \"Error\";\r\n this.dialogMsg = ErrorMessages['clinicLengthAlert'];\r\n this.isTimeValid = 2;\r\n return false;\r\n }\r\n else if(locEnd.getHours()-locStart.getHours()> 8 && this.continueToSaveClicked != 2){ \r\n this.continueToSaveClicked = 0;\r\n this.showStartTimeEndTimeValid = true;\r\n this.dialogSummary = \"Alert\";\r\n this.dialogMsg = ErrorMessages['clinicLengthMoreThan8Hrs'];\r\n this.isTimeValid = 1; \r\n return false;\r\n }\r\n scheduleEvent.dateOfEvent = this._datePipe.transform(scheduleEvent.dateOfEvent, \"MM/dd/yyyy\");\r\n scheduleEvent.numberOfAttendees = +this.schedule_event_form.controls['numberOfAttendees'].value;\r\n scheduleEvent.eventTypeId = +this.schedule_event_form.controls['eventTypeId'].value;\r\n scheduleEvent.walgreensRoleId = +this.schedule_event_form.controls['walgreensRoleId'].value;\r\n if (this.schedule_event_form.controls['provideEducationalMaterial'].value == \"1\") {\r\n scheduleEvent.provideEducationalMaterial = true;\r\n }\r\n else {\r\n scheduleEvent.provideEducationalMaterial = false;\r\n }\r\n\r\n scheduleEvent.description = this.schedule_event_form.controls['description'].value;\r\n scheduleEvent.walgreensRoleDescription = this.schedule_event_form.controls['walgreensRoleDescription'].value;\r\n scheduleEvent.eventDescription = this.schedule_event_form.controls['eventDescription'].value;\r\n this.disable_button = true;\r\n this.schedule_event_service.upadteScheduleEvent(scheduleEvent).subscribe((data) => {\r\n if (data === \"success\") {\r\n this.disable_button = false;\r\n this.displayOnSucc = true;\r\n\r\n }\r\n },\r\n err=>{\r\n this.disable_button = false;\r\n }\r\n );\r\n\r\n } else {\r\n this.utility.validateAllFormFields(this.schedule_event_form); //{7}\r\n }\r\n }\r\n onScheduleDateSelected(selectedDate: Date) {\r\n this.schedule_event_form.controls['eventdate'].setValue(new Date(selectedDate.getFullYear(), selectedDate.getMonth(), selectedDate.getDate(), 12, 30, 55));\r\n }\r\n reset() {\r\n this.schedule_event_form.reset();\r\n }\r\n\r\n eventTypeClick() {\r\n this.isEventTypeReadOnly = true;\r\n this.schedule_event_form.controls['eventDescription'].setValue(\"\");\r\n this.schedule_event_form.controls['eventDescription'].clearValidators();\r\n this.schedule_event_form.controls['eventDescription'].updateValueAndValidity();\r\n\r\n }\r\n eventTypeOtherClick() {\r\n this.isEventTypeReadOnly = false;\r\n }\r\n walgreensRoleClick() {\r\n this.isWallgreenRoleReadOnly = true;\r\n this.schedule_event_form.controls['walgreensRoleDescription'].setValue(\"\");\r\n this.schedule_event_form.controls['walgreensRoleDescription'].clearValidators();\r\n this.schedule_event_form.controls['walgreensRoleDescription'].updateValueAndValidity();\r\n }\r\n walgreensRoleOtherClick() {\r\n this.isWallgreenRoleReadOnly = false;\r\n }\r\n onClick() {\r\n this.message_service.sendProfileChange(\"profilechange\");\r\n this.schedule_event_check = this.deepCopy(this.schedule_event_form.value);\r\n this.router.navigateByUrl('/communityoutreach/storehome');\r\n }\r\n onCancel() {\r\n\r\n var compare_objects = false;\r\n\r\n if (this.event_details != null && this.event_details.contactLogPk != null) {\r\n compare_objects = this.utility.compareTwoObjects(this.schedule_event_check, this.schedule_event_form.value);\r\n if (compare_objects) {\r\n this.doNotSaveText = \"Cancel\";\r\n this.setUp = \"Ok\";\r\n this.showDialog(ErrorMessages['unSavedData'], ErrorMessages['schedule_alert']);\r\n }\r\n else {\r\n this._location.back();\r\n }\r\n }\r\n else {\r\n if (!this.event_details || (this.event_details != null && this.event_details.contactLogPk == null)) {\r\n this._location.back();\r\n }\r\n else {\r\n this.continuePopUp = true;\r\n }\r\n\r\n\r\n }\r\n\r\n }\r\n doNotSave() {\r\n\r\n this.schedule_event_check = this.deepCopy(this.schedule_event_form.value);\r\n this._location.back();\r\n }\r\n Continue() {\r\n this.savePopUp = false;\r\n }\r\n continueSetup() {\r\n this.continuePopUp = false;\r\n }\r\n showDialog(msgSummary: string, msgDetail: string) {\r\n this.savePopUp = true;\r\n this.dialogMsg = msgDetail;\r\n this.dialogSummary = msgSummary;\r\n }\r\n\r\n onlyNumbers(event: any) {\r\n Util.onlyNumbers(event);\r\n }\r\n getModelDiff() {\r\n var diff = this.utility.getDifference(this.schedule_event_check, this.schedule_event_form.value);\r\n return diff;\r\n }\r\n\r\n leaveRoute() {\r\n this.showCanRouteChange = false;\r\n this.message_service.setCanShowRouteChangeConfirmation(false);\r\n this.message_service.setCanRouteChange(true);\r\n }\r\n cancelRoute() {\r\n this.showCanRouteChange = false;\r\n this.message_service.setCanShowRouteChangeConfirmation(false);\r\n this.message_service.setCanRouteChange(false);\r\n }\r\n deepCopy(oldObj: any) {\r\n var newObj = oldObj;\r\n if (oldObj && typeof oldObj === \"object\") {\r\n newObj = Object.prototype.toString.call(oldObj) === \"[object Array]\" ? [] : {};\r\n for (var i in oldObj) {\r\n newObj[i] = this.deepCopy(oldObj[i]);\r\n }\r\n }\r\n return newObj;\r\n }\r\n disableButton() {\r\n if (this.disable_button) {\r\n return 'false';\r\n }\r\n else {\r\n return '';\r\n }\r\n\r\n }\r\n EditTimes(){\r\n this.showStartTimeEndTimeValid=false;\r\n }\r\n ContinueToNextStep(){\r\n this.showStartTimeEndTimeValid=false;\r\n this.continueToSaveClicked = 2;\r\n this.onSubmit();\r\n }\r\n}\r\n","\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n\r\n@Pipe({\r\n name: 'groupBy'\r\n })\r\nexport class Contactlogpipe implements PipeTransform {\r\n transform(input: any, prop: string): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n \r\n const arr: { [key: string]: Array } = {};\r\n \r\n for (const value of input) {\r\n const field: any = getProperty(value, prop);\r\n \r\n if (isUndefined(arr[field])) {\r\n arr[field] = [];\r\n }\r\n \r\n arr[field].push(value);\r\n }\r\n \r\n return Object.keys(arr).map(key => ({ key, 'value': arr[key] }));\r\n }\r\n }\r\n\r\n// @Pipe({name: 'groupBy'})\r\n// export class Contactlogpipe implements PipeTransform {\r\n// transform(value: Array, field: string): Array {\r\n// const groupedObj = value.reduce((prev, cur)=> {\r\n// if(!prev[cur[field]]) {\r\n// prev[cur[field]] = [cur];\r\n// } else {\r\n// prev[cur[field]].push(cur);\r\n// }\r\n// return prev;\r\n// }, {});\r\n// return Object.keys(groupedObj).map(key => return {key, value: groupedObj[key]});\r\n// }\r\n// }\r\n\r\n export function getProperty (value: { [key: string]: any}, key: string): any {\r\n \r\n if (isNil(value) || !isObject(value)) {\r\n return undefined;\r\n }\r\n \r\n const keys: string[] = key.split('.');\r\n let result: any = value[keys.shift()!];\r\n \r\n for (const key of keys) {\r\n if (isNil(result) || ! (result)) {\r\n return undefined;\r\n }\r\n \r\n result = result[key];\r\n }\r\n \r\n return result;\r\n }\r\n export function isUndefined (value: any): value is undefined {\r\n \r\n return typeof value === 'undefined';\r\n }\r\n export function isNil (value: any): value is (null|undefined) {\r\n return value === null || typeof (value) === 'undefined';\r\n }\r\n export function isObject (value: any): boolean {\r\n \r\n return typeof value === 'object';\r\n }\r\n\r\n export function isArray (value: any): boolean {\r\n \r\n return Array.isArray(value);\r\n }","import { PipeTransform, Pipe } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Pipe({ name: 'cstDate' })\r\nexport class CSTDateConvertPipe implements PipeTransform {\r\n _datePipeObj: any;\r\n constructor(_datePipe: DatePipe) {\r\n this._datePipeObj = _datePipe;\r\n };\r\n transform(value) {\r\n let curr_date = new Date();\r\n curr_date.setHours(0,0,0,0)\r\n let day_light_saving_from_curr_year = this.nthWeekdayOfMonth(1,1,new Date(curr_date.getFullYear(),10));\r\n day_light_saving_from_curr_year.setHours(0,0,0,0);\r\n let day_light_saving_to_next_year = this.nthWeekdayOfMonth(1,2,new Date(curr_date.getFullYear() + 1,2));\r\n day_light_saving_to_next_year.setHours(0,0,0,0);\r\n let cstOffset = 5;\r\n if(curr_date >= day_light_saving_from_curr_year && curr_date < day_light_saving_to_next_year){\r\n cstOffset = 6;\r\n }\r\n cstOffset = cstOffset * 60 * 60 * 1000;\r\n let cstTimeZoneVal = new Date(value);\r\n let todayMillis = cstTimeZoneVal.getTime();\r\n let curretCST = todayMillis - cstOffset;\r\n let cstDateObj = new Date(curretCST)\r\n let formatted_cdt = this._datePipeObj.transform(cstDateObj, \"MM/dd/yyyy, h:mm a\");\r\n return formatted_cdt + \" (CST)\";\r\n }\r\n\r\n nthWeekdayOfMonth(weekday, n, date) {\r\n var count = 0,\r\n idate = new Date(date.getFullYear(), date.getMonth(), 1);\r\n while (true) {\r\n if (idate.getDay() === weekday) {\r\n if (++count == n) {\r\n break;\r\n }\r\n }\r\n idate.setDate(idate.getDate() + 1);\r\n }\r\n return idate;\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { SessionDetails } from '../../../utility/session';\r\n\r\n@Pipe({\r\n name: 'FilterPipe',\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n transform(value: any, input: string) {\r\n if (input) {\r\n input = input.toLowerCase();\r\n return value.filter(function (el: any) {\r\n return (el.businessName!=null || el.businessName!=\"\") ? el.businessName.toLowerCase().indexOf(input) > -1 : \"\"\r\n })\r\n }\r\n return value;\r\n }\r\n\r\n maxDate(value: any, input: string) {\r\n if (input) {\r\n input = input.toLowerCase();\r\n return value.filter(function (el: any) {\r\n return el.businessName.toLowerCase().indexOf(input) > -1 || el.phone.toLowerCase().indexOf(input) > -1;\r\n })\r\n }\r\n return value;\r\n }\r\n\r\n sortBy(array: Array, args: string, status: string = null): Array {\r\n if (array == null) {\r\n return null;\r\n }\r\n array.sort((a: any, b: any) => {\r\n if (status != \"latest\") {\r\n switch (args.toLowerCase()) {\r\n case 'contactdate':\r\n return FilterPipe._orderByDescComparator(a.value[0][args], b.value[0][args]);\r\n case 'eventdate': \r\n return FilterPipe._orderByDescComparator(a[args], b[args]);\r\n case 'employmentsize':\r\n // if (a[args].toLowerCase() == \"n/a\") {\r\n // a[args] = '-1';\r\n // }\r\n // if (b[args].toLowerCase() == \"n/a\") {\r\n // b[args] = '-1';\r\n // }\r\n // return -FilterPipe._orderByComparator(a[args], b[args]);\r\n return FilterPipe._orderByComparatorBooleanValuesPC(a,b,false);\r\n case 'lastcontact':\r\n if (a[args] == null) {\r\n a[args] = '-1';\r\n }\r\n if (b[args] == null) {\r\n b[args] = '-1';\r\n }\r\n return FilterPipe._orderByComparator(a[args], b[args]);\r\n case 'outreacheffort':\r\n return FilterPipe._orderByComparatorV1(a[args], b[args]);\r\n case 'ip': \r\n let is_ip= SessionDetails.getIsIP();\r\n if(!is_ip){\r\n if(a.isPreviousClient || b.isPreviousClient){\r\n return FilterPipe._orderByComparatorBooleanValuesPC(a,b); \r\n } \r\n else {\r\n return FilterPipe._orderByComparatorV1(a['outreachEffort'], b['outreachEffort'],false);\r\n }\r\n }\r\n else {\r\n return FilterPipe._orderByComparatorV1(a['outreachEffort'], b['outreachEffort'],false);\r\n }\r\n case 'ispreviousclient':\r\n //return FilterPipe._orderByComparatorBooleanValues(a[args], b[args]);\r\n return FilterPipe._orderByComparatorBooleanValuesPC(a,b);\r\n case 'iscovidopportunity':\r\n return FilterPipe._orderByComparatorBooleanValuesisCOVIDOpp(a,b);\r\n default:\r\n return FilterPipe._orderByComparator(a[args], b[args]);\r\n\r\n }\r\n }\r\n\r\n else if (status == \"latest\") {\r\n if (a[args] == null) {\r\n a[args] = '-1';\r\n }\r\n if (b[args] == null) {\r\n b[args] = '-1';\r\n }\r\n return FilterPipe._orderByDescComparator(a[args], b[args]);\r\n }\r\n });\r\n return array;\r\n }\r\n sortByUpcoming(array: Array, args: string, status: string = null): Array {\r\n if (array == null) {\r\n return null;\r\n }\r\n array.sort((a: any, b: any) => {\r\n \r\n if (status != \"latest\") {\r\n switch (args.toLowerCase()) { \r\n //case 'eventdate': \r\n //return FilterPipe._orderByComparator(a[args], b[args]); \r\n \r\n default:\r\n return FilterPipe._orderByComparator(a[args], b[args]);\r\n }\r\n }\r\n\r\n else if (status == \"latest\") {\r\n if (a[args] == null) {\r\n a[args] = '-1';\r\n }\r\n if (b[args] == null) {\r\n b[args] = '-1';\r\n }\r\n return FilterPipe._orderByDescComparator(a[args], b[args]);\r\n }\r\n });\r\n return array;\r\n }\r\n\r\n static _orderByComparator(a: any, b: any): number {\r\n if(a==null)\r\n a = '0001-01-01T00:00:00';\r\n if(b==null)\r\n b = '0001-01-01T00:00:00'\r\n if ((isNaN(parseFloat(a)) || !isFinite(a)) || (isNaN(parseFloat(b)) || !isFinite(b))) {\r\n //Isn't a number so lowercase the string to properly compare\r\n if (a < b) return -1;\r\n if (a > b) return 1;\r\n }\r\n else {\r\n //Parse strings as numbers to compare properly\r\n if (parseFloat(a) < parseFloat(b)) return -1;\r\n if (parseFloat(a) > parseFloat(b)) return 1;\r\n }\r\n\r\n return 0; //equal each other\r\n }\r\n\r\n static _orderByDescComparator(a: any, b: any): number {\r\n if(a==null)\r\n a = '0001-01-01T00:00:00';\r\n if(b==null)\r\n b = '0001-01-01T00:00:00'\r\n if ((isNaN(parseFloat(a)) || !isFinite(a)) || (isNaN(parseFloat(b)) || !isFinite(b))) {\r\n //Isn't a number so lowercase the string to properly compare\r\n if (a < b) return 1;\r\n if (a > b) return -1;\r\n }\r\n else {\r\n //Parse strings as numbers to compare properly\r\n if (parseFloat(a) < parseFloat(b)) return 1;\r\n if (parseFloat(a) > parseFloat(b)) return -1;\r\n }\r\n\r\n return 0; //equal each other\r\n }\r\n\r\n static _orderByComparatorV1(a: any, b: any,isSr:boolean=true): number {\r\n\r\n if(isSr){\r\n if(a===undefined && b===undefined ) return 0;\r\n else if (a['SR'].outreachProgram !== undefined && b['SR'].outreachProgram !== undefined) return 0;\r\n else if (a['SR'].outreachProgram !== undefined &&( b['SR'].outreachProgram === undefined )) return -1;\r\n else if (( a['SR'].outreachProgram == undefined )&& b['SR'].outreachProgram !== undefined) return 1;\r\n // else if (a['IP'].outreachProgram !== undefined && b['SR'].outreachProgram !== undefined ) return -1;\r\n else return 0;\r\n }\r\n else{\r\n if(a===undefined && b===undefined ) return 0;\r\n else if (a['IP'].outreachProgram !== undefined && b['IP'].outreachProgram !== undefined) return 0;\r\n else if (a['IP'].outreachProgram !== undefined &&( b['IP'].outreachProgram === undefined)) return -1;\r\n else if ((a['IP'].outreachProgram == undefined ) && b['IP'].outreachProgram !== undefined) return 1;\r\n // else if (a['IP'].outreachProgram !== undefined && b['SR'].outreachProgram !== undefined ) return -1;\r\n else return 0;\r\n }\r\n\r\n }\r\n\r\n static _orderByComparatorBooleanValues(a: any, b: any): number {\r\n\r\n if (a < b) return 1;\r\n if (a > b) return -1;\r\n else return 0;\r\n\r\n }\r\n static _orderByComparatorBooleanValuesPC(a, b, isPC:boolean = true): number {\r\n\r\n if (a['employmentSize'].toLowerCase() == \"n/a\") {\r\n a['employmentSize'] = '-1';\r\n }\r\n if (b['employmentSize'].toLowerCase() == \"n/a\") {\r\n b['employmentSize'] = '-1';\r\n }\r\n if(!isPC){\r\n return (-FilterPipe._orderByComparator(a['employmentSize'], b['employmentSize'])\r\n || FilterPipe._orderByComparatorV1(a['outreachEffort'],b['outreachEffort'],false)\r\n || FilterPipe._orderByComparatorBooleanValues(a['isPreviousClient'],b['isPreviousClient'])\r\n // \r\n );\r\n\r\n} else\r\n {\r\n return (FilterPipe._orderByComparatorBooleanValues(a['isPreviousClient'],b['isPreviousClient'])\r\n || FilterPipe._orderByComparatorV1(a['outreachEffort'],b['outreachEffort'],false)\r\n || -FilterPipe._orderByComparator(a['employmentSize'], b['employmentSize']));\r\n }\r\n\r\n}\r\nstatic _orderByComparatorBooleanValuesisCOVIDOpp(a, b, isPC:boolean = true): number {\r\n if (a['employmentSize'].toLowerCase() == \"n/a\") {\r\n a['employmentSize'] = '-1';\r\n }\r\n if (b['employmentSize'].toLowerCase() == \"n/a\") {\r\n b['employmentSize'] = '-1';\r\n }\r\n if(!isPC){\r\n return (-FilterPipe._orderByComparator(a['employmentSize'], b['employmentSize'])\r\n || FilterPipe._orderByComparatorV1(a['outreachEffort'],b['outreachEffort'],false)\r\n || FilterPipe._orderByComparatorBooleanValues(a['isCovidOpportunity']?true:false,b['isCovidOpportunity']?true:false)\r\n // \r\n );\r\n\r\n} else\r\n {\r\n return (FilterPipe._orderByComparatorBooleanValues(a['isCovidOpportunity']?true:false,b['isCovidOpportunity']?true:false)\r\n || FilterPipe._orderByComparatorV1(a['outreachEffort'],b['outreachEffort'],false)\r\n|| -FilterPipe._orderByComparator(a['employmentSize'], b['employmentSize']));\r\n }\r\n\r\n}\r\n}","import { PipeTransform, Pipe } from '@angular/core';\r\n\r\n@Pipe({ name: 'keys' })\r\nexport class KeysLogPipe implements PipeTransform {\r\n transform(value, args: string[] = null): any {\r\n let keys = [];\r\n var values = [];\r\n /*for (let key in value) {\r\n \r\n for (let val in value[key]) {\r\n if ()\r\n values.push(val);\r\n }\r\n keys.push({ key: key, value: values });\r\n }*/\r\n let filtered_keys = [];\r\n if(value != undefined && value != null ) {\r\n \r\n for (let i = 0; i < value.length; i++) {\r\n if (filtered_keys.indexOf(value[i].updateSubCategory) == -1) {\r\n for (let j = 0; j < value.length; j++) {\r\n if (filtered_keys.indexOf(value[j].updateSubCategory) == -1) {\r\n if (value[j][\"updatedField\"] && value[j].updateSubCategory == value[i].updateSubCategory) {\r\n values.push(value[j].updatedField.replace(\"null
\",\"\"));\r\n }\r\n if (value[j][\"updatedValue\"] && value[j].updateSubCategory == value[i].updateSubCategory) {\r\n values.push(value[j].updatedValue);\r\n }\r\n if (j == (value.length - 1)) {\r\n keys.push({ key: value[i].updateSubCategory, value: values });\r\n }\r\n }else{\r\n if (j == (value.length - 1) && values.length>0) {\r\n keys.push({ key: value[i].updateSubCategory, value: values });\r\n }\r\n }\r\n } \r\n filtered_keys.push(value[i].updateSubCategory);\r\n values = []\r\n } \r\n }\r\n }\r\n return keys;\r\n }\r\n}","\r\nimport {throwError as observableThrowError, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { AddBusiness } from './../../../models/AddBusiness';\r\nimport { Util } from '../../../utility/util';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { AddOutreachOpportunity } from '../../../models/OutreachOpportunity';\r\nimport { DuplicateBusiness } from '../../../models/duplicatebusiness';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\n export class AddBusinessService {\r\n formdata : AddBusiness;\r\n contractData:any;\r\n edit_json:any;\r\n edit_business:any;\r\n saveJson:any;\r\n _baseUrl: string = 'http://localhost:49940/';\r\n number: number = 0;\r\n constructor(private http: HttpClient) { \r\n this.formdata = new AddBusiness();\r\n }\r\n \r\n addOpportunity(opportunity:AddOutreachOpportunity,createdBy:any,isCheckDNC:any,isOverrideDupCheck:any): Observable\r\n {\r\n let url = environment.API_URL + environment.RESOURCES.ADD_OPPORTUNTY+\"/\"+createdBy+\"/\"+isCheckDNC+\"/\"+isOverrideDupCheck;\r\n return this.http.post(url, opportunity,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n //return this.http.post(url, opportunity).map((res) => Util.extractData(res)).catch((err) => Util.handleError(err, this.router));\r\n }\r\n\r\n updateOpportunity(opportunity:AddOutreachOpportunity,createdBy:any,isCheckDNC:any,isOverrideDupCheck:any): Observable\r\n {\r\n let url = environment.API_URL + environment.RESOURCES.UPDATE_OPPORTUNITY+\"/\"+createdBy+\"/\"+isCheckDNC+\"/\"+isOverrideDupCheck;\r\n return this.http.post(url, opportunity,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n //return this.http.post(url, opportunity).map((res) => Util.extractData(res)).catch((err) => Util.handleError(err, this.router));\r\n }\r\n // saveStoreBusiness(model:AddBusiness){\r\n // //this.edit_json = this.contractData;\r\n // this.formdata = model;\r\n // return this.http.post(this._baseUrl + 'api/Values/AddStoreBusiness/',model)\r\n // .map(\r\n // (response: Response) => \r\n \r\n // response.json()).catch(this.handleError);\r\n // }\r\n private handleError(error: any) {\r\n let errMsg = (error.message) ? error.message :\r\n error.status ? `${error.status} - ${error.statusText}` : 'Server error';\r\n //console.warn(errMsg);\r\n return observableThrowError(errMsg);\r\n }\r\n \r\n updateStoreBusiness(model:AddBusiness){\r\n // TODO:: add logice to update DB via Web API & add contract log as per the reqs\r\n this.formdata = model;\r\n return this.http.post(this._baseUrl + 'api/Values/UpdateStoreBusiness/',model,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n \r\n }\r\n AddToStore(model:any){\r\n // TODO:: add logic to add call web api to update radio button update.\r\n return this.http.post(this._baseUrl + 'api/Values/AddToSelectedStore/',model,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n \r\n }\r\n \r\n getContractData()\r\n {\r\n return this.contractData;\r\n }\r\n getStoreBusinessInfo():any[]\r\n { \r\n const BusinessInfo : any[] = [{\"id\":\"1\",\"name\":\"Business Information\"},{\"id\":\"2\",\"name\":\"Outreach Campaigns\"}];\r\n return (BusinessInfo);\r\n }\r\n getStoreBusinessDetails(businessId:any) { \r\n let url = environment.API_URL+environment.RESOURCES.GET_OPPORTUNITY_DETAILS + \"/\" +businessId;\r\n return this.http.get(url,Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n getPCAStoreBusinessDetails(businessId:any) { \r\n let url = environment.API_URL+environment.RESOURCES.GET_PCA_OpportunityDetails + \"/\" +businessId;\r\n return this.http.get(url,Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n // getDuplicateBusiness()\r\n // { \r\n // return this.http.get('assets/showcase/data/duplicatePhone.json')\r\n // .map((response: Response) => this.edit_json = response.json());\r\n // }\r\n checkDuplicateBusiness(duplcateAddress:DuplicateBusiness)\r\n { \r\n let url = environment.API_URL+environment.RESOURCES.DUPLICATE_BUSINESS;\r\n return this.http.post(url, duplcateAddress,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n // getFindDuplicateBusiness(phone_search: string)\r\n // { \r\n // this.number = 0;\r\n // var duplicate : boolean = false;\r\n // let matching_imz1 = this.edit_json.filter(item => item.phone == phone_search);\r\n // var add_business = new AddBusiness();\r\n // if(matching_imz1!=\"\")\r\n // {\r\n // for (let i = 0; i < matching_imz1.length; i++) {\r\n // //this.number = i;\r\n // this.number++;\r\n // }\r\n // if(this.number>1)\r\n // {\r\n // return this.http.get('assets/showcase/data/duplicatePhone.json')\r\n // .map((response: Response) => response.json());\r\n // }\r\n // else\r\n // {\r\n // return this.http.get('assets/showcase/data/new59.json')\r\n // .map((response: Response) => response.json());\r\n // }\r\n \r\n // }\r\n // else\r\n // {\r\n // return this.http.get('assets/showcase/data/new59.json')\r\n // .map((response: Response) => response.json());\r\n // }\r\n \r\n // }\r\n\r\n\r\n duPlicatePhoneSearch(phone_search:string):{duplicate:boolean, addBusiness:AddBusiness[]}\r\n { \r\n var duplicate : boolean = false;\r\n let matching_imz1 = this.contractData.filter(item => item.phone == phone_search);\r\n var add_business = new AddBusiness();\r\n if(matching_imz1!=\"\")\r\n {\r\n add_business.Phone = add_business!= null ? matching_imz1[0].phone : null;\r\n add_business.SeniorOutReachStore = matching_imz1[0].SeniorOutReachStore;\r\n add_business.ImmunizationProgramStore = matching_imz1[0].ImmunizationProgramStore;\r\n \r\n if(add_business.Phone!=null)\r\n {\r\n duplicate = true;\r\n }\r\n else\r\n {\r\n duplicate = false;\r\n }\r\n }\r\n return {duplicate:duplicate, addBusiness:matching_imz1};\r\n }\r\n duPlicateAddressSearch(address_search:string)\r\n { \r\n var duplicate : boolean = false;\r\n let matching_imz1 = this.transform(this.contractData.address,address_search); //this.contractData.filter(item => item.address == address_search);\r\n var add_business = new AddBusiness();\r\n if(matching_imz1!=\"\")\r\n {\r\n add_business.Address1 = add_business!=null ? matching_imz1[0].address : null;\r\n \r\n if(add_business.Address1!=null)\r\n {\r\n duplicate = true;\r\n }\r\n else\r\n {\r\n duplicate = false;\r\n }\r\n }\r\n return duplicate;\r\n \r\n \r\n }\r\n IsSeniorOutReachStoreValid(BusinessId:number, SeniorOutReachStore:string):boolean\r\n {\r\n let matchStoreModel = this.contractData.filter(item=> item.SeniorOutReachStore==SeniorOutReachStore); // TODO:: we are not getting senior outreach store value from DB\r\n if(matchStoreModel.length>0) return true;\r\n else return false;\r\n }\r\n IsImmunizationProgStoreValid(BusinessId:number, ImmunizationProgramStore:string):boolean\r\n {\r\n let matchStoreModel = this.contractData.filter(item=> item.ImmunizationProgramStore==ImmunizationProgramStore) // // TODO:: we are not getting senior outreach store value from DB\r\n if(matchStoreModel!=\"\") return true;\r\n else return false;\r\n }\r\n \r\n transform(value: any, input: string) {\r\n if (input) {\r\n input = input.toLowerCase();\r\n return this.contractData.filter(function (el: any) {\r\n \r\n return el.addressMatchKey.toLowerCase().indexOf(input) > -1; \r\n })\r\n }\r\n return value;\r\n}\r\naddPCAOpportunity(opportunity:AddOutreachOpportunity,createdBy:any,isOverrideDupCheck:any): Observable\r\n {\r\n let url = environment.API_URL + environment.RESOURCES.ADD_PCA_OPPORTUNTY+\"/\"+createdBy+\"/\"+isOverrideDupCheck;\r\n return this.http.post(url, opportunity,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n //return this.http.post(url, opportunity).map((res) => Util.extractData(res)).catch((err) => Util.handleError(err, this.router));\r\n }\r\n \r\n updatePCAOpportunity(opportunity:AddOutreachOpportunity,createdBy:any,isOverrideDupCheck:any): Observable\r\n {\r\n let url = environment.API_URL + environment.RESOURCES.UPDATE_PCA_OPPRTUNITY+\"/\"+createdBy+\"/\"+isOverrideDupCheck;\r\n return this.http.post(url, opportunity,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n //return this.http.post(url, opportunity).map((res) => Util.extractData(res)).catch((err) => Util.handleError(err, this.router));\r\n }\r\n deactivateOpportunity(business_pk) {\r\n var url = environment.API_URL + \"/api/DeactivateOpportunity/\"+ business_pk;\r\n return this.http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class ContactlogService {\r\n\r\n constructor(private http: HttpClient, private router: Router) { }\r\n // public GetContactLogs(businessPk,businessType):Observable {\r\n // return this.http.get(this.baseUrl + \"GetContactLogs?business_pk=\" + businessPk + \" &business_type=\"+businessType+\"\").map((response: Response) => response.json());\r\n // }\r\n\r\n public GetContactLogs(business_pk,store_id,outreach_effort_code): Observable {\r\n let url = environment.API_URL + environment.RESOURCES.GET_OUTREACH_CONTACT_LOGS + \"/\" + business_pk + \"/\"+ store_id+ \"/\"+outreach_effort_code;\r\n return this.http.get(url,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n public DeleteContactLog(contact_log_pk): Observable {\r\n let url = environment.API_URL + environment.RESOURCES.DELETE_CONTACT_LOG + \"/\" + contact_log_pk;\r\n return this.http.delete(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject, BehaviorSubject , Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class MessageServiceService {\r\n private subject = new Subject();\r\n private subjectHint = new Subject();\r\n private subjectProfile = new Subject();\r\n private turnOffOnHintsFromFooter = new Subject();\r\n private turnOffOnHintsFromComponent = new Subject();\r\n private stepValue = new Subject();\r\n private canRouteChangeConfirmDialog=new Subject();\r\n private canRouteChange = new Subject();\r\n private dashBoard = new Subject();\r\n private reportTitle = new Subject();\r\n private isNavigationClicked = new BehaviorSubject(false);\r\n private showHintsOnButtonClick = new Subject();\r\n private hintsType = new Subject();\r\n private showHintsOnToggleChange = new Subject();\r\n private showTabbedHints = new Subject();\r\n\r\n sendStoreId(message: string) {\r\n this.subject.next({ text: message});\r\n }\r\n\r\n clearStoreId() {\r\n this.subject.next({text: \"\"});\r\n }\r\n\r\n getStoreID(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n getStepValue(): Observable {\r\n return this.stepValue.asObservable();\r\n }\r\n\r\n setStepValue(step_value: number) {\r\n this.stepValue.next({ text: step_value });\r\n }\r\n clearStepValue() {\r\n this.stepValue.next({text: \"\"});\r\n }\r\n sendDashboard(dash_board: string) {\r\n this.dashBoard.next({ text: dash_board});\r\n }\r\n\r\n clearDashboard() {\r\n this.dashBoard.next({text: \"\"});\r\n }\r\n\r\n getDashboard(): Observable {\r\n return this.dashBoard.asObservable();\r\n }\r\n\r\n sendStoreProfile(store_id: string) {\r\n this.subject.next({ text: store_id});\r\n }\r\n\r\n clearStoreProfile() {\r\n this.subject.next({text: \"\"});\r\n }\r\n\r\n getStoreProfile(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n \r\n sendProfileChange(message: string) {\r\n this.subjectProfile.next({ text: message });\r\n }\r\n\r\n getProfileChange(): Observable {\r\n return this.subjectProfile.asObservable();\r\n }\r\n\r\n setTurnOnOffLocalHintsFromFooter(turn_on_off: boolean) {\r\n this.turnOffOnHintsFromFooter.next({ text: turn_on_off });\r\n }\r\n\r\n getTurnOnOffLocalHintsFromFooter(): Observable {\r\n return this.turnOffOnHintsFromFooter;\r\n }\r\n\r\n setTurnOnOffLocalHintsFromComponent(turn_on_off: boolean) {\r\n this.turnOffOnHintsFromComponent.next({ text: turn_on_off });\r\n }\r\n\r\n getTurnOnOffLocalHintsFromComponent(): Observable {\r\n return this.turnOffOnHintsFromComponent;\r\n }\r\n\r\n setCanShowRouteChangeConfirmation(can_show:boolean){\r\n this.canRouteChangeConfirmDialog.next({text:can_show})\r\n }\r\n getCanShowRouteChangeConfirmation(): Observable {\r\n return this.canRouteChangeConfirmDialog;\r\n }\r\n\r\n setCanRouteChange(can_change:boolean){\r\n this.canRouteChange.next(can_change)\r\n }\r\n getCanRouteChange(): Observable {\r\n return this.canRouteChange;\r\n }\r\n\r\n setReportTitle(title: string) {\r\n this.reportTitle.next(title);\r\n }\r\n \r\n getReportTitle(): Observable {\r\n return this.reportTitle.asObservable();\r\n }\r\n\r\n setNavigationClicked(is_navigation_clicked:boolean){\r\n this.isNavigationClicked.next(is_navigation_clicked);\r\n }\r\n \r\n getNavigationClicked(): Observable {\r\n return this.isNavigationClicked;\r\n }\r\n \r\n setShowHintsOnButtonClick(can_show: boolean) {\r\n this.showHintsOnButtonClick.next(can_show);\r\n }\r\n \r\n getShowHintsOnButtonClick(): Observable {\r\n return this.showHintsOnButtonClick.asObservable();\r\n }\r\n \r\n setHintsType(title: string) {\r\n this.hintsType.next(title);\r\n }\r\n \r\n getHintsType(): Observable {\r\n return this.hintsType.asObservable();\r\n }\r\n\r\n setShowHintsOnToggleChange(can_show: boolean) {\r\n // Old Line was like this this.showHintsOnToggleChange.next(can_show);\r\n this.turnOffOnHintsFromFooter.next({ text: can_show });\r\n }\r\n \r\n getShowHintsOnToggleChange(): Observable {\r\n return this.showHintsOnToggleChange.asObservable();\r\n }\r\n\r\n setShowTabbedHints(can_show: boolean) {\r\n this.showTabbedHints.next(can_show);\r\n }\r\n \r\n getShowTabbedHints(): Observable {\r\n return this.showTabbedHints.asObservable();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { outreachType } from '../../../JSON/outReachType';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Util } from '../../../utility/util';\r\nimport { Router } from '@angular/router';\r\nimport { outreachTypePCA } from '../../../JSON/outReachTypePCA';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class OpportunitiesService {\r\n\r\n opportunities: any[] = [];\r\n private business_pk: any;\r\n data_role: any;\r\n constructor(private _http: HttpClient, private router: Router,private util:Util) {\r\n\r\n }\r\n \r\n getOpportunities(store_id: number, user_pk: number, user_role: string) { \r\n let quarter = this.util.getCurrentQuarter();\r\n let url = environment.API_URL + environment.RESOURCES.GET_ASSIGNED_BUSINESSES + \"/\" + store_id\r\n + \"/\" + user_pk + \"/\" + user_role + \"/\" + quarter\r\n + \" \";\r\n return this._http.get(url,Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n getMetricsCounts(user_pk) {\r\n let url=environment.API_URL + environment.RESOURCES.GET_METRICS_COUNTS+\"/\"+user_pk;\r\n return this._http.get(url,Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n getActionItemsCounts(user_pk,store_id) {\r\n let url=environment.API_URL + environment.RESOURCES.GET_ACTION_ITEM_COUNTS+\"/\"+user_pk+\"/\"+store_id;\r\n return this._http.get(url,Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n getPCADashboardSnapshot(user_pk,store_id) {\r\n \r\n let url=environment.API_URL + environment.RESOURCES.GET_PCA_DASHBOARD_SNAPSHOT+\"/\"+user_pk+\"/\"+store_id;\r\n return this._http.get(url,Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n setBusinessPk(data: any) {\r\n this.business_pk = data;\r\n localStorage.setItem(\"business_pk\", data);\r\n }\r\n\r\n getNationalContractClients() {\r\n let url=environment.API_URL + environment.RESOURCES.GET_NATIONAL_CONTRACT_CLIENTS;\r\n return this._http.get(url,Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n //return Observable.of(dncClients);\r\n }\r\n deleteNationalContractClients(DNCData: any,userPk:any) {\r\n let url = environment.API_URL + environment.RESOURCES.DELETE_NATIONAL_CONTRACT_CLIENTS + \"/\"+userPk;\r\n return this._http.post(url, DNCData,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n // setLoginUserInfo(user_role: any) {\r\n // return this.http.get(this.baseUrl + \"GetUserInformation?user_role=\" + user_role + \"\").map((response: Response) => response.json());\r\n // }\r\n getOutreachStatus(): Observable {\r\n let url = environment.API_URL + environment.RESOURCES.GET_OUTREACH_STATUS_LABELS;\r\n return this._http.get(url,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n getOutreachType() {\r\n return outreachType;\r\n }\r\n getOutreachTypePCA() {\r\n return outreachTypePCA;\r\n }\r\n \r\n getHCSClinicDetails(dash_board_data): Observable {\r\n let url = environment.API_URL + environment.RESOURCES.GET_DASHBOARD_DATA;\r\n return this._http.post(url,dash_board_data,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n getLocalLeads(local_leads): Observable {\r\n let url = environment.API_URL + environment.RESOURCES.GET_LOCAL_LEADS;\r\n return this._http.post(url,local_leads,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n getConfigDates(): Observable {\r\n let url = environment.API_URL + environment.RESOURCES.GET_CONFIG_DATES;\r\n return this._http.get(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n // private handleError(error: any) {\r\n // let errMsg = (error.message) ? error.message :\r\n // error.status ? `${error.status} - ${error.statusText}` : 'Server error';\r\n // //console.warn(errMsg);\r\n // return Observable.throw(errMsg);\r\n // }\r\n\r\n getPriorityOpportunities(local_leads): Observable {\r\n let url = environment.API_URL + environment.RESOURCES.GET_PRIORITY_OPPORTUNITIES;\r\n return this._http.post(url,local_leads,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n updateOutreachStatusToNoOutreach(outreachBusinessPk: number){\r\n const url = `${environment.API_URL}${environment.RESOURCES.UPDATE_OUTREACH_STATUS_TO_NOOUTREACH}/${outreachBusinessPk}`;\r\n return this._http.put(url, null, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n deleteOpporunityInfo(businessPk: number){\r\n const url = `${environment.API_URL}${environment.RESOURCES.DELETE_OPPORTUNITY_INFO}/${businessPk}`;\r\n return this._http.delete(url, Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { FollowUp } from '../../../models/FollowUp';\r\nimport { Util } from '../../../utility/util';\r\nimport { Router } from '@angular/router';\r\nimport { Schedulevent } from '../../../models/schedulevent';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n@Injectable()\r\nexport class ScheduleeventService {\r\n\r\n constructor(private http: HttpClient, private router: Router) { }\r\n getScheduleEvents(contact_log_pk) {\r\n let url = environment.API_URL + environment.RESOURCES.GET_SCHEDULE_EVENT + \"/\" + contact_log_pk;\r\n return this.http.get(url,Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n postFollowUpEvent(follow_up) {\r\n let url = environment.API_URL + environment.RESOURCES.POST_FOLLOWUP_EVENT;\r\n return this.http.post(url, follow_up,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n postScheduleEvent(scheduleEvent: FollowUp) {\r\n let url = environment.API_URL + environment.RESOURCES.POST_SCHEDULE_EVENT;\r\n return this.http.post(url, scheduleEvent,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n upadteScheduleEvent(scheduleEvent: Schedulevent) {\r\n let url = environment.API_URL + environment.RESOURCES.UPDATE_SCHEDULE_EVENT;\r\n return this.http.post(url, scheduleEvent,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n postSimpleUpEvent(contact_log) {\r\n let url = environment.API_URL + environment.RESOURCES.POST_SIMPLE_EVENT;\r\n return this.http.post(url, contact_log,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n updateStatusEvents(outreachBusinessPkusiness) {\r\n let url = environment.API_URL + \"/api/ContactLog_ResetValues/\" + outreachBusinessPkusiness;\r\n return this.http.get(url,Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n updateFollowUpEvent(follow_up) {\r\n let url = environment.API_URL + environment.RESOURCES.UPDATE_FOLLOWUP_EVENT;\r\n return this.http.post(url, follow_up,Util.getRequestHeadersV1()).pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n getFollowUpEvent(contact_log_pk_IP, contact_log_pk_SR) {\r\n let url = environment.API_URL + environment.RESOURCES.GET_FOLLOWUP_EVENT + \"/\" + contact_log_pk_IP + \"/\" + contact_log_pk_SR;\r\n return this.http.get(url,Util.getRequestHeadersV1())\r\n .pipe(catchError(Util.handleErrorV2));\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class StoresListService {\r\n baseUrl = 'http://localhost:49940/api/Values/';\r\n storeslist: any[] = [];\r\n// private defaultStore = new BehaviorSubject\r\n @ViewChild('searchTable') tableSearchRef: ElementRef;\r\n columns!: Array;\r\n data!: any; \r\n searchLocalValue: string;\r\n showSearchBar = false;\r\n headerCloumns: Array;\r\n @Input()\r\n tableOptions: TableInterface;\r\n ngOnInit() {\r\n // this.tableRef.nativeElement.childNodes\r\n // console.log(\"tableoptionssss=\", this.tableOptions);\r\n }\r\n ngOnChanges(){\r\n this.columns = this.tableOptions.columns.map((headerData) => headerData.field);\r\n this.headerCloumns = this.tableOptions.columns.map((headerColumns) => headerColumns.header);\r\n this.data = this.tableOptions.data;\r\n }\r\n\r\n checkValidDate(date){\r\n const formats = [\r\n moment.ISO_8601,\r\n \"MM/DD/YYYY :) HH*mm*ss\"\r\n ];\r\n if (!/\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{0,3}/.test(date)) return false;\r\n if(new Date(date).getFullYear() > 1970) {\r\n return moment(date, formats, true).isValid();\r\n }\r\n return false;\r\n }\r\n\r\n handleSearchClick(){\r\n console.log(\"not implemented\") //todo\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TableComponent } from './components/table-componment/table-component.component';\r\nimport { TableModule } from 'primeng/table';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { InplaceModule } from 'primeng/inplace';\r\nimport { InputMaskModule } from 'primeng/inputmask';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\nimport { KnobModule } from 'primeng/knob';\r\nimport { ListboxModule } from 'primeng/listbox';\r\nimport { MegaMenuModule } from 'primeng/megamenu';\r\nimport { MenuModule } from 'primeng/menu';\r\nimport { MenubarModule } from 'primeng/menubar';\r\nimport { MessageModule } from 'primeng/message';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { OrderListModule } from 'primeng/orderlist';\r\nimport { OrganizationChartModule } from 'primeng/organizationchart';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { PaginatorModule } from 'primeng/paginator';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport { PanelMenuModule } from 'primeng/panelmenu';\r\nimport { PasswordModule } from 'primeng/password';\r\nimport { PickListModule } from 'primeng/picklist';\r\nimport { ProgressBarModule } from 'primeng/progressbar';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { RatingModule } from 'primeng/rating';\r\nimport { ScrollerModule } from 'primeng/scroller';\r\nimport { ScrollPanelModule } from 'primeng/scrollpanel';\r\nimport { ScrollTopModule } from 'primeng/scrolltop';\r\nimport { SelectButtonModule } from 'primeng/selectbutton';\r\nimport { SidebarModule } from 'primeng/sidebar';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\nimport { SlideMenuModule } from 'primeng/slidemenu';\r\nimport { SliderModule } from 'primeng/slider';\r\nimport { SpeedDialModule } from 'primeng/speeddial';\r\nimport { SpinnerModule } from 'primeng/spinner';\r\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { SplitterModule } from 'primeng/splitter';\r\nimport { StepsModule } from 'primeng/steps';\r\nimport { TabMenuModule } from 'primeng/tabmenu';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { TagModule } from 'primeng/tag';\r\nimport { TerminalModule } from 'primeng/terminal';\r\nimport { TieredMenuModule } from 'primeng/tieredmenu';\r\nimport { TimelineModule } from 'primeng/timeline';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { ToggleButtonModule } from 'primeng/togglebutton';\r\nimport { ToolbarModule } from 'primeng/toolbar';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { TriStateCheckboxModule } from 'primeng/tristatecheckbox';\r\nimport { TreeModule } from 'primeng/tree';\r\nimport { TreeSelectModule } from 'primeng/treeselect';\r\nimport { TreeTableModule } from 'primeng/treetable';\r\nimport { AnimateModule } from 'primeng/animate';\r\nimport { CardModule } from 'primeng/card';\r\nimport { BlockUIModule } from 'primeng/blockui';\r\nimport { StyleClassModule } from 'primeng/styleclass';\r\n\r\n@NgModule({\r\n declarations: [\r\n TableComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n TableModule,\r\n ButtonModule,\r\n InputTextareaModule,\r\n InputNumberModule,\r\n InputTextModule,\r\n InputSwitchModule,\r\n InputMaskModule,\r\n InplaceModule,\r\n TabMenuModule,\r\n KnobModule,\r\n ListboxModule,\r\n MegaMenuModule,\r\n MenuModule,\r\n MenubarModule,\r\n MessageModule,\r\n MessagesModule,\r\n MultiSelectModule,\r\n OrganizationChartModule,\r\n OrderListModule,\r\n OverlayPanelModule,\r\n PaginatorModule,\r\n PanelModule,\r\n PanelMenuModule,\r\n PasswordModule,\r\n PickListModule,\r\n ProgressBarModule,\r\n RadioButtonModule,\r\n RatingModule,\r\n SelectButtonModule,\r\n SidebarModule,\r\n ScrollerModule,\r\n ScrollPanelModule,\r\n ScrollTopModule,\r\n SkeletonModule,\r\n SlideMenuModule,\r\n SliderModule,\r\n SpeedDialModule,\r\n SpinnerModule,\r\n SplitterModule,\r\n SplitButtonModule,\r\n StepsModule,\r\n TableModule,\r\n TabMenuModule,\r\n TabViewModule,\r\n TagModule,\r\n TerminalModule,\r\n TieredMenuModule,\r\n TimelineModule,\r\n ToastModule,\r\n ToggleButtonModule,\r\n ToolbarModule,\r\n TooltipModule,\r\n TriStateCheckboxModule,\r\n TreeModule,\r\n TreeSelectModule,\r\n TreeTableModule,\r\n AnimateModule,\r\n CardModule,\r\n BlockUIModule,\r\n StyleClassModule\r\n ],\r\n providers: [],\r\n exports:[TableComponent]\r\n})\r\nexport class SharedModule { }\r\n","import { Directive, ElementRef, HostListener, Output, EventEmitter } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appClickOutside]'\r\n})\r\nexport class ClickOutsideDirective {\r\n constructor(private el: ElementRef) {}\r\n\r\n @Output() appClickOutside = new EventEmitter();\r\n\r\n @HostListener('document:click', ['$event'])\r\n onClick(event: Event): void {\r\n if (!this.el.nativeElement.contains(event.target)) {\r\n this.appClickOutside.emit(event);\r\n }\r\n }\r\n}\r\n","import { ImmunizationsClinicalRequirements } from \"../config-files/ClinicalRequirements\";\r\nimport * as _ from 'lodash';\r\nimport { UserRole } from \"../config-files/UserRole\";\r\nimport { Clinic } from \"../models/contract\";\r\nimport { ClinicList } from \"../models/clinicDetailsUpdate\";\r\n\r\nexport class ClinicDetailsUtilities {\r\n static usPhoneNoRegEx: RegExp = /^(\\(?[1-9]\\d{2}\\)?)\\D?\\D?(\\d{3})\\D?(\\d{4})$/;\r\n\r\n public static validatePhoneNo(phoneNo): boolean {\r\n let returnValue = false;\r\n if (!this.usPhoneNoRegEx.test(phoneNo) ||\r\n (phoneNo.replace(/[^0-9.]/g, \"\")).length > 10 ||\r\n (phoneNo.replace(/[^0-9.]/g, \"\")).length < 9 ||\r\n (parseInt((phoneNo.replace(/[^0-9.]/g, \"\"))) + 0) == 0 ||\r\n (parseInt((phoneNo.replace(/[^0-9.]/g, \"\"))) + 0) < 100) {\r\n returnValue = true;\r\n }\r\n return returnValue;\r\n }\r\n\r\n public static shallWeShow2WkConfirmDialog(userProfile): boolean {\r\n let returnValue = false;\r\n if (userProfile.userRole.toLowerCase() == \"director\" ||\r\n userProfile.userRole.toLowerCase() == \"supervisor\" || userProfile.userRole.toLowerCase() == \"regionalvp\" ||\r\n userProfile.userRole.toLowerCase() == \"regionaldirector\" || userProfile.userRole.toLowerCase() == \"admin\" ||\r\n userProfile.userRole.toLowerCase() == \"regional vice president\" ||\r\n userProfile.userRole.toLowerCase() == \"regional healthcare director\" ||\r\n userProfile.userRole.toLowerCase() == \"healthcare supervisor\" ||\r\n userProfile.userRole.toLocaleLowerCase() == UserRole.PODUSER ||\r\n userProfile.userRole.toLowerCase() == \"director - rx and retail ops\" ||\r\n userProfile.userRole.toLowerCase() == \"district manager\") {\r\n returnValue = true;\r\n }\r\n return returnValue;\r\n }\r\n\r\n public static checkIfAnyFluImmIsSelected(coClinicDetails): boolean {\r\n try {\r\n coClinicDetails.clinicImmunizationList.forEach(rec => {\r\n if (rec.immunizationName.toLowerCase().search('flu') != -1) {\r\n throw true;\r\n }\r\n });\r\n } catch (e) {\r\n if (e === true)\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public static getPrice(coClinicDetails, immunization_pk, paymentTypeId): Number {\r\n let imz_array: any[] = [];\r\n let price;\r\n price = coClinicDetails.clinicImmunizationList.filter(imz => (imz.immunizationPk == immunization_pk && imz.paymentTypeId == paymentTypeId));\r\n return price[0].price;\r\n }\r\n\r\n public static hasClinicalRequirements(coClinicDetails, clinic_details_update): boolean {\r\n let has_cl_approved: boolean = false;\r\n coClinicDetails.clinicList[0].clinicImzQtyList.forEach(imz => {\r\n if (clinic_details_update.clinicList && (clinic_details_update.clinicList[0].isReassign === 1 || (clinic_details_update.clinicList[0].reassignType &&\r\n clinic_details_update.clinicList[0].reassignType.toLowerCase() === 'geography')) &&\r\n ImmunizationsClinicalRequirements[\"immunizations\"].indexOf(imz.immunizationName) > -1 && imz.isClinicalReqd) {\r\n has_cl_approved = true;\r\n }\r\n });\r\n return has_cl_approved;\r\n }\r\n\r\n public static calculateClinicFeeForQty(estimatedQty: number) {\r\n let clinicFee = 0;\r\n\r\n if (estimatedQty <= 50) {\r\n clinicFee = 600;\r\n }\r\n else if (estimatedQty >= 51 && estimatedQty <= 100) {\r\n clinicFee = 1000;\r\n }\r\n else if (estimatedQty >= 101 && estimatedQty <= 200) {\r\n clinicFee = 1500;\r\n }\r\n else if (estimatedQty >= 201 && estimatedQty <= 500) {\r\n clinicFee = 3000;\r\n }\r\n else if (estimatedQty > 500) {\r\n const excessQty = estimatedQty - 500;\r\n clinicFee = 3000 + (excessQty * 6);\r\n }\r\n\r\n return clinicFee;\r\n }\r\n\r\n public static CheckIfOnlyVoucherPaymentMethodIsSelectedForAllImmunizations(clinicImzQtyList): boolean {\r\n //Return false if any of the immunizations have payment methods other than Voucher: Corporate to Invoice Employer Directly\r\n const newClinicImzQtyList = ClinicDetailsUtilities.GetImmunizationGroupedByImmzPk(clinicImzQtyList);\r\n let onlyVoucherPaymentMethodIsSelected: boolean = true;\r\n for (const imzQty of newClinicImzQtyList) {\r\n if (\r\n imzQty.Immzs.some(immunization => immunization.paymentTypeId != 13)\r\n ) {\r\n onlyVoucherPaymentMethodIsSelected = false;\r\n break;\r\n }\r\n }\r\n\r\n return onlyVoucherPaymentMethodIsSelected;\r\n }\r\n\r\n public static CheckIfOnlyVoucherPaymentMethodIsSelected(clinicImzQtyList): boolean {\r\n const newClinicImzQtyList = ClinicDetailsUtilities.GetImmunizationGroupedByImmzPk(clinicImzQtyList);\r\n let onlyVoucherPaymentMethodIsSelected: boolean = false;\r\n for (const imzQty of newClinicImzQtyList) {\r\n if (\r\n (imzQty.Immzs.length == 1 && (imzQty.Immzs[0].paymentTypeId == 13 || parseInt(imzQty.Immzs[0].paymentTypeId) == 13))\r\n ) {\r\n onlyVoucherPaymentMethodIsSelected = true;\r\n break;\r\n }\r\n }\r\n\r\n return onlyVoucherPaymentMethodIsSelected;\r\n }\r\n\r\n public static CheckOnlyVoucherPaymentIsSelected(clinicImzQtyList): boolean {\r\n const newClinicImzQtyList = ClinicDetailsUtilities.GetImmunizationGroupedByImmzPk(clinicImzQtyList);\r\n let onlyVoucherPaymentMethodIsSelected = false;\r\n onlyVoucherPaymentMethodIsSelected = newClinicImzQtyList.every((imzQty) => (imzQty.Immzs.length == 1 && (imzQty.Immzs[0].paymentTypeId == 13 || parseInt(imzQty.Immzs[0].paymentTypeId) == 13)))\r\n return onlyVoucherPaymentMethodIsSelected;\r\n }\r\n\r\n public static CheckIfVoucherPaymentMethodIsSelected(clinicImzQtyList): boolean {\r\n const newClinicImzQtyList = ClinicDetailsUtilities.GetImmunizationGroupedByImmzPk(clinicImzQtyList);\r\n let voucherPaymentMethodIsSelected: boolean = false;\r\n for (const imzQty of newClinicImzQtyList) {\r\n if (imzQty.Immzs.some(immunization => immunization.paymentTypeId == 13)) {\r\n voucherPaymentMethodIsSelected = true;\r\n break;\r\n }\r\n }\r\n\r\n return voucherPaymentMethodIsSelected;\r\n }\r\n\r\n public static CheckIfWagsFreeFluVoucherIsSelected(clinicImzQtyList): boolean {\r\n const newClinicImzQtyList = ClinicDetailsUtilities.GetImmunizationGroupedByImmzPk(clinicImzQtyList);\r\n let wagsFreeFluVoucherIsSelected: boolean = false;\r\n for (const imzQty of newClinicImzQtyList) {\r\n if (imzQty.Immzs.some(immunization => immunization.paymentTypeId == 14)) {\r\n wagsFreeFluVoucherIsSelected = true;\r\n break;\r\n }\r\n }\r\n\r\n return wagsFreeFluVoucherIsSelected;\r\n }\r\n\r\n public static GetImmunizationGroupedByImmzPk(clinicImzQtyList) {\r\n let newClinicImzQtyList = _.chain(clinicImzQtyList)\r\n .groupBy(\"immunizationPk\")\r\n .map((value, key) => ({ immPk: key, Immzs: value }))\r\n .value();\r\n\r\n return newClinicImzQtyList;\r\n }\r\n\r\n public static calculateVouchersDistributedCount(locationForm): number {\r\n // Group the elements of Array based on `immunizationPk` property\r\n // `key` is group's name (immunizationPk), `value` is the array of objects\r\n let newClinicImzQtyList = this.GetImmunizationGroupedByImmzPk(locationForm.value.clinicImzQtyList);\r\n let vouchersDistributedCount: number = 0;\r\n\r\n newClinicImzQtyList.forEach(clinicImzQty => {\r\n // Include the count only when Voucher: Corporate to Invoice Employer Directly or wags flu voucher\r\n // payment method(s) are selected in immunization\r\n\r\n if (\r\n clinicImzQty.Immzs.length == 1\r\n &&\r\n (\r\n (clinicImzQty.Immzs[0].paymentTypeId == 13 || parseInt(clinicImzQty.Immzs[0].paymentTypeId) == 13)\r\n || (clinicImzQty.Immzs[0].paymentTypeId == 14 || parseInt(clinicImzQty.Immzs[0].paymentTypeId) == 14)\r\n )\r\n ) {\r\n if (\r\n (clinicImzQty.Immzs[0]?.estimatedQuantity > 0 || parseInt(clinicImzQty.Immzs[0]?.estimatedQuantity) > 0)\r\n ) {\r\n vouchersDistributedCount = vouchersDistributedCount + parseInt(clinicImzQty.Immzs[0]?.estimatedQuantity);\r\n }\r\n }\r\n });\r\n\r\n return vouchersDistributedCount;\r\n }\r\n\r\n public static GetAllEstimatedShotsValue(locationForm): number {\r\n // Group the elements of Array based on `immunizationPk` property\r\n // `key` is group's name (immunizationPk), `value` is the array of objects\r\n let newClinicImzQtyList = this.GetImmunizationGroupedByImmzPk(locationForm.value.clinicImzQtyList);\r\n let vouchersDistributedCount: number = 0;\r\n\r\n newClinicImzQtyList.forEach(clinicImzQty => {\r\n vouchersDistributedCount = vouchersDistributedCount + Math.max(...clinicImzQty.Immzs.map(o => o.estimatedQuantity));\r\n // clinicImzQty.Immzs.forEach(immunizationInfo => {\r\n // if (\r\n // (immunizationInfo?.estimatedQuantity > 0 || parseInt(immunizationInfo?.estimatedQuantity) > 0)\r\n // ) {\r\n // vouchersDistributedCount = vouchersDistributedCount + parseInt(immunizationInfo?.estimatedQuantity);\r\n // }\r\n // });\r\n });\r\n\r\n return vouchersDistributedCount;\r\n }\r\n\r\n public static getisPreviousClinic(clinicList: Array | Array) {\r\n return clinicList.some((clinic: Clinic | ClinicList) => clinic.IsPreviousClinic == 1);\r\n }\r\n}","export enum ActionType {\r\n addOportunity = 1,\r\n editOportunity = 2,\r\n\r\n}\r\n\r\nexport enum ProgramType {\r\n SR = 1,\r\n IP = 2,\r\n SRIP = 3,\r\n PCA = 4,\r\n\r\n}\r\n\r\nexport enum PageType {\r\n landingPage = 1,\r\n storePage = 2,\r\n scheduleEventPage = 3,\r\n followupPage = 4,\r\n oppurtunity = 5\r\n\r\n}\r\n\r\nexport enum PcaType {\r\n ASO = 8,\r\n CBO = 9,\r\n HD = 10,\r\n CSS = 11,\r\n OP = 12\r\n}\r\n\r\nexport enum OrgMobileType {\r\n USINGMOBILEUNIT = 'using Mobile Unit',\r\n USINGWALGREENSPRIVATEHEALTHROOM = 'using Walgreens Private Health Room',\r\n USINGWALGREENSFACILITIES = 'using Walgreens Facilities',\r\n}","import { universalContractReleaseDate2022,universalContractReleaseDate2023, universalContractReleaseDate } from '../JSON/UniversalTandC';\r\nexport function getContractComponentName (releaseDate: Date, componentToRender:string):string\r\n{ \r\n ///app-agreement-2024 need to add\r\n if(componentToRender.toLocaleLowerCase()==='app-agreement')\r\n { \r\n if(releaseDate== undefined || releaseDate==null)\r\n {\r\n return 'app-agreement-2024';\r\n\r\n }\r\n else\r\n {\r\n\r\n let contractdateApproved:Date = releaseDate;\r\n let uniContractReleaseDate:Date = new Date (universalContractReleaseDate);\r\n let uniContractReleaseDate2022:Date = new Date(universalContractReleaseDate2022);\r\n let uniContractReleaseDate2023:Date = new Date(universalContractReleaseDate2023);\r\n if(!contractdateApproved || (contractdateApproved uniContractReleaseDate2022) && (contractdateApproved < uniContractReleaseDate ))\r\n {\r\n return 'app-agreement-2022'; \r\n }\r\n else if((contractdateApproved > uniContractReleaseDate2023) && (contractdateApproved < uniContractReleaseDate ))\r\n {\r\n return 'app-agreement-2023'; \r\n }\r\n else if(contractdateApproved > uniContractReleaseDate)\r\n { \r\n return 'app-agreement-2024';\r\n } \r\n else \r\n { \r\n return 'app-agreement-2024';\r\n } \r\n }\r\n \r\n }\r\n else if(componentToRender.toLocaleLowerCase()==='app-approveagreement')\r\n { \r\n\r\n if(releaseDate== undefined || releaseDate==null)\r\n {\r\n // return 'app-approveagreement-2023';\r\n return 'app-approveagreement-2024';\r\n \r\n }\r\n else\r\n {\r\n let contractdateApproved:Date = releaseDate;\r\n let uniContractReleaseDate:Date = new Date (universalContractReleaseDate);\r\n let uniContractReleaseDate2022:Date = new Date(universalContractReleaseDate2022);\r\n let uniContractReleaseDate2023:Date = new Date(universalContractReleaseDate2023);\r\n if(!contractdateApproved || (contractdateApproved uniContractReleaseDate2022) && (contractdateApproved < uniContractReleaseDate ))\r\n {\r\n return 'app-approveagreement-2022'; \r\n }\r\n else if((contractdateApproved > uniContractReleaseDate2023) && (contractdateApproved < uniContractReleaseDate ))\r\n { \r\n return 'app-approveagreement-2023';\r\n } \r\n else if(contractdateApproved > uniContractReleaseDate)\r\n { \r\n return 'app-approveagreement-2024';\r\n } \r\n else \r\n { \r\n return 'app-approveagreement-2024';\r\n } \r\n\r\n\r\n }\r\n\r\n \r\n }\r\n else if(componentToRender.toLocaleLowerCase()==='userauthentication-viewcontract' || componentToRender.toLocaleLowerCase()==='contactlog-viewcontract' || componentToRender.toLocaleLowerCase()==='contractapprove-viewcontract' ||componentToRender.toLocaleLowerCase()==='localclincdetails-viewcontract')\r\n {\r\n debugger;\r\n let contractdateApproved:Date = releaseDate;\r\n let uniContractReleaseDate:Date = new Date (universalContractReleaseDate);\r\n let uniContractReleaseDate2022:Date = new Date(universalContractReleaseDate2022);\r\n let uniContractReleaseDate2023:Date = new Date(universalContractReleaseDate2023);\r\n if(!contractdateApproved || (contractdateApproved uniContractReleaseDate)||(contractdateApproved > new Date('04/23/2024')))\r\n { \r\n return '/viewcontract-2024-1';\r\n } \r\n else if((contractdateApproved > uniContractReleaseDate2023) && (contractdateApproved < uniContractReleaseDate ))\r\n {\r\n return '/viewcontract-2023-1'; \r\n }\r\n else if((contractdateApproved > uniContractReleaseDate2022) && (contractdateApproved < uniContractReleaseDate ))\r\n {\r\n return '/viewcontract-2022-1'; \r\n }\r\n \r\n \r\n else {\r\n return '/viewcontract-2024-1';\r\n } \r\n\r\n }\r\n \r\n \r\n\r\n}\r\n\r\n","import { Directive, HostListener, ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[numberhyphonparenthesis]'\r\n})\r\nexport class NumberhyphonparenthesisDirective {\r\n\r\n // Allow decimal numbers and negative values\r\n private regex: RegExp = new RegExp(/^[0-9-+() .+]*$/g);\r\n//Note Whatever character you want to add in above regular expression just add be ]*$ it wille accept it.\r\n // Backspace, tab, end, home\r\n private specialKeys: Array = ['Backspace', 'Tab', 'End', 'Home', 'Delete'];\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n // Allow Backspace, tab, end, and home keys\r\n if (this.specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n let current: string = this.el.nativeElement.value;\r\n let next: string = current.concat(event.key);\r\n if (next && !String(next).match(this.regex)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[onlyNumber]'\r\n})\r\nexport class OnlyNumberirectiveDirective {\r\n\r\n // Allow decimal numbers and negative values\r\n private regex: RegExp = new RegExp(/^-?[0-9]+(\\[0-9]*){0,1}$/g);\r\n // Allow key codes for special events. Reflect :\r\n // Backspace, tab, end, home\r\n private specialKeys: Array = ['Backspace', 'Tab', 'End', 'Home', 'Delete'];\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n // Allow Backspace, tab, end, and home keys\r\n if (this.specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n let current: string = this.el.nativeElement.value;\r\n let next: string = current.concat(event.key);\r\n if (next && !String(next).match(this.regex)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'phoneFormat'\r\n})\r\nexport class PhoneFormatPipe implements PipeTransform {\r\n\r\n \r\n transform(value: any, args?: any): any {\r\n let cleaned = ('' + value).replace(/\\D/g, '')\r\n let match = cleaned.match(/^(\\d{3})(\\d{3})(\\d{4})$/)\r\n if (match) {\r\n return '(' + match[1] + ') ' + match[2] + '-' + match[3]\r\n }\r\n return null;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'replaceText'\r\n})\r\nexport class ReplaceTextPipe implements PipeTransform {\r\n transform(value: any, outreach_pk:any, is_event:boolean, args?: any): any {\r\n if (value.toLowerCase() == 'contact client') {\r\n return ((!is_event)?\"Contact Client/Organization\":((outreach_pk==4)?\"Contact Organization\":value));\r\n }\r\n if (value.toLowerCase() == 'complete/report event') {\r\n return 'Complete';\r\n }\r\n return value;\r\n }\r\n}","import { UserLoginInfo } from \"../models/userLoginInfo\";\r\nimport { UserInfo } from \"../models/userInfo\";\r\nimport { ThankyouData } from \"../models/thankyouData\";\r\nimport { SchedulerUserInfo } from \"../models/schedulerUserInfo\";\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { t1 } from \"../JSON/MaxImmunizers\";\r\nimport { t2 } from \"../JSON/MinImmunizers\";\r\nimport { t3 } from \"../JSON/States\";\r\nimport { OppourtunityInterface } from \"./utility.model\";\r\n\r\n\r\nexport class SessionDetails {\r\n \r\n public static absJ = t1+t2+t3;\r\n constructor() {}\r\n public static SetRoleID(roleID: string) {\r\n sessionStorage[\"roleID\"] = JSON.stringify(roleID);\r\n }\r\n public static GetRoleID() {\r\n if (sessionStorage[\"roleID\"] != null)\r\n return JSON.parse(sessionStorage[\"roleID\"]);\r\n return null;\r\n }\r\n public static StoreId(storeId: string) {\r\n sessionStorage[\"storeId\"] = JSON.stringify(storeId);\r\n }\r\n public static StorePk(storePk: string) {\r\n sessionStorage[\"storePk\"] = JSON.stringify(storePk);\r\n }\r\n public static setStoreProfileData(store_profile: any) {\r\n sessionStorage[\"store_profile\"] = JSON.stringify(store_profile);\r\n }\r\n public static getStoreProfileData() {\r\n if (sessionStorage[\"store_profile\"] != null)\r\n return JSON.parse(sessionStorage[\"store_profile\"]);\r\n return null;\r\n }\r\n public static GetStorePk() {\r\n if (sessionStorage[\"storePk\"] != null)\r\n return JSON.parse(sessionStorage[\"storePk\"]);\r\n return null;\r\n }\r\n public static GetStoreId() {\r\n if (sessionStorage[\"storeId\"] != null)\r\n return JSON.parse(sessionStorage[\"storeId\"]);\r\n return null;\r\n }\r\n public static setState(state: string) {\r\n sessionStorage[\"state\"] = JSON.stringify(state);\r\n }\r\n public static GetState() {\r\n if (sessionStorage[\"state\"] != null)\r\n return JSON.parse(sessionStorage[\"state\"]);\r\n return null;\r\n }\r\n public static SetActionType(details: any) {\r\n sessionStorage[\"actionType\"] = JSON.stringify(details);\r\n\r\n }\r\n\r\n public static GetActionType() {\r\n if (sessionStorage[\"actionType\"] != null)\r\n return JSON.parse(sessionStorage[\"actionType\"]);\r\n return 0;\r\n }\r\n public static EventDetails(event_details: any) {\r\n if (event_details != \"\") {\r\n sessionStorage[\"event_details\"] = JSON.stringify(event_details);\r\n } else {\r\n sessionStorage.removeItem(\"event_details\");\r\n }\r\n } \r\n public static GetEventDetails() {\r\n if (sessionStorage[\"event_details\"] != null)\r\n return JSON.parse(sessionStorage[\"event_details\"]);\r\n return null;\r\n }\r\n\r\n public static opportunitiesData(opportunitie_data: string) {\r\n sessionStorage[\"opportunitie_data\"] = JSON.stringify(opportunitie_data);\r\n }\r\n public static GetopportunitiesData() {\r\n if (sessionStorage[\"opportunitie_data\"] != null)\r\n return JSON.parse(sessionStorage[\"opportunitie_data\"]);\r\n return null;\r\n }\r\n public static setOpportunitiesData(opportunitie_data: string) {\r\n sessionStorage[\"opportunitie_data\"] = opportunitie_data;\r\n }\r\n public static SetProgramType(details: any) {\r\n sessionStorage[\"programType\"] = JSON.stringify(details);\r\n\r\n }\r\n public static setWagsContactInfo(contactInfo: any) {\r\n sessionStorage[\"WagsContactInfo\"] = JSON.stringify(contactInfo);\r\n\r\n }\r\n \r\n public static getWagsContactInfo() {\r\n if (sessionStorage[\"WagsContactInfo\"] != null)\r\n return JSON.parse(sessionStorage[\"WagsContactInfo\"]);\r\n return null;\r\n }\r\n public static GetProgramType() {\r\n if (sessionStorage[\"programType\"] != null)\r\n return JSON.parse(sessionStorage[\"programType\"]);\r\n return 0;\r\n }\r\n public static SetLogContact(log_contact: any) {\r\n sessionStorage[\"log_contact\"] = JSON.stringify(log_contact);\r\n }\r\n\r\n\r\n public static GetStoreOppSortByDefaultVal() {\r\n if (sessionStorage[\"storeoppsortbydefaultval\"] != null)\r\n return JSON.parse(sessionStorage[\"storeoppsortbydefaultval\"]);\r\n return 0;\r\n }\r\n public static SetStoreOppSortByDefaultVal(setSortBy: any) {\r\n sessionStorage[\"storeoppsortbydefaultval\"] = JSON.stringify(setSortBy);\r\n }\r\n\r\n public static GetLogContact() {\r\n if (sessionStorage[\"log_contact\"] != null)\r\n return JSON.parse(sessionStorage[\"log_contact\"]);\r\n return 0;\r\n }\r\n\r\n public static SetBusinessType(business_type: any) {\r\n sessionStorage[\"business_type\"] = JSON.stringify(business_type);\r\n\r\n }\r\n\r\n public static GetBusinessType() {\r\n if (sessionStorage[\"business_type\"] != null)\r\n return JSON.parse(sessionStorage[\"business_type\"]);\r\n return 0;\r\n }\r\n\r\n public static SetFollowUp(followp_flag: boolean) {\r\n sessionStorage[\"followp_flag\"] = JSON.stringify(followp_flag);\r\n\r\n }\r\n\r\n public static GetFollowUp() {\r\n if (sessionStorage[\"followp_flag\"] != null)\r\n return JSON.parse(sessionStorage[\"followp_flag\"]);\r\n return false;\r\n }\r\n\r\n public static SetPageName(page_name: any) {\r\n sessionStorage[\"page_name\"] = JSON.stringify(page_name);\r\n\r\n }\r\n\r\n public static GetPageName() {\r\n if (sessionStorage[\"page_name\"] != null)\r\n return JSON.parse(sessionStorage[\"page_name\"]);\r\n return \"\";\r\n }\r\n public static SetAgreementPK(agreement_pk: any) {\r\n sessionStorage[\"clinic_agreement_pk\"]= sessionStorage[\"agreement_pk\"] = JSON.stringify(agreement_pk); \r\n }\r\n\r\n public static GetAgreementPK() {\r\n if (sessionStorage[\"agreement_pk\"] != null)\r\n return JSON.parse(sessionStorage[\"agreement_pk\"]);\r\n return 0;\r\n }\r\n\r\n public static SetUserInfo(userData: UserLoginInfo) {\r\n sessionStorage[\"cI\"] =SessionDetails.getE(SessionDetails.absJ,JSON.stringify(userData));\r\n }\r\n public static GetUserInfo() {\r\n \r\n if (sessionStorage[\"cI\"] != null){\r\n return JSON.parse(SessionDetails.getD(SessionDetails.absJ,sessionStorage[\"cI\"]))\r\n }\r\n return null;\r\n }\r\n public static getE(keys, value){\r\n var key = CryptoJS.enc.Utf8.parse(keys);\r\n var iv = CryptoJS.enc.Utf8.parse(keys);\r\n var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(value.toString()), key,\r\n {\r\n keySize: 128 / 8,\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n \r\n return encrypted.toString();\r\n }\r\n\r\n //The get method is use for getD the value.\r\n public static getD(keys, value){\r\n var key = CryptoJS.enc.Utf8.parse(keys);\r\n var iv = CryptoJS.enc.Utf8.parse(keys);\r\n var getDed = CryptoJS.AES.decrypt(value, key, {\r\n keySize: 128 / 8,\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n \r\n return getDed.toString(CryptoJS.enc.Utf8);\r\n }\r\n public static SetUserProfile(userData: UserInfo) {\r\n sessionStorage[\"cP\"] = SessionDetails.getE(SessionDetails.absJ,JSON.stringify(userData));\r\n }\r\n public static GetUserProfile() {\r\n if (sessionStorage[\"cP\"] != null)\r\n return JSON.parse(SessionDetails.getD(SessionDetails.absJ,sessionStorage[\"cP\"]));\r\n return null;\r\n }\r\n\r\n public static fromUserPage(user_page: boolean) {\r\n sessionStorage[\"user_page\"] = JSON.stringify(user_page);\r\n }\r\n public static GetfromUserPage() {\r\n if (sessionStorage[\"user_page\"] != null)\r\n return JSON.parse(sessionStorage[\"user_page\"]);\r\n return false;\r\n }\r\n\r\n public static fromLocalclinics(local_clinic: boolean) {\r\n sessionStorage[\"local_clinic\"] = JSON.stringify(local_clinic);\r\n }\r\n public static GetfromLocalclinics() {\r\n if (sessionStorage[\"local_clinic\"] != null)\r\n return JSON.parse(sessionStorage[\"local_clinic\"]);\r\n return false;\r\n }\r\n public static setThankUDetails(thankudata: ThankyouData) {\r\n sessionStorage[\"thankuData\"] = JSON.stringify(thankudata);\r\n }\r\n public static GetThankUDetails() {\r\n if (sessionStorage[\"thankuData\"] != null)\r\n return JSON.parse(sessionStorage[\"thankuData\"]);\r\n return false;\r\n }\r\n\r\n public static EmitFunction(emit_function: boolean) {\r\n sessionStorage[\"thankuData\"] = JSON.stringify(emit_function);\r\n }\r\n public static GetEmitFunction() {\r\n if (sessionStorage[\"emit_function\"] != null)\r\n return JSON.parse(sessionStorage[\"emit_function\"]);\r\n return true;\r\n }\r\n\r\n public static setHCSActionItemsList(hcs_action_items_list:any){ \r\n sessionStorage[\"hcsActionItemsList\"] = JSON.stringify(hcs_action_items_list);\r\n }\r\n\r\n public static getHCSActionItemsList(){ \r\n if (sessionStorage[\"hcsActionItemsList\"] != null)\r\n return JSON.parse(sessionStorage[\"hcsActionItemsList\"]);\r\n return false;\r\n }\r\n\r\n public static setHCSMetricsList(hcs_metrics_list:any){ \r\n sessionStorage[\"hcsMetricsList\"] = JSON.stringify(hcs_metrics_list);\r\n }\r\n\r\n public static getHCSMetricsList(){ \r\n if (sessionStorage[\"hcsMetricsList\"] != null)\r\n return JSON.parse(sessionStorage[\"hcsMetricsList\"]);\r\n return false;\r\n }\r\n public static setPCAActionItemsList(pca_action_items_list:any){ \r\n sessionStorage[\"pcaActionItemsList\"] = JSON.stringify(pca_action_items_list);\r\n }\r\n\r\n public static getPCAActionItemsList(){ \r\n if (sessionStorage[\"pcaActionItemsList\"] != null)\r\n return JSON.parse(sessionStorage[\"pcaActionItemsList\"]);\r\n return false;\r\n }\r\n public static setPCAMetricsList(pca_metrics_list:any){ \r\n sessionStorage[\"pcaMetricsList\"] = JSON.stringify(pca_metrics_list);\r\n }\r\n\r\n public static getPCAMetricsList(){ \r\n if (sessionStorage[\"pcaMetricsList\"] != null)\r\n return JSON.parse(sessionStorage[\"pcaMetricsList\"]);\r\n return false;\r\n }\r\n\r\n public static setSchedulerSiteSetUp(scheduler_site_set_up:any){ \r\n sessionStorage[\"scheduler_site_set_up\"] = JSON.stringify(scheduler_site_set_up);\r\n }\r\n\r\n public static getSchedulerSiteSetUp(){ \r\n if (sessionStorage[\"scheduler_site_set_up\"] != null)\r\n return JSON.parse(sessionStorage[\"scheduler_site_set_up\"]);\r\n return null;\r\n }\r\n\r\n public static setSchedulerSiteSetUpData(scheduler_site_set_up_data:any){ \r\n sessionStorage[\"scheduler_site_set_up_data\"] = JSON.stringify(scheduler_site_set_up_data);\r\n }\r\n\r\n public static getSchedulerSiteSetUpData(){ \r\n if (sessionStorage[\"scheduler_site_set_up_data\"] != null)\r\n return JSON.parse(sessionStorage[\"scheduler_site_set_up_data\"]);\r\n return null;\r\n }\r\n\r\n public static setSchedulerUserInfo(schedulerInfo: SchedulerUserInfo) {\r\n sessionStorage[\"sI\"] = SessionDetails.getE(SessionDetails.absJ,JSON.stringify(schedulerInfo));\r\n }\r\n public static getSchedulerUserInfo() {\r\n if (sessionStorage[\"sI\"] != null)\r\n return JSON.parse(SessionDetails.getD(SessionDetails.absJ,sessionStorage[\"sI\"]));\r\n return false;\r\n }\r\n\r\n public static getProfilePk(){ \r\n if (sessionStorage[\"profile_pk\"] != null)\r\n return JSON.parse(sessionStorage[\"profile_pk\"]);\r\n return null;\r\n }\r\n\r\n public static setProfilePk(profile_pk){ \r\n sessionStorage[\"profile_pk\"] = JSON.stringify(profile_pk);\r\n }\r\n\r\n public static setIsPCA(is_pca) {\r\n sessionStorage[\"is_pca\"] = JSON.stringify(is_pca);\r\n }\r\n public static getIsPCA() {\r\n if (sessionStorage[\"is_pca\"] != null)\r\n return JSON.parse(sessionStorage[\"is_pca\"]);\r\n return false;\r\n }\r\n\r\n public static setIsSR(is_sr) {\r\n sessionStorage[\"is_sr\"] = JSON.stringify(is_sr);\r\n }\r\n public static getIsSR() {\r\n if (sessionStorage[\"is_sr\"] != null)\r\n return JSON.parse(sessionStorage[\"is_sr\"]);\r\n return false;\r\n }\r\n public static setIsCOVID(is_sr) {\r\n sessionStorage[\"is_COVID\"] = JSON.stringify(is_sr);\r\n }\r\n public static getIsCOVID() {\r\n if (sessionStorage[\"is_COVID\"] != null)\r\n return JSON.parse(sessionStorage[\"is_COVID\"]);\r\n return false;\r\n }\r\n \r\n public static setIsIP(is_ip) {\r\n sessionStorage[\"is_ip\"] = JSON.stringify(is_ip);\r\n }\r\n public static getIsIP() {\r\n if (sessionStorage[\"is_ip\"] != null)\r\n return JSON.parse(sessionStorage[\"is_ip\"]);\r\n return false;\r\n }\r\n\r\n public static SetUserProfileData(user_profile_data: any) {\r\n sessionStorage[\"c_p_d\"] = SessionDetails.getE(SessionDetails.absJ,JSON.stringify(user_profile_data));\r\n }\r\n public static getUserProfileData() {\r\n if (sessionStorage[\"c_p_d\"] != null)\r\n return JSON.parse(SessionDetails.getD(SessionDetails.absJ,sessionStorage[\"c_p_d\"]));\r\n return false;\r\n }\r\n public static SetTotalCancerEvents(totalCancerEvents: any) {\r\n sessionStorage[\"TotalCancerEvents\"] = JSON.stringify(totalCancerEvents);\r\n }\r\n public static GetTotalCancerEvents() {\r\n if (sessionStorage[\"TotalCancerEvents\"] != null)\r\n return JSON.parse(sessionStorage[\"TotalCancerEvents\"]);\r\n return 0;\r\n }\r\n\r\n public static SetImmunizationCheckPK(immunizationCheckPK:number){\r\n sessionStorage[\"ImmunizationCheckPK\"] = JSON.stringify(immunizationCheckPK);\r\n }\r\n public static GetImmunizationCheckPK(){\r\n if (sessionStorage[\"ImmunizationCheckPK\"] != null)\r\n return JSON.parse(sessionStorage[\"ImmunizationCheckPK\"]);\r\n return 0;\r\n }\r\n\r\n public static SetServiceAgreementStatus(hasServiceAgreementAccepted: boolean) {\r\n sessionStorage[\"hasServiceAgreementAccepted\"] = JSON.stringify(hasServiceAgreementAccepted);\r\n }\r\n\r\n public static GetServiceAgreementStatus() {\r\n return JSON.parse(sessionStorage[\"hasServiceAgreementAccepted\"]) != null ? JSON.parse(sessionStorage[\"hasServiceAgreementAccepted\"]) : 0;\r\n }\r\n\r\n public static SetOpportunityRequiringActionMetricId(recordInfo: OppourtunityInterface){\r\n sessionStorage[\"opportunityRequiringActionMetricId\"] = JSON.stringify(recordInfo);\r\n }\r\n\r\n public static GetOpportunityRequiringActionMetricId(): OppourtunityInterface{\r\n return JSON.parse(sessionStorage[\"opportunityRequiringActionMetricId\"]) != null ? JSON.parse(sessionStorage[\"opportunityRequiringActionMetricId\"]): undefined;\r\n }\r\n\r\n public static SetPriorityOpportunityRequiringActionMetricId(redcordInfo: OppourtunityInterface){\r\n sessionStorage[\"priorityOpportunityRequiringActionMetricId\"] = JSON.stringify(redcordInfo);\r\n }\r\n\r\n public static GetPriorityOpportunityRequiringActionMetricId(): OppourtunityInterface{\r\n return JSON.parse(sessionStorage[\"priorityOpportunityRequiringActionMetricId\"]) != null ? JSON.parse(sessionStorage[\"priorityOpportunityRequiringActionMetricId\"]): undefined;\r\n }\r\n\r\n public static SetImmunizationdata(immunizationform:any) {\r\n sessionStorage[\"Old_immunizationForm\"] = JSON.stringify(immunizationform);\r\n }\r\n}\r\n","\r\nimport { throwError as observableThrowError, Observable, of } from 'rxjs';\r\nimport { FormGroup, FormControl, FormArray, AbstractControl, Validators } from \"@angular/forms\";\r\nimport { SessionDetails } from './session';\r\nimport { environment } from '../../environments/environment';\r\nimport { PcaContract, PcaImmunization } from '../models/pcaclinic';\r\nimport { ContractData, Immunization2, Clinic, Immunization } from '../models/contract';\r\nimport { DatePipe } from '@angular/common';\r\nimport { StringBuilder } from 'typescript-string-operations';\r\nimport { HttpHeaders, HttpErrorResponse } from '@angular/common/http';\r\nimport { ElementRef, Injectable } from \"@angular/core\";\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class Util {\r\n\r\n\r\n public static handleError(error: any, router: Router) {\r\n router.navigate(['/unauthorize']);\r\n return observableThrowError(error);\r\n\r\n }\r\n /**\r\n * Handle Http operation that failed.\r\n * Let the app continue.\r\n * @param operation - name of the operation that failed\r\n * @param result - optional value to return as the observable result\r\n */\r\n public static handleErrorV1(operation = 'operation', result?: T) {\r\n return (error: any): Observable => {\r\n\r\n // TODO: send the error to remote logging infrastructure\r\n console.error(error); // log to console instead\r\n\r\n // Let the app keep running by returning an empty result.\r\n return of(result as T);\r\n };\r\n }\r\n public static handleErrorV2(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('An error occurred:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error(\r\n `Backend returned code ${error.status}, ` +\r\n `body was: ${error.error}`);\r\n }\r\n // return an observable with a user-facing error message\r\n return observableThrowError(error);\r\n }\r\n\r\n public static getFormatedDate(date: Date) {\r\n const datePipe = new DatePipe('en-US');\r\n return datePipe.transform(date, 'MM/dd/yyyy');\r\n }\r\n validateAllFormFields(formGroup: FormGroup) {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n if (control instanceof FormControl) {\r\n control.markAsTouched({ onlySelf: true });\r\n }\r\n else if (control instanceof FormArray) {\r\n control.controls.forEach(ctrl => {\r\n if (ctrl instanceof FormGroup) {\r\n this.validateAllFormFields(ctrl);\r\n }\r\n })\r\n }\r\n else if (control instanceof FormGroup) {\r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n }\r\n validateFormGroupForSimpleSave(frmGrp: FormGroup): boolean {\r\n try {\r\n let isFieldValid: boolean = true;\r\n Object.keys(frmGrp.controls).forEach(field => {\r\n const control = frmGrp.get(field);\r\n if (control instanceof FormControl) {\r\n if (control.value != null && control.value !== '' && !control.valid && !control.disabled) {\r\n\r\n control.markAsTouched({ onlySelf: true });\r\n isFieldValid = false;\r\n }\r\n }\r\n else if (control instanceof FormArray) {\r\n control.controls.forEach(ctrl => {\r\n if (ctrl instanceof FormGroup) {\r\n isFieldValid = this.validateFormGroupForSimpleSave(ctrl);\r\n }\r\n })\r\n }\r\n else if (control instanceof FormGroup) {\r\n isFieldValid = this.validateFormGroupForSimpleSave(control);\r\n }\r\n });\r\n return isFieldValid;\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n letter(nNum) {\r\n var a = \"A\".charCodeAt(0);\r\n return String.fromCharCode(a + nNum - 1);\r\n }\r\n\r\n colLetterToNum(val: any) {\r\n var base = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', i, j, result = 0;\r\n\r\n for (i = 0, j = val.length - 1; i < val.length; i += 1, j -= 1) {\r\n result += Math.pow(base.length, j) * (base.indexOf(val[i]) + 1);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n numberToLetters(location_count) {\r\n var result\r\n result = (location_count >= 26 ? String.fromCharCode(65 + (location_count % 26 == 0 ? Math.ceil(location_count / 26) - 1\r\n : Math.ceil(location_count / 26) - 2)).toString() + \"\"\r\n + String.fromCharCode(65 + location_count % 26).toString() : String.fromCharCode(65 + location_count % 26).toString());\r\n return result;\r\n }\r\n validateEmail(value: string): boolean {\r\n let is_valid: boolean = true;\r\n var emailTokens = value.split(',');\r\n var regex_pattern = /^\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/;\r\n var fn = Validators.pattern(regex_pattern);\r\n emailTokens.forEach(email => {\r\n if (!regex_pattern.test(email)) {\r\n is_valid = false;\r\n return false;\r\n }\r\n\r\n });\r\n return is_valid;\r\n }\r\n\r\n validateMultipleEmailsCommaSeparated(value) {\r\n var result = value.split(\",\");\r\n for (var i = 0; i < result.length; i++)\r\n if (!this.validateEmail(result[i]))\r\n return false;\r\n return true;\r\n }\r\n\r\n validateSingleEmail(value: string): boolean {\r\n var regex_pattern = /^\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/;\r\n let is_valid: boolean = true;\r\n if (!regex_pattern.test(value)) {\r\n is_valid = false;\r\n return false;\r\n }\r\n return is_valid;\r\n\r\n }\r\n getCurrentQuarter(): number {\r\n let quarter: number = 0;\r\n var date = new Date();\r\n switch ((new Date()).getMonth() + 1) {\r\n case 6:\r\n case 7:\r\n case 8:\r\n quarter = 1;\r\n break;\r\n case 9:\r\n case 10:\r\n case 11:\r\n quarter = 2;\r\n break;\r\n case 12:\r\n case 1:\r\n case 2:\r\n quarter = 3;\r\n break;\r\n case 3:\r\n case 4:\r\n case 5:\r\n quarter = 4;\r\n break;\r\n }\r\n\r\n return quarter;\r\n }\r\n\r\n validatePhoneNo(value: string): boolean {\r\n var regex_pattern = /^((\\(\\d{3}\\) ?)|(\\d{3}-))?\\d{3}-\\d{4}$/;\r\n let is_valid: boolean = true;\r\n if (!regex_pattern.test(value.trim())) {\r\n is_valid = false;\r\n return false;\r\n }\r\n return is_valid;\r\n }\r\n\r\n public static telephoneNumberFormat(number: string) {\r\n var val = number.replace(/\\D/g, '');\r\n number = val;\r\n\r\n if (val.length > 3 && val.length < 7) {\r\n number = val.substring(0, 3) + '-' + val.substring(3, 6);\r\n }\r\n\r\n if (val.length >= 7) {\r\n number = val.substring(0, 3) + '-' + val.substring(3, 6) + '-'\r\n + val.substring(6, 10);\r\n }\r\n return number;\r\n }\r\n public static telephoneNumber(number: string) {\r\n if (number != null && number != \"\") {\r\n var val = number.replace(/\\D/g, '');\r\n number = val;\r\n }\r\n\r\n return number;\r\n }\r\n\r\n public static onlyNumbers(event: any) {\r\n\r\n if (event.key == '.' || event.key == \"Del\") {\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n if (event.charCode == 37) { event.preventDefault(); return; }\r\n var keys = {\r\n 'escape': 27, 'backspace': 8, 'tab': 9, 'enter': 13, 'delete': 46, 'arrowleft': 37, 'arrowright': 39,\r\n '0': 48, '1': 49, '2': 50, '3': 51, '4': 52, '5': 53, '6': 54, '7': 55, '8': 56, '9': 57\r\n };\r\n for (var index in keys) {\r\n if (!keys.hasOwnProperty(index)) continue;\r\n if (event.charCode == keys[index] || event.keyCode == keys[index]) {\r\n return; //default event\r\n }\r\n }\r\n event.preventDefault();\r\n }\r\n\r\n public static onlyLettersSpaceAndNumbers(event: any): boolean {\r\n\r\n if (event.key == '.' || event.key == \"Del\") {\r\n event.preventDefault();\r\n return false;\r\n }\r\n\r\n if (event.charCode == 37) {\r\n event.preventDefault();\r\n return false;\r\n }\r\n\r\n var numberKeys = {\r\n 'escape': 27, 'backspace': 8, 'tab': 9, 'enter': 13, 'space': 32,\r\n '0': 48, '1': 49, '2': 50, '3': 51, '4': 52, '5': 53, '6': 54, '7': 55, '8': 56, '9': 57\r\n };\r\n\r\n if (Object.values(numberKeys).some(numKey => numKey == event.charCode)\r\n || (event.charCode >= 65 && event.charCode <= 90)\r\n || (event.charCode >= 97 && event.charCode <= 122)\r\n ) {\r\n return true;\r\n }\r\n event.preventDefault();\r\n }\r\n\r\n public static onlyNumberDecimals(event: any) {\r\n let decimalValue = event.target || event.srcElement;//event.srcElement.value;\r\n var charCode = (event.which) ? event.which : event.keyCode;\r\n\r\n if (decimalValue.value != '' && decimalValue.value.lastIndexOf(\".\") > 0 &&\r\n decimalValue.value.split(\".\").length > 1 && event.key == '.') {\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n if (charCode != 46 && charCode > 31\r\n && (charCode < 48 || charCode > 57)) {\r\n\r\n event.preventDefault(); // peserve old value\r\n }\r\n return true;\r\n }\r\n\r\n\r\n // public static getRequestHeaders(): RequestOptions {\r\n // let userData = SessionDetails.GetUserInfo();\r\n // let headers = new Headers({ 'Content-Type': 'application/json' });\r\n // headers.append('Cache-Control', 'no-cache, no-store, must-revalidate');\r\n // headers.append('Pragma', 'no-cache');\r\n // let token: string = '';\r\n // if (userData && Object.keys(userData).length > 0) {\r\n // token = window.btoa(userData.userName + ':' + userData.password);\r\n // headers.append('Authorization', 'Basic ' + token)\r\n // }\r\n // return new RequestOptions({ headers: headers });;\r\n // }\r\n public static getRequestHeadersV1() {\r\n let userData = SessionDetails.GetUserInfo();\r\n let token: string = '';\r\n if (userData && Object.keys(userData).length > 0) {\r\n // token = btoa(userData.userName + ':' + userData.password); \r\n token = SessionDetails.getE(SessionDetails.absJ, userData.userName + ':' + userData.password);\r\n }\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type', 'application/json')\r\n .set('Cache-Control', 'no-cache, no-store, must-revalidate')\r\n .set('Pragma', 'no-cache')\r\n .set('Authorization', 'Basic ' + token);\r\n\r\n const httpOptions = {\r\n headers: req_headers\r\n };\r\n return httpOptions;\r\n }\r\n public static getRequestHeadersV2() {\r\n let userData = SessionDetails.GetUserInfo();\r\n let usernamePassword: string = '';\r\n if (userData && Object.keys(userData).length > 0) {\r\n usernamePassword = SessionDetails.getE(SessionDetails.absJ, userData.userName + ':' + userData.password);\r\n }\r\n let req_headers = new HttpHeaders()\r\n .set('Content-Type', 'application/json')\r\n .set('Cache-Control', 'no-cache, no-store, must-revalidate')\r\n .set('Pragma', 'no-cache')\r\n .set('Authorization', 'Basic ' + usernamePassword)\r\n // .set('observe','response' as 'body') // not working \r\n // .set('responseType','blob' as 'json');\r\n\r\n const httpOptions = {\r\n headers: req_headers,\r\n observe: 'response' as 'body',\r\n responseType: 'blob' as 'json'\r\n };\r\n return httpOptions;\r\n }\r\n compareTwoObjects(x, y) {\r\n var i, l, leftChain, rightChain;\r\n\r\n function compare2Objects(x, y) {\r\n var p;\r\n\r\n // remember that NaN === NaN returns false\r\n // and isNaN(undefined) returns true\r\n if (isNaN(x) && isNaN(y) && typeof x === 'number' && typeof y === 'number') {\r\n return true;\r\n }\r\n\r\n // Compare primitives and functions. \r\n // Check if both arguments link to the same object.\r\n // Especially useful on the step where we compare prototypes\r\n if (x === y) {\r\n return true;\r\n }\r\n\r\n // Works in case when functions are created in constructor.\r\n // Comparing dates is a common scenario. Another built-ins?\r\n // We can even handle functions passed across iframes\r\n if ((typeof x === 'function' && typeof y === 'function') ||\r\n (x instanceof Date && y instanceof Date) ||\r\n (x instanceof RegExp && y instanceof RegExp) ||\r\n (x instanceof String && y instanceof String) ||\r\n (x instanceof Number && y instanceof Number)) {\r\n return x.toString() === y.toString();\r\n }\r\n\r\n // At last checking prototypes as good as we can\r\n if (!(x instanceof Object && y instanceof Object)) {\r\n return false;\r\n }\r\n\r\n if (x.isPrototypeOf(y) || y.isPrototypeOf(x)) {\r\n return false;\r\n }\r\n\r\n if (x.constructor !== y.constructor) {\r\n return false;\r\n }\r\n\r\n if (x.prototype !== y.prototype) {\r\n return false;\r\n }\r\n\r\n // Check for infinitive linking loops\r\n if (leftChain.indexOf(x) > -1 || rightChain.indexOf(y) > -1) {\r\n return false;\r\n }\r\n\r\n // Quick checking of one object being a subset of another.\r\n // todo: cache the structure of arguments[0] for performance\r\n for (p in y) {\r\n if (y.hasOwnProperty(p) !== x.hasOwnProperty(p)) {\r\n return false;\r\n }\r\n else if (typeof y[p] !== typeof x[p]) {\r\n return false;\r\n }\r\n }\r\n\r\n for (p in x) {\r\n if (y.hasOwnProperty(p) !== x.hasOwnProperty(p)) {\r\n return false;\r\n }\r\n else if (typeof y[p] !== typeof x[p]) {\r\n return false;\r\n }\r\n\r\n switch (typeof (x[p])) {\r\n case 'object':\r\n case 'function':\r\n\r\n leftChain.push(x);\r\n rightChain.push(y);\r\n\r\n if (!compare2Objects(x[p], y[p])) {\r\n return false;\r\n }\r\n\r\n leftChain.pop();\r\n rightChain.pop();\r\n break;\r\n\r\n default:\r\n if (x[p] !== y[p]) {\r\n return false;\r\n }\r\n break;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n if (arguments.length < 1) {\r\n return true; //Die silently? Don't know how to handle such case, please help...\r\n // throw \"Need two or more arguments to compare\";\r\n }\r\n\r\n for (i = 1, l = arguments.length; i < l; i++) {\r\n\r\n leftChain = []; //Todo: this can be cached\r\n rightChain = [];\r\n\r\n if (compare2Objects(arguments[0], arguments[1])) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n isStoreIsfromRestrictedState() {\r\n var resrict_states = []; //\"DC\" -- Removing DC state as per task# 1363\r\n var current_date = new Date();\r\n var storeState = SessionDetails.GetState();\r\n if (resrict_states.indexOf(storeState) > -1) {\r\n if (current_date > new Date(environment.MO_State_From) && current_date < new Date(environment.MO_State_TO)) {\r\n return true;\r\n }\r\n if (current_date > new Date(environment.DC_State_From) && current_date < new Date(environment.DC_State_TO)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n\r\n getDifference(o1, o2) {\r\n var diff = {};\r\n var tmp = null;\r\n if (o1 && o2) {\r\n if (JSON.stringify(o1) === JSON.stringify(o2)) return diff;\r\n\r\n for (var k in o1) {\r\n if (o2 && Array.isArray(o1[k]) && Array.isArray(o2[k])) {\r\n tmp = o1[k].reduce((p, c, i) => {\r\n ///condition for logging\r\n if(k.includes('clinicImzQtyList')) {\r\n if(p.length === 0) {\r\n var _t = this.getDifference(c, o2[k][0]);\r\n if (_t && Object.keys(_t).length > 0) {\r\n p.push(_t);\r\n } \r\n }\r\n return p; \r\n } else {\r\n //if(o2[k][i]){ \r\n var _t = this.getDifference(c, o2[k][i]);\r\n if (_t && Object.keys(_t).length > 0) {\r\n p.push(_t);\r\n return p;\r\n }\r\n }\r\n //}\r\n }, []);\r\n if (tmp && Object.keys(tmp).length > 0)\r\n diff[k] = tmp;\r\n } else if (o2 && k != 'clinicDate' && typeof (o1[k]) === \"object\" && typeof (o2[k]) === \"object\") {\r\n\r\n tmp = this.getDifference(o1[k], o2[k]);\r\n if (tmp && Object.keys(tmp).length > 0)\r\n diff[k] = tmp;\r\n } else if (o2 && o1[k] !== o2[k]) {\r\n diff[k] = o2[k]\r\n }\r\n }\r\n }\r\n return diff;\r\n }\r\n\r\n isEmptyObject(obj) {\r\n var name;\r\n for (name in obj) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n getObjDiff(obj1, obj2) {\r\n var result = {};\r\n var change;\r\n for (var key in obj1) {\r\n if (typeof obj2[key] == 'object' && typeof obj1[key] == 'object') {\r\n change = this.getObjDiff(obj1[key], obj2[key]);\r\n if (this.isEmptyObject(change) === false) {\r\n result[key] = change;\r\n }\r\n }\r\n else if (key != 'isReassign' && obj2[key] != obj1[key]) {\r\n result[key] = obj2[key];\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n getDiffDays(date1: Date, date2: Date) {\r\n var one_day = 1000 * 60 * 60 * 24;\r\n // Convert both dates to milliseconds\r\n var date1_ms = date1.getTime();\r\n var date2_ms = date2.getTime();\r\n\r\n // Calculate the difference in milliseconds\r\n var difference_ms = date2_ms - date1_ms;\r\n\r\n // Convert back to days and return\r\n return Math.round((difference_ms / one_day) + 1);\r\n }\r\n AllowAdminsToEditDataForRestrictedState() {\r\n var resrict_states = []; // \"DC\" -- Removing DC state as per task# 1363\r\n var userProfile = SessionDetails.GetUserProfile();\r\n var current_date = new Date();\r\n\r\n if (resrict_states.indexOf(SessionDetails.GetState()) > -1) {\r\n\r\n if (userProfile.userRole.toLowerCase() == \"admin\" || userProfile.userRole.toLowerCase() == \"healthcare supervisor\") {\r\n return false;\r\n }\r\n else if (current_date > new Date(environment.DC_State_From) && current_date < new Date('5/1/2023')) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n }\r\n isClinicDateReminderBefore2WksReq(form: FormGroup) {\r\n let isClinicDateReminder: Boolean = false;\r\n try {\r\n let today = new Date();\r\n for (let index = 0; index < form.value.locations.length; index++) {\r\n const loc = form.value.locations[index];\r\n var loc_date = (typeof loc.eventDate == 'string') ? new Date(loc.eventDate) : loc.eventDate;\r\n let diffDays = this.getDiffDays(new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0),\r\n new Date(loc_date.getFullYear(), loc_date.getMonth(), loc_date.getDate(), 0, 0, 0));\r\n if (diffDays < 14) {\r\n isClinicDateReminder = true;\r\n }\r\n }\r\n } catch (e) {\r\n return e;\r\n }\r\n return isClinicDateReminder;\r\n }\r\n transformPcaAgreementToOrthoDoxContractJson(contractData: PcaContract, businessUserEmails: string, _datePipe: DatePipe, orthoDoxContract: ContractData) {\r\n orthoDoxContract.isApproved = contractData.isApproved;\r\n orthoDoxContract.isLocationReqAvailable = contractData.isLocationReqAvailable;\r\n orthoDoxContract.isHealthRoomAvailable = contractData.isHealthRoomAvailable\r\n orthoDoxContract.approvedOrRejectedBy = contractData.approvedOrRejectedBy;\r\n orthoDoxContract.businessUserEmails = businessUserEmails;\r\n orthoDoxContract.clientInfo = contractData.clientInfo;\r\n orthoDoxContract.licenseAgreementNum = contractData.licenseAgreementNum;\r\n orthoDoxContract.isRHDApproved = contractData.isRhdApproved;\r\n\r\n if (contractData.isHealthRoomAvailable == 0 || contractData.isHealthRoomAvailable == undefined) {\r\n orthoDoxContract.isHealthRoomAvailable = null;\r\n }\r\n if (contractData.isLocationReqAvailable == 0 || contractData.isLocationReqAvailable == undefined) {\r\n orthoDoxContract.isLocationReqAvailable = null;\r\n }\r\n\r\n orthoDoxContract.contracTthankYou = null;//todo\r\n orthoDoxContract.clinicAgreementPk = contractData.clinicAgreementPk;\r\n orthoDoxContract.contactLogPk = contractData.contactLogPk;\r\n\r\n orthoDoxContract.contractPostedByUser = 'Walgreens User';\r\n orthoDoxContract.contactWagUser = '';\r\n orthoDoxContract.walgreenCoInfo = contractData.walgreenCoInfo;\r\n if (orthoDoxContract.walgreenCoInfo) {\r\n orthoDoxContract.walgreenCoInfo.rhdName = orthoDoxContract.walgreenCoInfo.rhdName ? orthoDoxContract.walgreenCoInfo.rhdName.trim() : null;\r\n }\r\n orthoDoxContract.legalNoticeAddressInfo = null;\r\n orthoDoxContract.clinicAgreementPk = contractData.clinicAgreementPk;\r\n orthoDoxContract.isEmailSent = contractData.isEmailSent;\r\n orthoDoxContract.dateCreated = contractData.dateCreated;\r\n\r\n orthoDoxContract.notes = contractData.notes;\r\n orthoDoxContract.signature = contractData.signature;\r\n orthoDoxContract.rhdSignature = contractData.rhdSignature;\r\n if (contractData.immunization) {\r\n contractData.immunization.map((immunization: PcaImmunization) => {\r\n let immunization2 = new Immunization2();\r\n immunization2.immunizationName = immunization.immunizationName;\r\n immunization2.immunizationPk = immunization.immunizationPk;\r\n orthoDoxContract.clinicImmunizationList.push(immunization2);\r\n })\r\n\r\n }\r\n else {\r\n orthoDoxContract.clinicImmunizationList = [];\r\n }\r\n contractData.pcaEvenScheduleList.forEach(item => {\r\n let clinic = new Clinic();\r\n clinic.address1 = contractData.pcaClinic && contractData.pcaClinic.address1 ? contractData.pcaClinic.address1.trim() : null;\r\n clinic.address2 = \"\";\r\n clinic.city = contractData.pcaClinic.city;\r\n let date = new Date(item.eventDate);\r\n clinic.clinicDate = date.getMonth() + 1 + \"/\" + (date.getDate()) + \"/\" + date.getFullYear();\r\n if (typeof item.startTime === 'object') {\r\n clinic.startTime = _datePipe.transform(item.startTime, \"shortTime\");\r\n }\r\n else {\r\n clinic.startTime = item.startTime\r\n }\r\n if (typeof item.endTime === 'object') {\r\n clinic.endTime = _datePipe.transform(item.endTime, \"shortTime\");\r\n }\r\n else {\r\n clinic.endTime = item.endTime\r\n }\r\n if (contractData.immunization) {\r\n contractData.immunization.map((immunizationObj) => {\r\n let immunization = new Immunization();\r\n immunization.immunizationPk = immunizationObj.immunizationPk;\r\n immunization.estimatedQuantity = item.estimatedQuantity;\r\n immunization.immunizationName = immunizationObj.immunizationName;\r\n clinic.clinicImzQtyList.push(immunization);\r\n });\r\n\r\n }\r\n else {\r\n clinic.clinicImzQtyList = [];\r\n }\r\n\r\n clinic.contactEmail = contractData.pcaClinic.contactEmail ? contractData.pcaClinic.contactEmail.trim() : contractData.pcaClinic.contactEmail;\r\n clinic.contactFirstName = contractData.pcaClinic && contractData.pcaClinic.contactFirstName ? contractData.pcaClinic.contactFirstName.trim() : null;\r\n clinic.contactLastName = contractData.pcaClinic && contractData.pcaClinic.contactLastName ? contractData.pcaClinic.contactLastName.trim() : null;\r\n clinic.contactPhone = contractData.pcaClinic.contactPhone;\r\n clinic.jobTitle = contractData.pcaClinic.jobTitle ? contractData.pcaClinic.jobTitle.trim() : null;\r\n clinic.state = contractData.pcaClinic.state;\r\n clinic.zipCode = contractData.pcaClinic.zipCode;\r\n clinic.location = item.location;\r\n clinic.mobileOrg = item.mobileOrg;\r\n\r\n orthoDoxContract.clinicList.push(clinic);\r\n });\r\n }\r\n isAdminAllowedToAddGroupId(): boolean {\r\n let is_admin_allowed_to_add_groupid: boolean = false;\r\n var user_profile = SessionDetails.GetUserProfile();\r\n if (user_profile.userRole.toLowerCase() === \"admin\") {\r\n var authorized_admin_users = environment.addCoPayGroupIdAdmins.split(',');\r\n authorized_admin_users.forEach(email => {\r\n if (email.toLowerCase() === user_profile.email.toLowerCase())\r\n is_admin_allowed_to_add_groupid = true;\r\n return;\r\n });\r\n }\r\n return is_admin_allowed_to_add_groupid;\r\n }\r\n\r\n print(documentId: string, pageTitle: string, docprintContents: string = null, elementRef: ElementRef = null) {\r\n\r\n let printContents, popupWin;\r\n\r\n var builder = new StringBuilder('
');\r\n\r\n builder.append(docprintContents != null ? docprintContents : document.getElementById(documentId).innerHTML);\r\n builder.append('
');\r\n printContents = builder.toString();\r\n if (elementRef?.nativeElement?.checked) {\r\n let checkBoxStr = elementRef.nativeElement?.outerHTML;\r\n let updatedCheckBoxStr = checkBoxStr.replace(' type=\"checkbox\"', ' type=\"checkbox\" checked=\"true\"')\r\n printContents = printContents.replace(checkBoxStr, updatedCheckBoxStr);\r\n }\r\n popupWin = window.open('', '', 'top=10,left=20,height=600,width=600');\r\n popupWin.document.open();\r\n let isIEOrEdge = /msie\\s|trident\\/|edge\\//i.test(window.navigator.userAgent)\r\n if (isIEOrEdge == true) {\r\n\r\n popupWin.document.write(`\r\n \r\n \r\n \r\n ${pageTitle}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n ${printContents}\r\n `\r\n );\r\n } else {\r\n popupWin.document.write(`\r\n \r\n \r\n ${pageTitle}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n ${printContents}\r\n `\r\n );\r\n }\r\n popupWin.document.close();\r\n\r\n }\r\n IsReassignmentAllowedForRestrictedState(stateSpecific: string) {\r\n\r\n let reassignmentAllowed: boolean = true;\r\n var current_date = new Date();\r\n if (stateSpecific == \"MO\" && current_date > new Date(environment.MO_State_From) && current_date < new Date(environment.MO_State_TO)) {\r\n reassignmentAllowed = false;\r\n }\r\n else if (stateSpecific == \"DC\" && current_date > new Date(environment.DC_State_From) && current_date < new Date(environment.DC_State_TO)) {\r\n reassignmentAllowed = false;\r\n }\r\n else {\r\n reassignmentAllowed = true;\r\n }\r\n\r\n return reassignmentAllowed;\r\n }\r\n\r\n transformtoFixed(e) {\r\n return parseFloat(e.target.value).toFixed(2);\r\n }\r\n\r\n\r\n\r\n\r\n}","import { BlockedImmunizations } from '../app/config-files/blocked-immunizations';\r\nimport { ErrorMessages } from '../app/config-files/error-messages';\r\nexport const environment = {\r\n production: true,\r\n BlockedImmunizations: [{\r\n BlockedImmunizations,\r\n BlockedStartDate: '04/15/2018',\r\n BlockedEndDate: '07/15/2018'\r\n }],\r\n ErrorMessages: ErrorMessages,\r\n date: '01/12/2018',\r\n reportStartYear: '2014',\r\n addCoPayGroupIdAdmins: 'CommunityUpdate@WagOutreach.com,jerry.v.thomas@walgreens.com,enterpriseimmunizationservice@walgreens.com,tyrone.clark@walgreens.com',\r\n outreachStartDateIP: '05/01/2018',\r\n outreachStartDateSO: '06/01/2018',\r\n \r\n MO_State_From: '12/01/2022',\r\n MO_State_TO: '02/01/2023',\r\n\r\n DC_State_From: '5/1/2023',\r\n DC_State_TO: '2/1/2024',\r\n \r\n restrict_states: '[]', // \"DC\"-- Removing DC state as per task# 1363\r\n\r\n image_file_path: 'assets/images/walgreens_email_logo.png',\r\n API_URL_V2: 'https://tdwagsazureservices-testreport.azurewebsites.net',\r\n API_URL: 'https://tdwagsservices.wagsoutreach.com',\r\n RESOURCES: {\r\n CORPORATE_SCHEDULER_UPLOADED_LOGOS_URL: 'https://tdwagsazureservices.azurewebsites.net/clientLogos/',\r\n PROOF_OF_DOCUMENTS: 'https://tdwagsoutreachcfiles.blob.core.windows.net/proofofdocs',\r\n VERIFY_USER_GET: '/values/GetUserLoginInformation',\r\n CONFIRM_CLINIC_DETAILS: '/values/confirmClinicDetails',\r\n GET_NATIONAL_CONTRACT_CLIENTS: '/api/getNationalContractClients',\r\n GET_STORE_PROFILE: '/api/Store_getStoreProfile',\r\n GET_ASSIGNED_BUSINESSES: '/api/Store_getAssignedBusinesses',\r\n GET_OUTREACH_STATUS_LABELS: '/api/ContactLog_getOutreachStatusLabels',\r\n GET_OUTREACH_CONTACT_LOGS: '/api/ContactLog_getOpportunityContactLogs',\r\n GET_SCHEDULE_EVENT: '/api/ContactLog_getScheduleEvent',\r\n ADD_OPPORTUNTY: '/api/Opportunities_addOutreachOpportunity',\r\n UPDATE_OPPORTUNITY: '/api/Opportunities_updateOutreachOpportunity',\r\n DELETE_NATIONAL_CONTRACT_CLIENTS: '/api/deleteNationalContractClients',\r\n POST_FOLLOWUP_EVENT: '/api/ContactLog_postFollowUpEvent',\r\n POST_SCHEDULE_EVENT: '/api/ContactLog_postSrScheduleEvent',\r\n POST_SIMPLE_EVENT: '/api/ContactLog_postSimpleEvent',\r\n UPDATE_SCHEDULE_EVENT: '/api/ContactLog_updateScheduleEvent',\r\n GET_FOLLOWUP_EVENT: '/api/ContactLog_getFollowUpEvent',\r\n UPDATE_FOLLOWUP_EVENT: '/api/ContactLog_updateFollowUpEvent',\r\n DELETE_CONTACT_LOG: '/api/ContactLog_deleteContactLog',\r\n GET_CONTRACT_AGREEMENT: '/api/ContractAgreement_getContractAgreement',\r\n GET_WAGSOUTREACH_COUNTS: '/api/Main_getWagsOutreachCounts',\r\n GET_IMMUNIZATION_LIST: '/api/ContractAgreement_getImmunizationList',\r\n UPDATE_CONTRACT_AGREEMENT: '/api/ContractAgreement_updateContractAgreement',\r\n POTENTIAL_CLIENT_INTEREST_NEED_MORE_INFO: '/api/DailyEmail_PotentialClientInterest_NeedMoreInfo',\r\n STORE_CLICKED_YES_FOR_CONTACTUS: '/api/Leads_StoreClickedYesForContactUs',\r\n STORE_CLICKED_NO_CONTACTUS: '/api/Leads_StoreClickedNoForContactUs',\r\n UPDATE_CO_AGREEMENT: '/api/ContractAgreement_insertCommOutreachProgram',\r\n UPDATE_EquityEvent_AGREEMENT : '/api/ContractAgreement_insertEquityEventsProgram',\r\n AMEND_EquityEvents_AGREEMENT: '/api/ContractAgreement_amendEquityEventsProgram',\r\n AMEND_CO_AGREEMENT: '/api/ContractAgreement_amendCommOutreachProgram',\r\n GET_PREVIOUSSEASON_CLINIC_LOCATIONS: '/api/ContractAgreement_getPreviousSeasonClinicLocations',\r\n POST_ENCRYPTION_DECRYPTION: '/api/Encryption_decrypt',\r\n GET_USER_PROFILE: '/api/Main_getUserProfile',\r\n INSERT_CHARITY_PROGRAM: '/api/ContractAgreement_insertCharityVoucherProgram',\r\n GET_LOCAL_CLINIC_DETAILS: '/api/ClinicDetails_getClinicDetails',\r\n UPDATE_CLINIC_DETAILS: '/api/ClinicDetails_updateClinicDetails',\r\n DELETE_CLINIC_DETAILS: '/api/ClinicDetails_deleteAgreement',\r\n DELETE_AMEND_AGREEMENT: '/api/DeleteAmendeAgreement',\r\n AREA_REGION_LIST: '/api/Main_getDistrictAreaRegionList',\r\n GET_ACTION_ITEM_COUNTS: '/api/Dashboard_getActionItemCounts',\r\n GET_METRICS_COUNTS: '/api/Dashboard_getMetricCounts',\r\n GET_DASHBOARD_DATA: '/api/Dashboard_getScheduledClinics',\r\n GET_CLOSEST_STORE: '/api/Dashboard_getClosestStore',\r\n UPDATE_CLINIC_ASSIGNMENT: '/api/Dashboard_updateClinicAssignment',\r\n DUPLICATE_BUSINESS: '/api/Opportunities_checkForDuplicateAddresses',\r\n GET_CONTRACT_VOUCHER_FORM_DATA: '/api/ClinicDetails_getContractVoucherFormData',\r\n GET_LOCAL_LEADS: '/api/Dashboard_getLocalLeads',\r\n UPDATE_LOCAL_LEADS: '/api/Dashboard_updateLocalLeadsAssignment',\r\n SEND_USER_ACCESS_LINK: '/api/DailyEmail_sendUserAccessLink',\r\n CLINIC_UPLOAD: '/api/ClinicUpload_upload',\r\n GET_SCHEDULER_SITE_LINK: '/api/SchedulerCorporate_getSchedulerSiteLink',\r\n GET_CORPORATE_SCHEDULER_CLINICS: '/api/SchedulerCorporate_getCorporateSchedulerClinics',\r\n GET_CORPORATE_CLIENTS: '/api/SchedulerCorporate_getCorporateClients',\r\n GET_SCHEDULER_SITE_DESIGN: '/api/SchedulerSiteDeisgn_getSchedulerSiteDesign',\r\n GET_APPOINTMENT_TRACKING_DETAILS: '/api/SchedulerEeApptDetails_getEeApptDetails',\r\n UPDATE_SCHEDULER_CLIENT_SETUP: '/api/SchedulerUpdateClientSetup_postClientSetup',\r\n CLINIC_UPLOAD_IMAGE: '/api/LogoUpload_upload',\r\n GET_USER_ROLES: '/api/get_userRoles',\r\n GET_RHD_DETAILS: '/api/Store_getStoreRhdDetails',\r\n GET_TPOPPORTUNITY_DETAILS: '/api/Pca_getOpportunityDetails',\r\n GET_OPPORTUNITY_DETAILS: '/api/Opportunities_getOpportunityDetails',\r\n TESTING_PARTNER_NAMES: '/api/PCA_getTestingPartnerNames',\r\n ADD_PCA_OPPORTUNTY: '/api/PCA_addPCAOutreachOpportunity',\r\n UPDATE_PCA_OPPRTUNITY: '/api/PCA_updatePCAOutreachOpportunity',\r\n GET_PCA_OpportunityDetails: '/api/PCA_getOpportunityDetails',\r\n GET_PCA_CONTRACTAGREEMENT: '/api/PCA_getContractAgreement',\r\n UPLOAD_PROOF_OF_INSURANCE: '/api/PCA_uploadProofOfInsurance',\r\n GET_PROOF_OF_INSURANCE: '/api/PCA_GetProofOfInsurance',\r\n DELETE_PROOF_OF_INSURANCE: '/api/PCA_DeleteProofOfInsurance',\r\n UPDATE_CONTRACT_AGREEMNET_TESTING_PARTNER: '/api/ContractAgreement_updatePCAContractAgreementForTestingPartner',\r\n APPROVE_PCA_CONTRACT_AGREEMENT: '/api/ContractAgreement_approvePCAContractAgreementForTestingPartner',\r\n GET_OpportunityDetails: '/api/Opportunities_getOpportunityProfile',\r\n VALIDATE_RHD_RVP: '/api/PCA_ValidateRHDEmail',\r\n VALIDATE_PORTAL_EMAIL: '/api/ContractAgreement_validatePortalEmail',\r\n GET_PCA_DETAILS: '/api/ClinicDetails_getTestingEventDetails',\r\n GET_ORGANIZATION_TYPES: '/api/getOrganizationsList_get',\r\n UPDATE_PCA_DETAILS: '/api/ClinicDetails_updateTestingEventDetails',\r\n GET_PCA_DASHBOARD_SNAPSHOT: '/api/Dashboard_getPCADashboardSnapshot',\r\n CONFIRM_CANCELLED_APPOINTMENTS: '/api/updateCanceledClinics',\r\n GET_CANCEREVENTS_COUNT: '/api/getCancerEventsCount',\r\n GET_IMMUNIZATION_CHECKS: '/api/ImmunizationCheck_getImmunizationChecks',\r\n GET_IMMUNIZATION_CHECKBYPK: '/api/ImmunizationCheck_getImmunizationCheckByPk',\r\n UPDATE_IMMUNIZATION_CHECK: '/api/ImmunizationCheck_updateImmunizationCheck',\r\n CREATE_IMMUNIZATION_CHECK: '/api/ImmunizationCheck_createImmunizationCheck',\r\n GET_ALL_CLINIC_TYPES: '/api/ImmunizationCheck_getAllClinicTypes',\r\n GET_STOREPROFILE_UPLOADED_FILES: '/api/StoreUpload_getUploadedFilesList',\r\n UPLOAD_STORE_PROFILES: '/api/StoreUpload_upload',\r\n GET_GENERATED_STOREPROFILE_REPORT: '/api/StoreUpload_getGeneratedStoreProfileReport',\r\n UPDATE_STOREUPLOAD_PROFILE: '/api/StoreUpload_updateStoreProfile',\r\n DELETE_STOREUPLOAD_PROFILE: '/api/StoreUpload_deleteStoreProfile',\r\n DELETE_STOREUPLOAD_FILE: '/api/StoreUpload_deleteFile',\r\n GET_STOREUPLOAD_FILE_COUNTS: '/api/StoreUpload_getFileCounts',\r\n DOWNLOAD_STOREPROFILE_REPORT: '/api/StoreUpload_downloadReport',\r\n UPDATE_STOREPROFILES_INSITE: '/api/StoreUpload_updateStoreProfiles',\r\n DROPPED_STORES_FOR_REASSIGNMENT: '/api/getDroppedStoresForReassignment',\r\n GET_SOURCE_PATIENTGROUPS: '/api/searchCuraPatientPatientGroups',\r\n GET_TARGET_PATIENTGROUPS: '/api/searchCuraPatientPatientGroups',\r\n MOVE_PATIENTS_BETWEEN_PATIENTGROUPS: '/api/movePatientsBetweenPatientGroups',\r\n REASSIGN_DROPPEDSTORES_TO_CLOSESTSTORE: '/api/reassignDroppedStoresToClosestStore',\r\n GROUPID_UPLOAD: '/api/GroupIdUpload_upload',\r\n GET_UNASSIGNED_GROUPID_COUNT: '/api/GetUnsssignedGroupIdsCount',\r\n GET_STATS_DATA: '/api/JsStatsReporting/getStats',\r\n GET_IP_BUSINESS_FEEDBACK_ALL: '/api/JsStatsReporting/getStoreIPBusinessFeedbackAll',\r\n GET_OPPORTUNITIES_BY_SIC: '/api/JsStatsReporting/getOpportunityCountsBySIC',\r\n GET_ASSIGNED_30PLUS_OPPORTUNITIES: '/api/JsStatsReporting/getAssigned30PlusOpportunities',\r\n GET_STORE_COUNT_BY_ASSIGNED_OPPORTUNITIES: '/api/JsStatsReporting/getStoreCountByAssignedOpportunities',\r\n GET_STORE_COUNT_BY_ASSIGNED_RANGE: '/api/JsStatsReporting/getStoreCountByAssignedRange',\r\n GET_IP_CLINICS_BY_SIC: '/api/JsStatsReporting/getIPClinicsBySIC',\r\n GET_SR_EVENTS_BY_SIC: '/api/JsStatsReporting/getSREventsBySIC',\r\n REMOVE_CLINIC_CANCELLED_STATUS: \"/api/ClinicDetails_removeCancelledClinicDetails\",\r\n REJECT_CLINIC_CANCELLATION_BY_CLIENT: \"/api/ClinicDetails_rejectClinicCancellationByClient\",\r\n APPROVE_CLINIC_CANCELLATION_BY_CLIENT: \"/api/ClinicDetails_approveClinicCancellationByClient\",\r\n GET_CONFIG_DATES: \"/api/getConfigDates\",\r\n SAVE_LEAD_ENQUIRIES:'/api/Leads_saveLeads',\r\n GET_LEADS_VACCINATION_INFO: \"/api/getLeadvaccinationinfo\",\r\n GET_CONTACTUS_REPORT: \"/api/JsContctUs_get\",\r\n VERIFY_RECAPTCHA: \"/api/verifyCaptcha\",\r\n GET_CLINIC_INFO_FOR_TRACKER: \"api/getClinicInfoForTracker\",\r\n CACHE_CP_TOKEN_DATA:'/api/CP_cacheCPTokenData',\r\n GET_LOOKUP_VALUES: \"api/Main_getLookUpValues\",\r\n UPDATE_OUTREACH_STATUS_TO_NOOUTREACH: \"/api/Opportunities_updateOutreachStatusToNoOutreach\",\r\n DELETE_OPPORTUNITY_INFO: \"/api/Opportunities_deleteOpportunityInfo\" ,\r\n GET_PRIORITY_OPPORTUNITIES: \"/api/GetPriorityOpportunities\",\r\n GET_OPPORTUNITIES_REQUIRING_ACTION: \"api/getipopportunitiesrequiringaction\",\r\n GET_PRIORITY_OPPORTUNITIES_REQUIRING_ACTION: \"api/getipopportunitiespriorityrequiringaction\",\r\n GET_CLINIC_SCHEDULAR_APPOINTMENTS: \"/api/GetScheduleClinicImmunizationData\",\r\n RESOURCE_COUNT : \"/api/SaveResourceCount\",\r\n GET_RESOURCE_COUNT: \"api/GetResourceCount\",\r\n SCHEDULED_CLINIC_REPORT: '/api/JsScheduledClinicsDetails_downloadReport',\r\n SCHEDULED_CLINIC_REPORT_V2: '/api/ScheduleClinicReport',\r\n },\r\n // Reports - Constants\r\n ipSeason: 2021,\r\n seasonStartDate: '05/01/2014',\r\n seasonEndDate: '04/30/2018',\r\n outreachEffort: 1,\r\n outreachStartDate: '05/03/2024',\r\n SuperAdmins: [\r\n \"admin_communityupdate\", \r\n \"admin_samuel.nass\", \r\n \"admin_jerry.v.thomas\", \r\n \"admin_bryan.shrode\",\r\n \"admin_enterpriseimmunizationservice\",\r\n \"admin_carlos.flores\",\r\n \"admin_eli.zaguri\",\r\n \"admin_tyrone.clark\",\r\n \"admin_roxanne.crowley\",\"admin_breeann.applegate\"\r\n ],\r\n covidVaccineNotAviableDates: {\r\n startDate: \"20/05/2024\",\r\n endDate: \"15/08/2024\"\r\n },\r\n // Below Variable for only site maintenance\r\n isSiteDeploying: false,\r\n\r\n //Service Fee calculations\r\n NO_SERVICE_FEE: 0,\r\n SERVICE_FEE_1: 750,\r\n SERVICE_FEE_2: 1000,\r\n SERVICE_FEE_3: 2000,\r\n\r\n //Service Fee\r\n serviceFeeAgreement :{\r\n servicefeeMessage : \"I acknowledge that I have informed the client of the service fee associated with each clinic which is based on the estimated volume provided by the client.\",\r\n servicefeeupdateMessage: \"I acknowledge that I have informed the client of the service fee associated with each clinic which is based on the estimated number of participants provided by the client.\",\r\n agreementDate: \" 5/1/2024\",\r\n }\r\n};","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\nimport { BlockedImmunizations } from '../app/config-files/blocked-immunizations';\r\nimport { ErrorMessages } from '../app/config-files/error-messages';\r\n\r\nexport const environment = {\r\n production: true,\r\n BlockedImmunizations: [{\r\n BlockedImmunizations,\r\n BlockedStartDate: '04/15/2018',\r\n BlockedEndDate: '07/15/2018'\r\n }],\r\n ErrorMessages: ErrorMessages,\r\n date: '01/12/2018',\r\n reportStartYear: '2014',\r\n addCoPayGroupIdAdmins: 'CommunityUpdate@WagOutreach.com,jerry.v.thomas@walgreens.com,enterpriseimmunizationservice@walgreens.com,tyrone.clark@walgreens.com',\r\n outreachStartDateIP: '05/01/2018',\r\n outreachStartDateSO: '06/01/2018',\r\n \r\n MO_State_From: '12/01/2022',\r\n MO_State_TO: '02/01/2023',\r\n\r\n DC_State_From: '5/1/2023',\r\n DC_State_TO: '2/1/2024',\r\n \r\n restrict_states: '[]',\r\n \r\n image_file_path: 'assets/images/walgreens_email_logo.png',\r\n API_URL: 'https://tdwagsservices.wagsoutreach.com',\r\n API_URL_V2: 'https://tdwagsazureservices-testreport.azurewebsites.net',\r\n RESOURCES: {\r\n CORPORATE_SCHEDULER_UPLOADED_LOGOS_URL: 'https://tdwagsazureservices.azurewebsites.net/clientLogos/',\r\n PROOF_OF_DOCUMENTS: 'https://tdwagsoutreachcfiles.blob.core.windows.net/proofofdocs',\r\n VERIFY_USER_GET: '/values/GetUserLoginInformation',\r\n CONFIRM_CLINIC_DETAILS: '/values/confirmClinicDetails',\r\n GET_NATIONAL_CONTRACT_CLIENTS: '/api/getNationalContractClients',\r\n GET_STORE_PROFILE: '/api/Store_getStoreProfile',\r\n GET_ASSIGNED_BUSINESSES: '/api/Store_getAssignedBusinesses',\r\n GET_OUTREACH_STATUS_LABELS: '/api/ContactLog_getOutreachStatusLabels',\r\n GET_OUTREACH_CONTACT_LOGS: '/api/ContactLog_getOpportunityContactLogs',\r\n GET_OPPURTUNITY_DETAILS: '/api/Opportunities_getOpportunityDetails',\r\n GET_SCHEDULE_EVENT: '/api/ContactLog_getScheduleEvent',\r\n ADD_OPPORTUNTY: '/api/Opportunities_addOutreachOpportunity',\r\n UPDATE_OPPORTUNITY: '/api/Opportunities_updateOutreachOpportunity',\r\n DELETE_NATIONAL_CONTRACT_CLIENTS: '/api/deleteNationalContractClients',\r\n POST_FOLLOWUP_EVENT: '/api/ContactLog_postFollowUpEvent',\r\n POST_SCHEDULE_EVENT: '/api/ContactLog_postSrScheduleEvent',\r\n POST_SIMPLE_EVENT: '/api/ContactLog_postSimpleEvent',\r\n UPDATE_SCHEDULE_EVENT: '/api/ContactLog_updateScheduleEvent',\r\n GET_FOLLOWUP_EVENT: '/api/ContactLog_getFollowUpEvent',\r\n UPDATE_FOLLOWUP_EVENT: '/api/ContactLog_updateFollowUpEvent',\r\n DELETE_CONTACT_LOG: '/api/ContactLog_deleteContactLog',\r\n GET_CONTRACT_AGREEMENT: '/api/ContractAgreement_getContractAgreement',\r\n GET_WAGSOUTREACH_COUNTS: '/api/Main_getWagsOutreachCounts',\r\n GET_IMMUNIZATION_LIST: '/api/ContractAgreement_getImmunizationList',\r\n UPDATE_CONTRACT_AGREEMENT: '/api/ContractAgreement_updateContractAgreement',\r\n POTENTIAL_CLIENT_INTEREST_NEED_MORE_INFO: '/api/DailyEmail_PotentialClientInterest_NeedMoreInfo',\r\n STORE_CLICKED_YES_FOR_CONTACTUS: '/api/Leads_StoreClickedYesForContactUs',\r\n STORE_CLICKED_NO_CONTACTUS: '/api/Leads_StoreClickedNoForContactUs',\r\n UPDATE_CO_AGREEMENT: '/api/ContractAgreement_insertCommOutreachProgram',\r\n UPDATE_EquityEvent_AGREEMENT : '/api/ContractAgreement_insertEquityEventsProgram',\r\n AMEND_EquityEvents_AGREEMENT: '/api/ContractAgreement_amendEquityEventsProgram',\r\n AMEND_CO_AGREEMENT: '/api/ContractAgreement_amendCommOutreachProgram',\r\n GET_PREVIOUSSEASON_CLINIC_LOCATIONS: '/api/ContractAgreement_getPreviousSeasonClinicLocations',\r\n POST_ENCRYPTION_DECRYPTION: '/api/Encryption_decrypt',\r\n GET_USER_PROFILE: '/api/Main_getUserProfile',\r\n INSERT_CHARITY_PROGRAM: '/api/ContractAgreement_insertCharityVoucherProgram',\r\n GET_LOCAL_CLINIC_DETAILS: '/api/ClinicDetails_getClinicDetails',\r\n CACHE_CP_TOKEN_DATA:'/api/CP_cacheCPTokenData',\r\n UPDATE_CLINIC_DETAILS: '/api/ClinicDetails_updateClinicDetails',\r\n DELETE_CLINIC_DETAILS: '/api/ClinicDetails_deleteAgreement',\r\n DELETE_AMEND_AGREEMENT: '/api/DeleteAmendeAgreement',\r\n AREA_REGION_LIST: '/api/Main_getDistrictAreaRegionList',\r\n GET_ACTION_ITEM_COUNTS: '/api/Dashboard_getActionItemCounts',\r\n GET_METRICS_COUNTS: '/api/Dashboard_getMetricCounts',\r\n GET_DASHBOARD_DATA: '/api/Dashboard_getScheduledClinics',\r\n GET_CLOSEST_STORE: '/api/Dashboard_getClosestStore',\r\n UPDATE_CLINIC_ASSIGNMENT: '/api/Dashboard_updateClinicAssignment',\r\n DUPLICATE_BUSINESS: '/api/Opportunities_checkForDuplicateAddresses',\r\n GET_CONTRACT_VOUCHER_FORM_DATA: '/api/ClinicDetails_getContractVoucherFormData',\r\n GET_LOCAL_LEADS: '/api/Dashboard_getLocalLeads',\r\n UPDATE_LOCAL_LEADS: '/api/Dashboard_updateLocalLeadsAssignment',\r\n SEND_USER_ACCESS_LINK: '/api/DailyEmail_sendUserAccessLink',\r\n CLINIC_UPLOAD: '/api/ClinicUpload_upload',\r\n GET_SCHEDULER_SITE_LINK: '/api/SchedulerCorporate_getSchedulerSiteLink',\r\n GET_CORPORATE_SCHEDULER_CLINICS: '/api/SchedulerCorporate_getCorporateSchedulerClinics',\r\n GET_CORPORATE_CLIENTS: '/api/SchedulerCorporate_getCorporateClients',\r\n GET_SCHEDULER_SITE_DESIGN: '/api/SchedulerSiteDeisgn_getSchedulerSiteDesign',\r\n GET_APPOINTMENT_TRACKING_DETAILS: '/api/SchedulerEeApptDetails_getEeApptDetails',\r\n UPDATE_SCHEDULER_CLIENT_SETUP: '/api/SchedulerUpdateClientSetup_postClientSetup',\r\n CLINIC_UPLOAD_IMAGE: '/api/LogoUpload_upload',\r\n GET_USER_ROLES: '/api/get_userRoles',\r\n GET_RHD_DETAILS: '/api/Store_getStoreRhdDetails',\r\n GET_TPOPPORTUNITY_DETAILS: '/api/Pca_getOpportunityDetails',\r\n TESTING_PARTNER_NAMES: '/api/PCA_getTestingPartnerNames',\r\n ADD_PCA_OPPORTUNTY: '/api/PCA_addPCAOutreachOpportunity',\r\n UPDATE_PCA_OPPRTUNITY: '/api/PCA_updatePCAOutreachOpportunity',\r\n GET_PCA_OpportunityDetails: '/api/PCA_getOpportunityDetails',\r\n GET_OPPORTUNITY_DETAILS: '/api/Opportunities_getOpportunityDetails',\r\n GET_PCA_CONTRACTAGREEMENT: '/api/PCA_getContractAgreement',\r\n UPLOAD_PROOF_OF_INSURANCE: '/api/PCA_uploadProofOfInsurance',\r\n GET_PROOF_OF_INSURANCE: '/api/PCA_GetProofOfInsurance',\r\n DELETE_PROOF_OF_INSURANCE: '/api/PCA_DeleteProofOfInsurance',\r\n UPDATE_CONTRACT_AGREEMNET_TESTING_PARTNER: '/api/ContractAgreement_updatePCAContractAgreementForTestingPartner',\r\n APPROVE_PCA_CONTRACT_AGREEMENT: '/api/ContractAgreement_approvePCAContractAgreementForTestingPartner',\r\n VALIDATE_RHD_RVP: '/api/PCA_ValidateRHDEmail',\r\n VALIDATE_PORTAL_EMAIL: '/api/ContractAgreement_validatePortalEmail',\r\n GET_PCA_DETAILS: '/api/ClinicDetails_getTestingEventDetails',\r\n UPDATE_PCA_DETAILS: '/api/ClinicDetails_updateTestingEventDetails',\r\n GET_ORGANIZATION_TYPES: '/api/getOrganizationsList_get',\r\n GET_PCA_DASHBOARD_SNAPSHOT: '/api/Dashboard_getPCADashboardSnapshot',\r\n CONFIRM_CANCELLED_APPOINTMENTS: '/api/updateCanceledClinics',\r\n GET_CANCEREVENTS_COUNT: '/api/getCancerEventsCount',\r\n GET_IMMUNIZATION_CHECKS: '/api/ImmunizationCheck_getImmunizationChecks',\r\n GET_IMMUNIZATION_CHECKBYPK: '/api/ImmunizationCheck_getImmunizationCheckByPk',\r\n UPDATE_IMMUNIZATION_CHECK: '/api/ImmunizationCheck_updateImmunizationCheck',\r\n CREATE_IMMUNIZATION_CHECK: '/api/ImmunizationCheck_createImmunizationCheck',\r\n GET_ALL_CLINIC_TYPES: '/api/ImmunizationCheck_getAllClinicTypes',\r\n GET_STOREPROFILE_UPLOADED_FILES: '/api/StoreUpload_getUploadedFilesList',\r\n UPLOAD_STORE_PROFILES: '/api/StoreUpload_upload',\r\n GET_GENERATED_STOREPROFILE_REPORT: '/api/StoreUpload_getGeneratedStoreProfileReport',\r\n UPDATE_STOREUPLOAD_PROFILE: '/api/StoreUpload_updateStoreProfile',\r\n DELETE_STOREUPLOAD_PROFILE: '/api/StoreUpload_deleteStoreProfile',\r\n DELETE_STOREUPLOAD_FILE: '/api/StoreUpload_deleteFile',\r\n GET_STOREUPLOAD_FILE_COUNTS: '/api/StoreUpload_getFileCounts',\r\n DOWNLOAD_STOREPROFILE_REPORT: '/api/StoreUpload_downloadReport',\r\n UPDATE_STOREPROFILES_INSITE: '/api/StoreUpload_updateStoreProfiles',\r\n DROPPED_STORES_FOR_REASSIGNMENT: '/api/getDroppedStoresForReassignment',\r\n GET_SOURCE_PATIENTGROUPS: '/api/searchCuraPatientPatientGroups',\r\n GET_TARGET_PATIENTGROUPS: '/api/searchCuraPatientPatientGroups',\r\n MOVE_PATIENTS_BETWEEN_PATIENTGROUPS: '/api/movePatientsBetweenPatientGroups',\r\n REASSIGN_DROPPEDSTORES_TO_CLOSESTSTORE: '/api/reassignDroppedStoresToClosestStore',\r\n GROUPID_UPLOAD: '/api/GroupIdUpload_upload',\r\n GET_UNASSIGNED_GROUPID_COUNT: '/api/GetUnsssignedGroupIdsCount',\r\n GET_STATS_DATA: '/api/JsStatsReporting/getStats',\r\n GET_IP_BUSINESS_FEEDBACK_ALL: '/api/JsStatsReporting/getStoreIPBusinessFeedbackAll',\r\n GET_OPPORTUNITIES_BY_SIC: '/api/JsStatsReporting/getOpportunityCountsBySIC',\r\n GET_ASSIGNED_30PLUS_OPPORTUNITIES: '/api/JsStatsReporting/getAssigned30PlusOpportunities',\r\n GET_STORE_COUNT_BY_ASSIGNED_OPPORTUNITIES: '/api/JsStatsReporting/getStoreCountByAssignedOpportunities',\r\n GET_STORE_COUNT_BY_ASSIGNED_RANGE: '/api/JsStatsReporting/getStoreCountByAssignedRange',\r\n GET_IP_CLINICS_BY_SIC: '/api/JsStatsReporting/getIPClinicsBySIC',\r\n GET_SR_EVENTS_BY_SIC: '/api/JsStatsReporting/getSREventsBySIC',\r\n REMOVE_CLINIC_CANCELLED_STATUS: \"/api/ClinicDetails_removeCancelledClinicDetails\",\r\n REJECT_CLINIC_CANCELLATION_BY_CLIENT: \"/api/ClinicDetails_rejectClinicCancellationByClient\",\r\n APPROVE_CLINIC_CANCELLATION_BY_CLIENT: \"/api/ClinicDetails_approveClinicCancellationByClient\",\r\n GET_CONFIG_DATES: \"/api/getConfigDates\",\r\n SAVE_LEAD_ENQUIRIES:\"/api/Leads_saveLeads\",\r\n GET_LEADS_VACCINATION_INFO: \"/api/getLeadvaccinationinfo\",\r\n GET_CONTACTUS_REPORT: \"/api/JsContctUs_get\",\r\n VERIFY_RECAPTCHA: \"/api/verifyCaptcha\",\r\n GET_CLINIC_INFO_FOR_TRACKER: \"api/getClinicInfoForTracker\",\r\n GET_LOOKUP_VALUES: \"api/Main_getLookUpValues\",\r\n UPDATE_OUTREACH_STATUS_TO_NOOUTREACH: \"/api/Opportunities_updateOutreachStatusToNoOutreach\",\r\n DELETE_OPPORTUNITY_INFO: \"/api/Opportunities_deleteOpportunityInfo\",\r\n LEAD_AWAITING_RESPONSE_OVER_THREE_DAYS: \"/api/GetLeadsAwaitingResponseOverThreeDays\",\r\n LEAD_AWAITING_RESPONSE_BY_ID: \"/api/GetLeadAwaitingResponseById\",\r\n REASSIGN_CLOSEST_STOREBY_ID : \"/api/ReassignClosestStoreById\",\r\n GET_PRIORITY_OPPORTUNITIES: \"/api/GetPriorityOpportunities\",\r\n GET_OPPORTUNITIES_REQUIRING_ACTION: \"api/getipopportunitiesrequiringaction\",\r\n GET_PRIORITY_OPPORTUNITIES_REQUIRING_ACTION: \"api/getipopportunitiespriorityrequiringaction\",\r\n GET_OPPORTUNITIES_REQUIRING_ACTION_REPORTS: \"api/getipopportunitiesreportaction\",\r\n GET_PRIORITY_OPPORTUNITIES_REQUIRING_ACTION_REPORTS: \"api/getipopportunitiespriorityreportaction\",\r\n GET_CLINIC_SCHEDULAR_APPOINTMENTS: \"/api/GetScheduleClinicImmunizationData\",\r\n DOWNLOAD_OPPOURTUNITY_REPORT: \"/api/downloadOpportunitiesRequiringReport\",\r\n GET_OPPOURTUNITY_REPORT_OUTREACH_AND_FOLLOW_UP_COUNT: \"/api/getopportunitiescounts\",\r\n DOWNLOAD_PRIORITY_OPPOURTUNITY_REPORT: \"api/downloadPriorityReport\",\r\n RESOURCE_COUNT : \"/api/SaveResourceCount\",\r\n GET_RESOURCE_COUNT: \"api/GetResourceCount\",\r\n SCHEDULED_CLINIC_REPORT: '/api/JsScheduledClinicsDetails_downloadReport',\r\n SCHEDULED_CLINIC_REPORT_V2: '/api/ScheduleClinicReport',\r\n },\r\n // Reports - Constants\r\n ipSeason: 2021,\r\n seasonStartDate: '05/01/2014',\r\n seasonEndDate: '04/30/2018',\r\n outreachEffort: 1,\r\n outreachStartDate: '05/03/2024',\r\n SuperAdmins: [\r\n \"admin_communityupdate\", \r\n \"admin_samuel.nass\", \r\n \"admin_jerry.v.thomas\", \r\n \"admin_bryan.shrode\",\r\n \"admin_enterpriseimmunizationservice\",\r\n \"admin_carlos.flores\",\r\n \"admin_tyrone.clark\",\r\n \"admin_roxanne.crowley\",\"admin_breeann.applegate\"\r\n ],\r\n covidVaccineNotAviableDates: {\r\n startDate: \"20/05/2024\",\r\n endDate: \"15/08/2024\"\r\n },\r\n disabledFeatures: {\r\n serviceFee: true,\r\n covidWarning: true\r\n },\r\n // Below Variable for only site maintenance\r\n isSiteDeploying: false,\r\n\r\n //Service Fee calculations\r\n NO_SERVICE_FEE: 0,\r\n SERVICE_FEE_1: 750,\r\n SERVICE_FEE_2: 1000,\r\n SERVICE_FEE_3: 2000,\r\n\r\n //PCA logging constants\r\n constants : {\r\n preliminarypositivesanddonors : 'Preliminary Positives/Registered Organ Donors',\r\n preliminarypositives : 'Preliminary Positives',\r\n registereddonors : 'Registered Organ Donors',\r\n },\r\n\r\n //Service Fee\r\n serviceFeeAgreement :{\r\n servicefeeMessage : \"I acknowledge that I have informed the client of the service fee associated with each clinic which is based on the estimated volume provided by the client.\",\r\n servicefeeupdateMessage: \"I acknowledge that I have informed the client of the service fee associated with each clinic which is based on the estimated number of participants provided by the client.\",\r\n agreementDate: \" 5/1/2024\",\r\n }\r\n};","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\r\n.oSearchHCS{\r\n background: white;\r\n position: absolute;\r\n width: 400px;\r\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\r\n text-align: center;\r\n right: 20px;\r\n padding: 10px;\r\n z-index: 9;\r\n}\r\n\r\n#Clinics th.ui-state-default {\r\n background-color: #a43794 !important;\r\n color:#ffffff !important;\r\n}\r\n\r\n#hcActionItems a {\r\n text-decoration: underline;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/admin/components/client-scheduler-appt-tracker/client-scheduler-appt-tracker.component.css\"],\"names\":[],\"mappings\":\";AACA;IACI,iBAAiB;IACjB,kBAAkB;IAClB,YAAY;IACZ,4EAA4E;IAC5E,kBAAkB;IAClB,WAAW;IACX,aAAa;IACb,UAAU;AACd;;AAEA;IACI,oCAAoC;IACpC,wBAAwB;AAC5B;;AAEA;IACI,0BAA0B;AAC9B\",\"sourcesContent\":[\"\\r\\n.oSearchHCS{\\r\\n background: white;\\r\\n position: absolute;\\r\\n width: 400px;\\r\\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\\r\\n text-align: center;\\r\\n right: 20px;\\r\\n padding: 10px;\\r\\n z-index: 9;\\r\\n}\\r\\n\\r\\n#Clinics th.ui-state-default {\\r\\n background-color: #a43794 !important;\\r\\n color:#ffffff !important;\\r\\n}\\r\\n\\r\\n#hcActionItems a {\\r\\n text-decoration: underline;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `#corporateSchedulerTabs .ui-tabview .ui-tabview-nav li.ui-tabview-selected a, .ui-tabview .ui-tabview-nav li.ui-state-disabled a, .ui-tabview .ui-tabview-nav li.ui-state-processing a {\r\n\r\n}\r\n\r\n.primeNgCtrl{\r\n height: 40px !important;\r\n}\r\n\r\n.table td, .table th\r\n{ border-top: 0px solid #fff !important;\r\nfont-size:12px !important;\r\n}\r\n.underline{\r\n text-decoration: underline;\r\n} \r\n.ui-table .ui-sortable-column .ui-sortable-column-icon{\r\n color:#fff !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/admin/components/corporate-scheduler/corporate-scheduler.component.css\"],\"names\":[],\"mappings\":\"AAAA;;AAEA;;AAEA;IACI,uBAAuB;AAC3B;;AAEA;EACE,qCAAqC;AACvC,yBAAyB;AACzB;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,qBAAqB;AACzB\",\"sourcesContent\":[\"#corporateSchedulerTabs .ui-tabview .ui-tabview-nav li.ui-tabview-selected a, .ui-tabview .ui-tabview-nav li.ui-state-disabled a, .ui-tabview .ui-tabview-nav li.ui-state-processing a {\\r\\n\\r\\n}\\r\\n\\r\\n.primeNgCtrl{\\r\\n height: 40px !important;\\r\\n}\\r\\n\\r\\n.table td, .table th\\r\\n{ border-top: 0px solid #fff !important;\\r\\nfont-size:12px !important;\\r\\n}\\r\\n.underline{\\r\\n text-decoration: underline;\\r\\n} \\r\\n.ui-table .ui-sortable-column .ui-sortable-column-icon{\\r\\n color:#fff !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.hideMe{\r\n display: none !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/admin/components/corporate-store-appt-tracker/corporate-store-appt-tracker.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,wBAAwB;AAC5B\",\"sourcesContent\":[\".hideMe{\\r\\n display: none !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.error-msg {\r\n color: red;\r\n }\r\n .has-error label{\r\n color:red!important;\r\n }\r\n .has-error input{\r\n border:1px solid red !important;\r\n } \r\n .has-error select{\r\n border:1px solid red !important;\r\n } p-dataTable >>> ui-dataTable-header{\r\n min-height: 60px;\r\n }`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/admin/components/corporateuploader/corporateuploader.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,UAAU;EACZ;GACC;IACC,mBAAmB;IACnB;IACA;IACA,+BAA+B;IAC/B;IACA;IACA,+BAA+B;IAC/B,OAAO;QACH,gBAAgB;IACpB\",\"sourcesContent\":[\".error-msg {\\r\\n color: red;\\r\\n }\\r\\n .has-error label{\\r\\n color:red!important;\\r\\n }\\r\\n .has-error input{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n .has-error select{\\r\\n border:1px solid red !important;\\r\\n } p-dataTable >>> ui-dataTable-header{\\r\\n min-height: 60px;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ` `, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.p-datatable .p-datatable-tbody > tr.p-highlight\r\n{\r\n color: #333333 !important;\r\n}\r\n.p-datatable .p-datatable-tbody > tr.p-highlight\r\n{\r\n background-color: #fafafb !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/admin/components/patient-reassignment/patient-reassignment.component.css\"],\"names\":[],\"mappings\":\"AAAA;;EAEE,yBAAyB;AAC3B;AACA;;IAEI,oCAAoC;AACxC\",\"sourcesContent\":[\".p-datatable .p-datatable-tbody > tr.p-highlight\\r\\n{\\r\\n color: #333333 !important;\\r\\n}\\r\\n.p-datatable .p-datatable-tbody > tr.p-highlight\\r\\n{\\r\\n background-color: #fafafb !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `@media (max-width: 1365px) /* I want the datatable to be stacked at at least iPad Pro portrait mode, this depends on your data */ \r\n{\r\n /* Data in responsive mode */\r\n .ui-datatable-reflow .ui-datatable-data > tr > td {\r\n width: 100% !important;\r\n text-align: left;\r\n border: 0;\r\n box-sizing: border-box;\r\n float: left;\r\n clear: left;\r\n }\r\n\r\n\r\n .ui-datatable-reflow .ui-datatable-data tr.ui-widget-content {\r\n border-left: 0;\r\n border-right: 0;\r\n }\r\n\r\n .ui-datatable-reflow .ui-datatable-data.ui-widget-content {\r\n border: 0;\r\n }\r\n\r\n /*Hide the headers in responsive mode*/\r\n .ui-datatable-reflow thead th {\r\n display: none !important;\r\n }\r\n\r\n /*Display the headers inline with the data in responsive mode */\r\n .ui-datatable-reflow .ui-datatable-data td .ui-column-title {\r\n padding: .4em;\r\n min-width: 30%;\r\n display: inline-block;\r\n margin: -.4em 1em -.4em -.4em;\r\n font-weight: bold;\r\n } \r\n}\r\n/* a:focus { border:1px solid #003366 !important; } */\r\ninput:focus { border:1px solid #003366 !important; }\r\nbutton:focus { border: 1px solid #003366 !important; }\r\n.clLinks:focus,.btn.btn-vBig:focus\r\n{\r\n border: 1px #003366 solid !important; \r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/admin/components/scheduler-landing/scheduler-landing.component.css\"],\"names\":[],\"mappings\":\"AAAA;;IAEI,4BAA4B;IAC5B;QACI,sBAAsB;QACtB,gBAAgB;QAChB,SAAS;QACT,sBAAsB;QACtB,WAAW;QACX,WAAW;IACf;;;IAGA;QACI,cAAc;QACd,eAAe;IACnB;;IAEA;QACI,SAAS;IACb;;IAEA,sCAAsC;IACtC;QACI,wBAAwB;IAC5B;;IAEA,+DAA+D;IAC/D;QACI,aAAa;QACb,cAAc;QACd,qBAAqB;QACrB,6BAA6B;QAC7B,iBAAiB;IACrB;AACJ;AACA,qDAAqD;AACrD,cAAc,mCAAmC,EAAE;AACnD,eAAe,oCAAoC,EAAE;AACrD;;IAEI,sCAAsC;AAC1C\",\"sourcesContent\":[\"@media (max-width: 1365px) /* I want the datatable to be stacked at at least iPad Pro portrait mode, this depends on your data */ \\r\\n{\\r\\n /* Data in responsive mode */\\r\\n .ui-datatable-reflow .ui-datatable-data > tr > td {\\r\\n width: 100% !important;\\r\\n text-align: left;\\r\\n border: 0;\\r\\n box-sizing: border-box;\\r\\n float: left;\\r\\n clear: left;\\r\\n }\\r\\n\\r\\n\\r\\n .ui-datatable-reflow .ui-datatable-data tr.ui-widget-content {\\r\\n border-left: 0;\\r\\n border-right: 0;\\r\\n }\\r\\n\\r\\n .ui-datatable-reflow .ui-datatable-data.ui-widget-content {\\r\\n border: 0;\\r\\n }\\r\\n\\r\\n /*Hide the headers in responsive mode*/\\r\\n .ui-datatable-reflow thead th {\\r\\n display: none !important;\\r\\n }\\r\\n\\r\\n /*Display the headers inline with the data in responsive mode */\\r\\n .ui-datatable-reflow .ui-datatable-data td .ui-column-title {\\r\\n padding: .4em;\\r\\n min-width: 30%;\\r\\n display: inline-block;\\r\\n margin: -.4em 1em -.4em -.4em;\\r\\n font-weight: bold;\\r\\n } \\r\\n}\\r\\n/* a:focus { border:1px solid #003366 !important; } */\\r\\ninput:focus { border:1px solid #003366 !important; }\\r\\nbutton:focus { border: 1px solid #003366 !important; }\\r\\n.clLinks:focus,.btn.btn-vBig:focus\\r\\n{\\r\\n border: 1px #003366 solid !important; \\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `select {\r\n height: 39px;\r\n padding: 0px;\r\n \r\n}\r\ntd.col1 {\r\n width: 1300px;\r\n}\r\n\r\n.blueBg {\r\n background: #2a7db5 ;\r\n border: 1px solid white;\r\n }\r\n text-white-gray {\r\n color: rgba(255, 255, 255, 0.8) !important;\r\n}\r\n\r\n.disabled {\r\n opacity: 0.65;\r\n cursor: default !important;\r\n pointer-events: none;\r\n}\r\n\r\np {\r\n font-family: Lato;\r\n }\r\n\r\n .has-error label{\r\n color:red!important;\r\n }\r\n .has-error input{\r\n border:1px solid red !important;\r\n } \r\n .has-error select{\r\n border:1px solid red !important;\r\n } `, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/admin/components/user-profile/user-profile.component.css\"],\"names\":[],\"mappings\":\"AAAA;KACK,YAAY;IACb,YAAY;;AAEhB;AACA;IACI,aAAa;AACjB;;AAEA;IACI,oBAAoB;IACpB,uBAAuB;EACzB;EACA;IACE,0CAA0C;AAC9C;;AAEA;EACE,aAAa;EACb,0BAA0B;EAC1B,oBAAoB;AACtB;;AAEA;IACI,iBAAiB;EACnB;;EAEA;IACE,mBAAmB;IACnB;IACA;IACA,+BAA+B;IAC/B;IACA;IACA,+BAA+B;IAC/B\",\"sourcesContent\":[\"select {\\r\\n height: 39px;\\r\\n padding: 0px;\\r\\n \\r\\n}\\r\\ntd.col1 {\\r\\n width: 1300px;\\r\\n}\\r\\n\\r\\n.blueBg {\\r\\n background: #2a7db5 ;\\r\\n border: 1px solid white;\\r\\n }\\r\\n text-white-gray {\\r\\n color: rgba(255, 255, 255, 0.8) !important;\\r\\n}\\r\\n\\r\\n.disabled {\\r\\n opacity: 0.65;\\r\\n cursor: default !important;\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\np {\\r\\n font-family: Lato;\\r\\n }\\r\\n\\r\\n .has-error label{\\r\\n color:red!important;\\r\\n }\\r\\n .has-error input{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n .has-error select{\\r\\n border:1px solid red !important;\\r\\n } \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/* a:focus { border: 1px #003366 solid !important; } */\r\nbutton:focus { border: 1px #003366 solid !important; }`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/admin/components/walgreens-scheduler-confirmation/walgreens-scheduler-confirmation.component.css\"],\"names\":[],\"mappings\":\"AAAA,0DAA0D;AAC1D,gBAAgB,sCAAsC,GAAG\",\"sourcesContent\":[\"/* a:focus { border: 1px #003366 solid !important; } */\\r\\nbutton:focus { border: 1px #003366 solid !important; }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.row{\r\n margin-bottom: 5px !important;\r\n}\r\na:focus { border: 1px #003366 solid !important; }\r\ninput:focus { border: 1px #003366 solid !important; }\r\nbutton:focus { border: 1px #003366 solid !important; }\r\nselect.form-control:focus {\r\n border: 1px solid #003366 !important;\r\n }`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/admin/components/walgreens-scheduler-registration/walgreens-scheduler-registration.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,6BAA6B;AACjC;AACA,WAAW,sCAAsC,EAAE;AACnD,eAAe,sCAAsC,GAAG;AACxD,gBAAgB,sCAAsC,GAAG;AACzD;IACI,oCAAoC;IACpC\",\"sourcesContent\":[\".row{\\r\\n margin-bottom: 5px !important;\\r\\n}\\r\\na:focus { border: 1px #003366 solid !important; }\\r\\ninput:focus { border: 1px #003366 solid !important; }\\r\\nbutton:focus { border: 1px #003366 solid !important; }\\r\\nselect.form-control:focus {\\r\\n border: 1px solid #003366 !important;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.container .panel-default {\r\n width: 407px;\r\n margin-left: 300px;\r\n margin-top: 200px;\r\n padding: 25px;\r\n border-radius: 10px;\r\n background-color: black;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/auth/components/login/login.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,YAAY;IACZ,kBAAkB;IAClB,iBAAiB;IACjB,aAAa;IACb,mBAAmB;IACnB,uBAAuB;AAC3B\",\"sourcesContent\":[\".container .panel-default {\\r\\n width: 407px;\\r\\n margin-left: 300px;\\r\\n margin-top: 200px;\\r\\n padding: 25px;\\r\\n border-radius: 10px;\\r\\n background-color: black;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.lightGreenBg{\r\n background-color: #d7ecc1;\r\n}\r\n.lightBlueBg{\r\n background-color: #c1dfec;\r\n}\r\n.lightYellowBg{\r\n background-color: #f2eebb;\r\n}\r\n.smallText {\r\n font-size:12px;\r\n}\r\n.lightBrownBG{\r\n background-color: #777777 !important;\r\n border-color: #616161 !important;\r\n}\r\n.lightDrkCreameBg {\r\n background-color: #f0debc;\r\n}\r\n.lightPinkBg {\r\n background-color: #f3d8d9;\r\n}\r\n.lightGrayBg {\r\n background-color: #eeeeee;\r\n}\r\n.cardHeaderBlueBg {\r\n background-color: #17adc2 !important;\r\n}\r\n.cardBodyBlueBg {\r\n background-color: #b2e4eb !important;\r\n}\r\n.cardHeaderGreenBg {\r\n background-color: #7dc546 !important;\r\n}\r\n.cardBodyGreenBg {\r\n background-color: #d4ecc1 !important;\r\n}\r\n.cardHeaderVioletBg {\r\n background-color: #a43794 !important;\r\n}\r\n.cardBodyVioletBg {\r\n background-color: #e1bcdb !important;\r\n}\r\n.cardHeaderYellowBg {\r\n background-color: #f4ae32 !important;\r\n}\r\n.cardBodyYellowBg {\r\n background-color: #fbe4bb !important;\r\n}\r\n.cardHeaderDBlueBg {\r\n background-color: #2a7db5 !important;\r\n}\r\n.cardBodyDBlueBg {\r\n background-color: #bed3e6 !important;\r\n}\r\n.cardHeaderDGrayBg{\r\n background-color: #787878 !important;\r\n}\r\n.cardBodyDGrayBg{\r\n background-color: #eeeeee !important;\r\n}\r\n.cardBodyDBlueBg label, .cardBodyDBlueBg span, .cardBodyYellowBg label, .cardBodyYellowBg span, .cardBodyVioletBg label, .cardBodyVioletBg span, .cardBodyGreenBg label, .cardBodyGreenBg span, .cardBodyBlueBg label, .cardBodyBlueBg span{\r\n color: #333333 !important;\r\n}\r\n.bdrBtmOnly{\r\n border-bottom-left-radius: 4px !important;\r\n border-bottom-right-radius: 4px !important;\r\n}\r\n#tblBillingVaccineInfo .table thead th, #tblBillingVaccineInfo .table td{\r\n border-bottom: none !important;\r\n border-top: none !important;\r\n}\r\n#first .ui-accordion-content{\r\n background: grey !important; \r\n}\r\n.table, input {\r\n font-size: 14px !important;\r\n color: #333333 !important;\r\n}\r\n.error-msg {\r\n color: red;\r\n }\r\n .has-error label{\r\n color:red!important;\r\n }\r\n .has-error input{\r\n border:1px solid red !important;\r\n } \r\n .has-error select{\r\n border:1px solid red !important;\r\n } \r\n div.divider {\r\n margin-top: 5px !important;\r\n margin-right: 0px ;\r\n margin-bottom: 5px !important;\r\n margin-left: 0px;\r\n position: relative;\r\n display: block;\r\n min-height: 20px;\r\n }\r\n \r\n\r\n.clinicFee{\r\n padding-top: 5px !important;\r\n background-color: #e9ecef;\r\n opacity: 1;\r\n}\r\n\r\n.noClinicFee{\r\n margin-top: -20px !important;\r\n}\r\n\r\n.cancelDropdown{\r\n margin-left: 0px !important;\r\n}\r\n\r\n.horizontal-line{\r\n background-color: #a43794 !important;\r\n}\r\n\r\n.voucher-distributed{\r\n width: 219px !important;\r\n margin-left: auto;\r\n margin-right: 8px;\r\n}\r\n\r\n.voucher-redeemed{\r\n width: 219px !important;\r\n margin-right: 19px;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/clinicdetails/components/equity-event-details/equity-event-details.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,yBAAyB;AAC7B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,cAAc;AAClB;AACA;IACI,oCAAoC;IACpC,gCAAgC;AACpC;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,yCAAyC;IACzC,0CAA0C;AAC9C;AACA;IACI,8BAA8B;IAC9B,2BAA2B;AAC/B;AACA;IACI,2BAA2B;AAC/B;AACA;IACI,0BAA0B;IAC1B,yBAAyB;AAC7B;AACA;IACI,UAAU;EACZ;GACC;IACC,mBAAmB;IACnB;IACA;IACA,+BAA+B;IAC/B;IACA;IACA,+BAA+B;IAC/B;IACA;QACI,0BAA0B;QAC1B,kBAAkB;QAClB,6BAA6B;QAC7B,gBAAgB;QAChB,kBAAkB;QAClB,cAAc;QACd,gBAAgB;IACpB;;;AAGJ;IACI,2BAA2B;IAC3B,yBAAyB;IACzB,UAAU;AACd;;AAEA;IACI,4BAA4B;AAChC;;AAEA;IACI,2BAA2B;AAC/B;;AAEA;IACI,oCAAoC;AACxC;;AAEA;IACI,uBAAuB;IACvB,iBAAiB;IACjB,iBAAiB;AACrB;;AAEA;IACI,uBAAuB;IACvB,kBAAkB;AACtB\",\"sourcesContent\":[\".lightGreenBg{\\r\\n background-color: #d7ecc1;\\r\\n}\\r\\n.lightBlueBg{\\r\\n background-color: #c1dfec;\\r\\n}\\r\\n.lightYellowBg{\\r\\n background-color: #f2eebb;\\r\\n}\\r\\n.smallText {\\r\\n font-size:12px;\\r\\n}\\r\\n.lightBrownBG{\\r\\n background-color: #777777 !important;\\r\\n border-color: #616161 !important;\\r\\n}\\r\\n.lightDrkCreameBg {\\r\\n background-color: #f0debc;\\r\\n}\\r\\n.lightPinkBg {\\r\\n background-color: #f3d8d9;\\r\\n}\\r\\n.lightGrayBg {\\r\\n background-color: #eeeeee;\\r\\n}\\r\\n.cardHeaderBlueBg {\\r\\n background-color: #17adc2 !important;\\r\\n}\\r\\n.cardBodyBlueBg {\\r\\n background-color: #b2e4eb !important;\\r\\n}\\r\\n.cardHeaderGreenBg {\\r\\n background-color: #7dc546 !important;\\r\\n}\\r\\n.cardBodyGreenBg {\\r\\n background-color: #d4ecc1 !important;\\r\\n}\\r\\n.cardHeaderVioletBg {\\r\\n background-color: #a43794 !important;\\r\\n}\\r\\n.cardBodyVioletBg {\\r\\n background-color: #e1bcdb !important;\\r\\n}\\r\\n.cardHeaderYellowBg {\\r\\n background-color: #f4ae32 !important;\\r\\n}\\r\\n.cardBodyYellowBg {\\r\\n background-color: #fbe4bb !important;\\r\\n}\\r\\n.cardHeaderDBlueBg {\\r\\n background-color: #2a7db5 !important;\\r\\n}\\r\\n.cardBodyDBlueBg {\\r\\n background-color: #bed3e6 !important;\\r\\n}\\r\\n.cardHeaderDGrayBg{\\r\\n background-color: #787878 !important;\\r\\n}\\r\\n.cardBodyDGrayBg{\\r\\n background-color: #eeeeee !important;\\r\\n}\\r\\n.cardBodyDBlueBg label, .cardBodyDBlueBg span, .cardBodyYellowBg label, .cardBodyYellowBg span, .cardBodyVioletBg label, .cardBodyVioletBg span, .cardBodyGreenBg label, .cardBodyGreenBg span, .cardBodyBlueBg label, .cardBodyBlueBg span{\\r\\n color: #333333 !important;\\r\\n}\\r\\n.bdrBtmOnly{\\r\\n border-bottom-left-radius: 4px !important;\\r\\n border-bottom-right-radius: 4px !important;\\r\\n}\\r\\n#tblBillingVaccineInfo .table thead th, #tblBillingVaccineInfo .table td{\\r\\n border-bottom: none !important;\\r\\n border-top: none !important;\\r\\n}\\r\\n#first .ui-accordion-content{\\r\\n background: grey !important; \\r\\n}\\r\\n.table, input {\\r\\n font-size: 14px !important;\\r\\n color: #333333 !important;\\r\\n}\\r\\n.error-msg {\\r\\n color: red;\\r\\n }\\r\\n .has-error label{\\r\\n color:red!important;\\r\\n }\\r\\n .has-error input{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n .has-error select{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n div.divider {\\r\\n margin-top: 5px !important;\\r\\n margin-right: 0px ;\\r\\n margin-bottom: 5px !important;\\r\\n margin-left: 0px;\\r\\n position: relative;\\r\\n display: block;\\r\\n min-height: 20px;\\r\\n }\\r\\n \\r\\n\\r\\n.clinicFee{\\r\\n padding-top: 5px !important;\\r\\n background-color: #e9ecef;\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n.noClinicFee{\\r\\n margin-top: -20px !important;\\r\\n}\\r\\n\\r\\n.cancelDropdown{\\r\\n margin-left: 0px !important;\\r\\n}\\r\\n\\r\\n.horizontal-line{\\r\\n background-color: #a43794 !important;\\r\\n}\\r\\n\\r\\n.voucher-distributed{\\r\\n width: 219px !important;\\r\\n margin-left: auto;\\r\\n margin-right: 8px;\\r\\n}\\r\\n\\r\\n.voucher-redeemed{\\r\\n width: 219px !important;\\r\\n margin-right: 19px;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.lightGreenBg{\r\n background-color: #d7ecc1;\r\n}\r\n.lightBlueBg{\r\n background-color: #c1dfec;\r\n}\r\n.lightYellowBg{\r\n background-color: #f2eebb;\r\n}\r\n.smallText {\r\n font-size:12px;\r\n}\r\n.lightBrownBG{\r\n background-color: #777777 !important;\r\n border-color: #616161 !important;\r\n}\r\n.lightDrkCreameBg {\r\n background-color: #f0debc;\r\n}\r\n.lightPinkBg {\r\n background-color: #f3d8d9;\r\n}\r\n.lightGrayBg {\r\n background-color: #eeeeee;\r\n}\r\n.cardHeaderBlueBg {\r\n background-color: #17adc2 !important;\r\n}\r\n.cardBodyBlueBg {\r\n background-color: #b2e4eb !important;\r\n}\r\n.cardHeaderGreenBg {\r\n background-color: #7dc546 !important;\r\n}\r\n.cardBodyGreenBg {\r\n background-color: #d4ecc1 !important;\r\n}\r\n.cardHeaderVioletBg {\r\n background-color: #a43794 !important;\r\n}\r\n.cardBodyVioletBg {\r\n background-color: #e1bcdb !important;\r\n}\r\n.cardHeaderYellowBg {\r\n background-color: #f4ae32 !important;\r\n}\r\n.cardBodyYellowBg {\r\n background-color: #fbe4bb !important;\r\n}\r\n.cardHeaderDBlueBg {\r\n background-color: #2a7db5 !important;\r\n}\r\n.cardBodyDBlueBg {\r\n background-color: #bed3e6 !important;\r\n}\r\n.cardHeaderDGrayBg{\r\n background-color: #787878 !important;\r\n}\r\n.cardBodyDGrayBg{\r\n background-color: #eeeeee !important;\r\n}\r\n.cardBodyDBlueBg label, .cardBodyDBlueBg span, .cardBodyYellowBg label, .cardBodyYellowBg span, .cardBodyVioletBg label, .cardBodyVioletBg span, .cardBodyGreenBg label, .cardBodyGreenBg span, .cardBodyBlueBg label, .cardBodyBlueBg span{\r\n color: #333333 !important;\r\n}\r\n.bdrBtmOnly{\r\n border-bottom-left-radius: 4px !important;\r\n border-bottom-right-radius: 4px !important;\r\n}\r\n#tblBillingVaccineInfo .table thead th, #tblBillingVaccineInfo .table td{\r\n border-bottom: none !important;\r\n border-top: none !important;\r\n}\r\n#first .ui-accordion-content{\r\n background: grey !important; \r\n}\r\n.table, input {\r\n font-size: 14px !important;\r\n color: #333333 !important;\r\n}\r\n.error-msg {\r\n color: red;\r\n }\r\n .has-error label{\r\n color:red!important;\r\n }\r\n .has-error input{\r\n border:1px solid red !important;\r\n } \r\n .has-error select{\r\n border:1px solid red !important;\r\n } \r\n div.divider {\r\n margin-top: 5px !important;\r\n margin-right: 0px ;\r\n margin-bottom: 5px !important;\r\n margin-left: 0px;\r\n position: relative;\r\n display: block;\r\n min-height: 20px;\r\n }\r\n \r\n\r\n.clinicFee{\r\n padding-top: 5px !important;\r\n background-color: #e9ecef;\r\n opacity: 1;\r\n}\r\n\r\n.noClinicFee{\r\n margin-top: 8px !important;\r\n}\r\n\r\n.cancelDropdown{\r\n margin-left: 0px !important;\r\n}\r\n\r\n.horizontal-line{\r\n background-color: #a43794 !important;\r\n}\r\n\r\n.voucher-distributed{\r\n width: 219px !important;\r\n margin-left: auto;\r\n margin-right: 8px;\r\n}\r\n\r\n.voucher-redeemed{\r\n width: 219px !important;\r\n margin-right: 19px;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/clinicdetails/components/local-clinic-details/local-clinic-details.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,yBAAyB;AAC7B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,cAAc;AAClB;AACA;IACI,oCAAoC;IACpC,gCAAgC;AACpC;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,oCAAoC;AACxC;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,yCAAyC;IACzC,0CAA0C;AAC9C;AACA;IACI,8BAA8B;IAC9B,2BAA2B;AAC/B;AACA;IACI,2BAA2B;AAC/B;AACA;IACI,0BAA0B;IAC1B,yBAAyB;AAC7B;AACA;IACI,UAAU;EACZ;GACC;IACC,mBAAmB;IACnB;IACA;IACA,+BAA+B;IAC/B;IACA;IACA,+BAA+B;IAC/B;IACA;QACI,0BAA0B;QAC1B,kBAAkB;QAClB,6BAA6B;QAC7B,gBAAgB;QAChB,kBAAkB;QAClB,cAAc;QACd,gBAAgB;IACpB;;;AAGJ;IACI,2BAA2B;IAC3B,yBAAyB;IACzB,UAAU;AACd;;AAEA;IACI,0BAA0B;AAC9B;;AAEA;IACI,2BAA2B;AAC/B;;AAEA;IACI,oCAAoC;AACxC;;AAEA;IACI,uBAAuB;IACvB,iBAAiB;IACjB,iBAAiB;AACrB;;AAEA;IACI,uBAAuB;IACvB,kBAAkB;AACtB\",\"sourcesContent\":[\".lightGreenBg{\\r\\n background-color: #d7ecc1;\\r\\n}\\r\\n.lightBlueBg{\\r\\n background-color: #c1dfec;\\r\\n}\\r\\n.lightYellowBg{\\r\\n background-color: #f2eebb;\\r\\n}\\r\\n.smallText {\\r\\n font-size:12px;\\r\\n}\\r\\n.lightBrownBG{\\r\\n background-color: #777777 !important;\\r\\n border-color: #616161 !important;\\r\\n}\\r\\n.lightDrkCreameBg {\\r\\n background-color: #f0debc;\\r\\n}\\r\\n.lightPinkBg {\\r\\n background-color: #f3d8d9;\\r\\n}\\r\\n.lightGrayBg {\\r\\n background-color: #eeeeee;\\r\\n}\\r\\n.cardHeaderBlueBg {\\r\\n background-color: #17adc2 !important;\\r\\n}\\r\\n.cardBodyBlueBg {\\r\\n background-color: #b2e4eb !important;\\r\\n}\\r\\n.cardHeaderGreenBg {\\r\\n background-color: #7dc546 !important;\\r\\n}\\r\\n.cardBodyGreenBg {\\r\\n background-color: #d4ecc1 !important;\\r\\n}\\r\\n.cardHeaderVioletBg {\\r\\n background-color: #a43794 !important;\\r\\n}\\r\\n.cardBodyVioletBg {\\r\\n background-color: #e1bcdb !important;\\r\\n}\\r\\n.cardHeaderYellowBg {\\r\\n background-color: #f4ae32 !important;\\r\\n}\\r\\n.cardBodyYellowBg {\\r\\n background-color: #fbe4bb !important;\\r\\n}\\r\\n.cardHeaderDBlueBg {\\r\\n background-color: #2a7db5 !important;\\r\\n}\\r\\n.cardBodyDBlueBg {\\r\\n background-color: #bed3e6 !important;\\r\\n}\\r\\n.cardHeaderDGrayBg{\\r\\n background-color: #787878 !important;\\r\\n}\\r\\n.cardBodyDGrayBg{\\r\\n background-color: #eeeeee !important;\\r\\n}\\r\\n.cardBodyDBlueBg label, .cardBodyDBlueBg span, .cardBodyYellowBg label, .cardBodyYellowBg span, .cardBodyVioletBg label, .cardBodyVioletBg span, .cardBodyGreenBg label, .cardBodyGreenBg span, .cardBodyBlueBg label, .cardBodyBlueBg span{\\r\\n color: #333333 !important;\\r\\n}\\r\\n.bdrBtmOnly{\\r\\n border-bottom-left-radius: 4px !important;\\r\\n border-bottom-right-radius: 4px !important;\\r\\n}\\r\\n#tblBillingVaccineInfo .table thead th, #tblBillingVaccineInfo .table td{\\r\\n border-bottom: none !important;\\r\\n border-top: none !important;\\r\\n}\\r\\n#first .ui-accordion-content{\\r\\n background: grey !important; \\r\\n}\\r\\n.table, input {\\r\\n font-size: 14px !important;\\r\\n color: #333333 !important;\\r\\n}\\r\\n.error-msg {\\r\\n color: red;\\r\\n }\\r\\n .has-error label{\\r\\n color:red!important;\\r\\n }\\r\\n .has-error input{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n .has-error select{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n div.divider {\\r\\n margin-top: 5px !important;\\r\\n margin-right: 0px ;\\r\\n margin-bottom: 5px !important;\\r\\n margin-left: 0px;\\r\\n position: relative;\\r\\n display: block;\\r\\n min-height: 20px;\\r\\n }\\r\\n \\r\\n\\r\\n.clinicFee{\\r\\n padding-top: 5px !important;\\r\\n background-color: #e9ecef;\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n.noClinicFee{\\r\\n margin-top: 8px !important;\\r\\n}\\r\\n\\r\\n.cancelDropdown{\\r\\n margin-left: 0px !important;\\r\\n}\\r\\n\\r\\n.horizontal-line{\\r\\n background-color: #a43794 !important;\\r\\n}\\r\\n\\r\\n.voucher-distributed{\\r\\n width: 219px !important;\\r\\n margin-left: auto;\\r\\n margin-right: 8px;\\r\\n}\\r\\n\\r\\n.voucher-redeemed{\\r\\n width: 219px !important;\\r\\n margin-right: 19px;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.error-msg {\r\n color: red;\r\n }\r\n .fix-error-icon {\r\n top: 27px;\r\n }\r\n .logTitle {\r\n font-family: Arial, Helvetica, sans-serif;\r\n font-size: 16px;\r\n font-weight: bold;\r\n color: #3096D8;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/common/components/field-error-display/field-error-display.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,UAAU;EACZ;EACA;IACE,SAAS;EACX;EACA;IACE,yCAAyC;IACzC,eAAe;IACf,iBAAiB;IACjB,cAAc;AAClB\",\"sourcesContent\":[\".error-msg {\\r\\n color: red;\\r\\n }\\r\\n .fix-error-icon {\\r\\n top: 27px;\\r\\n }\\r\\n .logTitle {\\r\\n font-family: Arial, Helvetica, sans-serif;\\r\\n font-size: 16px;\\r\\n font-weight: bold;\\r\\n color: #3096D8;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ui-inputswitch:not(.ui-inputswitch-checked)::after {\r\n\ttransition: color 0.5s;\r\n\tfont-size: 0.9em;\r\n\tcolor: red !important;\r\n\tcontent: 'Nein';\r\n\tposition: absolute;\r\n\tleft: 26px;\r\n\ttop: 6px;\r\n}\r\n.ui-inputswitch.ui-inputswitch-checked::after {\r\n\ttransition: color 0.5s;\r\n\tfont-size: 0.9em;\r\n\tcolor: red !important;\r\n\tcontent: 'Ja';\r\n\tposition: absolute;\r\n\tleft: 12px;\r\n\ttop: 5px;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/common/components/footer/footer.component.css\"],\"names\":[],\"mappings\":\"AAAA;CAEC,sBAAsB;CACtB,gBAAgB;CAChB,qBAAqB;CACrB,eAAe;CACf,kBAAkB;CAClB,UAAU;CACV,QAAQ;AACT;AACA;CAEC,sBAAsB;CACtB,gBAAgB;CAChB,qBAAqB;CACrB,aAAa;CACb,kBAAkB;CAClB,UAAU;CACV,QAAQ;AACT\",\"sourcesContent\":[\".ui-inputswitch:not(.ui-inputswitch-checked)::after {\\r\\n\\t-webkit-transition: color 0.5s;\\r\\n\\ttransition: color 0.5s;\\r\\n\\tfont-size: 0.9em;\\r\\n\\tcolor: red !important;\\r\\n\\tcontent: 'Nein';\\r\\n\\tposition: absolute;\\r\\n\\tleft: 26px;\\r\\n\\ttop: 6px;\\r\\n}\\r\\n.ui-inputswitch.ui-inputswitch-checked::after {\\r\\n\\t-webkit-transition: color 0.5s;\\r\\n\\ttransition: color 0.5s;\\r\\n\\tfont-size: 0.9em;\\r\\n\\tcolor: red !important;\\r\\n\\tcontent: 'Ja';\\r\\n\\tposition: absolute;\\r\\n\\tleft: 12px;\\r\\n\\ttop: 5px;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\r\nsection.dark.page-header {\r\n\t\tcolor:#fff;\r\n\t\tbackground-color:#2a7db5 !important;\r\n\t}\r\n section.page-header.page-header-xs\r\n {\r\n padding: 10px 0 10px 0;\r\n }\r\n ol{\r\n flex-direction: column;\r\n }\r\n section.page-header .breadcrumb>li+li:before {\r\n\tcontent:\"\";\r\n}\r\nsection.dark .form-control {\r\n background-color: #fff; \r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/common/components/header/header.component.css\"],\"names\":[],\"mappings\":\";AACA;EACE,UAAU;EACV,mCAAmC;CACpC;EACC;;MAEI,sBAAsB;EAC1B;EACA;MACI,sBAAsB;EAC1B;EACA;CACD,UAAU;AACX;AACA;KACK,sBAAsB;AAC3B\",\"sourcesContent\":[\"\\r\\nsection.dark.page-header {\\r\\n\\t\\tcolor:#fff;\\r\\n\\t\\tbackground-color:#2a7db5 !important;\\r\\n\\t}\\r\\n section.page-header.page-header-xs\\r\\n {\\r\\n padding: 10px 0 10px 0;\\r\\n }\\r\\n ol{\\r\\n flex-direction: column;\\r\\n }\\r\\n section.page-header .breadcrumb>li+li:before {\\r\\n\\tcontent:\\\"\\\";\\r\\n}\\r\\nsection.dark .form-control {\\r\\n background-color: #fff; \\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/* ul a + ul { display: none; }\r\nul a.open + ul { display: block; } */\r\n\r\n.search span {\r\n cursor: pointer;\r\n}\r\n.oSearch {\r\n display: inline-block;\r\n width: 560px;\r\n background: white;\r\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\r\n position: absolute;\r\n top: 33px;\r\n right: 0px;\r\n padding: 10px;\r\n}\r\n.oSelect {\r\n width: 130px;\r\n}\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/common/components/masterlayout/masterlayout.component.css\"],\"names\":[],\"mappings\":\"AAAA;oCACoC;;AAEpC;IACI,eAAe;AACnB;AACA;IACI,qBAAqB;IACrB,YAAY;IACZ,iBAAiB;IACjB,4EAA4E;IAC5E,kBAAkB;IAClB,SAAS;IACT,UAAU;IACV,aAAa;AACjB;AACA;IACI,YAAY;AAChB\",\"sourcesContent\":[\"/* ul a + ul { display: none; }\\r\\nul a.open + ul { display: block; } */\\r\\n\\r\\n.search span {\\r\\n cursor: pointer;\\r\\n}\\r\\n.oSearch {\\r\\n display: inline-block;\\r\\n width: 560px;\\r\\n background: white;\\r\\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\\r\\n position: absolute;\\r\\n top: 33px;\\r\\n right: 0px;\\r\\n padding: 10px;\\r\\n}\\r\\n.oSelect {\\r\\n width: 130px;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.list-group-item{\r\n padding: 0.25rem 1.25rem;\r\n}\r\nngb-highlight .dropdown-item:active {\r\n background-color: #7ac143;\r\n}\r\n.modal-header .close {\r\n padding: 0;\r\n margin: 0;\r\n}\r\n\r\ntext-white-gray {\r\ncolor: rgba(255, 255, 255, 0.8) !important;\r\n}\r\n\r\n.blueBg {\r\nbackground: #2a7db5 ;\r\nborder: 1px solid white;\r\n}\r\n\r\n.ui-dialog.ui-widget .ui-dialog-titlebar {\r\nbackground: #165c92 !important;\r\ncolor:white !important;\r\n\r\n}\r\n.bg-blue {\r\nbackground-color: #2a7db5 !important;\r\n}\r\n.matricsreportMonitor {\r\n background-color: #57a1d3;\r\n border-top-right-radius: 1em;\r\n border-top-left-radius: 1em;\r\n border-bottom-right-radius: 1em;\r\n border-bottom-left-radius: 1em;\r\n \r\n}\r\n.matricsreportText {\r\n font-family: Arial, Helvetica, sans-serif;\r\n font-size: 12px;\r\n color: red;\r\n line-height: 135%;\r\n border-bottom: 1px solid #ccc;\r\n padding: 2px 8px 2px 8px;\r\n}\r\n.ui-accordion .ui-accordion-header a {\r\n color: #7ac143;\r\n}\r\n.btn-xlg:not(.fullwidth) {\r\n padding: 3px !important;\r\n}\r\ntext-white-gray {\r\n color: rgba(255, 255, 255, 0.8) !important;\r\n}\r\n\r\n\r\n/*\r\nAssan Admin dashboard\r\n*/\r\n/* @import url(\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700\"); */\r\n\r\n\r\n/*\r\nBasic of template\r\n*/\r\nhtml {\r\nheight: 100%; }\r\n\r\nbody {\r\nfont-size: 13px;\r\nfont-weight: 400;\r\ncolor: #666;\r\nline-height: 1.6;\r\nletter-spacing: 0em;\r\nfont-family: \"Open Sans\", sans-serif;\r\noverflow-x: hidden;\r\nbackground-color: #f5f6f7;\r\nposition: relative; }\r\n\r\n.rounded {\r\nborder-radius: 100px !important; }\r\n\r\n.shadow {\r\nbox-shadow: 0px 0px 30px rgba(69, 101, 173, 0.1);\r\nborder: 0px !important; }\r\n\r\n.shadow-primary {\r\nbox-shadow: 0 2px 30px 0 #0073ff;\r\nborder: 0px !important; }\r\n\r\nbutton, input, optgroup, select, textarea {\r\nfont-family: \"Open Sans\", sans-serif; }\r\n\r\nbutton:focus {\r\noutline: 0 !important; }\r\n\r\na, .simple-hover img, button, .btn {\r\ntransition: all 0.3s;\r\n-webkit-transition: all 0.3s; }\r\n\r\na {\r\ncolor: #0073ff;\r\ntext-decoration: none; }\r\na:hover, a:focus {\r\n text-decoration: none;\r\n outline: 0 !important;\r\n color: #666; }\r\n\r\n.base-font {\r\nfont-family: \"Open Sans\", sans-serif;\r\nfont-weight: 300; }\r\n\r\n.font300 {\r\nfont-weight: 300 !important; }\r\n\r\n.font400 {\r\nfont-weight: 400 !important; }\r\n\r\n.font500 {\r\nfont-weight: 500 !important; }\r\n\r\n.font600 {\r\nfont-weight: 600 !important; }\r\n\r\n.font700 {\r\nfont-weight: 700 !important; }\r\n\r\nh1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {\r\nmargin-top: 0px;\r\ncolor: #222;\r\nfont-weight: 600;\r\nletter-spacing: 0px;\r\nfont-family: \"Open Sans\", sans-serif; }\r\n\r\n.label {\r\ndisplay: inline-block;\r\npadding: 1px 7px;\r\nborder-radius: 2px;\r\nfont-size: 10px; }\r\n\r\n.label-default {\r\nbackground-color: #f7f7f7;\r\ncolor: #777; }\r\n\r\n.label-primary {\r\nbackground-color: #0073ff;\r\ncolor: #fff; }\r\n\r\n.label-success {\r\nbackground-color: #4ebd4a;\r\ncolor: #fff; }\r\n\r\n.label-info {\r\nbackground-color: #5bc0de;\r\ncolor: #fff; }\r\n\r\n.label-warning {\r\nbackground-color: #f0ad4e;\r\ncolor: #fff; }\r\n\r\n.label-danger {\r\nbackground-color: #e65252;\r\ncolor: #fff; }\r\n\r\n.bg-faded {\r\nbackground: #F9F9F9; }\r\n\r\n.badge {\r\nfont-size: 9px;\r\npadding: 0px 4px;\r\ncolor: #fff;\r\nbackground-color: #f1f3f6;\r\nmin-width: 16px;\r\nmin-height: 16px;\r\ndisplay: -ms-inline-flex;\r\ndisplay: inline-flex;\r\nalign-items: center;\r\njustify-content: center;\r\ntext-align: center;\r\nline-height: 16px; }\r\n\r\n.bg-primary, .badge-primary {\r\nbackground: #0073ff !important;\r\nborder-color: #0073ff; }\r\n\r\n.bg-success, .badge-success {\r\nbackground:#7dc546 !important;\r\nborder-color: #7dc546 ; }\r\n\r\n.bg-warning, .badge-warning {\r\nbackground: #f0ad4e !important;\r\nborder-color: #f0ad4e; }\r\n\r\n.bg-info, .badge-info {\r\nbackground-color: #5bc0de !important;\r\nborder-color: #5bc0de; }\r\n\r\n.bg-danger, .badge-danger {\r\nbackground-color: #e65252 !important;\r\nborder-color: #e65252; }\r\n\r\n.bg-dark, .badge-dark {\r\nborder-color: #333 !important;\r\nbackground-color: #333; }\r\n\r\n.bg-white, .badge-white {\r\nbackground: #fff; }\r\n\r\n.text-muted {\r\ncolor: #999 !important; }\r\n\r\n.text-primary {\r\ncolor: #0073ff !important; }\r\n\r\n.text-danger {\r\ncolor: #e65252 !important; }\r\n\r\n.text-success {\r\ncolor: #4ebd4a !important; }\r\n\r\n.text-warning {\r\ncolor: #f0ad4e !important; }\r\n\r\n.text-info {\r\ncolor: #5bc0de !important; }\r\n\r\n.text-white {\r\ncolor: white !important; }\r\n\r\n.text-dark {\r\ncolor: #222222 !important; }\r\n\r\n.text-white-gray {\r\ncolor: rgba(255, 255, 255, 0.8) !important; }\r\n\r\n.text-small {\r\nfont-size: 12px !important; }\r\n\r\n.border-round {\r\nborder-radius: 6px;\r\n-webkit-border-radius: 6px; }\r\n\r\n.pos-relative {\r\nposition: relative; }\r\n\r\n.lead {\r\nfont-weight: 300; }\r\n\r\nstrong, b {\r\nfont-weight: 600; }\r\n\r\n.fWidth {\r\nwidth: 100% !important; }\r\n\r\n.oHidden {\r\noverflow: hidden !important; }\r\n\r\n.mb5 {\r\nmargin-bottom: 5px !important; }\r\n\r\n.pl0 {\r\npadding-left: 0 !important; }\r\n\r\n.pr0 {\r\npadding-right: 0 !important; }\r\n\r\n.mr0 {\r\nmargin-right: 0px !important; }\r\n\r\n.pt0 {\r\npadding-top: 0 !important; }\r\n\r\n.pt10 {\r\npadding-top: 10px !important; }\r\n\r\n.pt20 {\r\npadding-top: 20px !important; }\r\n\r\n.pt30 {\r\npadding-top: 30px !important; }\r\n\r\n.pt40 {\r\npadding-top: 40px !important; }\r\n\r\n.pt50 {\r\npadding-top: 50px !important; }\r\n\r\n.pt60 {\r\npadding-top: 60px !important; }\r\n\r\n.pt70 {\r\npadding-top: 70px !important; }\r\n\r\n.pt80 {\r\npadding-top: 80px !important; }\r\n\r\n.pt90 {\r\npadding-top: 90px !important; }\r\n\r\n.pt100 {\r\npadding-top: 100px !important; }\r\n\r\n.pb0 {\r\npadding-bottom: 0 !important; }\r\n\r\n.pb10 {\r\npadding-bottom: 10px !important; }\r\n\r\n.pb15 {\r\npadding-bottom: 15px !important; }\r\n\r\n.pb20 {\r\npadding-bottom: 20px !important; }\r\n\r\n.pb30 {\r\npadding-bottom: 30px !important; }\r\n\r\n.pb40 {\r\npadding-bottom: 40px !important; }\r\n\r\n.pb50 {\r\npadding-bottom: 50px !important; }\r\n\r\n.pb60 {\r\npadding-bottom: 60px !important; }\r\n\r\n.pb70 {\r\npadding-bottom: 70px !important; }\r\n\r\n.pb80 {\r\npadding-bottom: 80px !important; }\r\n\r\n.pb90 {\r\npadding-bottom: 90px !important; }\r\n\r\n.pb100 {\r\npadding-bottom: 100px !important; }\r\n\r\n.mb0 {\r\nmargin-bottom: 0 !important; }\r\n\r\n.mb5 {\r\nmargin-bottom: 5px !important; }\r\n\r\n.mb10 {\r\nmargin-bottom: 10px !important; }\r\n\r\n.mb20 {\r\nmargin-bottom: 20px !important; }\r\n\r\n.mb30 {\r\nmargin-bottom: 30px !important; }\r\n\r\n.mb40 {\r\nmargin-bottom: 40px !important; }\r\n\r\n.mb50 {\r\nmargin-bottom: 50px !important; }\r\n\r\n.mb60 {\r\nmargin-bottom: 60px !important; }\r\n\r\n.mb70 {\r\nmargin-bottom: 70px !important; }\r\n\r\n.mb80 {\r\nmargin-bottom: 80px !important; }\r\n\r\n.mb90 {\r\nmargin-bottom: 90px !important; }\r\n\r\n.mb100 {\r\nmargin-bottom: 100px !important; }\r\n\r\n.mt5 {\r\nmargin-top: 5px !important; }\r\n\r\n.mt10 {\r\nmargin-top: 10px !important; }\r\n\r\n.mt20 {\r\nmargin-top: 20px !important; }\r\n\r\n.mt30 {\r\nmargin-top: 30px !important; }\r\n\r\n.mt40 {\r\nmargin-top: 40px !important; }\r\n\r\n.mt50 {\r\nmargin-top: 50px !important; }\r\n\r\n.bg-default {\r\nbackground-color: #f7f7f7 !important; }\r\n\r\n.bg-gray {\r\nbackground-color: #fbfbfb; }\r\n\r\n.border0-hor {\r\nborder-left: 0 !important;\r\nborder-right: 0 !important; }\r\n\r\n.text-sm {\r\nfont-size: 13px !important; }\r\n\r\n@media (min-width: 992px) {\r\n.page-wrapper {\r\n width: 100%;\r\n min-width: 300px;\r\n padding-left: 220px;\r\n transition: all .3s ease-in-out;\r\n -webkit-transition: all .3s ease-in-out; } }\r\n\r\n.page-wrapper {\r\nmin-height: 100%;\r\ndisplay: block;\r\nwidth: 100%;\r\nposition: relative; }\r\n\r\n.main-content {\r\nmin-height: 100vh;\r\npadding-bottom: 40px; }\r\n\r\n.page-footer {\r\nposition: absolute;\r\nleft: 220px;\r\nbottom: 0;\r\nheight: 40px;\r\nline-height: 40px;\r\npadding: 0px 15px;\r\nwidth: 100%; }\r\n.page-footer .container {\r\n max-width: 100%; }\r\n\r\n.page-wrapper.sidebar-enable .page-footer .container {\r\nmax-width: 1200px; }\r\n\r\n.content {\r\npadding: 0px 15px; }\r\n\r\n.container {\r\nwidth: 100%;\r\nmax-width: 1200px;\r\nmargin: 0 auto; }\r\n\r\n.layout-accounts {\r\nheight: 100%; }\r\n.layout-accounts .account-wrap {\r\n width: 100%;\r\n height: 100%;\r\n display: table;\r\n position: relative; }\r\n .layout-accounts .account-wrap .account-card {\r\n display: table-cell;\r\n vertical-align: middle; }\r\n .layout-accounts .account-wrap .account-card .account-content {\r\n max-width: 600px;\r\n margin: 10px auto;\r\n padding: 30px 15px;\r\n border-radius: 5px;\r\n background-color: #fff;\r\n box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2); }\r\n\r\nlabel.error {\r\ndisplay: block;\r\nfont-weight: 400;\r\npadding-top: 5px;\r\npadding-bottom: 3px;\r\npadding-left: 10px;\r\npadding-right: 10px;\r\nmargin-top: 5px;\r\nborder: 1px solid #e65252;\r\ncolor: #e65252;\r\nfont-size: 12px; }\r\n\r\n/**remove this css **/\r\n.grid-col {\r\npadding: 10px 15px;\r\nbackground-color: #fff;\r\nbox-shadow: 0px 0px 20px rgba(0, 0, 0, 0.02);\r\nborder-radius: 5px;\r\ncolor: #e65252;\r\ntext-align: center;\r\nmargin-bottom: 15px;\r\nfont-weight: 700; }\r\n\r\n.icon-card {\r\nborder: 1px solid #eee;\r\npadding: 20px; }\r\n.icon-card > i {\r\n font-size: 30px;\r\n margin-bottom: 20px;\r\n display: inline-block; }\r\n.icon-card h5 {\r\n color: #888;\r\n font-weight: 400;\r\n font-size: .8rem; }\r\n\r\n/********************Responsive Utilities*********************/\r\n@media (max-width: 991px) {\r\n.hidden-lg-down {\r\n display: none; } }\r\n\r\n@media (max-width: 767px) {\r\n.hidden-md-down {\r\n display: none; } }\r\n\r\n@media (max-width: 576px) {\r\n.hidden-sm-down {\r\n display: none; } }\r\n\r\n/*\r\nButtons\r\n*/\r\n.form-control-lg, .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn {\r\nfont-size: .8rem; }\r\n\r\n.btn {\r\noverflow: hidden;\r\nposition: relative;\r\nz-index: 1;\r\nborder-radius: 2px;\r\ncursor: pointer;\r\nfont-weight: 600;\r\nletter-spacing: 0rem;\r\nfont-size: .80rem;\r\nfont-family: \"Open Sans\", sans-serif;\r\n/* padding: 10px 12px 10px !important;\r\ntext-transform: uppercase;*/\r\nvertical-align: middle; }\r\n.btn i {\r\n display: inline-block;\r\n margin-right: 8px;\r\n vertical-align: middle; }\r\n.btn.btn-rounded {\r\n border-radius: 100px; }\r\n.btn:before {\r\n content: \"\";\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n width: 0%;\r\n height: 100%;\r\n z-index: -1;\r\n transition: all .3s; }\r\n.btn:hover, .btn:focus {\r\n box-shadow: none;\r\n outline: 0 !important; }\r\n .btn:hover:before, .btn:focus:before {\r\n transition: all .3s;\r\n z-index: -1; }\r\n.btn.btn-link {\r\n border: 0px;\r\n padding: 0px !important; }\r\n.btn.btn-sm {\r\n padding: 6px 15px 6px !important;\r\n font-size: .65rem;\r\n height: auto;\r\n line-height: inherit;\r\n font-weight: 600; }\r\n.btn.btn-lg {\r\n padding: 16px 30px 16px !important;\r\n font-size: .85rem; }\r\n.btn.btn-link {\r\n color: #0073ff;\r\n text-transform: capitalize; }\r\n .btn.btn-link:after {\r\n font-family: 'Linearicons';\r\n content: \"\\\\e93c\";\r\n margin-left: 5px;\r\n font-size: 12px; }\r\n .btn.btn-link:hover {\r\n text-decoration: none;\r\n color: #999; }\r\n\r\n/***icon buttons**/\r\n.btn.btn-icon {\r\nwidth: 36px;\r\nheight: 36px;\r\nline-height: 100%;\r\ntext-align: center;\r\nborder-radius: 50%;\r\npadding: 0px !important; }\r\n.btn.btn-icon > i {\r\n display: inline-block;\r\n margin: 0;\r\n font-size: 16px; }\r\n.btn.btn-icon.btn-sm {\r\n width: 24px;\r\n height: 24px; }\r\n .btn.btn-icon.btn-sm > i {\r\n display: inline-block;\r\n margin: 0;\r\n font-size: 12px; }\r\n.btn.btn-icon.btn-lg {\r\n width: 48px;\r\n height: 48px; }\r\n .btn.btn-icon.btn-lg > i {\r\n display: inline-block;\r\n margin: 0;\r\n font-size: 25px; }\r\n\r\n/**label buttons**/\r\n.btn.btn-label {\r\nposition: relative;\r\noverflow: hidden;\r\npadding-left: 55px !important; }\r\n.btn.btn-label > i {\r\n width: 40px;\r\n height: 100%;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n text-align: center;\r\n display: block;\r\n line-height: 35px;\r\n background-color: rgba(0, 0, 0, 0.1); }\r\n.btn.btn-label.btn-lg > i {\r\n line-height: 50px; }\r\n.btn.btn-label.btn-sm > i {\r\n line-height: 28px; }\r\n\r\n.btn-white {\r\nbackground-color: #fff;\r\ncolor: #333; }\r\n\r\n.btn-white-outline {\r\nborder: 2px solid #fff;\r\nbackground-color: transparent;\r\ncolor: #fff; }\r\n.btn-white-outline:hover, .btn-white-outline:focus {\r\n color: #333;\r\n border-color: #fff; }\r\n .btn-white-outline:hover:before, .btn-white-outline:focus:before {\r\n width: 100%;\r\n background-color: #fff; }\r\n\r\n.btn-outline-primary {\r\nborder: 2px solid #0073ff;\r\nbackground-color: transparent;\r\ncolor: #0073ff; }\r\n.btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active {\r\n color: #fff;\r\n border-color: #0073ff;\r\n background-color: transparent; }\r\n .btn-outline-primary:hover:before, .btn-outline-primary:focus:before, .btn-outline-primary:active:before {\r\n width: 100%;\r\n background-color: #0073ff; }\r\n\r\n.btn-outline-info {\r\nborder: 2px solid #5bc0de;\r\nbackground-color: transparent;\r\ncolor: #5bc0de; }\r\n.btn-outline-info:hover, .btn-outline-info:focus, .btn-outline-info:active {\r\n color: #fff;\r\n border-color: #5bc0de;\r\n background-color: transparent; }\r\n .btn-outline-info:hover:before, .btn-outline-info:focus:before, .btn-outline-info:active:before {\r\n width: 100%;\r\n background-color: #5bc0de; }\r\n\r\n.btn-outline-info {\r\nborder: 2px solid #5bc0de;\r\nbackground-color: transparent;\r\ncolor: #5bc0de; }\r\n.btn-outline-info:hover, .btn-outline-info:focus, .btn-outline-info:active {\r\n color: #fff;\r\n border-color: #5bc0de;\r\n background-color: transparent; }\r\n .btn-outline-info:hover:before, .btn-outline-info:focus:before, .btn-outline-info:active:before {\r\n width: 100%;\r\n background-color: #5bc0de; }\r\n\r\n.btn-outline-success {\r\nborder: 2px solid #4ebd4a;\r\nbackground-color: transparent;\r\ncolor: #4ebd4a; }\r\n.btn-outline-success:hover, .btn-outline-success:focus, .btn-outline-success:active {\r\n color: #fff;\r\n border-color: #4ebd4a;\r\n background-color: transparent; }\r\n .btn-outline-success:hover:before, .btn-outline-success:focus:before, .btn-outline-success:active:before {\r\n width: 100%;\r\n background-color: #4ebd4a; }\r\n\r\n.btn-outline-danger {\r\nborder: 2px solid #e65252;\r\nbackground-color: transparent;\r\ncolor: #e65252; }\r\n.btn-outline-danger:hover, .btn-outline-danger:focus, .btn-outline-danger:active {\r\n color: #fff;\r\n border-color: #e65252;\r\n background-color: transparent; }\r\n .btn-outline-danger:hover:before, .btn-outline-danger:focus:before, .btn-outline-danger:active:before {\r\n width: 100%;\r\n background-color: #e65252; }\r\n\r\n.btn-outline-warning {\r\nborder: 2px solid #f0ad4e;\r\nbackground-color: transparent;\r\ncolor: #f0ad4e; }\r\n.btn-outline-warning:hover, .btn-outline-warning:focus, .btn-outline-warning:active {\r\n color: #fff;\r\n border-color: #f0ad4e;\r\n background-color: transparent; }\r\n .btn-outline-warning:hover:before, .btn-outline-warning:focus:before, .btn-outline-warning:active:before {\r\n width: 100%;\r\n background-color: #f0ad4e; }\r\n\r\n.btn-outline-secondary {\r\nborder: 2px solid #ccc;\r\nbackground-color: transparent;\r\ncolor: #ccc; }\r\n.btn-outline-secondary:hover, .btn-outline-secondary:focus, .btn-outline-secondary:active {\r\n color: #fff;\r\n border-color: #ccc;\r\n background-color: transparent; }\r\n .btn-outline-secondary:hover:before, .btn-outline-secondary:focus:before, .btn-outline-secondary:active:before {\r\n width: 100%;\r\n background-color: #ccc; }\r\n\r\n/**fill buttons**/\r\n.btn-primary, .btn-success, .btn-warning, .btn-danger, .btn-info, .btn-secondary {\r\nbox-shadow: 0 0.05em 0.1em rgba(0, 0, 0, 0.18);\r\nborder: 0px; }\r\n.btn-primary:hover, .btn-success:hover, .btn-warning:hover, .btn-danger:hover, .btn-info:hover, .btn-secondary:hover {\r\n border: 0px;\r\n box-shadow: 0 0.05em 1em rgba(0, 0, 0, 0.18); }\r\n\r\n.btn-secondary {\r\nbackground: #f5f5f5;\r\nbox-shadow: none;\r\ncolor: #999; }\r\n.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active {\r\n border: 0px;\r\n color: #fff;\r\n box-shadow: none; }\r\n\r\n.btn-primary {\r\nbackground: #2a7db5 ;\r\ncolor: #fff; }\r\n.btn-primary:hover, .btn-primary:focus, .btn-primary:active {\r\n background: #2a7db5 ;\r\n color: #fff; }\r\n\r\n.btn-circle {\r\nwidth: 80px;\r\nheight: 80px;\r\nborder-radius: 50%;\r\nline-height: 80px;\r\ntext-align: center; }\r\n.btn-circle i {\r\n display: block;\r\n line-height: 80px;\r\n margin: 0 auto;\r\n font-size: 35px; }\r\n.btn-circle .btn-primary i, .btn-circle .btn-success i, .btn-circle .btn-warning i, .btn-circle .btn-danger i, .btn-circle .btn-info i {\r\n color: #fff; }\r\n\r\n.btn-dark {\r\nbackground: #333;\r\ncolor: #fff; }\r\n.btn-dark:hover, .btn-dark:focus, .btn-dark:active {\r\n background: #333;\r\n color: #fff; }\r\n\r\n.icon-sm-rounded {\r\nwidth: 32px;\r\nheight: 32px;\r\nline-height: 32px;\r\ndisplay: inline-block !important;\r\ntext-align: center;\r\nborder-radius: 50%;\r\nbackground: #0073ff;\r\ncolor: #fff; }\r\n\r\n/****************\r\n\r\nSOCIAL BUTTONS\r\n\r\n**********************/\r\n/**social icons default size**/\r\n.social-icon {\r\nmargin: 0 5px 5px 0;\r\nwidth: 40px;\r\nheight: 40px;\r\nfont-size: 20px;\r\nline-height: 40px !important;\r\ncolor: #555;\r\ntext-shadow: none;\r\nborder-radius: 3px;\r\noverflow: hidden;\r\ndisplay: block;\r\nfloat: left;\r\ntext-align: center;\r\nborder: 1px solid #AAA; }\r\n\r\n.social-icon:hover {\r\nborder-color: transparent; }\r\n\r\n.social-icon i {\r\ndisplay: block;\r\ntransition: all 0.3s ease;\r\nline-height: 40px;\r\nposition: relative; }\r\n\r\n.social-icon i:last-child {\r\ncolor: #FFF !important; }\r\n\r\n.social-icon:hover i:first-child {\r\nmargin-top: -40px; }\r\n\r\n/***social icons lg (big)***/\r\n.social-icon-lg {\r\nmargin: 0 5px 5px 0;\r\nwidth: 60px;\r\nheight: 60px;\r\nfont-size: 30px;\r\nline-height: 60px !important;\r\ncolor: #555;\r\ntext-shadow: none;\r\nborder-radius: 3px;\r\noverflow: hidden;\r\ndisplay: block;\r\nfloat: left;\r\ntext-align: center;\r\nborder: 1px solid #AAA; }\r\n\r\n.social-icon-lg:hover {\r\nborder-color: transparent; }\r\n\r\n.social-icon-lg i {\r\ndisplay: block;\r\ntransition: all 0.3s ease;\r\nline-height: 60px;\r\nposition: relative; }\r\n\r\n.social-icon-lg i:last-child {\r\ncolor: #FFF !important; }\r\n\r\n.social-icon-lg:hover i:first-child {\r\nmargin-top: -60px; }\r\n\r\n/***social icons small***/\r\n.social-icon-sm {\r\nmargin: 0 5px 5px 0;\r\nwidth: 30px;\r\nheight: 30px;\r\nfont-size: 18px;\r\nline-height: 30px !important;\r\ncolor: #555;\r\ntext-shadow: none;\r\nborder-radius: 3px;\r\noverflow: hidden;\r\ndisplay: block;\r\nfloat: left;\r\ntext-align: center;\r\nborder: 1px solid #AAA; }\r\n\r\n.social-icon-sm:hover {\r\nborder-color: transparent; }\r\n\r\n.social-icon-sm i {\r\ndisplay: block;\r\ntransition: all 0.3s ease;\r\nline-height: 30px;\r\nposition: relative; }\r\n\r\n.social-icon-sm i:last-child {\r\ncolor: #FFF !important; }\r\n\r\n.social-icon-sm:hover i:first-child {\r\nmargin-top: -30px; }\r\n\r\nsi-border {\r\nborder: 1px solid #AAA !important; }\r\n\r\n.si-border-round {\r\nborder-radius: 50%; }\r\n\r\n.si-dark-round {\r\nborder-radius: 50%; }\r\n\r\n.si-gray-round {\r\nborder-radius: 50%; }\r\n\r\n.si-gray {\r\nbackground: #f3f3f3;\r\nborder: 0px; }\r\n\r\n.si-dark {\r\nbackground-color: #333;\r\nborder: 0px !important;\r\ncolor: #fff !important; }\r\n\r\n/**icons hover colored**/\r\n.si-colored-facebook, .si-facebook:hover {\r\nbackground-color: #3B5998 !important; }\r\n\r\n.si-colored-twitter, .si-twitter:hover {\r\nbackground-color: #00ACEE !important; }\r\n\r\n.si-colored-google-plus, .si-g-plus:hover {\r\nbackground-color: #DD4B39 !important; }\r\n\r\n.si-colored-skype, .si-skype:hover {\r\nbackground-color: #00AFF0 !important; }\r\n\r\n.si-linkedin:hover, .si-colored-linkedin {\r\nbackground-color: #0E76A8 !important; }\r\n\r\n.si-pin:hover, .si-colored-pinterest {\r\nbackground-color: #C8232C !important; }\r\n\r\n.si-rss:hover, .si-colored-rss {\r\nbackground-color: #EE802F !important; }\r\n\r\n.si-pinterest:hover, .si-colored-pinterest {\r\nbackground-color: #C8232C !important; }\r\n\r\n.si-tumblr:hover, .si-colored-tumblr {\r\nbackground-color: #34526F !important; }\r\n\r\n.si-vimeo:hover, .si-colored-vimeo {\r\nbackground-color: #86C9EF !important; }\r\n\r\n.si-digg:hover, .si-colored-digg {\r\nbackground-color: #191919 !important; }\r\n\r\n.si-instagram:hover, .si-colored-instagram {\r\nbackground-color: #3F729B !important; }\r\n\r\n.si-flickr:hover, .si-colored-flickr {\r\nbackground-color: #FF0084 !important; }\r\n\r\n.si-paypal:hover, .si-colored-paypal {\r\nbackground-color: #00588B !important; }\r\n\r\n.si-yahoo:hover, .si-colored-yahoo {\r\nbackground-color: #720E9E !important; }\r\n\r\n.si-android:hover, .si-colored-andriod {\r\nbackground-color: #A4C639 !important; }\r\n\r\n.si-appstore:hover, .si-colored-apple {\r\nbackground-color: #000 !important; }\r\n\r\n.si-dropbox:hover {\r\nbackground-color: #3D9AE8 !important; }\r\n\r\n.si-dribbble:hover, .si-colored-dribbble {\r\nbackground-color: #EA4C89 !important; }\r\n\r\n.si-soundcloud:hover, .si-colored-soundcoloud {\r\nbackground-color: #F70 !important; }\r\n\r\n.si-xing:hover, .si-colored-xing {\r\nbackground-color: #126567 !important; }\r\n\r\n.si-phone:hover, .si-colored-phone {\r\nbackground-color: #444 !important; }\r\n\r\n.si-behance:hover, .si-colored-behance {\r\nbackground-color: #053eff !important; }\r\n\r\n.si-github:hover, .si-colored-github {\r\nbackground-color: #171515 !important; }\r\n\r\n.si-stumbleupon:hover, .si-colored-stumbleupon {\r\nbackground-color: #F74425 !important; }\r\n\r\n.si-email:hover, .si-colored-email {\r\nbackground-color: #6567A5 !important; }\r\n\r\n.si-wordpress:hover, .si-colored-wordpress {\r\nbackground-color: #1E8CBE !important; }\r\n\r\n.btn-icon-rounded {\r\nwidth: 3rem;\r\nheight: 3rem;\r\nline-height: 2.5rem;\r\ntext-align: center;\r\nborder-radius: 50%;\r\ncolor: #fff; }\r\n.btn-icon-rounded.btn-sm {\r\n width: 2rem;\r\n height: 2rem;\r\n line-height: 1.5rem; }\r\n.btn-icon-rounded.btn-lg {\r\n width: 4rem;\r\n height: 4rem;\r\n line-height: 3.5rem; }\r\n\r\n/*\r\nDropdown Menu\r\n*/\r\n.show > .dropdown-menu {\r\ndisplay: block; }\r\n\r\n.dropdown-menu {\r\nborder: 0px;\r\nborder-top-left-radius: 0px;\r\nborder-top-right-radius: 0px;\r\nbox-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1); }\r\n.dropdown-menu .dropdown-item {\r\n font-size: 13px; }\r\n .dropdown-menu .dropdown-item a {\r\n color: #999; }\r\n\r\n@media (min-width: 992px) {\r\n.dropdown-menu, .dropdown-submenu .dropdown-menu {\r\n display: block;\r\n opacity: 0;\r\n visibility: hidden;\r\n z-index: 1;\r\n transform: translateY(8px);\r\n transition: all .3s; }\r\n.show > .dropdown-menu, .dropdown-submenu:hover > .dropdown-menu {\r\n opacity: 1;\r\n visibility: visible;\r\n z-index: 1000;\r\n transform: none; }\r\n.dropdown-menu {\r\n margin-top: 15px; } }\r\n\r\n.dropdown-toggle:after {\r\ndisplay: none; }\r\n\r\n.notification-dropdown {\r\nmin-width: 310px;\r\npadding: 15px; }\r\n.notification-dropdown li.notification-header {\r\n padding: 10px 15px;\r\n border-bottom: 1px solid #ddd;\r\n font-size: 13px;\r\n font-weight: 700; }\r\n.notification-dropdown li.notify-item {\r\n padding: 10px 15px; }\r\n .notification-dropdown li.notify-item:hover {\r\n background-color: #f7f7f9; }\r\n\r\n.notify-thumb {\r\nwidth: 40px;\r\nheight: 40px;\r\noverflow: hidden;\r\nline-height: 40px;\r\ntext-align: center;\r\nfloat: left;\r\nmargin-right: 10px;\r\nborder-radius: 50%; }\r\n\r\n.notify-content {\r\noverflow: hidden; }\r\n.notify-content a {\r\n color: #333;\r\n font-weight: 400;\r\n font-size: 13px;\r\n display: block;\r\n line-height: 22px;\r\n margin-bottom: 5px; }\r\n .notify-content a span {\r\n font-size: 10px;\r\n color: #999;\r\n font-weight: 400; }\r\n .notify-content a:hover {\r\n color: #0073ff; }\r\n.notify-content p {\r\n margin: 0px;\r\n font-size: 13px;\r\n line-height: 18px;\r\n color: #aeaeae; }\r\n\r\n.user-item {\r\nvertical-align: middle; }\r\n.user-item .icon-circle {\r\n width: auto; }\r\n.user-item > a {\r\n vertical-align: middle;\r\n color: #777;\r\n line-height: 32px; }\r\n .user-item > a .img-fluid {\r\n display: inline-block;\r\n margin-right: 5px;\r\n width: 34px;\r\n vertical-align: middle;\r\n position: relative;\r\n top: 0px;\r\n border: 1px solid #eee; }\r\n.user-item .dropdown-item a {\r\n padding: 4px .6rem;\r\n color: #999;\r\n display: block;\r\n font-size: 14px; }\r\n .user-item .dropdown-item a > i {\r\n display: inline-block;\r\n margin-right: 8px; }\r\n .user-item .dropdown-item a:hover {\r\n color: #0073ff; }\r\n\r\n/*\r\nWidgets\r\n*/\r\n.widget-info {\r\nwidth: 100%;\r\ndisplay: flex;\r\nalign-items: stretch;\r\noverflow: hidden;\r\nborder-radius: 5px;\r\nbox-shadow: 0px 0px 20px rgba(0, 0, 0, 0.02); }\r\n.widget-info > i {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 80px;\r\n flex-shrink: 0;\r\n background-color: rgba(0, 0, 0, 0.1);\r\n font-size: 30px;\r\n color: #fff; }\r\n\r\n.widget-content {\r\nwidth: 100%;\r\npadding: 0px 10px 0px 10px;\r\ndisplay: flex;\r\nflex-direction: column;\r\ntext-align: right; }\r\n\r\n.widget-info.bg-white > i {\r\nbackground-color: #fbfbfb; }\r\n\r\n.widget-info-2 {\r\npadding: 30px 20px;\r\ncolor: #fff; }\r\n.widget-info-2 > i {\r\n display: block;\r\n width: 90px;\r\n margin: 0 auto;\r\n margin-bottom: 20px;\r\n text-align: center;\r\n font-size: 50px; }\r\n\r\n.widget2-content {\r\ntext-align: center; }\r\n.widget2-content h4 {\r\n color: #fff; }\r\n\r\n.widget-user-simple {\r\nbackground-color: #fff;\r\npadding: 18px 18px 18px;\r\ndisplay: block;\r\nbox-shadow: 0px 0px 20px rgba(0, 0, 0, 0.02); }\r\n.widget-user-simple span {\r\n color: #999; }\r\n\r\n.widget-user-alt {\r\ndisplay: block;\r\nbackground-color: #fff;\r\npadding-top: 20px;\r\nbox-shadow: 0px 0px 20px rgba(0, 0, 0, 0.02); }\r\n.widget-user-alt .img-fluid {\r\n display: block;\r\n margin: 0 auto; }\r\n.widget-user-alt .bg-faded {\r\n padding: 25px 20px; }\r\n.widget-user-alt span {\r\n color: #999; }\r\n\r\n.widget-img {\r\noverflow: hidden;\r\nborder-radius: 5px;\r\nbox-shadow: 0px 0px 20px rgba(0, 0, 0, 0.02); }\r\n.widget-img .img-widget-top {\r\n position: relative; }\r\n .widget-img .img-widget-top .author {\r\n width: 120px;\r\n border-radius: 50%;\r\n position: absolute;\r\n left: 50%;\r\n bottom: -60px;\r\n margin-left: -60px;\r\n overflow: hidden;\r\n box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.09); }\r\n\r\n.widget-img-content {\r\nbackground-color: #fff;\r\npadding: 30px 20px;\r\npadding-top: 70px; }\r\n.widget-img-content h4 {\r\n font-size: 1rem;\r\n margin-bottom: 0px; }\r\n.widget-img-content span {\r\n display: block;\r\n margin-bottom: 20px; }\r\n\r\n.widget-icon-left {\r\nwidth: 100%; }\r\n.widget-icon-left .widget-icon-left-body {\r\n overflow: hidden; }\r\n .widget-icon-left .widget-icon-left-body:before {\r\n content: \"\";\r\n display: table; }\r\n\r\n.activity-widget .list-group-item {\r\nborder: 0px; }\r\n\r\n.widget-todo {\r\npadding: 0px 20px; }\r\n.widget-todo .todo-item {\r\n padding: 10px 0px;\r\n border-bottom: 1px solid #eee; }\r\n .widget-todo .todo-item:last-child {\r\n border-bottom: 0px; }\r\n.widget-todo .todo-item input[type=\"checkbox\"]:checked ~ span.todo-text {\r\n color: #252525;\r\n text-decoration: line-through; }\r\n\r\n/*\r\nCards custom style\r\n*/\r\n.card {\r\nborder: 0px;\r\nbox-shadow: 0px 0px 20px rgba(0, 0, 0, 0.02); }\r\n.card .card-top {\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-between;\r\n align-items: center;\r\n padding: 5px 15px;\r\n transition: opacity .2s ease-out;\r\n background-color: #fff;\r\n border-top: 2px solid #ddd;\r\n border-top-left-radius: 2px;\r\n border-top-right-radius: 2px; }\r\n .card .card-top.bg-primary, .card .card-top.bg-warning, .card .card-top.bg-success, .card .card-top.bg-danger, .card .card-top.bg-info {\r\n border-top: 0px;\r\n border-bottom: 0px; }\r\n.card .card-title {\r\n flex: 1 1 auto;\r\n min-height: 28px;\r\n margin: 0;\r\n font-size: .9rem;\r\n font-weight: 600;\r\n line-height: 28px; }\r\n.card .card-options {\r\n flex: 0 0 auto;\r\n padding-left: 10px; }\r\n .card .card-options .input-group {\r\n position: relative; }\r\n .card .card-options .input-group .input-group-addon {\r\n padding: 0px;\r\n position: absolute;\r\n z-index: 10;\r\n background: transparent;\r\n border: 0px;\r\n right: 10px;\r\n top: 5px; }\r\n .card .card-options .form-control {\r\n border-radius: 100px; }\r\n .card .card-options .form-control.form-control-sm {\r\n font-size: 12px;\r\n height: 24px;\r\n line-height: 12px;\r\n padding: .10rem .5rem; }\r\n .card .card-options > a {\r\n width: 24px;\r\n height: 24px;\r\n line-height: 24px;\r\n text-align: center;\r\n background-color: #eee;\r\n display: inline-block;\r\n color: #666;\r\n border-radius: 50%; }\r\n.card .card-content {\r\n padding: 15px 15px; }\r\n.card.header-transparent .card-top {\r\n background-color: transparent; }\r\n\r\n/*\r\nForms customization\r\n*/\r\nselect.form-control.rounded, .form-control.rounded {\r\nborder-radius: 100px !important; }\r\n\r\n/*** header style***/\r\n.navbar-expand-lg .navbar-nav {\r\nflex-direction: row; }\r\n\r\n.header {\r\nbackground: #fff;\r\npadding: 15px 15px; }\r\n\r\n@media (min-width: 992px) {\r\n.header .navbar {\r\n padding: 0px; }\r\n .header .navbar .nav-item {\r\n vertical-align: middle; } }\r\n\r\n.form-inline {\r\ntop: 3px;\r\nposition: relative; }\r\n.form-inline .icon-search {\r\n position: absolute;\r\n right: 20px;\r\n top: 7px;\r\n background-color: transparent;\r\n border: 0px;\r\n padding: 0px;\r\n font-size: 16px; }\r\n.form-inline .form-control {\r\n border: 1px solid #eee;\r\n border-radius: 5px;\r\n font-size: 12px;\r\n font-weight: 400; }\r\n .form-inline .form-control:focus {\r\n box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1); }\r\n\r\n.btn-circle-round {\r\nbackground-color: transparent;\r\nborder-radius: 50%;\r\nwidth: 34px;\r\nheight: 34px;\r\nline-height: 34px;\r\ncolor: #666;\r\ntext-align: center;\r\ndisplay: block;\r\noutline: 0;\r\nborder: 1px solid #eee;\r\nposition: relative; }\r\n.btn-circle-round > i {\r\n display: block;\r\n line-height: 32px;\r\n font-size: 16px; }\r\n.btn-circle-round:hover, .btn-circle-round:focus, .btn-circle-round:active {\r\n color: #fff;\r\n background-color: #0073ff; }\r\n\r\n.btn-circle-round .badge {\r\nposition: absolute;\r\ntop: -2px;\r\nright: 0px; }\r\n\r\n.navbar-nav.ml-auto .nav-item {\r\npadding-left: 15px; }\r\n\r\n@media (max-width: 991px) {\r\n.form-inline.my-2 {\r\n margin-top: 0 !important; }\r\n.header {\r\n background-color: #fff;\r\n padding: 5px 15px;\r\n padding-bottom: 0px; }\r\n.navbar.navbar-expand-lg {\r\n padding-left: 0px;\r\n padding-right: 0px; }\r\nul.navbar-nav.ml-auto {\r\n position: relative;\r\n margin-top: -4px; }\r\n.navbar.navbar-expand-lg .dropdown-menu {\r\n position: absolute; }\r\n.header .sidebar-toggler {\r\n position: relative;\r\n top: -5px; }\r\n.page-footer {\r\n padding: 0px 15px; }\r\n.page-wrapper.sidebar-enable .sidebar-toggler {\r\n border-radius: 0px;\r\n background-color: #212121;\r\n color: #fff;\r\n margin-left: -15px; }\r\n.navbar-expand-lg .dropdown-menu {\r\n left: auto;\r\n right: 0; } }\r\n\r\n/* \r\nSidebar style\r\n*/\r\n.metismenu .has-arrow:after {\r\ncontent: \"\";\r\ndisplay: none; }\r\n\r\n.metismenu .has-arrow:before {\r\nfont-family: \"Ionicons\";\r\ncontent: \"\\\\f363\";\r\nposition: absolute;\r\nright: 10px;\r\ntop: 10px;\r\ntransition: all .3s ease-in-out;\r\n-webkit-transition: all .3s ease-in-out; }\r\n\r\n.metismenu .active .has-arrow:before {\r\ncontent: \"\\\\f35f\"; }\r\n\r\n.page-wrapper .sidebar-nav {\r\nbox-shadow: 5px 0 10px rgba(0, 0, 0, 0.02);\r\nposition: fixed;\r\ntop: 0;\r\nbottom: 0;\r\nleft: 0;\r\nz-index: 1033;\r\nwidth: 100%;\r\nbackground-color: #334f65;\r\noverflow-y: auto;\r\ntransition: transform 0.26s cubic-bezier(0.47, 0, 0.745, 0.715);\r\n-webkit-overflow-scrolling: touch;\r\nwill-change: transform;\r\nheight: 100%; }\r\n\r\n@media (min-width: 992px) {\r\n.page-wrapper .sidebar-nav {\r\n width: 220px !important;\r\n overflow-y: hidden;\r\n transition: all .3s ease-in-out;\r\n -webkit-transition: all .3s ease-in-out; }\r\n.page-wrapper.sidebar-enable .sidebar-nav {\r\n transform: translateX(-100%) translateY(0) translateZ(0); }\r\n.page-wrapper.sidebar-enable {\r\n padding-left: 0px; }\r\n.page-wrapper.sidebar-enable .page-footer {\r\n left: 0; } }\r\n\r\n/**metis menu**/\r\n.metismenu {\r\nlist-style: none;\r\npadding: 0px;\r\npadding-left: 1rem; }\r\n.metismenu > li {\r\n margin-bottom: 10px; }\r\n .metismenu > li > a {\r\n display: block;\r\n padding: 9px 1.6rem;\r\n padding-left: 40px;\r\n color: #aeaeae;\r\n text-transform: capitalize;\r\n font-weight: 400;\r\n font-size: 14px;\r\n line-height: 18px;\r\n position: relative; }\r\n .metismenu > li > a > i {\r\n margin-right: .5rem;\r\n font-size: 1rem;\r\n vertical-align: bottom;\r\n display: inline-block;\r\n position: absolute;\r\n top: 9px;\r\n left: 0;\r\n width: 28px;\r\n text-align: center; }\r\n .metismenu > li > a:hover, .metismenu > li > a:focus {\r\n color: #fff; }\r\n .metismenu > li > a .badge {\r\n margin-left: 10px;\r\n vertical-align: middle;\r\n font-weight: 400;\r\n position: relative;\r\n top: -2px; }\r\n .metismenu > li.active > a {\r\n color: #fff; }\r\n .metismenu > li.nav-heading {\r\n padding: 24px 18px 6px;\r\n font-size: 12px;\r\n font-weight: 400;\r\n text-transform: uppercase;\r\n opacity: .3;\r\n color: #fff; }\r\n\r\n.metis-secondary {\r\nlist-style: none;\r\nmargin: 0;\r\nmargin-left: -1rem;\r\npadding-left: 2.5rem;\r\nbackground-color: rgba(0, 0, 0, 0.1); }\r\n.metis-secondary > li:first-child {\r\n padding-top: 10px; }\r\n.metis-secondary > li:last-child {\r\n padding-bottom: 10px; }\r\n.metis-secondary > li > a {\r\n display: block;\r\n padding: 7px 1.3rem;\r\n color: #aeaeae;\r\n text-transform: capitalize;\r\n font-weight: 400;\r\n font-size: 14px; }\r\n .metis-secondary > li > a:hover, .metis-secondary > li > a:focus {\r\n color: #fff; }\r\n.metis-secondary .badge {\r\n font-weight: 400;\r\n margin-left: 8px;\r\n position: relative;\r\n top: -2px; }\r\n.metis-secondary ul.metis-secondary {\r\n background-color: transparent; }\r\n\r\n.logo-header {\r\npadding: 23px 20px; }\r\n.logo-header img {\r\n display: block;\r\n margin: 0 auto; }\r\n\r\n@media (max-width: 991px) {\r\n.page-wrapper .sidebar-nav {\r\n margin-left: -220px;\r\n width: 220px; }\r\n.main-content {\r\n padding-left: 0px; }\r\n.page-footer {\r\n left: 0; }\r\n.page-wrapper.sidebar-enable .sidebar-nav {\r\n margin-left: 0px; }\r\n.page-wrapper.sidebar-enable .main-content {\r\n margin-left: 220px; }\r\n.page-wrapper.sidebar-enable .sidebar-toggler i:before {\r\n content: \"\\\\e92a\";\r\n font-family: 'Linearicons'; } }\r\n\r\n/***light sidebar**/\r\n.page-wrapper .sidebar-nav.light-sidebar {\r\nbackground-color: #fff;\r\nborder-right: 1px solid #eee; }\r\n.page-wrapper .sidebar-nav.light-sidebar .metismenu > li.nav-heading {\r\n color: #000; }\r\n.page-wrapper .sidebar-nav.light-sidebar .metis-secondary {\r\n background-color: #fff; }\r\n.page-wrapper .sidebar-nav.light-sidebar .metismenu > li.active > a {\r\n color: #0073ff; }\r\n .page-wrapper .sidebar-nav.light-sidebar .metismenu > li.active > a > i {\r\n color: #0073ff; }\r\n.page-wrapper .sidebar-nav.light-sidebar .metismenu > li > a:hover, .page-wrapper .sidebar-nav.light-sidebar .metismenu > li > a:focus {\r\n color: #0073ff; }\r\n .page-wrapper .sidebar-nav.light-sidebar .metismenu > li > a:hover > i, .page-wrapper .sidebar-nav.light-sidebar .metismenu > li > a:focus > i {\r\n color: #0073ff; }\r\n.page-wrapper .sidebar-nav.light-sidebar .metismenu > li > a > i {\r\n color: #999;\r\n transition: all .3s;\r\n -webkit-transition: all .3s; }\r\n.page-wrapper .sidebar-nav.light-sidebar .metis-secondary > li > a:hover, .page-wrapper .sidebar-nav.light-sidebar .metis-secondary > li > a:focus {\r\n color: #555; }\r\n.page-wrapper .sidebar-nav.light-sidebar .progress-card.dark-progress .progress-title {\r\n color: #666; }\r\n.page-wrapper .sidebar-nav.light-sidebar .progress-card.dark-progress .progress {\r\n background-color: #eee; }\r\n.page-wrapper .sidebar-nav.light-sidebar .metismenu > li > a {\r\n color: #333; }\r\n\r\n/*\r\nPage titles\r\n*/\r\n.page-title .breadcrumb {\r\npadding: 0px;\r\nmargin: 0px;\r\nbackground-color: transparent;\r\nfloat: right; }\r\n\r\n.page-title h4 {\r\nfont-weight: 300;\r\ntext-transform: capitalize; }\r\n\r\n/*\r\n.progress-bars\r\n*/\r\n.progress-card .progress {\r\nheight: 7px;\r\nborder-radius: 0px; }\r\n.progress-card .progress .progress-bar {\r\n line-height: 10px;\r\n height: 7px;\r\n border-radius: 0px; }\r\n\r\n.progress-card .progress-title {\r\ncolor: #333;\r\nfont-weight: 500;\r\nmargin-bottom: 7px; }\r\n.progress-card .progress-title span {\r\n color: #999;\r\n font-weight: 300;\r\n font-size: 12px; }\r\n\r\n.progress-card.dark-progress {\r\npadding: 10px 15px; }\r\n.progress-card.dark-progress .progress-title {\r\n color: #fff; }\r\n.progress-card.dark-progress .progress {\r\n background-color: rgba(255, 255, 255, 0.2); }\r\n\r\n.progress {\r\nmargin-bottom: 10px;\r\nheight: 5px; }\r\n.progress .progress-bars {\r\n height: 5px; }\r\n\r\n.skill-bar span {\r\ndisplay: block;\r\nmargin-bottom: 5px;\r\nfont-size: 12px; }\r\n\r\n/*\r\nSmart forms UI customization\r\n*/\r\n.smart-forms .switch, .smart-forms .option, .smart-forms .field-label {\r\nfont-size: 13px; }\r\n\r\n.smart-forms, .smart-forms label, .smart-forms input, .smart-forms button, .smart-forms select, .smart-forms textarea {\r\nfont-family: \"Open Sans\", sans-serif; }\r\n\r\n.smart-forms .tagline span {\r\ncolor: #444; }\r\n\r\n.smart-forms .form-footer {\r\npadding-top: 0px;\r\npadding-bottom: 0px;\r\nbackground-image: none;\r\nbackground: none;\r\nbackground-color: transparent; }\r\n\r\n.smart-forms .progress-bar {\r\nheight: auto; }\r\n\r\n.smart-forms.card-content {\r\npadding-bottom: 30px; }\r\n\r\n.smart-forms .btn-primary {\r\nbackground: #2a7db5 ; }\r\n\r\n/*\r\nPricing tables\r\n*/\r\n.pricing-table {\r\nmargin: 10px 0;\r\npadding: 0 15px;\r\nwidth: 100%;\r\ndisplay: flex;\r\nflex-wrap: wrap; }\r\n\r\n.plan {\r\nbackground-color: #fff;\r\nbox-shadow: 0px 0px 20px rgba(0, 0, 0, 0.05);\r\nborder-radius: 5px;\r\ncolor: #333;\r\nmargin-bottom: 35px;\r\nposition: relative;\r\nz-index: 1; }\r\n.plan h6 {\r\n color: #aeaeae;\r\n font-weight: 400; }\r\n.plan .pricing-content {\r\n padding: 2em 0 1.5em 1.5em; }\r\n.plan .plan-header {\r\n padding: 2em 0 1.5em 1.5em; }\r\n .plan .plan-header h1 {\r\n font-weight: 700; }\r\n .plan .plan-header h1 small {\r\n font-size: 14px; }\r\n.plan ul {\r\n padding: 2em 0 2em 1.5em;\r\n margin: 0px; }\r\n .plan ul li {\r\n padding: 5px 0;\r\n font-size: 15px;\r\n color: #999; }\r\n .plan ul li i {\r\n color: #0073ff;\r\n display: inline-block;\r\n margin-right: 10px; }\r\n.plan.popular-plan {\r\n box-shadow: 11px 0 10px -10px rgba(0, 0, 0, 0.3), -11px 0 10px -10px rgba(0, 0, 0, 0.3);\r\n position: relative;\r\n z-index: 2; }\r\n.plan.plan-dark {\r\n border: 0px; }\r\n .plan.plan-dark h1, .plan.plan-dark ul li, .plan.plan-dark ul li i, .plan.plan-dark h6, .plan.plan-dark h4 {\r\n color: #fff; }\r\n .plan.plan-dark h4, .plan.plan-dark ul li, .plan.plan-dark h6 {\r\n opacity: 0.8; }\r\n\r\n/*\r\nCalendar custom css\r\n*/\r\n.fc-event {\r\npadding: 10px 15px;\r\nmargin-bottom: 10px;\r\nbackground-color: transparent;\r\ncolor: #333;\r\nborder: 2px solid #ddd; }\r\n.fc-event:hover, .fc-event:focus {\r\n background-color: transparent;\r\n color: #333; }\r\n\r\n.jvectormap-label {\r\nposition: absolute;\r\ndisplay: none;\r\nborder: solid 1px #313232;\r\nborder-radius: 2px;\r\nbackground: #313232;\r\ncolor: #fff;\r\npadding: 3px 6px;\r\nopacity: .9;\r\nz-index: 11; }\r\n\r\n.calendar-app .fc-button {\r\nbackground-image: none;\r\nbackground-color: rgba(160, 160, 160, 0.25);\r\ncolor: inherit;\r\nbox-shadow: 0 0 0 #000;\r\nborder-radius: 100px;\r\nfont-size: .9rem;\r\npadding: .15rem .85rem;\r\nheight: 2rem;\r\nborder: 1px solid rgba(160, 160, 160, 0.25);\r\ntext-shadow: none; }\r\n\r\n.calendar-app .fc-button + .fc-button {\r\nmargin-left: 4px; }\r\n\r\n.calendar-app .fc-button.fc-state-active {\r\nbackground-color: #0073ff;\r\ncolor: #fff; }\r\n\r\n@media only screen and (max-width: 767px) {\r\n.calendar-app .fc-button {\r\n padding: .25rem .5rem;\r\n height: 2rem;\r\n font-size: .7rem; } }\r\n\r\n.calendar-app .fc-toolbar .fc-center {\r\nmargin-top: 1rem; }\r\n\r\n@media only screen and (min-width: 480px) {\r\n.calendar-app .fc-toolbar .fc-center {\r\n margin-top: .5rem; } }\r\n\r\n.calendar-app .fc-event, .calendar-app .fc-event-dot {\r\ncolor: #59676b;\r\nbackground-color: rgba(0, 115, 255, 0.3);\r\nborder: 0;\r\nborder-left: 2px solid #0073ff;\r\npadding: 4px;\r\nborder-radius: 1px; }\r\n\r\n.calendar-app .fc-unthemed td.fc-today {\r\nbackground-color: transparent; }\r\n\r\n.calendar-app .fc-unthemed td.fc-today .fc-day-number {\r\nposition: relative;\r\nbackground-color: #5bc0de;\r\ntop: 1px;\r\nright: 1px;\r\ncolor: #fff;\r\nwidth: 20px;\r\nheight: 20px;\r\nline-height: 20px;\r\ntext-align: center;\r\nborder-radius: 2px;\r\nmargin-bottom: 6px; }\r\n\r\n.calendar-app .fc-unthemed .fc-content, .calendar-app .fc-unthemed .fc-divider, .calendar-app .fc-unthemed .fc-list-heading td, .calendar-app .fc-unthemed .fc-list-view, .calendar-app .fc-unthemed .fc-popover, .calendar-app .fc-unthemed .fc-row, .calendar-app .fc-unthemed tbody, .calendar-app .fc-unthemed td, .calendar-app .fc-unthemed th, .calendar-app .fc-unthemed thead {\r\nborder-color: rgba(160, 160, 160, 0.25); }\r\n\r\n/*\r\nProfile\r\n*/\r\n.profile-header {\r\nbackground-size: cover;\r\nposition: relative;\r\noverflow: hidden; }\r\n.profile-header .img-fluid.rounded-circle {\r\n max-width: 100px;\r\n margin: 0 auto;\r\n margin-bottom: 20px;\r\n display: block; }\r\n\r\n.activity-list > li {\r\nborder-bottom: 1px solid #eee;\r\npadding-bottom: 20px;\r\nmargin-bottom: 20px; }\r\n\r\n.activity-list .float-left {\r\nmargin-right: 10px;\r\nwidth: 40px;\r\nheight: 40px;\r\nfloat: left;\r\ndisplay: block;\r\nborder-radius: 50%;\r\nbackground-color: #eee;\r\nfont-size: 20px;\r\nline-height: 100%;\r\nline-height: 43px;\r\ntext-align: center; }\r\n.activity-list .float-left a {\r\n display: inline-block;\r\n color: #999; }\r\n\r\n.act-content {\r\noverflow: hidden; }\r\n.act-content span.text-small {\r\n display: block;\r\n color: #999;\r\n margin-bottom: 10px;\r\n font-size: 12px; }\r\n\r\n/*\r\nSummernote customization\r\n*/\r\n.note-popover {\r\ndisplay: none; }\r\n\r\n.note-editor .dropdown-menu {\r\nborder: 2px solid #eee;\r\npadding: 10px 15px; }\r\n\r\n.note-editor.note-frame {\r\nborder: 0px; }\r\n\r\n/*\r\nTables Style\r\n*/\r\n.dataTables_paginate > ul.pagination {\r\nFloat: right; }\r\n\r\n.dataTables_paginate:after {\r\ncontent: \"\";\r\ndisplay: table; }\r\n\r\n.dataTables_filter {\r\ntext-align: right; }\r\n.dataTables_filter:after {\r\n content: \"\";\r\n display: table; }\r\n\r\n.dataTables_wrapper.container-fluid {\r\npadding-left: 0px;\r\npadding-right: 0px; }\r\n\r\ndiv.dataTables_wrapper div.dataTables_paginate {\r\npadding-top: 10px; }\r\n\r\n/*\r\nWizard Style\r\n*/\r\n.wizard-example {\r\npadding-top: 30px;\r\npadding-bottom: 10px; }\r\n\r\n.wizard-steps, .wizard-content {\r\nmargin-bottom: 30px; }\r\n\r\n.wizard-pane {\r\nmin-height: 300px; }\r\n\r\n.wizard-steps > li {\r\npadding: 6px 15px;\r\nborder-radius: 100px; }\r\n.wizard-steps > li.current {\r\n background-color: #0073ff;\r\n color: #fff !important; }\r\n.wizard-steps > li.done {\r\n background-color: #4ebd4a;\r\n color: #fff !important; }\r\n.wizard-steps > li + li {\r\n margin-left: 15px; }\r\n\r\n.wizard-buttons {\r\ntext-align: right; }\r\n.wizard-buttons > a {\r\n border-radius: 2px; }\r\n .wizard-buttons > a.wizard-next {\r\n background-color: #0073ff;\r\n border-color: #0073ff;\r\n color: #fff !important; }\r\n\r\n/*\r\nTabs style\r\n*/\r\n.tabs-admin {\r\nborder-bottom: 2px solid #f5f6f7; }\r\n.tabs-admin > li {\r\n vertical-align: middle; }\r\n.tabs-admin > .nav-item > .nav-link {\r\n padding: 10px 15px;\r\n color: #555;\r\n font-weight: 600;\r\n text-transform: capitalize;\r\n margin-bottom: -2px;\r\n border-bottom: 2px solid transparent; }\r\n .tabs-admin > .nav-item > .nav-link.active {\r\n border-color: #0073ff;\r\n color: #0073ff; }\r\n .tabs-admin > .nav-item > .nav-link > i {\r\n margin-right: 5px;\r\n font-size: 16px; }\r\n.tabs-admin.tabs-icon li.nav-item > a.nav-link > i {\r\n margin-right: 0px;\r\n text-align: center;\r\n display: block;\r\n font-size: 20px; }\r\n\r\n.admin-tab-content {\r\npadding: 10px 15px; }\r\n\r\n/****************vertical Tabs****************/\r\n.vertical-tabs > .nav {\r\nfloat: left;\r\nmargin-right: 20px;\r\ndisplay: block;\r\nborder: 0px;\r\nbackground: #fff;\r\nborder: 4px solid #fff; }\r\n.vertical-tabs > .nav > .nav-item {\r\n display: block;\r\n float: none; }\r\n .vertical-tabs > .nav > .nav-item > .nav-link {\r\n display: block;\r\n float: none;\r\n border: 0px;\r\n position: relative; }\r\n .vertical-tabs > .nav > .nav-item > .nav-link.active:before, .vertical-tabs > .nav > .nav-item > .nav-link.active:after {\r\n left: 100%;\r\n top: 50%;\r\n border: solid transparent;\r\n content: \" \";\r\n height: 0;\r\n width: 0;\r\n position: absolute;\r\n pointer-events: none; }\r\n .vertical-tabs > .nav > .nav-item > .nav-link.active:after {\r\n border-color: rgba(255, 255, 255, 0);\r\n border-left-color: #fff;\r\n border-width: 6px;\r\n margin-top: -6px; }\r\n .vertical-tabs > .nav > .nav-item > .nav-link.active:before {\r\n border-color: rgba(255, 255, 255, 0);\r\n border-left-color: #fff;\r\n border-width: 12px;\r\n margin-top: -12px; }\r\n\r\n.vertical-tabs .tab-content {\r\noverflow: hidden;\r\nbackground-color: #fff; }\r\n\r\n/*\r\nAccordions also called collapse style\r\n*/\r\n.card-header {\r\nbackground-color: #fefefe; }\r\n.card-header h5 a {\r\n font-size: .8rem;\r\n color: #555;\r\n display: block;\r\n position: relative;\r\n padding-right: 30px; }\r\n .card-header h5 a:before {\r\n font-family: 'Linearicons';\r\n content: \"\\\\e937\";\r\n position: absolute;\r\n top: 2px;\r\n right: 5px; }\r\n .card-header h5 a.collapsed:before {\r\n font-family: 'Linearicons';\r\n content: \"\\\\e936\"; }\r\n\r\n/*\r\nToastr \r\n*/\r\n.toast-bottom-full-width, .toast-bottom-right, .toast-bottom-center, .toast-bottom-left, .toast-top-full-width, .toast-top-right, .toast-top-center, .toast-top-left {\r\nposition: fixed;\r\nz-index: 999999; }\r\n\r\n/*\r\nPagination style\r\n*/\r\n.page-link {\r\ncolor: #0073ff; }\r\n\r\n.page-item.active .page-link {\r\nbackground-color: #0073ff;\r\nborder-color: #0073ff; }\r\n\r\n/*\r\nInvoice style\r\n*/\r\n.container .invoice-details {\r\nmin-width: 200px; }\r\n\r\n.container .invoice-details td {\r\npadding: 2px 0; }\r\n\r\n.container .invoice-summary {\r\nborder-bottom: 2px solid #d0d0d0; }\r\n\r\n.container .invoice-summary thead > tr > th {\r\nfont-weight: 700;\r\npadding-bottom: 15px; }\r\n\r\n.container .invoice-summary tbody > tr > td {\r\nvertical-align: middle;\r\npadding: 10px 15px !important; }\r\n\r\n.container .invoice-summary tbody > tr > td > strong {\r\ndisplay: block;\r\nfont-weight: 600; }\r\n\r\n.container .invoice-summary tbody > tr > td > small {\r\ncolor: #afb9c3; }\r\n\r\n.container .invoice-summary .min-col {\r\nwidth: 10%;\r\nmin-width: 100px; }\r\n\r\n.container .invoice-summary th, .container .invoice-total th, .container .invoice-summary td, .container .invoice-total td {\r\npadding-left: 0 !important;\r\npadding-right: 0 !important; }\r\n\r\n.container .invoice-total {\r\nwidth: 30%;\r\nmax-width: 320px;\r\nfloat: right; }\r\n\r\n.container .invoice-total > tbody > tr:first-child > td {\r\nborder: 0 !important; }\r\n\r\n.container .invoice-total > tbody > tr td {\r\ntext-align: right; }\r\n\r\n.container .invoice-total > tbody > tr td:last-child {\r\nwidth: 200px; }\r\n\r\n@media print {\r\n.container .invoice-total {\r\n width: auto; } }\r\n\r\n/*\r\nError 404\r\n*/\r\n.error-404 {\r\nbackground-color: #fff;\r\npadding: 30px 20px;\r\ntext-align: center;\r\nmargin-top: 30px;\r\nborder-radius: 5px;\r\nbox-shadow: 0px 0px 30px rgba(0, 0, 0, 0.1); }\r\n.error-404 > h1 {\r\n font-size: 7rem;\r\n line-height: 7rem;\r\n font-weight: 300;\r\n margin-bottom: 20px; }\r\n.error-404 h3 {\r\n font-weight: 300; }\r\n\r\n/*\r\nCharts & graphs\r\n*/\r\n.flot-chart {\r\nheight: 250px;\r\ndisplay: block; }\r\n.flot-chart .flot-chart-content {\r\n width: 100%;\r\n height: 100%; }\r\n.flot-chart .flot-chart-pie-content {\r\n width: 200px;\r\n height: 250px;\r\n margin: 0 auto; }\r\n\r\n .h5{\r\n font-size:13px;\r\n font-weight: 800;\r\n color: black;\r\n }\r\n .sp {\r\n font-size: 13px;\r\n }\r\n .p-accordiontab.bg-primary div a span {\r\n color:darkgray !important;\r\n }\r\n\r\n\r\n\r\n .bigText {\r\n font-size:24px;\r\n font-weight: 600;\r\n }\r\n .vbigText{\r\n font-size:34px;\r\n font-weight: 600;\r\n}\r\n\r\n .smText {\r\n font-size: 14px;\r\n font-weight: 600;\r\n }\r\n \r\n .widget-content[_ngcontent-c2] {\r\n padding: 0px 10px 0px 15px !important;}\r\n \r\n\r\n .minH {\r\n min-height: 38px;\r\n }\r\n .error-msg {\r\n color: red;\r\n }\r\n .has-error label{\r\n color:red!important;\r\n }\r\n .has-error textarea {\r\n border:1px solid red !important;\r\n } \r\n .has-error input {\r\n border:1px solid red !important;\r\n } \r\n .has-error select{\r\n border:1px solid red !important;\r\n } \r\n \r\n .displayNone{\r\n display: none !important;\r\n }\r\n\r\n button.disabled{\r\n cursor: none;\r\n }\r\n\r\n\r\n\r\n .lbigText{\r\n font-size:20px;\r\n font-weight: 600;\r\n }\r\n\r\n@media (max-width: 1199px) {\r\n.mb30 {\r\nmargin-bottom: 10px !important;}\r\n}\r\n\r\n.mt-5 {\r\n margin-top: 5px !important;\r\n}\r\n\r\n.national-contracts-dnc ::ng-deep a.p-accordion-header-link{\r\n color: #fff !important;\r\n}\r\n\r\n.contact-date ::ng-deep .p-calendar .p-datepicker {\r\n top: -500% !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/common/components/store-opportunity/store-opportunity.component.css\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\".list-group-item{\\r\\n padding: 0.25rem 1.25rem;\\r\\n}\\r\\nngb-highlight .dropdown-item:active {\\r\\n background-color: #7ac143;\\r\\n}\\r\\n.modal-header .close {\\r\\n padding: 0;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\ntext-white-gray {\\r\\ncolor: rgba(255, 255, 255, 0.8) !important;\\r\\n}\\r\\n\\r\\n.blueBg {\\r\\nbackground: #2a7db5 ;\\r\\nborder: 1px solid white;\\r\\n}\\r\\n\\r\\n.ui-dialog.ui-widget .ui-dialog-titlebar {\\r\\nbackground: #165c92 !important;\\r\\ncolor:white !important;\\r\\n\\r\\n}\\r\\n.bg-blue {\\r\\nbackground-color: #2a7db5 !important;\\r\\n}\\r\\n.matricsreportMonitor {\\r\\n background-color: #57a1d3;\\r\\n border-top-right-radius: 1em;\\r\\n border-top-left-radius: 1em;\\r\\n border-bottom-right-radius: 1em;\\r\\n border-bottom-left-radius: 1em;\\r\\n \\r\\n}\\r\\n.matricsreportText {\\r\\n font-family: Arial, Helvetica, sans-serif;\\r\\n font-size: 12px;\\r\\n color: red;\\r\\n line-height: 135%;\\r\\n border-bottom: 1px solid #ccc;\\r\\n padding: 2px 8px 2px 8px;\\r\\n}\\r\\n.ui-accordion .ui-accordion-header a {\\r\\n color: #7ac143;\\r\\n}\\r\\n.btn-xlg:not(.fullwidth) {\\r\\n padding: 3px !important;\\r\\n}\\r\\ntext-white-gray {\\r\\n color: rgba(255, 255, 255, 0.8) !important;\\r\\n}\\r\\n\\r\\n\\r\\n/*\\r\\nAssan Admin dashboard\\r\\n*/\\r\\n/* @import url(\\\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700\\\"); */\\r\\n\\r\\n\\r\\n/*\\r\\nBasic of template\\r\\n*/\\r\\nhtml {\\r\\nheight: 100%; }\\r\\n\\r\\nbody {\\r\\nfont-size: 13px;\\r\\nfont-weight: 400;\\r\\ncolor: #666;\\r\\nline-height: 1.6;\\r\\nletter-spacing: 0em;\\r\\nfont-family: \\\"Open Sans\\\", sans-serif;\\r\\noverflow-x: hidden;\\r\\nbackground-color: #f5f6f7;\\r\\nposition: relative; }\\r\\n\\r\\n.rounded {\\r\\nborder-radius: 100px !important; }\\r\\n\\r\\n.shadow {\\r\\nbox-shadow: 0px 0px 30px rgba(69, 101, 173, 0.1);\\r\\nborder: 0px !important; }\\r\\n\\r\\n.shadow-primary {\\r\\nbox-shadow: 0 2px 30px 0 #0073ff;\\r\\nborder: 0px !important; }\\r\\n\\r\\nbutton, input, optgroup, select, textarea {\\r\\nfont-family: \\\"Open Sans\\\", sans-serif; }\\r\\n\\r\\nbutton:focus {\\r\\noutline: 0 !important; }\\r\\n\\r\\na, .simple-hover img, button, .btn {\\r\\ntransition: all 0.3s;\\r\\n-webkit-transition: all 0.3s; }\\r\\n\\r\\na {\\r\\ncolor: #0073ff;\\r\\ntext-decoration: none; }\\r\\na:hover, a:focus {\\r\\n text-decoration: none;\\r\\n outline: 0 !important;\\r\\n color: #666; }\\r\\n\\r\\n.base-font {\\r\\nfont-family: \\\"Open Sans\\\", sans-serif;\\r\\nfont-weight: 300; }\\r\\n\\r\\n.font300 {\\r\\nfont-weight: 300 !important; }\\r\\n\\r\\n.font400 {\\r\\nfont-weight: 400 !important; }\\r\\n\\r\\n.font500 {\\r\\nfont-weight: 500 !important; }\\r\\n\\r\\n.font600 {\\r\\nfont-weight: 600 !important; }\\r\\n\\r\\n.font700 {\\r\\nfont-weight: 700 !important; }\\r\\n\\r\\nh1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {\\r\\nmargin-top: 0px;\\r\\ncolor: #222;\\r\\nfont-weight: 600;\\r\\nletter-spacing: 0px;\\r\\nfont-family: \\\"Open Sans\\\", sans-serif; }\\r\\n\\r\\n.label {\\r\\ndisplay: inline-block;\\r\\npadding: 1px 7px;\\r\\nborder-radius: 2px;\\r\\nfont-size: 10px; }\\r\\n\\r\\n.label-default {\\r\\nbackground-color: #f7f7f7;\\r\\ncolor: #777; }\\r\\n\\r\\n.label-primary {\\r\\nbackground-color: #0073ff;\\r\\ncolor: #fff; }\\r\\n\\r\\n.label-success {\\r\\nbackground-color: #4ebd4a;\\r\\ncolor: #fff; }\\r\\n\\r\\n.label-info {\\r\\nbackground-color: #5bc0de;\\r\\ncolor: #fff; }\\r\\n\\r\\n.label-warning {\\r\\nbackground-color: #f0ad4e;\\r\\ncolor: #fff; }\\r\\n\\r\\n.label-danger {\\r\\nbackground-color: #e65252;\\r\\ncolor: #fff; }\\r\\n\\r\\n.bg-faded {\\r\\nbackground: #F9F9F9; }\\r\\n\\r\\n.badge {\\r\\nfont-size: 9px;\\r\\npadding: 0px 4px;\\r\\ncolor: #fff;\\r\\nbackground-color: #f1f3f6;\\r\\nmin-width: 16px;\\r\\nmin-height: 16px;\\r\\ndisplay: -ms-inline-flex;\\r\\ndisplay: -ms-inline-flexbox;\\r\\ndisplay: inline-flex;\\r\\n-ms-flex-align: center;\\r\\nalign-items: center;\\r\\n-ms-flex-pack: center;\\r\\njustify-content: center;\\r\\ntext-align: center;\\r\\nline-height: 16px; }\\r\\n\\r\\n.bg-primary, .badge-primary {\\r\\nbackground: #0073ff !important;\\r\\nborder-color: #0073ff; }\\r\\n\\r\\n.bg-success, .badge-success {\\r\\nbackground:#7dc546 !important;\\r\\nborder-color: #7dc546 ; }\\r\\n\\r\\n.bg-warning, .badge-warning {\\r\\nbackground: #f0ad4e !important;\\r\\nborder-color: #f0ad4e; }\\r\\n\\r\\n.bg-info, .badge-info {\\r\\nbackground-color: #5bc0de !important;\\r\\nborder-color: #5bc0de; }\\r\\n\\r\\n.bg-danger, .badge-danger {\\r\\nbackground-color: #e65252 !important;\\r\\nborder-color: #e65252; }\\r\\n\\r\\n.bg-dark, .badge-dark {\\r\\nborder-color: #333 !important;\\r\\nbackground-color: #333; }\\r\\n\\r\\n.bg-white, .badge-white {\\r\\nbackground: #fff; }\\r\\n\\r\\n.text-muted {\\r\\ncolor: #999 !important; }\\r\\n\\r\\n.text-primary {\\r\\ncolor: #0073ff !important; }\\r\\n\\r\\n.text-danger {\\r\\ncolor: #e65252 !important; }\\r\\n\\r\\n.text-success {\\r\\ncolor: #4ebd4a !important; }\\r\\n\\r\\n.text-warning {\\r\\ncolor: #f0ad4e !important; }\\r\\n\\r\\n.text-info {\\r\\ncolor: #5bc0de !important; }\\r\\n\\r\\n.text-white {\\r\\ncolor: white !important; }\\r\\n\\r\\n.text-dark {\\r\\ncolor: #222222 !important; }\\r\\n\\r\\n.text-white-gray {\\r\\ncolor: rgba(255, 255, 255, 0.8) !important; }\\r\\n\\r\\n.text-small {\\r\\nfont-size: 12px !important; }\\r\\n\\r\\n.border-round {\\r\\nborder-radius: 6px;\\r\\n-webkit-border-radius: 6px; }\\r\\n\\r\\n.pos-relative {\\r\\nposition: relative; }\\r\\n\\r\\n.lead {\\r\\nfont-weight: 300; }\\r\\n\\r\\nstrong, b {\\r\\nfont-weight: 600; }\\r\\n\\r\\n.fWidth {\\r\\nwidth: 100% !important; }\\r\\n\\r\\n.oHidden {\\r\\noverflow: hidden !important; }\\r\\n\\r\\n.mb5 {\\r\\nmargin-bottom: 5px !important; }\\r\\n\\r\\n.pl0 {\\r\\npadding-left: 0 !important; }\\r\\n\\r\\n.pr0 {\\r\\npadding-right: 0 !important; }\\r\\n\\r\\n.mr0 {\\r\\nmargin-right: 0px !important; }\\r\\n\\r\\n.pt0 {\\r\\npadding-top: 0 !important; }\\r\\n\\r\\n.pt10 {\\r\\npadding-top: 10px !important; }\\r\\n\\r\\n.pt20 {\\r\\npadding-top: 20px !important; }\\r\\n\\r\\n.pt30 {\\r\\npadding-top: 30px !important; }\\r\\n\\r\\n.pt40 {\\r\\npadding-top: 40px !important; }\\r\\n\\r\\n.pt50 {\\r\\npadding-top: 50px !important; }\\r\\n\\r\\n.pt60 {\\r\\npadding-top: 60px !important; }\\r\\n\\r\\n.pt70 {\\r\\npadding-top: 70px !important; }\\r\\n\\r\\n.pt80 {\\r\\npadding-top: 80px !important; }\\r\\n\\r\\n.pt90 {\\r\\npadding-top: 90px !important; }\\r\\n\\r\\n.pt100 {\\r\\npadding-top: 100px !important; }\\r\\n\\r\\n.pb0 {\\r\\npadding-bottom: 0 !important; }\\r\\n\\r\\n.pb10 {\\r\\npadding-bottom: 10px !important; }\\r\\n\\r\\n.pb15 {\\r\\npadding-bottom: 15px !important; }\\r\\n\\r\\n.pb20 {\\r\\npadding-bottom: 20px !important; }\\r\\n\\r\\n.pb30 {\\r\\npadding-bottom: 30px !important; }\\r\\n\\r\\n.pb40 {\\r\\npadding-bottom: 40px !important; }\\r\\n\\r\\n.pb50 {\\r\\npadding-bottom: 50px !important; }\\r\\n\\r\\n.pb60 {\\r\\npadding-bottom: 60px !important; }\\r\\n\\r\\n.pb70 {\\r\\npadding-bottom: 70px !important; }\\r\\n\\r\\n.pb80 {\\r\\npadding-bottom: 80px !important; }\\r\\n\\r\\n.pb90 {\\r\\npadding-bottom: 90px !important; }\\r\\n\\r\\n.pb100 {\\r\\npadding-bottom: 100px !important; }\\r\\n\\r\\n.mb0 {\\r\\nmargin-bottom: 0 !important; }\\r\\n\\r\\n.mb5 {\\r\\nmargin-bottom: 5px !important; }\\r\\n\\r\\n.mb10 {\\r\\nmargin-bottom: 10px !important; }\\r\\n\\r\\n.mb20 {\\r\\nmargin-bottom: 20px !important; }\\r\\n\\r\\n.mb30 {\\r\\nmargin-bottom: 30px !important; }\\r\\n\\r\\n.mb40 {\\r\\nmargin-bottom: 40px !important; }\\r\\n\\r\\n.mb50 {\\r\\nmargin-bottom: 50px !important; }\\r\\n\\r\\n.mb60 {\\r\\nmargin-bottom: 60px !important; }\\r\\n\\r\\n.mb70 {\\r\\nmargin-bottom: 70px !important; }\\r\\n\\r\\n.mb80 {\\r\\nmargin-bottom: 80px !important; }\\r\\n\\r\\n.mb90 {\\r\\nmargin-bottom: 90px !important; }\\r\\n\\r\\n.mb100 {\\r\\nmargin-bottom: 100px !important; }\\r\\n\\r\\n.mt5 {\\r\\nmargin-top: 5px !important; }\\r\\n\\r\\n.mt10 {\\r\\nmargin-top: 10px !important; }\\r\\n\\r\\n.mt20 {\\r\\nmargin-top: 20px !important; }\\r\\n\\r\\n.mt30 {\\r\\nmargin-top: 30px !important; }\\r\\n\\r\\n.mt40 {\\r\\nmargin-top: 40px !important; }\\r\\n\\r\\n.mt50 {\\r\\nmargin-top: 50px !important; }\\r\\n\\r\\n.bg-default {\\r\\nbackground-color: #f7f7f7 !important; }\\r\\n\\r\\n.bg-gray {\\r\\nbackground-color: #fbfbfb; }\\r\\n\\r\\n.border0-hor {\\r\\nborder-left: 0 !important;\\r\\nborder-right: 0 !important; }\\r\\n\\r\\n.text-sm {\\r\\nfont-size: 13px !important; }\\r\\n\\r\\n@media (min-width: 992px) {\\r\\n.page-wrapper {\\r\\n width: 100%;\\r\\n min-width: 300px;\\r\\n padding-left: 220px;\\r\\n transition: all .3s ease-in-out;\\r\\n -webkit-transition: all .3s ease-in-out; } }\\r\\n\\r\\n.page-wrapper {\\r\\nmin-height: 100%;\\r\\ndisplay: block;\\r\\nwidth: 100%;\\r\\nposition: relative; }\\r\\n\\r\\n.main-content {\\r\\nmin-height: 100vh;\\r\\npadding-bottom: 40px; }\\r\\n\\r\\n.page-footer {\\r\\nposition: absolute;\\r\\nleft: 220px;\\r\\nbottom: 0;\\r\\nheight: 40px;\\r\\nline-height: 40px;\\r\\npadding: 0px 15px;\\r\\nwidth: 100%; }\\r\\n.page-footer .container {\\r\\n max-width: 100%; }\\r\\n\\r\\n.page-wrapper.sidebar-enable .page-footer .container {\\r\\nmax-width: 1200px; }\\r\\n\\r\\n.content {\\r\\npadding: 0px 15px; }\\r\\n\\r\\n.container {\\r\\nwidth: 100%;\\r\\nmax-width: 1200px;\\r\\nmargin: 0 auto; }\\r\\n\\r\\n.layout-accounts {\\r\\nheight: 100%; }\\r\\n.layout-accounts .account-wrap {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n display: table;\\r\\n position: relative; }\\r\\n .layout-accounts .account-wrap .account-card {\\r\\n display: table-cell;\\r\\n vertical-align: middle; }\\r\\n .layout-accounts .account-wrap .account-card .account-content {\\r\\n max-width: 600px;\\r\\n margin: 10px auto;\\r\\n padding: 30px 15px;\\r\\n border-radius: 5px;\\r\\n background-color: #fff;\\r\\n box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2); }\\r\\n\\r\\nlabel.error {\\r\\ndisplay: block;\\r\\nfont-weight: 400;\\r\\npadding-top: 5px;\\r\\npadding-bottom: 3px;\\r\\npadding-left: 10px;\\r\\npadding-right: 10px;\\r\\nmargin-top: 5px;\\r\\nborder: 1px solid #e65252;\\r\\ncolor: #e65252;\\r\\nfont-size: 12px; }\\r\\n\\r\\n/**remove this css **/\\r\\n.grid-col {\\r\\npadding: 10px 15px;\\r\\nbackground-color: #fff;\\r\\nbox-shadow: 0px 0px 20px rgba(0, 0, 0, 0.02);\\r\\nborder-radius: 5px;\\r\\ncolor: #e65252;\\r\\ntext-align: center;\\r\\nmargin-bottom: 15px;\\r\\nfont-weight: 700; }\\r\\n\\r\\n.icon-card {\\r\\nborder: 1px solid #eee;\\r\\npadding: 20px; }\\r\\n.icon-card > i {\\r\\n font-size: 30px;\\r\\n margin-bottom: 20px;\\r\\n display: inline-block; }\\r\\n.icon-card h5 {\\r\\n color: #888;\\r\\n font-weight: 400;\\r\\n font-size: .8rem; }\\r\\n\\r\\n/********************Responsive Utilities*********************/\\r\\n@media (max-width: 991px) {\\r\\n.hidden-lg-down {\\r\\n display: none; } }\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n.hidden-md-down {\\r\\n display: none; } }\\r\\n\\r\\n@media (max-width: 576px) {\\r\\n.hidden-sm-down {\\r\\n display: none; } }\\r\\n\\r\\n/*\\r\\nButtons\\r\\n*/\\r\\n.form-control-lg, .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn {\\r\\nfont-size: .8rem; }\\r\\n\\r\\n.btn {\\r\\noverflow: hidden;\\r\\nposition: relative;\\r\\nz-index: 1;\\r\\nborder-radius: 2px;\\r\\ncursor: pointer;\\r\\nfont-weight: 600;\\r\\nletter-spacing: 0rem;\\r\\nfont-size: .80rem;\\r\\nfont-family: \\\"Open Sans\\\", sans-serif;\\r\\n/* padding: 10px 12px 10px !important;\\r\\ntext-transform: uppercase;*/\\r\\nvertical-align: middle; }\\r\\n.btn i {\\r\\n display: inline-block;\\r\\n margin-right: 8px;\\r\\n vertical-align: middle; }\\r\\n.btn.btn-rounded {\\r\\n border-radius: 100px; }\\r\\n.btn:before {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n width: 0%;\\r\\n height: 100%;\\r\\n z-index: -1;\\r\\n transition: all .3s; }\\r\\n.btn:hover, .btn:focus {\\r\\n box-shadow: none;\\r\\n outline: 0 !important; }\\r\\n .btn:hover:before, .btn:focus:before {\\r\\n transition: all .3s;\\r\\n z-index: -1; }\\r\\n.btn.btn-link {\\r\\n border: 0px;\\r\\n padding: 0px !important; }\\r\\n.btn.btn-sm {\\r\\n padding: 6px 15px 6px !important;\\r\\n font-size: .65rem;\\r\\n height: auto;\\r\\n line-height: inherit;\\r\\n font-weight: 600; }\\r\\n.btn.btn-lg {\\r\\n padding: 16px 30px 16px !important;\\r\\n font-size: .85rem; }\\r\\n.btn.btn-link {\\r\\n color: #0073ff;\\r\\n text-transform: capitalize; }\\r\\n .btn.btn-link:after {\\r\\n font-family: 'Linearicons';\\r\\n content: \\\"\\\\e93c\\\";\\r\\n margin-left: 5px;\\r\\n font-size: 12px; }\\r\\n .btn.btn-link:hover {\\r\\n text-decoration: none;\\r\\n color: #999; }\\r\\n\\r\\n/***icon buttons**/\\r\\n.btn.btn-icon {\\r\\nwidth: 36px;\\r\\nheight: 36px;\\r\\nline-height: 100%;\\r\\ntext-align: center;\\r\\nborder-radius: 50%;\\r\\npadding: 0px !important; }\\r\\n.btn.btn-icon > i {\\r\\n display: inline-block;\\r\\n margin: 0;\\r\\n font-size: 16px; }\\r\\n.btn.btn-icon.btn-sm {\\r\\n width: 24px;\\r\\n height: 24px; }\\r\\n .btn.btn-icon.btn-sm > i {\\r\\n display: inline-block;\\r\\n margin: 0;\\r\\n font-size: 12px; }\\r\\n.btn.btn-icon.btn-lg {\\r\\n width: 48px;\\r\\n height: 48px; }\\r\\n .btn.btn-icon.btn-lg > i {\\r\\n display: inline-block;\\r\\n margin: 0;\\r\\n font-size: 25px; }\\r\\n\\r\\n/**label buttons**/\\r\\n.btn.btn-label {\\r\\nposition: relative;\\r\\noverflow: hidden;\\r\\npadding-left: 55px !important; }\\r\\n.btn.btn-label > i {\\r\\n width: 40px;\\r\\n height: 100%;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n text-align: center;\\r\\n display: block;\\r\\n line-height: 35px;\\r\\n background-color: rgba(0, 0, 0, 0.1); }\\r\\n.btn.btn-label.btn-lg > i {\\r\\n line-height: 50px; }\\r\\n.btn.btn-label.btn-sm > i {\\r\\n line-height: 28px; }\\r\\n\\r\\n.btn-white {\\r\\nbackground-color: #fff;\\r\\ncolor: #333; }\\r\\n\\r\\n.btn-white-outline {\\r\\nborder: 2px solid #fff;\\r\\nbackground-color: transparent;\\r\\ncolor: #fff; }\\r\\n.btn-white-outline:hover, .btn-white-outline:focus {\\r\\n color: #333;\\r\\n border-color: #fff; }\\r\\n .btn-white-outline:hover:before, .btn-white-outline:focus:before {\\r\\n width: 100%;\\r\\n background-color: #fff; }\\r\\n\\r\\n.btn-outline-primary {\\r\\nborder: 2px solid #0073ff;\\r\\nbackground-color: transparent;\\r\\ncolor: #0073ff; }\\r\\n.btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active {\\r\\n color: #fff;\\r\\n border-color: #0073ff;\\r\\n background-color: transparent; }\\r\\n .btn-outline-primary:hover:before, .btn-outline-primary:focus:before, .btn-outline-primary:active:before {\\r\\n width: 100%;\\r\\n background-color: #0073ff; }\\r\\n\\r\\n.btn-outline-info {\\r\\nborder: 2px solid #5bc0de;\\r\\nbackground-color: transparent;\\r\\ncolor: #5bc0de; }\\r\\n.btn-outline-info:hover, .btn-outline-info:focus, .btn-outline-info:active {\\r\\n color: #fff;\\r\\n border-color: #5bc0de;\\r\\n background-color: transparent; }\\r\\n .btn-outline-info:hover:before, .btn-outline-info:focus:before, .btn-outline-info:active:before {\\r\\n width: 100%;\\r\\n background-color: #5bc0de; }\\r\\n\\r\\n.btn-outline-info {\\r\\nborder: 2px solid #5bc0de;\\r\\nbackground-color: transparent;\\r\\ncolor: #5bc0de; }\\r\\n.btn-outline-info:hover, .btn-outline-info:focus, .btn-outline-info:active {\\r\\n color: #fff;\\r\\n border-color: #5bc0de;\\r\\n background-color: transparent; }\\r\\n .btn-outline-info:hover:before, .btn-outline-info:focus:before, .btn-outline-info:active:before {\\r\\n width: 100%;\\r\\n background-color: #5bc0de; }\\r\\n\\r\\n.btn-outline-success {\\r\\nborder: 2px solid #4ebd4a;\\r\\nbackground-color: transparent;\\r\\ncolor: #4ebd4a; }\\r\\n.btn-outline-success:hover, .btn-outline-success:focus, .btn-outline-success:active {\\r\\n color: #fff;\\r\\n border-color: #4ebd4a;\\r\\n background-color: transparent; }\\r\\n .btn-outline-success:hover:before, .btn-outline-success:focus:before, .btn-outline-success:active:before {\\r\\n width: 100%;\\r\\n background-color: #4ebd4a; }\\r\\n\\r\\n.btn-outline-danger {\\r\\nborder: 2px solid #e65252;\\r\\nbackground-color: transparent;\\r\\ncolor: #e65252; }\\r\\n.btn-outline-danger:hover, .btn-outline-danger:focus, .btn-outline-danger:active {\\r\\n color: #fff;\\r\\n border-color: #e65252;\\r\\n background-color: transparent; }\\r\\n .btn-outline-danger:hover:before, .btn-outline-danger:focus:before, .btn-outline-danger:active:before {\\r\\n width: 100%;\\r\\n background-color: #e65252; }\\r\\n\\r\\n.btn-outline-warning {\\r\\nborder: 2px solid #f0ad4e;\\r\\nbackground-color: transparent;\\r\\ncolor: #f0ad4e; }\\r\\n.btn-outline-warning:hover, .btn-outline-warning:focus, .btn-outline-warning:active {\\r\\n color: #fff;\\r\\n border-color: #f0ad4e;\\r\\n background-color: transparent; }\\r\\n .btn-outline-warning:hover:before, .btn-outline-warning:focus:before, .btn-outline-warning:active:before {\\r\\n width: 100%;\\r\\n background-color: #f0ad4e; }\\r\\n\\r\\n.btn-outline-secondary {\\r\\nborder: 2px solid #ccc;\\r\\nbackground-color: transparent;\\r\\ncolor: #ccc; }\\r\\n.btn-outline-secondary:hover, .btn-outline-secondary:focus, .btn-outline-secondary:active {\\r\\n color: #fff;\\r\\n border-color: #ccc;\\r\\n background-color: transparent; }\\r\\n .btn-outline-secondary:hover:before, .btn-outline-secondary:focus:before, .btn-outline-secondary:active:before {\\r\\n width: 100%;\\r\\n background-color: #ccc; }\\r\\n\\r\\n/**fill buttons**/\\r\\n.btn-primary, .btn-success, .btn-warning, .btn-danger, .btn-info, .btn-secondary {\\r\\nbox-shadow: 0 0.05em 0.1em rgba(0, 0, 0, 0.18);\\r\\nborder: 0px; }\\r\\n.btn-primary:hover, .btn-success:hover, .btn-warning:hover, .btn-danger:hover, .btn-info:hover, .btn-secondary:hover {\\r\\n border: 0px;\\r\\n box-shadow: 0 0.05em 1em rgba(0, 0, 0, 0.18); }\\r\\n\\r\\n.btn-secondary {\\r\\nbackground: #f5f5f5;\\r\\nbox-shadow: none;\\r\\ncolor: #999; }\\r\\n.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active {\\r\\n border: 0px;\\r\\n color: #fff;\\r\\n box-shadow: none; }\\r\\n\\r\\n.btn-primary {\\r\\nbackground: #2a7db5 ;\\r\\ncolor: #fff; }\\r\\n.btn-primary:hover, .btn-primary:focus, .btn-primary:active {\\r\\n background: #2a7db5 ;\\r\\n color: #fff; }\\r\\n\\r\\n.btn-circle {\\r\\nwidth: 80px;\\r\\nheight: 80px;\\r\\nborder-radius: 50%;\\r\\nline-height: 80px;\\r\\ntext-align: center; }\\r\\n.btn-circle i {\\r\\n display: block;\\r\\n line-height: 80px;\\r\\n margin: 0 auto;\\r\\n font-size: 35px; }\\r\\n.btn-circle .btn-primary i, .btn-circle .btn-success i, .btn-circle .btn-warning i, .btn-circle .btn-danger i, .btn-circle .btn-info i {\\r\\n color: #fff; }\\r\\n\\r\\n.btn-dark {\\r\\nbackground: #333;\\r\\ncolor: #fff; }\\r\\n.btn-dark:hover, .btn-dark:focus, .btn-dark:active {\\r\\n background: #333;\\r\\n color: #fff; }\\r\\n\\r\\n.icon-sm-rounded {\\r\\nwidth: 32px;\\r\\nheight: 32px;\\r\\nline-height: 32px;\\r\\ndisplay: inline-block !important;\\r\\ntext-align: center;\\r\\nborder-radius: 50%;\\r\\nbackground: #0073ff;\\r\\ncolor: #fff; }\\r\\n\\r\\n/****************\\r\\n\\r\\nSOCIAL BUTTONS\\r\\n\\r\\n**********************/\\r\\n/**social icons default size**/\\r\\n.social-icon {\\r\\nmargin: 0 5px 5px 0;\\r\\nwidth: 40px;\\r\\nheight: 40px;\\r\\nfont-size: 20px;\\r\\nline-height: 40px !important;\\r\\ncolor: #555;\\r\\ntext-shadow: none;\\r\\nborder-radius: 3px;\\r\\noverflow: hidden;\\r\\ndisplay: block;\\r\\nfloat: left;\\r\\ntext-align: center;\\r\\nborder: 1px solid #AAA; }\\r\\n\\r\\n.social-icon:hover {\\r\\nborder-color: transparent; }\\r\\n\\r\\n.social-icon i {\\r\\ndisplay: block;\\r\\n-moz-transition: all 0.3s ease;\\r\\n-o-transition: all 0.3s ease;\\r\\n-webkit-transition: all 0.3s ease;\\r\\ntransition: all 0.3s ease;\\r\\nline-height: 40px;\\r\\nposition: relative; }\\r\\n\\r\\n.social-icon i:last-child {\\r\\ncolor: #FFF !important; }\\r\\n\\r\\n.social-icon:hover i:first-child {\\r\\nmargin-top: -40px; }\\r\\n\\r\\n/***social icons lg (big)***/\\r\\n.social-icon-lg {\\r\\nmargin: 0 5px 5px 0;\\r\\nwidth: 60px;\\r\\nheight: 60px;\\r\\nfont-size: 30px;\\r\\nline-height: 60px !important;\\r\\ncolor: #555;\\r\\ntext-shadow: none;\\r\\nborder-radius: 3px;\\r\\noverflow: hidden;\\r\\ndisplay: block;\\r\\nfloat: left;\\r\\ntext-align: center;\\r\\nborder: 1px solid #AAA; }\\r\\n\\r\\n.social-icon-lg:hover {\\r\\nborder-color: transparent; }\\r\\n\\r\\n.social-icon-lg i {\\r\\ndisplay: block;\\r\\n-moz-transition: all 0.3s ease;\\r\\n-o-transition: all 0.3s ease;\\r\\n-webkit-transition: all 0.3s ease;\\r\\ntransition: all 0.3s ease;\\r\\nline-height: 60px;\\r\\nposition: relative; }\\r\\n\\r\\n.social-icon-lg i:last-child {\\r\\ncolor: #FFF !important; }\\r\\n\\r\\n.social-icon-lg:hover i:first-child {\\r\\nmargin-top: -60px; }\\r\\n\\r\\n/***social icons small***/\\r\\n.social-icon-sm {\\r\\nmargin: 0 5px 5px 0;\\r\\nwidth: 30px;\\r\\nheight: 30px;\\r\\nfont-size: 18px;\\r\\nline-height: 30px !important;\\r\\ncolor: #555;\\r\\ntext-shadow: none;\\r\\nborder-radius: 3px;\\r\\noverflow: hidden;\\r\\ndisplay: block;\\r\\nfloat: left;\\r\\ntext-align: center;\\r\\nborder: 1px solid #AAA; }\\r\\n\\r\\n.social-icon-sm:hover {\\r\\nborder-color: transparent; }\\r\\n\\r\\n.social-icon-sm i {\\r\\ndisplay: block;\\r\\n-moz-transition: all 0.3s ease;\\r\\n-o-transition: all 0.3s ease;\\r\\n-webkit-transition: all 0.3s ease;\\r\\ntransition: all 0.3s ease;\\r\\nline-height: 30px;\\r\\nposition: relative; }\\r\\n\\r\\n.social-icon-sm i:last-child {\\r\\ncolor: #FFF !important; }\\r\\n\\r\\n.social-icon-sm:hover i:first-child {\\r\\nmargin-top: -30px; }\\r\\n\\r\\nsi-border {\\r\\nborder: 1px solid #AAA !important; }\\r\\n\\r\\n.si-border-round {\\r\\n-webkit-border-radius: 50%;\\r\\n-moz-border-radius: 50%;\\r\\n-ms-border-radius: 50%;\\r\\nborder-radius: 50%; }\\r\\n\\r\\n.si-dark-round {\\r\\n-webkit-border-radius: 50%;\\r\\n-moz-border-radius: 50%;\\r\\n-ms-border-radius: 50%;\\r\\nborder-radius: 50%; }\\r\\n\\r\\n.si-gray-round {\\r\\n-webkit-border-radius: 50%;\\r\\n-moz-border-radius: 50%;\\r\\n-ms-border-radius: 50%;\\r\\nborder-radius: 50%; }\\r\\n\\r\\n.si-gray {\\r\\nbackground: #f3f3f3;\\r\\nborder: 0px; }\\r\\n\\r\\n.si-dark {\\r\\nbackground-color: #333;\\r\\nborder: 0px !important;\\r\\ncolor: #fff !important; }\\r\\n\\r\\n/**icons hover colored**/\\r\\n.si-colored-facebook, .si-facebook:hover {\\r\\nbackground-color: #3B5998 !important; }\\r\\n\\r\\n.si-colored-twitter, .si-twitter:hover {\\r\\nbackground-color: #00ACEE !important; }\\r\\n\\r\\n.si-colored-google-plus, .si-g-plus:hover {\\r\\nbackground-color: #DD4B39 !important; }\\r\\n\\r\\n.si-colored-skype, .si-skype:hover {\\r\\nbackground-color: #00AFF0 !important; }\\r\\n\\r\\n.si-linkedin:hover, .si-colored-linkedin {\\r\\nbackground-color: #0E76A8 !important; }\\r\\n\\r\\n.si-pin:hover, .si-colored-pinterest {\\r\\nbackground-color: #C8232C !important; }\\r\\n\\r\\n.si-rss:hover, .si-colored-rss {\\r\\nbackground-color: #EE802F !important; }\\r\\n\\r\\n.si-pinterest:hover, .si-colored-pinterest {\\r\\nbackground-color: #C8232C !important; }\\r\\n\\r\\n.si-tumblr:hover, .si-colored-tumblr {\\r\\nbackground-color: #34526F !important; }\\r\\n\\r\\n.si-vimeo:hover, .si-colored-vimeo {\\r\\nbackground-color: #86C9EF !important; }\\r\\n\\r\\n.si-digg:hover, .si-colored-digg {\\r\\nbackground-color: #191919 !important; }\\r\\n\\r\\n.si-instagram:hover, .si-colored-instagram {\\r\\nbackground-color: #3F729B !important; }\\r\\n\\r\\n.si-flickr:hover, .si-colored-flickr {\\r\\nbackground-color: #FF0084 !important; }\\r\\n\\r\\n.si-paypal:hover, .si-colored-paypal {\\r\\nbackground-color: #00588B !important; }\\r\\n\\r\\n.si-yahoo:hover, .si-colored-yahoo {\\r\\nbackground-color: #720E9E !important; }\\r\\n\\r\\n.si-android:hover, .si-colored-andriod {\\r\\nbackground-color: #A4C639 !important; }\\r\\n\\r\\n.si-appstore:hover, .si-colored-apple {\\r\\nbackground-color: #000 !important; }\\r\\n\\r\\n.si-dropbox:hover {\\r\\nbackground-color: #3D9AE8 !important; }\\r\\n\\r\\n.si-dribbble:hover, .si-colored-dribbble {\\r\\nbackground-color: #EA4C89 !important; }\\r\\n\\r\\n.si-soundcloud:hover, .si-colored-soundcoloud {\\r\\nbackground-color: #F70 !important; }\\r\\n\\r\\n.si-xing:hover, .si-colored-xing {\\r\\nbackground-color: #126567 !important; }\\r\\n\\r\\n.si-phone:hover, .si-colored-phone {\\r\\nbackground-color: #444 !important; }\\r\\n\\r\\n.si-behance:hover, .si-colored-behance {\\r\\nbackground-color: #053eff !important; }\\r\\n\\r\\n.si-github:hover, .si-colored-github {\\r\\nbackground-color: #171515 !important; }\\r\\n\\r\\n.si-stumbleupon:hover, .si-colored-stumbleupon {\\r\\nbackground-color: #F74425 !important; }\\r\\n\\r\\n.si-email:hover, .si-colored-email {\\r\\nbackground-color: #6567A5 !important; }\\r\\n\\r\\n.si-wordpress:hover, .si-colored-wordpress {\\r\\nbackground-color: #1E8CBE !important; }\\r\\n\\r\\n.btn-icon-rounded {\\r\\nwidth: 3rem;\\r\\nheight: 3rem;\\r\\nline-height: 2.5rem;\\r\\ntext-align: center;\\r\\nborder-radius: 50%;\\r\\ncolor: #fff; }\\r\\n.btn-icon-rounded.btn-sm {\\r\\n width: 2rem;\\r\\n height: 2rem;\\r\\n line-height: 1.5rem; }\\r\\n.btn-icon-rounded.btn-lg {\\r\\n width: 4rem;\\r\\n height: 4rem;\\r\\n line-height: 3.5rem; }\\r\\n\\r\\n/*\\r\\nDropdown Menu\\r\\n*/\\r\\n.show > .dropdown-menu {\\r\\ndisplay: block; }\\r\\n\\r\\n.dropdown-menu {\\r\\nborder: 0px;\\r\\nborder-top-left-radius: 0px;\\r\\nborder-top-right-radius: 0px;\\r\\nbox-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1); }\\r\\n.dropdown-menu .dropdown-item {\\r\\n font-size: 13px; }\\r\\n .dropdown-menu .dropdown-item a {\\r\\n color: #999; }\\r\\n\\r\\n@media (min-width: 992px) {\\r\\n.dropdown-menu, .dropdown-submenu .dropdown-menu {\\r\\n display: block;\\r\\n opacity: 0;\\r\\n visibility: hidden;\\r\\n z-index: 1;\\r\\n -moz-transform: translateY(8px);\\r\\n -o-transform: translateY(8px);\\r\\n -ms-transform: translateY(8px);\\r\\n -webkit-transform: translateY(8px);\\r\\n transform: translateY(8px);\\r\\n -webkit-transition: all .3s;\\r\\n -moz-transition: all .3s;\\r\\n -ms-transition: all .3s;\\r\\n -o-transition: all .3s;\\r\\n transition: all .3s; }\\r\\n.show > .dropdown-menu, .dropdown-submenu:hover > .dropdown-menu {\\r\\n opacity: 1;\\r\\n visibility: visible;\\r\\n z-index: 1000;\\r\\n -moz-transform: none;\\r\\n -o-transform: none;\\r\\n -ms-transform: none;\\r\\n -webkit-transform: none;\\r\\n transform: none; }\\r\\n.dropdown-menu {\\r\\n margin-top: 15px; } }\\r\\n\\r\\n.dropdown-toggle:after {\\r\\ndisplay: none; }\\r\\n\\r\\n.notification-dropdown {\\r\\nmin-width: 310px;\\r\\npadding: 15px; }\\r\\n.notification-dropdown li.notification-header {\\r\\n padding: 10px 15px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n font-size: 13px;\\r\\n font-weight: 700; }\\r\\n.notification-dropdown li.notify-item {\\r\\n padding: 10px 15px; }\\r\\n .notification-dropdown li.notify-item:hover {\\r\\n background-color: #f7f7f9; }\\r\\n\\r\\n.notify-thumb {\\r\\nwidth: 40px;\\r\\nheight: 40px;\\r\\noverflow: hidden;\\r\\nline-height: 40px;\\r\\ntext-align: center;\\r\\nfloat: left;\\r\\nmargin-right: 10px;\\r\\nborder-radius: 50%; }\\r\\n\\r\\n.notify-content {\\r\\noverflow: hidden; }\\r\\n.notify-content a {\\r\\n color: #333;\\r\\n font-weight: 400;\\r\\n font-size: 13px;\\r\\n display: block;\\r\\n line-height: 22px;\\r\\n margin-bottom: 5px; }\\r\\n .notify-content a span {\\r\\n font-size: 10px;\\r\\n color: #999;\\r\\n font-weight: 400; }\\r\\n .notify-content a:hover {\\r\\n color: #0073ff; }\\r\\n.notify-content p {\\r\\n margin: 0px;\\r\\n font-size: 13px;\\r\\n line-height: 18px;\\r\\n color: #aeaeae; }\\r\\n\\r\\n.user-item {\\r\\nvertical-align: middle; }\\r\\n.user-item .icon-circle {\\r\\n width: auto; }\\r\\n.user-item > a {\\r\\n vertical-align: middle;\\r\\n color: #777;\\r\\n line-height: 32px; }\\r\\n .user-item > a .img-fluid {\\r\\n display: inline-block;\\r\\n margin-right: 5px;\\r\\n width: 34px;\\r\\n vertical-align: middle;\\r\\n position: relative;\\r\\n top: 0px;\\r\\n border: 1px solid #eee; }\\r\\n.user-item .dropdown-item a {\\r\\n padding: 4px .6rem;\\r\\n color: #999;\\r\\n display: block;\\r\\n font-size: 14px; }\\r\\n .user-item .dropdown-item a > i {\\r\\n display: inline-block;\\r\\n margin-right: 8px; }\\r\\n .user-item .dropdown-item a:hover {\\r\\n color: #0073ff; }\\r\\n\\r\\n/*\\r\\nWidgets\\r\\n*/\\r\\n.widget-info {\\r\\nwidth: 100%;\\r\\ndisplay: -ms-flexbox;\\r\\ndisplay: flex;\\r\\n-ms-flex-align: stretch;\\r\\nalign-items: stretch;\\r\\noverflow: hidden;\\r\\nborder-radius: 5px;\\r\\nbox-shadow: 0px 0px 20px rgba(0, 0, 0, 0.02); }\\r\\n.widget-info > i {\\r\\n display: -ms-flexbox;\\r\\n display: flex;\\r\\n -ms-flex-align: center;\\r\\n align-items: center;\\r\\n -ms-flex-pack: center;\\r\\n justify-content: center;\\r\\n width: 80px;\\r\\n -ms-flex-negative: 0;\\r\\n flex-shrink: 0;\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n font-size: 30px;\\r\\n color: #fff; }\\r\\n\\r\\n.widget-content {\\r\\nwidth: 100%;\\r\\npadding: 0px 10px 0px 10px;\\r\\ndisplay: -ms-flexbox;\\r\\ndisplay: flex;\\r\\n-ms-flex-direction: column;\\r\\nflex-direction: column;\\r\\ntext-align: right; }\\r\\n\\r\\n.widget-info.bg-white > i {\\r\\nbackground-color: #fbfbfb; }\\r\\n\\r\\n.widget-info-2 {\\r\\npadding: 30px 20px;\\r\\ncolor: #fff; }\\r\\n.widget-info-2 > i {\\r\\n display: block;\\r\\n width: 90px;\\r\\n margin: 0 auto;\\r\\n margin-bottom: 20px;\\r\\n text-align: center;\\r\\n font-size: 50px; }\\r\\n\\r\\n.widget2-content {\\r\\ntext-align: center; }\\r\\n.widget2-content h4 {\\r\\n color: #fff; }\\r\\n\\r\\n.widget-user-simple {\\r\\nbackground-color: #fff;\\r\\npadding: 18px 18px 18px;\\r\\ndisplay: block;\\r\\nbox-shadow: 0px 0px 20px rgba(0, 0, 0, 0.02); }\\r\\n.widget-user-simple span {\\r\\n color: #999; }\\r\\n\\r\\n.widget-user-alt {\\r\\ndisplay: block;\\r\\nbackground-color: #fff;\\r\\npadding-top: 20px;\\r\\nbox-shadow: 0px 0px 20px rgba(0, 0, 0, 0.02); }\\r\\n.widget-user-alt .img-fluid {\\r\\n display: block;\\r\\n margin: 0 auto; }\\r\\n.widget-user-alt .bg-faded {\\r\\n padding: 25px 20px; }\\r\\n.widget-user-alt span {\\r\\n color: #999; }\\r\\n\\r\\n.widget-img {\\r\\noverflow: hidden;\\r\\nborder-radius: 5px;\\r\\nbox-shadow: 0px 0px 20px rgba(0, 0, 0, 0.02); }\\r\\n.widget-img .img-widget-top {\\r\\n position: relative; }\\r\\n .widget-img .img-widget-top .author {\\r\\n width: 120px;\\r\\n border-radius: 50%;\\r\\n position: absolute;\\r\\n left: 50%;\\r\\n bottom: -60px;\\r\\n margin-left: -60px;\\r\\n overflow: hidden;\\r\\n box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.09); }\\r\\n\\r\\n.widget-img-content {\\r\\nbackground-color: #fff;\\r\\npadding: 30px 20px;\\r\\npadding-top: 70px; }\\r\\n.widget-img-content h4 {\\r\\n font-size: 1rem;\\r\\n margin-bottom: 0px; }\\r\\n.widget-img-content span {\\r\\n display: block;\\r\\n margin-bottom: 20px; }\\r\\n\\r\\n.widget-icon-left {\\r\\nwidth: 100%; }\\r\\n.widget-icon-left .widget-icon-left-body {\\r\\n overflow: hidden; }\\r\\n .widget-icon-left .widget-icon-left-body:before {\\r\\n content: \\\"\\\";\\r\\n display: table; }\\r\\n\\r\\n.activity-widget .list-group-item {\\r\\nborder: 0px; }\\r\\n\\r\\n.widget-todo {\\r\\npadding: 0px 20px; }\\r\\n.widget-todo .todo-item {\\r\\n padding: 10px 0px;\\r\\n border-bottom: 1px solid #eee; }\\r\\n .widget-todo .todo-item:last-child {\\r\\n border-bottom: 0px; }\\r\\n.widget-todo .todo-item input[type=\\\"checkbox\\\"]:checked ~ span.todo-text {\\r\\n color: #252525;\\r\\n text-decoration: line-through; }\\r\\n\\r\\n/*\\r\\nCards custom style\\r\\n*/\\r\\n.card {\\r\\nborder: 0px;\\r\\nbox-shadow: 0px 0px 20px rgba(0, 0, 0, 0.02); }\\r\\n.card .card-top {\\r\\n display: -ms-flexbox;\\r\\n display: flex;\\r\\n -ms-flex-direction: row;\\r\\n flex-direction: row;\\r\\n -ms-flex-pack: justify;\\r\\n justify-content: space-between;\\r\\n -ms-flex-align: center;\\r\\n align-items: center;\\r\\n padding: 5px 15px;\\r\\n transition: opacity .2s ease-out;\\r\\n background-color: #fff;\\r\\n border-top: 2px solid #ddd;\\r\\n border-top-left-radius: 2px;\\r\\n border-top-right-radius: 2px; }\\r\\n .card .card-top.bg-primary, .card .card-top.bg-warning, .card .card-top.bg-success, .card .card-top.bg-danger, .card .card-top.bg-info {\\r\\n border-top: 0px;\\r\\n border-bottom: 0px; }\\r\\n.card .card-title {\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n min-height: 28px;\\r\\n margin: 0;\\r\\n font-size: .9rem;\\r\\n font-weight: 600;\\r\\n line-height: 28px; }\\r\\n.card .card-options {\\r\\n -ms-flex: 0 0 auto;\\r\\n flex: 0 0 auto;\\r\\n padding-left: 10px; }\\r\\n .card .card-options .input-group {\\r\\n position: relative; }\\r\\n .card .card-options .input-group .input-group-addon {\\r\\n padding: 0px;\\r\\n position: absolute;\\r\\n z-index: 10;\\r\\n background: transparent;\\r\\n border: 0px;\\r\\n right: 10px;\\r\\n top: 5px; }\\r\\n .card .card-options .form-control {\\r\\n border-radius: 100px; }\\r\\n .card .card-options .form-control.form-control-sm {\\r\\n font-size: 12px;\\r\\n height: 24px;\\r\\n line-height: 12px;\\r\\n padding: .10rem .5rem; }\\r\\n .card .card-options > a {\\r\\n width: 24px;\\r\\n height: 24px;\\r\\n line-height: 24px;\\r\\n text-align: center;\\r\\n background-color: #eee;\\r\\n display: inline-block;\\r\\n color: #666;\\r\\n border-radius: 50%; }\\r\\n.card .card-content {\\r\\n padding: 15px 15px; }\\r\\n.card.header-transparent .card-top {\\r\\n background-color: transparent; }\\r\\n\\r\\n/*\\r\\nForms customization\\r\\n*/\\r\\nselect.form-control.rounded, .form-control.rounded {\\r\\nborder-radius: 100px !important; }\\r\\n\\r\\n/*** header style***/\\r\\n.navbar-expand-lg .navbar-nav {\\r\\n-webkit-box-orient: horizontal;\\r\\n-webkit-box-direction: normal;\\r\\n-webkit-flex-direction: row;\\r\\n-ms-flex-direction: row;\\r\\nflex-direction: row; }\\r\\n\\r\\n.header {\\r\\nbackground: #fff;\\r\\npadding: 15px 15px; }\\r\\n\\r\\n@media (min-width: 992px) {\\r\\n.header .navbar {\\r\\n padding: 0px; }\\r\\n .header .navbar .nav-item {\\r\\n vertical-align: middle; } }\\r\\n\\r\\n.form-inline {\\r\\ntop: 3px;\\r\\nposition: relative; }\\r\\n.form-inline .icon-search {\\r\\n position: absolute;\\r\\n right: 20px;\\r\\n top: 7px;\\r\\n background-color: transparent;\\r\\n border: 0px;\\r\\n padding: 0px;\\r\\n font-size: 16px; }\\r\\n.form-inline .form-control {\\r\\n border: 1px solid #eee;\\r\\n border-radius: 5px;\\r\\n font-size: 12px;\\r\\n font-weight: 400; }\\r\\n .form-inline .form-control:focus {\\r\\n box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1); }\\r\\n\\r\\n.btn-circle-round {\\r\\nbackground-color: transparent;\\r\\nborder-radius: 50%;\\r\\nwidth: 34px;\\r\\nheight: 34px;\\r\\nline-height: 34px;\\r\\ncolor: #666;\\r\\ntext-align: center;\\r\\ndisplay: block;\\r\\noutline: 0;\\r\\nborder: 1px solid #eee;\\r\\nposition: relative; }\\r\\n.btn-circle-round > i {\\r\\n display: block;\\r\\n line-height: 32px;\\r\\n font-size: 16px; }\\r\\n.btn-circle-round:hover, .btn-circle-round:focus, .btn-circle-round:active {\\r\\n color: #fff;\\r\\n background-color: #0073ff; }\\r\\n\\r\\n.btn-circle-round .badge {\\r\\nposition: absolute;\\r\\ntop: -2px;\\r\\nright: 0px; }\\r\\n\\r\\n.navbar-nav.ml-auto .nav-item {\\r\\npadding-left: 15px; }\\r\\n\\r\\n@media (max-width: 991px) {\\r\\n.form-inline.my-2 {\\r\\n margin-top: 0 !important; }\\r\\n.header {\\r\\n background-color: #fff;\\r\\n padding: 5px 15px;\\r\\n padding-bottom: 0px; }\\r\\n.navbar.navbar-expand-lg {\\r\\n padding-left: 0px;\\r\\n padding-right: 0px; }\\r\\nul.navbar-nav.ml-auto {\\r\\n position: relative;\\r\\n margin-top: -4px; }\\r\\n.navbar.navbar-expand-lg .dropdown-menu {\\r\\n position: absolute; }\\r\\n.header .sidebar-toggler {\\r\\n position: relative;\\r\\n top: -5px; }\\r\\n.page-footer {\\r\\n padding: 0px 15px; }\\r\\n.page-wrapper.sidebar-enable .sidebar-toggler {\\r\\n border-radius: 0px;\\r\\n background-color: #212121;\\r\\n color: #fff;\\r\\n margin-left: -15px; }\\r\\n.navbar-expand-lg .dropdown-menu {\\r\\n left: auto;\\r\\n right: 0; } }\\r\\n\\r\\n/* \\r\\nSidebar style\\r\\n*/\\r\\n.metismenu .has-arrow:after {\\r\\ncontent: \\\"\\\";\\r\\ndisplay: none; }\\r\\n\\r\\n.metismenu .has-arrow:before {\\r\\nfont-family: \\\"Ionicons\\\";\\r\\ncontent: \\\"\\\\f363\\\";\\r\\nposition: absolute;\\r\\nright: 10px;\\r\\ntop: 10px;\\r\\ntransition: all .3s ease-in-out;\\r\\n-webkit-transition: all .3s ease-in-out; }\\r\\n\\r\\n.metismenu .active .has-arrow:before {\\r\\ncontent: \\\"\\\\f35f\\\"; }\\r\\n\\r\\n.page-wrapper .sidebar-nav {\\r\\nbox-shadow: 5px 0 10px rgba(0, 0, 0, 0.02);\\r\\nposition: fixed;\\r\\ntop: 0;\\r\\nbottom: 0;\\r\\nleft: 0;\\r\\nz-index: 1033;\\r\\nwidth: 100%;\\r\\nbackground-color: #334f65;\\r\\noverflow-y: auto;\\r\\ntransition: -webkit-transform 0.26s cubic-bezier(0.47, 0, 0.745, 0.715);\\r\\ntransition: transform 0.26s cubic-bezier(0.47, 0, 0.745, 0.715);\\r\\ntransition: transform 0.26s cubic-bezier(0.47, 0, 0.745, 0.715), -webkit-transform 0.26s cubic-bezier(0.47, 0, 0.745, 0.715);\\r\\n-webkit-overflow-scrolling: touch;\\r\\nwill-change: transform;\\r\\nheight: 100%; }\\r\\n\\r\\n@media (min-width: 992px) {\\r\\n.page-wrapper .sidebar-nav {\\r\\n width: 220px !important;\\r\\n overflow-y: hidden;\\r\\n transition: all .3s ease-in-out;\\r\\n -webkit-transition: all .3s ease-in-out; }\\r\\n.page-wrapper.sidebar-enable .sidebar-nav {\\r\\n -webkit-transform: translateX(-100%) translateY(0) translateZ(0);\\r\\n transform: translateX(-100%) translateY(0) translateZ(0); }\\r\\n.page-wrapper.sidebar-enable {\\r\\n padding-left: 0px; }\\r\\n.page-wrapper.sidebar-enable .page-footer {\\r\\n left: 0; } }\\r\\n\\r\\n/**metis menu**/\\r\\n.metismenu {\\r\\nlist-style: none;\\r\\npadding: 0px;\\r\\npadding-left: 1rem; }\\r\\n.metismenu > li {\\r\\n margin-bottom: 10px; }\\r\\n .metismenu > li > a {\\r\\n display: block;\\r\\n padding: 9px 1.6rem;\\r\\n padding-left: 40px;\\r\\n color: #aeaeae;\\r\\n text-transform: capitalize;\\r\\n font-weight: 400;\\r\\n font-size: 14px;\\r\\n line-height: 18px;\\r\\n position: relative; }\\r\\n .metismenu > li > a > i {\\r\\n margin-right: .5rem;\\r\\n font-size: 1rem;\\r\\n vertical-align: bottom;\\r\\n display: inline-block;\\r\\n position: absolute;\\r\\n top: 9px;\\r\\n left: 0;\\r\\n width: 28px;\\r\\n text-align: center; }\\r\\n .metismenu > li > a:hover, .metismenu > li > a:focus {\\r\\n color: #fff; }\\r\\n .metismenu > li > a .badge {\\r\\n margin-left: 10px;\\r\\n vertical-align: middle;\\r\\n font-weight: 400;\\r\\n position: relative;\\r\\n top: -2px; }\\r\\n .metismenu > li.active > a {\\r\\n color: #fff; }\\r\\n .metismenu > li.nav-heading {\\r\\n padding: 24px 18px 6px;\\r\\n font-size: 12px;\\r\\n font-weight: 400;\\r\\n text-transform: uppercase;\\r\\n opacity: .3;\\r\\n color: #fff; }\\r\\n\\r\\n.metis-secondary {\\r\\nlist-style: none;\\r\\nmargin: 0;\\r\\nmargin-left: -1rem;\\r\\npadding-left: 2.5rem;\\r\\nbackground-color: rgba(0, 0, 0, 0.1); }\\r\\n.metis-secondary > li:first-child {\\r\\n padding-top: 10px; }\\r\\n.metis-secondary > li:last-child {\\r\\n padding-bottom: 10px; }\\r\\n.metis-secondary > li > a {\\r\\n display: block;\\r\\n padding: 7px 1.3rem;\\r\\n color: #aeaeae;\\r\\n text-transform: capitalize;\\r\\n font-weight: 400;\\r\\n font-size: 14px; }\\r\\n .metis-secondary > li > a:hover, .metis-secondary > li > a:focus {\\r\\n color: #fff; }\\r\\n.metis-secondary .badge {\\r\\n font-weight: 400;\\r\\n margin-left: 8px;\\r\\n position: relative;\\r\\n top: -2px; }\\r\\n.metis-secondary ul.metis-secondary {\\r\\n background-color: transparent; }\\r\\n\\r\\n.logo-header {\\r\\npadding: 23px 20px; }\\r\\n.logo-header img {\\r\\n display: block;\\r\\n margin: 0 auto; }\\r\\n\\r\\n@media (max-width: 991px) {\\r\\n.page-wrapper .sidebar-nav {\\r\\n margin-left: -220px;\\r\\n width: 220px; }\\r\\n.main-content {\\r\\n padding-left: 0px; }\\r\\n.page-footer {\\r\\n left: 0; }\\r\\n.page-wrapper.sidebar-enable .sidebar-nav {\\r\\n margin-left: 0px; }\\r\\n.page-wrapper.sidebar-enable .main-content {\\r\\n margin-left: 220px; }\\r\\n.page-wrapper.sidebar-enable .sidebar-toggler i:before {\\r\\n content: \\\"\\\\e92a\\\";\\r\\n font-family: 'Linearicons'; } }\\r\\n\\r\\n/***light sidebar**/\\r\\n.page-wrapper .sidebar-nav.light-sidebar {\\r\\nbackground-color: #fff;\\r\\nborder-right: 1px solid #eee; }\\r\\n.page-wrapper .sidebar-nav.light-sidebar .metismenu > li.nav-heading {\\r\\n color: #000; }\\r\\n.page-wrapper .sidebar-nav.light-sidebar .metis-secondary {\\r\\n background-color: #fff; }\\r\\n.page-wrapper .sidebar-nav.light-sidebar .metismenu > li.active > a {\\r\\n color: #0073ff; }\\r\\n .page-wrapper .sidebar-nav.light-sidebar .metismenu > li.active > a > i {\\r\\n color: #0073ff; }\\r\\n.page-wrapper .sidebar-nav.light-sidebar .metismenu > li > a:hover, .page-wrapper .sidebar-nav.light-sidebar .metismenu > li > a:focus {\\r\\n color: #0073ff; }\\r\\n .page-wrapper .sidebar-nav.light-sidebar .metismenu > li > a:hover > i, .page-wrapper .sidebar-nav.light-sidebar .metismenu > li > a:focus > i {\\r\\n color: #0073ff; }\\r\\n.page-wrapper .sidebar-nav.light-sidebar .metismenu > li > a > i {\\r\\n color: #999;\\r\\n transition: all .3s;\\r\\n -webkit-transition: all .3s; }\\r\\n.page-wrapper .sidebar-nav.light-sidebar .metis-secondary > li > a:hover, .page-wrapper .sidebar-nav.light-sidebar .metis-secondary > li > a:focus {\\r\\n color: #555; }\\r\\n.page-wrapper .sidebar-nav.light-sidebar .progress-card.dark-progress .progress-title {\\r\\n color: #666; }\\r\\n.page-wrapper .sidebar-nav.light-sidebar .progress-card.dark-progress .progress {\\r\\n background-color: #eee; }\\r\\n.page-wrapper .sidebar-nav.light-sidebar .metismenu > li > a {\\r\\n color: #333; }\\r\\n\\r\\n/*\\r\\nPage titles\\r\\n*/\\r\\n.page-title .breadcrumb {\\r\\npadding: 0px;\\r\\nmargin: 0px;\\r\\nbackground-color: transparent;\\r\\nfloat: right; }\\r\\n\\r\\n.page-title h4 {\\r\\nfont-weight: 300;\\r\\ntext-transform: capitalize; }\\r\\n\\r\\n/*\\r\\n.progress-bars\\r\\n*/\\r\\n.progress-card .progress {\\r\\nheight: 7px;\\r\\nborder-radius: 0px; }\\r\\n.progress-card .progress .progress-bar {\\r\\n line-height: 10px;\\r\\n height: 7px;\\r\\n border-radius: 0px; }\\r\\n\\r\\n.progress-card .progress-title {\\r\\ncolor: #333;\\r\\nfont-weight: 500;\\r\\nmargin-bottom: 7px; }\\r\\n.progress-card .progress-title span {\\r\\n color: #999;\\r\\n font-weight: 300;\\r\\n font-size: 12px; }\\r\\n\\r\\n.progress-card.dark-progress {\\r\\npadding: 10px 15px; }\\r\\n.progress-card.dark-progress .progress-title {\\r\\n color: #fff; }\\r\\n.progress-card.dark-progress .progress {\\r\\n background-color: rgba(255, 255, 255, 0.2); }\\r\\n\\r\\n.progress {\\r\\nmargin-bottom: 10px;\\r\\nheight: 5px; }\\r\\n.progress .progress-bars {\\r\\n height: 5px; }\\r\\n\\r\\n.skill-bar span {\\r\\ndisplay: block;\\r\\nmargin-bottom: 5px;\\r\\nfont-size: 12px; }\\r\\n\\r\\n/*\\r\\nSmart forms UI customization\\r\\n*/\\r\\n.smart-forms .switch, .smart-forms .option, .smart-forms .field-label {\\r\\nfont-size: 13px; }\\r\\n\\r\\n.smart-forms, .smart-forms label, .smart-forms input, .smart-forms button, .smart-forms select, .smart-forms textarea {\\r\\nfont-family: \\\"Open Sans\\\", sans-serif; }\\r\\n\\r\\n.smart-forms .tagline span {\\r\\ncolor: #444; }\\r\\n\\r\\n.smart-forms .form-footer {\\r\\npadding-top: 0px;\\r\\npadding-bottom: 0px;\\r\\nbackground-image: none;\\r\\nbackground: none;\\r\\nbackground-color: transparent; }\\r\\n\\r\\n.smart-forms .progress-bar {\\r\\nheight: auto; }\\r\\n\\r\\n.smart-forms.card-content {\\r\\npadding-bottom: 30px; }\\r\\n\\r\\n.smart-forms .btn-primary {\\r\\nbackground: #2a7db5 ; }\\r\\n\\r\\n/*\\r\\nPricing tables\\r\\n*/\\r\\n.pricing-table {\\r\\nmargin: 10px 0;\\r\\npadding: 0 15px;\\r\\nwidth: 100%;\\r\\ndisplay: -webkit-box;\\r\\ndisplay: -webkit-flex;\\r\\ndisplay: -ms-flexbox;\\r\\ndisplay: flex;\\r\\n-webkit-flex-wrap: wrap;\\r\\n-ms-flex-wrap: wrap;\\r\\nflex-wrap: wrap; }\\r\\n\\r\\n.plan {\\r\\nbackground-color: #fff;\\r\\nbox-shadow: 0px 0px 20px rgba(0, 0, 0, 0.05);\\r\\nborder-radius: 5px;\\r\\ncolor: #333;\\r\\nmargin-bottom: 35px;\\r\\nposition: relative;\\r\\nz-index: 1; }\\r\\n.plan h6 {\\r\\n color: #aeaeae;\\r\\n font-weight: 400; }\\r\\n.plan .pricing-content {\\r\\n padding: 2em 0 1.5em 1.5em; }\\r\\n.plan .plan-header {\\r\\n padding: 2em 0 1.5em 1.5em; }\\r\\n .plan .plan-header h1 {\\r\\n font-weight: 700; }\\r\\n .plan .plan-header h1 small {\\r\\n font-size: 14px; }\\r\\n.plan ul {\\r\\n padding: 2em 0 2em 1.5em;\\r\\n margin: 0px; }\\r\\n .plan ul li {\\r\\n padding: 5px 0;\\r\\n font-size: 15px;\\r\\n color: #999; }\\r\\n .plan ul li i {\\r\\n color: #0073ff;\\r\\n display: inline-block;\\r\\n margin-right: 10px; }\\r\\n.plan.popular-plan {\\r\\n box-shadow: 11px 0 10px -10px rgba(0, 0, 0, 0.3), -11px 0 10px -10px rgba(0, 0, 0, 0.3);\\r\\n position: relative;\\r\\n z-index: 2; }\\r\\n.plan.plan-dark {\\r\\n border: 0px; }\\r\\n .plan.plan-dark h1, .plan.plan-dark ul li, .plan.plan-dark ul li i, .plan.plan-dark h6, .plan.plan-dark h4 {\\r\\n color: #fff; }\\r\\n .plan.plan-dark h4, .plan.plan-dark ul li, .plan.plan-dark h6 {\\r\\n opacity: 0.8; }\\r\\n\\r\\n/*\\r\\nCalendar custom css\\r\\n*/\\r\\n.fc-event {\\r\\npadding: 10px 15px;\\r\\nmargin-bottom: 10px;\\r\\nbackground-color: transparent;\\r\\ncolor: #333;\\r\\nborder: 2px solid #ddd; }\\r\\n.fc-event:hover, .fc-event:focus {\\r\\n background-color: transparent;\\r\\n color: #333; }\\r\\n\\r\\n.jvectormap-label {\\r\\nposition: absolute;\\r\\ndisplay: none;\\r\\nborder: solid 1px #313232;\\r\\nborder-radius: 2px;\\r\\nbackground: #313232;\\r\\ncolor: #fff;\\r\\npadding: 3px 6px;\\r\\nopacity: .9;\\r\\nz-index: 11; }\\r\\n\\r\\n.calendar-app .fc-button {\\r\\nbackground-image: none;\\r\\nbackground-color: rgba(160, 160, 160, 0.25);\\r\\ncolor: inherit;\\r\\nbox-shadow: 0 0 0 #000;\\r\\nborder-radius: 100px;\\r\\nfont-size: .9rem;\\r\\npadding: .15rem .85rem;\\r\\nheight: 2rem;\\r\\nborder: 1px solid rgba(160, 160, 160, 0.25);\\r\\ntext-shadow: none; }\\r\\n\\r\\n.calendar-app .fc-button + .fc-button {\\r\\nmargin-left: 4px; }\\r\\n\\r\\n.calendar-app .fc-button.fc-state-active {\\r\\nbackground-color: #0073ff;\\r\\ncolor: #fff; }\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n.calendar-app .fc-button {\\r\\n padding: .25rem .5rem;\\r\\n height: 2rem;\\r\\n font-size: .7rem; } }\\r\\n\\r\\n.calendar-app .fc-toolbar .fc-center {\\r\\nmargin-top: 1rem; }\\r\\n\\r\\n@media only screen and (min-width: 480px) {\\r\\n.calendar-app .fc-toolbar .fc-center {\\r\\n margin-top: .5rem; } }\\r\\n\\r\\n.calendar-app .fc-event, .calendar-app .fc-event-dot {\\r\\ncolor: #59676b;\\r\\nbackground-color: rgba(0, 115, 255, 0.3);\\r\\nborder: 0;\\r\\nborder-left: 2px solid #0073ff;\\r\\npadding: 4px;\\r\\nborder-radius: 1px; }\\r\\n\\r\\n.calendar-app .fc-unthemed td.fc-today {\\r\\nbackground-color: transparent; }\\r\\n\\r\\n.calendar-app .fc-unthemed td.fc-today .fc-day-number {\\r\\nposition: relative;\\r\\nbackground-color: #5bc0de;\\r\\ntop: 1px;\\r\\nright: 1px;\\r\\ncolor: #fff;\\r\\nwidth: 20px;\\r\\nheight: 20px;\\r\\nline-height: 20px;\\r\\ntext-align: center;\\r\\nborder-radius: 2px;\\r\\nmargin-bottom: 6px; }\\r\\n\\r\\n.calendar-app .fc-unthemed .fc-content, .calendar-app .fc-unthemed .fc-divider, .calendar-app .fc-unthemed .fc-list-heading td, .calendar-app .fc-unthemed .fc-list-view, .calendar-app .fc-unthemed .fc-popover, .calendar-app .fc-unthemed .fc-row, .calendar-app .fc-unthemed tbody, .calendar-app .fc-unthemed td, .calendar-app .fc-unthemed th, .calendar-app .fc-unthemed thead {\\r\\nborder-color: rgba(160, 160, 160, 0.25); }\\r\\n\\r\\n/*\\r\\nProfile\\r\\n*/\\r\\n.profile-header {\\r\\nbackground-size: cover;\\r\\nposition: relative;\\r\\noverflow: hidden; }\\r\\n.profile-header .img-fluid.rounded-circle {\\r\\n max-width: 100px;\\r\\n margin: 0 auto;\\r\\n margin-bottom: 20px;\\r\\n display: block; }\\r\\n\\r\\n.activity-list > li {\\r\\nborder-bottom: 1px solid #eee;\\r\\npadding-bottom: 20px;\\r\\nmargin-bottom: 20px; }\\r\\n\\r\\n.activity-list .float-left {\\r\\nmargin-right: 10px;\\r\\nwidth: 40px;\\r\\nheight: 40px;\\r\\nfloat: left;\\r\\ndisplay: block;\\r\\nborder-radius: 50%;\\r\\nbackground-color: #eee;\\r\\nfont-size: 20px;\\r\\nline-height: 100%;\\r\\nline-height: 43px;\\r\\ntext-align: center; }\\r\\n.activity-list .float-left a {\\r\\n display: inline-block;\\r\\n color: #999; }\\r\\n\\r\\n.act-content {\\r\\noverflow: hidden; }\\r\\n.act-content span.text-small {\\r\\n display: block;\\r\\n color: #999;\\r\\n margin-bottom: 10px;\\r\\n font-size: 12px; }\\r\\n\\r\\n/*\\r\\nSummernote customization\\r\\n*/\\r\\n.note-popover {\\r\\ndisplay: none; }\\r\\n\\r\\n.note-editor .dropdown-menu {\\r\\nborder: 2px solid #eee;\\r\\npadding: 10px 15px; }\\r\\n\\r\\n.note-editor.note-frame {\\r\\nborder: 0px; }\\r\\n\\r\\n/*\\r\\nTables Style\\r\\n*/\\r\\n.dataTables_paginate > ul.pagination {\\r\\nFloat: right; }\\r\\n\\r\\n.dataTables_paginate:after {\\r\\ncontent: \\\"\\\";\\r\\ndisplay: table; }\\r\\n\\r\\n.dataTables_filter {\\r\\ntext-align: right; }\\r\\n.dataTables_filter:after {\\r\\n content: \\\"\\\";\\r\\n display: table; }\\r\\n\\r\\n.dataTables_wrapper.container-fluid {\\r\\npadding-left: 0px;\\r\\npadding-right: 0px; }\\r\\n\\r\\ndiv.dataTables_wrapper div.dataTables_paginate {\\r\\npadding-top: 10px; }\\r\\n\\r\\n/*\\r\\nWizard Style\\r\\n*/\\r\\n.wizard-example {\\r\\npadding-top: 30px;\\r\\npadding-bottom: 10px; }\\r\\n\\r\\n.wizard-steps, .wizard-content {\\r\\nmargin-bottom: 30px; }\\r\\n\\r\\n.wizard-pane {\\r\\nmin-height: 300px; }\\r\\n\\r\\n.wizard-steps > li {\\r\\npadding: 6px 15px;\\r\\nborder-radius: 100px; }\\r\\n.wizard-steps > li.current {\\r\\n background-color: #0073ff;\\r\\n color: #fff !important; }\\r\\n.wizard-steps > li.done {\\r\\n background-color: #4ebd4a;\\r\\n color: #fff !important; }\\r\\n.wizard-steps > li + li {\\r\\n margin-left: 15px; }\\r\\n\\r\\n.wizard-buttons {\\r\\ntext-align: right; }\\r\\n.wizard-buttons > a {\\r\\n border-radius: 2px; }\\r\\n .wizard-buttons > a.wizard-next {\\r\\n background-color: #0073ff;\\r\\n border-color: #0073ff;\\r\\n color: #fff !important; }\\r\\n\\r\\n/*\\r\\nTabs style\\r\\n*/\\r\\n.tabs-admin {\\r\\nborder-bottom: 2px solid #f5f6f7; }\\r\\n.tabs-admin > li {\\r\\n vertical-align: middle; }\\r\\n.tabs-admin > .nav-item > .nav-link {\\r\\n padding: 10px 15px;\\r\\n color: #555;\\r\\n font-weight: 600;\\r\\n text-transform: capitalize;\\r\\n margin-bottom: -2px;\\r\\n border-bottom: 2px solid transparent; }\\r\\n .tabs-admin > .nav-item > .nav-link.active {\\r\\n border-color: #0073ff;\\r\\n color: #0073ff; }\\r\\n .tabs-admin > .nav-item > .nav-link > i {\\r\\n margin-right: 5px;\\r\\n font-size: 16px; }\\r\\n.tabs-admin.tabs-icon li.nav-item > a.nav-link > i {\\r\\n margin-right: 0px;\\r\\n text-align: center;\\r\\n display: block;\\r\\n font-size: 20px; }\\r\\n\\r\\n.admin-tab-content {\\r\\npadding: 10px 15px; }\\r\\n\\r\\n/****************vertical Tabs****************/\\r\\n.vertical-tabs > .nav {\\r\\nfloat: left;\\r\\nmargin-right: 20px;\\r\\ndisplay: block;\\r\\nborder: 0px;\\r\\nbackground: #fff;\\r\\nborder: 4px solid #fff; }\\r\\n.vertical-tabs > .nav > .nav-item {\\r\\n display: block;\\r\\n float: none; }\\r\\n .vertical-tabs > .nav > .nav-item > .nav-link {\\r\\n display: block;\\r\\n float: none;\\r\\n border: 0px;\\r\\n position: relative; }\\r\\n .vertical-tabs > .nav > .nav-item > .nav-link.active:before, .vertical-tabs > .nav > .nav-item > .nav-link.active:after {\\r\\n left: 100%;\\r\\n top: 50%;\\r\\n border: solid transparent;\\r\\n content: \\\" \\\";\\r\\n height: 0;\\r\\n width: 0;\\r\\n position: absolute;\\r\\n pointer-events: none; }\\r\\n .vertical-tabs > .nav > .nav-item > .nav-link.active:after {\\r\\n border-color: rgba(255, 255, 255, 0);\\r\\n border-left-color: #fff;\\r\\n border-width: 6px;\\r\\n margin-top: -6px; }\\r\\n .vertical-tabs > .nav > .nav-item > .nav-link.active:before {\\r\\n border-color: rgba(255, 255, 255, 0);\\r\\n border-left-color: #fff;\\r\\n border-width: 12px;\\r\\n margin-top: -12px; }\\r\\n\\r\\n.vertical-tabs .tab-content {\\r\\noverflow: hidden;\\r\\nbackground-color: #fff; }\\r\\n\\r\\n/*\\r\\nAccordions also called collapse style\\r\\n*/\\r\\n.card-header {\\r\\nbackground-color: #fefefe; }\\r\\n.card-header h5 a {\\r\\n font-size: .8rem;\\r\\n color: #555;\\r\\n display: block;\\r\\n position: relative;\\r\\n padding-right: 30px; }\\r\\n .card-header h5 a:before {\\r\\n font-family: 'Linearicons';\\r\\n content: \\\"\\\\e937\\\";\\r\\n position: absolute;\\r\\n top: 2px;\\r\\n right: 5px; }\\r\\n .card-header h5 a.collapsed:before {\\r\\n font-family: 'Linearicons';\\r\\n content: \\\"\\\\e936\\\"; }\\r\\n\\r\\n/*\\r\\nToastr \\r\\n*/\\r\\n.toast-bottom-full-width, .toast-bottom-right, .toast-bottom-center, .toast-bottom-left, .toast-top-full-width, .toast-top-right, .toast-top-center, .toast-top-left {\\r\\nposition: fixed;\\r\\nz-index: 999999; }\\r\\n\\r\\n/*\\r\\nPagination style\\r\\n*/\\r\\n.page-link {\\r\\ncolor: #0073ff; }\\r\\n\\r\\n.page-item.active .page-link {\\r\\nbackground-color: #0073ff;\\r\\nborder-color: #0073ff; }\\r\\n\\r\\n/*\\r\\nInvoice style\\r\\n*/\\r\\n.container .invoice-details {\\r\\nmin-width: 200px; }\\r\\n\\r\\n.container .invoice-details td {\\r\\npadding: 2px 0; }\\r\\n\\r\\n.container .invoice-summary {\\r\\nborder-bottom: 2px solid #d0d0d0; }\\r\\n\\r\\n.container .invoice-summary thead > tr > th {\\r\\nfont-weight: 700;\\r\\npadding-bottom: 15px; }\\r\\n\\r\\n.container .invoice-summary tbody > tr > td {\\r\\nvertical-align: middle;\\r\\npadding: 10px 15px !important; }\\r\\n\\r\\n.container .invoice-summary tbody > tr > td > strong {\\r\\ndisplay: block;\\r\\nfont-weight: 600; }\\r\\n\\r\\n.container .invoice-summary tbody > tr > td > small {\\r\\ncolor: #afb9c3; }\\r\\n\\r\\n.container .invoice-summary .min-col {\\r\\nwidth: 10%;\\r\\nmin-width: 100px; }\\r\\n\\r\\n.container .invoice-summary th, .container .invoice-total th, .container .invoice-summary td, .container .invoice-total td {\\r\\npadding-left: 0 !important;\\r\\npadding-right: 0 !important; }\\r\\n\\r\\n.container .invoice-total {\\r\\nwidth: 30%;\\r\\nmax-width: 320px;\\r\\nfloat: right; }\\r\\n\\r\\n.container .invoice-total > tbody > tr:first-child > td {\\r\\nborder: 0 !important; }\\r\\n\\r\\n.container .invoice-total > tbody > tr td {\\r\\ntext-align: right; }\\r\\n\\r\\n.container .invoice-total > tbody > tr td:last-child {\\r\\nwidth: 200px; }\\r\\n\\r\\n@media print {\\r\\n.container .invoice-total {\\r\\n width: auto; } }\\r\\n\\r\\n/*\\r\\nError 404\\r\\n*/\\r\\n.error-404 {\\r\\nbackground-color: #fff;\\r\\npadding: 30px 20px;\\r\\ntext-align: center;\\r\\nmargin-top: 30px;\\r\\nborder-radius: 5px;\\r\\nbox-shadow: 0px 0px 30px rgba(0, 0, 0, 0.1); }\\r\\n.error-404 > h1 {\\r\\n font-size: 7rem;\\r\\n line-height: 7rem;\\r\\n font-weight: 300;\\r\\n margin-bottom: 20px; }\\r\\n.error-404 h3 {\\r\\n font-weight: 300; }\\r\\n\\r\\n/*\\r\\nCharts & graphs\\r\\n*/\\r\\n.flot-chart {\\r\\nheight: 250px;\\r\\ndisplay: block; }\\r\\n.flot-chart .flot-chart-content {\\r\\n width: 100%;\\r\\n height: 100%; }\\r\\n.flot-chart .flot-chart-pie-content {\\r\\n width: 200px;\\r\\n height: 250px;\\r\\n margin: 0 auto; }\\r\\n\\r\\n .h5{\\r\\n font-size:13px;\\r\\n font-weight: 800;\\r\\n color: black;\\r\\n }\\r\\n .sp {\\r\\n font-size: 13px;\\r\\n }\\r\\n .p-accordiontab.bg-primary div a span {\\r\\n color:darkgray !important;\\r\\n }\\r\\n\\r\\n\\r\\n\\r\\n .bigText {\\r\\n font-size:24px;\\r\\n font-weight: 600;\\r\\n }\\r\\n .vbigText{\\r\\n font-size:34px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n .smText {\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n }\\r\\n \\r\\n .widget-content[_ngcontent-c2] {\\r\\n padding: 0px 10px 0px 15px !important;}\\r\\n \\r\\n\\r\\n .minH {\\r\\n min-height: 38px;\\r\\n }\\r\\n .error-msg {\\r\\n color: red;\\r\\n }\\r\\n .has-error label{\\r\\n color:red!important;\\r\\n }\\r\\n .has-error textarea {\\r\\n border:1px solid red !important;\\r\\n } \\r\\n .has-error input {\\r\\n border:1px solid red !important;\\r\\n } \\r\\n .has-error select{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n \\r\\n .displayNone{\\r\\n display: none !important;\\r\\n }\\r\\n\\r\\n button.disabled{\\r\\n cursor: none;\\r\\n }\\r\\n\\r\\n\\r\\n\\r\\n .lbigText{\\r\\n font-size:20px;\\r\\n font-weight: 600;\\r\\n }\\r\\n\\r\\n@media (max-width: 1199px) {\\r\\n.mb30 {\\r\\nmargin-bottom: 10px !important;}\\r\\n}\\r\\n\\r\\n.mt-5 {\\r\\n margin-top: 5px !important;\\r\\n}\\r\\n\\r\\n.national-contracts-dnc ::ng-deep a.p-accordion-header-link{\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.contact-date ::ng-deep .p-calendar .p-datepicker {\\r\\n top: -500% !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `element.style {\r\n height: 135px;\r\n }\r\n \r\n .table td, .table th {\r\n border-top: 0px solid #e9ecef;\r\n}\r\n.radio, .checkbox {\r\n margin: 0 2px 5px 0 !important;\r\n}\r\n\r\n.error-msg {\r\n color: red;\r\n}\r\n .has-error label{\r\n color:red!important;\r\n }\r\n .has-error input{\r\n border:1px solid red !important;\r\n } \r\n\r\n .table>tbody>tr>td, \r\n.table>tbody>tr>th, \r\n.table>tfoot>tr>td, \r\n.table>tfoot>tr>th, \r\n.table>thead>tr>td, \r\n.table>thead>tr>th {\r\n\tvertical-align: top !important;\r\n}\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/approveagreement-2022/approveagreement.component-2022.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,aAAa;EACf;;EAEA;IACE,6BAA6B;AACjC;AACA;EACE,8BAA8B;AAChC;;AAEA;EACE,UAAU;AACZ;CACC;EACC,mBAAmB;EACnB;EACA;EACA,+BAA+B;EAC/B;;EAEA;;;;;;CAMD,8BAA8B;AAC/B\",\"sourcesContent\":[\"element.style {\\r\\n height: 135px;\\r\\n }\\r\\n \\r\\n .table td, .table th {\\r\\n border-top: 0px solid #e9ecef;\\r\\n}\\r\\n.radio, .checkbox {\\r\\n margin: 0 2px 5px 0 !important;\\r\\n}\\r\\n\\r\\n.error-msg {\\r\\n color: red;\\r\\n}\\r\\n .has-error label{\\r\\n color:red!important;\\r\\n }\\r\\n .has-error input{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n\\r\\n .table>tbody>tr>td, \\r\\n.table>tbody>tr>th, \\r\\n.table>tfoot>tr>td, \\r\\n.table>tfoot>tr>th, \\r\\n.table>thead>tr>td, \\r\\n.table>thead>tr>th {\\r\\n\\tvertical-align: top !important;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `element.style {\r\n height: 135px;\r\n }\r\n \r\n .table td, .table th {\r\n border-top: 0px solid #e9ecef;\r\n}\r\n.radio, .checkbox {\r\n margin: 0 2px 5px 0 !important;\r\n}\r\n\r\n.error-msg {\r\n color: red;\r\n}\r\n .has-error label{\r\n color:red!important;\r\n }\r\n .has-error input{\r\n border:1px solid red !important;\r\n } \r\n\r\n .table>tbody>tr>td, \r\n.table>tbody>tr>th, \r\n.table>tfoot>tr>td, \r\n.table>tfoot>tr>th, \r\n.table>thead>tr>td, \r\n.table>thead>tr>th {\r\n\tvertical-align: top !important;\r\n}\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/approveagreement-2023/approveagreement.component-2023.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,aAAa;EACf;;EAEA;IACE,6BAA6B;AACjC;AACA;EACE,8BAA8B;AAChC;;AAEA;EACE,UAAU;AACZ;CACC;EACC,mBAAmB;EACnB;EACA;EACA,+BAA+B;EAC/B;;EAEA;;;;;;CAMD,8BAA8B;AAC/B\",\"sourcesContent\":[\"element.style {\\r\\n height: 135px;\\r\\n }\\r\\n \\r\\n .table td, .table th {\\r\\n border-top: 0px solid #e9ecef;\\r\\n}\\r\\n.radio, .checkbox {\\r\\n margin: 0 2px 5px 0 !important;\\r\\n}\\r\\n\\r\\n.error-msg {\\r\\n color: red;\\r\\n}\\r\\n .has-error label{\\r\\n color:red!important;\\r\\n }\\r\\n .has-error input{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n\\r\\n .table>tbody>tr>td, \\r\\n.table>tbody>tr>th, \\r\\n.table>tfoot>tr>td, \\r\\n.table>tfoot>tr>th, \\r\\n.table>thead>tr>td, \\r\\n.table>thead>tr>th {\\r\\n\\tvertical-align: top !important;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `element.style {\r\n height: 135px;\r\n }\r\n \r\n .table td, .table th {\r\n border-top: 0px solid #e9ecef;\r\n}\r\n.radio, .checkbox {\r\n margin: 0 2px 5px 0 !important;\r\n}\r\n\r\n.error-msg {\r\n color: red;\r\n}\r\n .has-error label{\r\n color:red!important;\r\n }\r\n .has-error input{\r\n border:1px solid red !important;\r\n } \r\n\r\n .table>tbody>tr>td, \r\n.table>tbody>tr>th, \r\n.table>tfoot>tr>td, \r\n.table>tfoot>tr>th, \r\n.table>thead>tr>td, \r\n.table>thead>tr>th {\r\n\tvertical-align: top !important;\r\n}\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/approveagreement-2024/approveagreement-2024.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,aAAa;EACf;;EAEA;IACE,6BAA6B;AACjC;AACA;EACE,8BAA8B;AAChC;;AAEA;EACE,UAAU;AACZ;CACC;EACC,mBAAmB;EACnB;EACA;EACA,+BAA+B;EAC/B;;EAEA;;;;;;CAMD,8BAA8B;AAC/B\",\"sourcesContent\":[\"element.style {\\r\\n height: 135px;\\r\\n }\\r\\n \\r\\n .table td, .table th {\\r\\n border-top: 0px solid #e9ecef;\\r\\n}\\r\\n.radio, .checkbox {\\r\\n margin: 0 2px 5px 0 !important;\\r\\n}\\r\\n\\r\\n.error-msg {\\r\\n color: red;\\r\\n}\\r\\n .has-error label{\\r\\n color:red!important;\\r\\n }\\r\\n .has-error input{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n\\r\\n .table>tbody>tr>td, \\r\\n.table>tbody>tr>th, \\r\\n.table>tfoot>tr>td, \\r\\n.table>tfoot>tr>th, \\r\\n.table>thead>tr>td, \\r\\n.table>thead>tr>th {\\r\\n\\tvertical-align: top !important;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `element.style {\r\n height: 135px;\r\n }\r\n \r\n .table td, .table th {\r\n border-top: 0px solid #e9ecef;\r\n}\r\n.radio, .checkbox {\r\n margin: 0 2px 5px 0 !important;\r\n}\r\n\r\n.error-msg {\r\n color: red;\r\n}\r\n .has-error label{\r\n color:red!important;\r\n }\r\n .has-error input{\r\n border:1px solid red !important;\r\n } \r\n\r\n .table>tbody>tr>td, \r\n.table>tbody>tr>th, \r\n.table>tfoot>tr>td, \r\n.table>tfoot>tr>th, \r\n.table>thead>tr>td, \r\n.table>thead>tr>th {\r\n\tvertical-align: top !important;\r\n}\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/approveagreement/approveagreement.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,aAAa;EACf;;EAEA;IACE,6BAA6B;AACjC;AACA;EACE,8BAA8B;AAChC;;AAEA;EACE,UAAU;AACZ;CACC;EACC,mBAAmB;EACnB;EACA;EACA,+BAA+B;EAC/B;;EAEA;;;;;;CAMD,8BAA8B;AAC/B\",\"sourcesContent\":[\"element.style {\\r\\n height: 135px;\\r\\n }\\r\\n \\r\\n .table td, .table th {\\r\\n border-top: 0px solid #e9ecef;\\r\\n}\\r\\n.radio, .checkbox {\\r\\n margin: 0 2px 5px 0 !important;\\r\\n}\\r\\n\\r\\n.error-msg {\\r\\n color: red;\\r\\n}\\r\\n .has-error label{\\r\\n color:red!important;\\r\\n }\\r\\n .has-error input{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n\\r\\n .table>tbody>tr>td, \\r\\n.table>tbody>tr>th, \\r\\n.table>tfoot>tr>td, \\r\\n.table>tfoot>tr>th, \\r\\n.table>thead>tr>td, \\r\\n.table>thead>tr>th {\\r\\n\\tvertical-align: top !important;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.error-msg {\r\n color: red;\r\n}\r\n .has-error label{\r\n color:red!important;\r\n }\r\n .has-error input{\r\n border:1px solid red !important;\r\n } \r\n .has-error select{\r\n border:1px solid red !important;\r\n } \r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/businesscontactpage/businesscontactpage.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,UAAU;AACZ;CACC;EACC,mBAAmB;EACnB;EACA;EACA,+BAA+B;EAC/B;EACA;EACA,+BAA+B;EAC/B\",\"sourcesContent\":[\".error-msg {\\r\\n color: red;\\r\\n}\\r\\n .has-error label{\\r\\n color:red!important;\\r\\n }\\r\\n .has-error input{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n .has-error select{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.error-msg {\r\n color: red;\r\n }\r\n .has-error label{\r\n color:red!important;\r\n }\r\n .has-error input{\r\n border:1px solid red !important;\r\n } \r\n .has-error select{\r\n border:1px solid red !important;\r\n } \r\n\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/charity-locations/charity-locations.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,UAAU;EACZ;GACC;IACC,mBAAmB;IACnB;IACA;IACA,+BAA+B;IAC/B;IACA;IACA,+BAA+B;IAC/B\",\"sourcesContent\":[\".error-msg {\\r\\n color: red;\\r\\n }\\r\\n .has-error label{\\r\\n color:red!important;\\r\\n }\\r\\n .has-error input{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n .has-error select{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `button{\r\n background-color: #2a7db5\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/communityoutreach/communityoutreach.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI;AACJ\",\"sourcesContent\":[\"button{\\r\\n background-color: #2a7db5\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `a:focus { border:1px solid #003366 !important; }\r\ninput:focus { border:1px solid #003366 !important; }\r\nbutton:focus { border: 1px solid #003366 !important; }\r\nselect.form-control:focus {\r\nborder: 1px solid #003366 !important;\r\n}\r\nlabel:focus:before, label:active:before, label:focus i, label:active i {\r\n border: 1px solid #003366 !important;\r\n}\r\n/* radio:focus:before, radio:focus i {\r\n border: 1px solid #003366 !important;\r\n} */\r\n\r\n/* p-calendar .ui-inputtext:focus{\r\n border: 1px solid #003366 !important;\r\n }\r\n p-inputmask .form-group:focus .ui-inputtext:focus .ui-inputtext:active .ui-corner-all:focus .ui-widget:focus{\r\n border: 1px solid #006622 !important;\r\n } */\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/contact-us/contact-us.component.css\"],\"names\":[],\"mappings\":\"AAAA,UAAU,mCAAmC,EAAE;AAC/C,cAAc,mCAAmC,EAAE;AACnD,eAAe,oCAAoC,EAAE;AACrD;AACA,oCAAoC;AACpC;AACA;IACI,oCAAoC;AACxC;AACA;;GAEG;;AAEH;;;;;MAKM\",\"sourcesContent\":[\"a:focus { border:1px solid #003366 !important; }\\r\\ninput:focus { border:1px solid #003366 !important; }\\r\\nbutton:focus { border: 1px solid #003366 !important; }\\r\\nselect.form-control:focus {\\r\\nborder: 1px solid #003366 !important;\\r\\n}\\r\\nlabel:focus:before, label:active:before, label:focus i, label:active i {\\r\\n border: 1px solid #003366 !important;\\r\\n}\\r\\n/* radio:focus:before, radio:focus i {\\r\\n border: 1px solid #003366 !important;\\r\\n} */\\r\\n\\r\\n/* p-calendar .ui-inputtext:focus{\\r\\n border: 1px solid #003366 !important;\\r\\n }\\r\\n p-inputmask .form-group:focus .ui-inputtext:focus .ui-inputtext:active .ui-corner-all:focus .ui-widget:focus{\\r\\n border: 1px solid #006622 !important;\\r\\n } */\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.no-border-tbl td,\r\n .no-border-tbl th {\r\n border-top: none !important;\r\n }\r\n\r\n .no-border-tbl td {\r\n vertical-align: top !important;\r\n }\r\n .black-font, .font-weight-bold, b{\r\n color:#000000 !important; \r\n }\r\n\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/contract-agreement-2022/agreement.component-2022.css\"],\"names\":[],\"mappings\":\"AAAA;;IAEI,2BAA2B;EAC7B;;EAEA;IACE,8BAA8B;EAChC;EACA;MACI,wBAAwB;EAC5B\",\"sourcesContent\":[\".no-border-tbl td,\\r\\n .no-border-tbl th {\\r\\n border-top: none !important;\\r\\n }\\r\\n\\r\\n .no-border-tbl td {\\r\\n vertical-align: top !important;\\r\\n }\\r\\n .black-font, .font-weight-bold, b{\\r\\n color:#000000 !important; \\r\\n }\\r\\n\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.no-border-tbl td,\r\n .no-border-tbl th {\r\n border-top: none !important;\r\n }\r\n\r\n .no-border-tbl td {\r\n vertical-align: top !important;\r\n }\r\n .black-font, .font-weight-bold, b{\r\n color:#000000 !important; \r\n }\r\n\r\n .service-agreement-chbx{\r\n padding-left: 42px !important;\r\n padding-bottom: 20px;\r\n }\r\n\r\n .service-agreement-chbx > span {\r\n padding-left: 10px;\r\n display: flex;\r\n }\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/contract-agreement-2023/agreement.component-2023.css\"],\"names\":[],\"mappings\":\"AAAA;;IAEI,2BAA2B;EAC7B;;EAEA;IACE,8BAA8B;EAChC;EACA;MACI,wBAAwB;EAC5B;;EAEA;IACE,6BAA6B;IAC7B,oBAAoB;EACtB;;EAEA;IACE,kBAAkB;IAClB,aAAa;EACf\",\"sourcesContent\":[\".no-border-tbl td,\\r\\n .no-border-tbl th {\\r\\n border-top: none !important;\\r\\n }\\r\\n\\r\\n .no-border-tbl td {\\r\\n vertical-align: top !important;\\r\\n }\\r\\n .black-font, .font-weight-bold, b{\\r\\n color:#000000 !important; \\r\\n }\\r\\n\\r\\n .service-agreement-chbx{\\r\\n padding-left: 42px !important;\\r\\n padding-bottom: 20px;\\r\\n }\\r\\n\\r\\n .service-agreement-chbx > span {\\r\\n padding-left: 10px;\\r\\n display: flex;\\r\\n }\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.no-border-tbl td,\r\n .no-border-tbl th {\r\n border-top: none !important;\r\n }\r\n\r\n .no-border-tbl td {\r\n vertical-align: top !important;\r\n }\r\n .black-font, .font-weight-bold, b{\r\n color:#000000 !important; \r\n }\r\n\r\n .service-agreement-chbx{\r\n padding-left: 42px !important;\r\n padding-bottom: 20px;\r\n }\r\n\r\n .service-agreement-chbx > span {\r\n padding-left: 10px;\r\n display: flex;\r\n }\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/contract-agreement-2024/agreement.component-2024.css\"],\"names\":[],\"mappings\":\"AAAA;;IAEI,2BAA2B;EAC7B;;EAEA;IACE,8BAA8B;EAChC;EACA;MACI,wBAAwB;EAC5B;;EAEA;IACE,6BAA6B;IAC7B,oBAAoB;EACtB;;EAEA;IACE,kBAAkB;IAClB,aAAa;EACf\",\"sourcesContent\":[\".no-border-tbl td,\\r\\n .no-border-tbl th {\\r\\n border-top: none !important;\\r\\n }\\r\\n\\r\\n .no-border-tbl td {\\r\\n vertical-align: top !important;\\r\\n }\\r\\n .black-font, .font-weight-bold, b{\\r\\n color:#000000 !important; \\r\\n }\\r\\n\\r\\n .service-agreement-chbx{\\r\\n padding-left: 42px !important;\\r\\n padding-bottom: 20px;\\r\\n }\\r\\n\\r\\n .service-agreement-chbx > span {\\r\\n padding-left: 10px;\\r\\n display: flex;\\r\\n }\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.no-border-tbl td,\r\n .no-border-tbl th {\r\n border-top: none !important;\r\n }\r\n\r\n .no-border-tbl td {\r\n vertical-align: top !important;\r\n }\r\n .black-font, .font-weight-bold, b{\r\n color:#000000 !important; \r\n }\r\n\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/contract-agreement/agreement.component.css\"],\"names\":[],\"mappings\":\"AAAA;;IAEI,2BAA2B;EAC7B;;EAEA;IACE,8BAA8B;EAChC;EACA;MACI,wBAAwB;EAC5B\",\"sourcesContent\":[\".no-border-tbl td,\\r\\n .no-border-tbl th {\\r\\n border-top: none !important;\\r\\n }\\r\\n\\r\\n .no-border-tbl td {\\r\\n vertical-align: top !important;\\r\\n }\\r\\n .black-font, .font-weight-bold, b{\\r\\n color:#000000 !important; \\r\\n }\\r\\n\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ` .error-msg {\r\n color: red;\r\n }\r\n .has-error label{\r\n color:red!important;\r\n }\r\n .has-error input{\r\n border:1px solid red !important;\r\n } \r\n .has-error select{\r\n border:1px solid red !important;\r\n } \r\nh5 > span{\r\n\tcolor: #414141;\r\n}\r\n\r\n.only-voucher-container {\r\n margin-bottom: 2px; \r\n}\r\n\r\n.no-voucher-selected {\r\n margin-bottom: 2px;\r\n margin-top: -62px;\r\n}\r\n\r\n.smFnt{\r\n font-size: 10px;\r\n display: block;\r\n margin-top: -5px;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/contract-locations/locations.component.css\"],\"names\":[],\"mappings\":\"IAAI;QACI,UAAU;MACZ;OACC;QACC,mBAAmB;QACnB;QACA;QACA,+BAA+B;QAC/B;QACA;QACA,+BAA+B;QAC/B;AACR;CACC,cAAc;AACf;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;EAClB,iBAAiB;AACnB;;AAEA;EACE,eAAe;EACf,cAAc;EACd,gBAAgB;AAClB\",\"sourcesContent\":[\" .error-msg {\\r\\n color: red;\\r\\n }\\r\\n .has-error label{\\r\\n color:red!important;\\r\\n }\\r\\n .has-error input{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n .has-error select{\\r\\n border:1px solid red !important;\\r\\n } \\r\\nh5 > span{\\r\\n\\tcolor: #414141;\\r\\n}\\r\\n\\r\\n.only-voucher-container {\\r\\n margin-bottom: 2px; \\r\\n}\\r\\n\\r\\n.no-voucher-selected {\\r\\n margin-bottom: 2px;\\r\\n margin-top: -62px;\\r\\n}\\r\\n\\r\\n.smFnt{\\r\\n font-size: 10px;\\r\\n display: block;\\r\\n margin-top: -5px;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `#form {\r\n position: relative; /* labels need this on the their parent element */\r\n}\r\n\r\nfieldset {\r\n margin: 0;\r\n padding: 0;\r\n border: 0;\r\n padding-top: 30px; /* leave a space to position for the labels */\r\n}\r\n\r\nfieldset {display: inline-block; vertical-align: middle;}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/contract-pharmacy-info/witness.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAkB,EAAE,iDAAiD;AACvE;;AAEA;EACE,SAAS;EACT,UAAU;EACV,SAAS;EACT,iBAAiB,EAAE,6CAA6C;AAClE;;AAEA,UAAU,qBAAqB,EAAE,sBAAsB,CAAC\",\"sourcesContent\":[\"#form {\\r\\n position: relative; /* labels need this on the their parent element */\\r\\n}\\r\\n\\r\\nfieldset {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n border: 0;\\r\\n padding-top: 30px; /* leave a space to position for the labels */\\r\\n}\\r\\n\\r\\nfieldset {display: inline-block; vertical-align: middle;}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.cFont {\r\n font-size: 19px;\r\n}\r\n\r\n.ng-invalid:not(form) {\r\n border: #ec0d0d 2px solid !important;\r\n transition: all 0.2s ease-in;\r\n }\r\n\r\n `, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/contractapprove/contractapprove.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,eAAe;AACnB;;AAEA;IACI,oCAAoC;IAIpC,4BAA4B;IAC5B\",\"sourcesContent\":[\".cFont {\\r\\n font-size: 19px;\\r\\n}\\r\\n\\r\\n.ng-invalid:not(form) {\\r\\n border: #ec0d0d 2px solid !important;\\r\\n -webkit-transition: all 0.2s ease-in;\\r\\n -moz-transition: all 0.2s ease-in;\\r\\n -o-transition: all 0.2s ease-in;\\r\\n transition: all 0.2s ease-in;\\r\\n }\\r\\n\\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.error-msg {\r\n color: red;\r\n }\r\n .has-error label{\r\n color:red!important;\r\n }\r\n .has-error input{\r\n border:1px solid red !important;\r\n } \r\n .has-error select{\r\n border:1px solid red !important;\r\n } \r\n .ui-confirmdialog-message {\r\n white-space: pre-line;\r\n }\r\n .btn-teal {\r\n background-color: #2a7db5;\r\n color: #FFF !important;\r\n }\r\n \r\n .immunizationCloseBtn{\r\n padding-top: 0px;\r\n padding-left: 3px;\r\n padding-right: 3px;\r\n height: 18px;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/immunizations/immunizations.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,UAAU;EACZ;GACC;IACC,mBAAmB;IACnB;IACA;IACA,+BAA+B;IAC/B;IACA;IACA,+BAA+B;IAC/B;IACA;QACI,qBAAqB;IACzB;IACA;QACI,yBAAyB;QACzB,sBAAsB;IAC1B;;IAEA;IACA,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,YAAY;AAChB\",\"sourcesContent\":[\".error-msg {\\r\\n color: red;\\r\\n }\\r\\n .has-error label{\\r\\n color:red!important;\\r\\n }\\r\\n .has-error input{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n .has-error select{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n .ui-confirmdialog-message {\\r\\n white-space: pre-line;\\r\\n }\\r\\n .btn-teal {\\r\\n background-color: #2a7db5;\\r\\n color: #FFF !important;\\r\\n }\\r\\n \\r\\n .immunizationCloseBtn{\\r\\n padding-top: 0px;\\r\\n padding-left: 3px;\\r\\n padding-right: 3px;\\r\\n height: 18px;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.tab-content {\r\n padding: 5px 0;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/local-contracts/contract.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,cAAc;AAClB\",\"sourcesContent\":[\".tab-content {\\r\\n padding: 5px 0;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `element.style {\r\n height: 135px;\r\n }\r\n \r\n .table td, .table th {\r\n border-top: 0px solid #e9ecef;\r\n}\r\n\r\n.table>tbody>tr>td, \r\n.table>tbody>tr>th, \r\n.table>tfoot>tr>td, \r\n.table>tfoot>tr>th, \r\n.table>thead>tr>td, \r\n.table>thead>tr>th {\r\n\tvertical-align: top !important;\r\n}\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/viewcontract-agreement-2022/viewcontract-agreement.component-2022.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,aAAa;EACf;;EAEA;IACE,6BAA6B;AACjC;;AAEA;;;;;;CAMC,8BAA8B;AAC/B\",\"sourcesContent\":[\"element.style {\\r\\n height: 135px;\\r\\n }\\r\\n \\r\\n .table td, .table th {\\r\\n border-top: 0px solid #e9ecef;\\r\\n}\\r\\n\\r\\n.table>tbody>tr>td, \\r\\n.table>tbody>tr>th, \\r\\n.table>tfoot>tr>td, \\r\\n.table>tfoot>tr>th, \\r\\n.table>thead>tr>td, \\r\\n.table>thead>tr>th {\\r\\n\\tvertical-align: top !important;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `element.style {\r\n height: 135px;\r\n }\r\n \r\n .table td, .table th {\r\n border-top: 0px solid #e9ecef;\r\n}\r\n\r\n.table>tbody>tr>td, \r\n.table>tbody>tr>th, \r\n.table>tfoot>tr>td, \r\n.table>tfoot>tr>th, \r\n.table>thead>tr>td, \r\n.table>thead>tr>th {\r\n\tvertical-align: top !important;\r\n}\r\n\r\n.service-agreement-chbx{\r\n cursor: text;\r\n padding-left: 42px !important;\r\n padding-bottom: 20px;\r\n}\r\n\r\n.service-agreement-chbx > span {\r\n padding-left: 10px;\r\n display: flex;\r\n}\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/viewcontract-agreement-2023/viewcontract-agreement.component-2023.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,aAAa;EACf;;EAEA;IACE,6BAA6B;AACjC;;AAEA;;;;;;CAMC,8BAA8B;AAC/B;;AAEA;EACE,YAAY;EACZ,6BAA6B;EAC7B,oBAAoB;AACtB;;AAEA;EACE,kBAAkB;EAClB,aAAa;AACf\",\"sourcesContent\":[\"element.style {\\r\\n height: 135px;\\r\\n }\\r\\n \\r\\n .table td, .table th {\\r\\n border-top: 0px solid #e9ecef;\\r\\n}\\r\\n\\r\\n.table>tbody>tr>td, \\r\\n.table>tbody>tr>th, \\r\\n.table>tfoot>tr>td, \\r\\n.table>tfoot>tr>th, \\r\\n.table>thead>tr>td, \\r\\n.table>thead>tr>th {\\r\\n\\tvertical-align: top !important;\\r\\n}\\r\\n\\r\\n.service-agreement-chbx{\\r\\n cursor: text;\\r\\n padding-left: 42px !important;\\r\\n padding-bottom: 20px;\\r\\n}\\r\\n\\r\\n.service-agreement-chbx > span {\\r\\n padding-left: 10px;\\r\\n display: flex;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `element.style {\r\n height: 135px;\r\n }\r\n \r\n .table td, .table th {\r\n border-top: 0px solid #e9ecef;\r\n}\r\n\r\n.table>tbody>tr>td, \r\n.table>tbody>tr>th, \r\n.table>tfoot>tr>td, \r\n.table>tfoot>tr>th, \r\n.table>thead>tr>td, \r\n.table>thead>tr>th {\r\n\tvertical-align: top !important;\r\n}\r\n\r\n.service-agreement-chbx{\r\n cursor: text;\r\n padding-left: 42px !important;\r\n padding-bottom: 20px;\r\n}\r\n\r\n.service-agreement-chbx > span {\r\n padding-left: 10px;\r\n display: flex;\r\n}\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/viewcontract-agreement-2024/viewcontract-agreement-2024.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,aAAa;EACf;;EAEA;IACE,6BAA6B;AACjC;;AAEA;;;;;;CAMC,8BAA8B;AAC/B;;AAEA;EACE,YAAY;EACZ,6BAA6B;EAC7B,oBAAoB;AACtB;;AAEA;EACE,kBAAkB;EAClB,aAAa;AACf\",\"sourcesContent\":[\"element.style {\\r\\n height: 135px;\\r\\n }\\r\\n \\r\\n .table td, .table th {\\r\\n border-top: 0px solid #e9ecef;\\r\\n}\\r\\n\\r\\n.table>tbody>tr>td, \\r\\n.table>tbody>tr>th, \\r\\n.table>tfoot>tr>td, \\r\\n.table>tfoot>tr>th, \\r\\n.table>thead>tr>td, \\r\\n.table>thead>tr>th {\\r\\n\\tvertical-align: top !important;\\r\\n}\\r\\n\\r\\n.service-agreement-chbx{\\r\\n cursor: text;\\r\\n padding-left: 42px !important;\\r\\n padding-bottom: 20px;\\r\\n}\\r\\n\\r\\n.service-agreement-chbx > span {\\r\\n padding-left: 10px;\\r\\n display: flex;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `element.style {\r\n height: 135px;\r\n }\r\n \r\n .table td, .table th {\r\n border-top: 0px solid #e9ecef;\r\n}\r\n\r\n.table>tbody>tr>td, \r\n.table>tbody>tr>th, \r\n.table>tfoot>tr>td, \r\n.table>tfoot>tr>th, \r\n.table>thead>tr>td, \r\n.table>thead>tr>th {\r\n\tvertical-align: top !important;\r\n}\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/contractaggreement/components/viewcontract-agreement/viewcontract-agreement.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,aAAa;EACf;;EAEA;IACE,6BAA6B;AACjC;;AAEA;;;;;;CAMC,8BAA8B;AAC/B\",\"sourcesContent\":[\"element.style {\\r\\n height: 135px;\\r\\n }\\r\\n \\r\\n .table td, .table th {\\r\\n border-top: 0px solid #e9ecef;\\r\\n}\\r\\n\\r\\n.table>tbody>tr>td, \\r\\n.table>tbody>tr>th, \\r\\n.table>tfoot>tr>td, \\r\\n.table>tfoot>tr>th, \\r\\n.table>thead>tr>td, \\r\\n.table>thead>tr>th {\\r\\n\\tvertical-align: top !important;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.card{\r\n border-radius: 0.5rem;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/home/charts/charts.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,qBAAqB;AACzB\",\"sourcesContent\":[\".card{\\r\\n border-radius: 0.5rem;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/* Column Priorities */\r\n@media only all {\r\n th.ui-p-6,\r\n td.ui-p-6,\r\n th.ui-p-5,\r\n td.ui-p-5,\r\n th.ui-p-4,\r\n td.ui-p-4,\r\n th.ui-p-3,\r\n td.ui-p-3,\r\n th.ui-p-2,\r\n td.ui-p-2,\r\n th.ui-p-1,\r\n td.ui-p-1 {\r\n display: none;\r\n }\r\n}\r\n\r\n/* Show priority 1 at 320px (20em x 16px) */\r\n@media screen and (min-width: 20em) {\r\n th.ui-p-1,\r\n td.ui-p-1 {\r\n display: table-cell;\r\n }\r\n}\r\n\r\n/* Show priority 2 at 480px (30em x 16px) */\r\n@media screen and (min-width: 30em) {\r\n th.ui-p-2,\r\n td.ui-p-2 {\r\n display: table-cell;\r\n }\r\n}\r\n\r\n/* Show priority 3 at 640px (40em x 16px) */\r\n@media screen and (min-width: 40em) {\r\n th.ui-p-3,\r\n td.ui-p-3 {\r\n display: table-cell;\r\n }\r\n}\r\n\r\n/* Show priority 4 at 800px (50em x 16px) */\r\n@media screen and (min-width: 50em) {\r\n th.ui-p-4,\r\n td.ui-p-4 {\r\n display: table-cell;\r\n }\r\n}\r\n\r\n/* Show priority 5 at 960px (60em x 16px) */\r\n@media screen and (min-width: 60em) {\r\n th.ui-p-5,\r\n td.ui-p-5 {\r\n display: table-cell;\r\n }\r\n}\r\n\r\n/* Show priority 6 at 1,120px (70em x 16px) */\r\n@media screen and (min-width: 70em) {\r\n th.ui-p-6,\r\n td.ui-p-6 {\r\n display: table-cell;\r\n }\r\n}\r\n\r\n.oSearchHCS{\r\n background: white;\r\n position: absolute;\r\n width: 480px;\r\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\r\n text-align: center;\r\n right: 20px;\r\n padding: 10px;\r\n z-index: 9;\r\n}\r\n\r\n.oSearcLeads{\r\n background: white;\r\n position: absolute;\r\n width: 480px;\r\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\r\n /* text-align: center; */\r\n right: 20px;\r\n padding: 10px;\r\n z-index: 9;\r\n .p-inline-message{\r\n padding: 0 1%;\r\n opacity: 0.5;\r\n }\r\n .p-inline-message.p-inline-message-info {\r\n background: none;\r\n }\r\n}\r\n\r\n#Clinics th.ui-state-default {\r\n background-color: #a43794 !important;\r\n color:#ffffff !important;\r\n}\r\n::ng-deep .ui-widget-header {\r\n border: 0px;\r\n }\r\n#hcActionItems a {\r\n text-decoration: underline;\r\n}\r\n.w300{\r\n width: 250px;\r\n}\r\n.w200{\r\n width: 200px;\r\n}\r\n.w80p{\r\n width: 80px;\r\n}\r\n.w120p{\r\n width: 120px;\r\n}\r\n.w100p\r\n{\r\n width:100px;\r\n}\r\n.w280\r\n{\r\n width:230px;\r\n}\r\n\r\n.statusChange{\r\n margin: 10px;\r\n}\r\n\r\n.has-error label {\r\n color: red !important;\r\n}\r\n\r\n.has-error select {\r\n border: 1px solid red !important;\r\n}\r\n\r\n::ng-deep .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link {\r\n background: #f4f4f4 !important;\r\n border-color: #c8c8c8 !important;\r\n color: #ffffff;\r\n}\r\n\r\n::ng-deep .p-tabview .p-tabview-nav li .p-tabview-nav-link {\r\n background: #f4f4f4 !important;\r\n}\r\n\r\n::ng-deep .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link {\r\n background: #dbdbdb !important;\r\n border-color: #dbdbdb !important;\r\n color: #333333;\r\n}\r\n\r\n.cardHeaderOrangeBg{\r\n .cardBodyYellowBg{\r\n background-color: #fbd7bb !important;\r\n }\r\n .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link {\r\n border-top: 3px solid #f46d32 !important;\r\n }\r\n}\r\n.leads-container ::ng-deep .lead-intake-card {\r\n margin-left: auto;\r\n margin-right: auto;\r\n margin-top: 1%;\r\n margin-bottom: 2%;\r\n padding: 0.571rem 1rem ;\r\n .bar-icon {\r\n width: 40px;\r\n text-align: center;\r\n }\r\n table{\r\n margin-bottom: 0 !important;\r\n }\r\n .p-datatable .p-datatable-thead > tr > th {\r\n background-color: #f46d32 !important;\r\n color: #ffffff !important;\r\n }\r\n .p-paginator .p-paginator-pages .p-paginator-page.p-highlight {\r\n background-color: #f46d32 !important;\r\n color: #ffffff !important;\r\n border-color: #f46d32 !important;\r\n }\r\n .p-paginator{\r\n align-items:flex-start;\r\n justify-content: start;\r\n }\r\n .p-datatable .p-datatable-tbody > tr{\r\n background-color: initial !important;\r\n }\r\n\r\n .p-datatable .p-datatable-tbody > tr > td {\r\n padding: 0.8em 0.5em;\r\n }\r\n .p-datatable .p-datatable-tbody > tr > td:last-child {\r\n text-align: center;\r\n }\r\n\r\n .p-button{\r\n background-color: #ffffff !important;\r\n color: #000000 !important;\r\n border: none !important;\r\n }\r\n}\r\n\r\n.hcs-container ::ng-deep .lead-intake-card {\r\n margin-left: auto;\r\n margin-right: auto;\r\n margin-top: 1%;\r\n margin-bottom: 2%;\r\n padding: 0.571rem 1rem ;\r\n .bar-icon {\r\n width: 40px;\r\n text-align: center;\r\n }\r\n table{\r\n margin-bottom: 0 !important;\r\n }\r\n th {\r\n width: 40px;\r\n }\r\n .p-datatable .p-datatable-thead > tr > th {\r\n background-color: #a43794 !important;\r\n color: #ffffff !important;\r\n }\r\n .p-paginator .p-paginator-pages .p-paginator-page.p-highlight {\r\n background-color: #a43794 !important;\r\n color: #ffffff !important;\r\n border-color:#a43794 !important;\r\n }\r\n .p-paginator{\r\n align-items:flex-start;\r\n justify-content: start;\r\n }\r\n .p-datatable .p-datatable-tbody > tr{\r\n background-color: initial !important;\r\n }\r\n\r\n .p-datatable .p-datatable-tbody > tr > td {\r\n padding: 0.8em 0.5em;\r\n }\r\n .p-datatable .p-datatable-tbody > tr > td:last-child {\r\n text-align: center;\r\n }\r\n\r\n .p-button{\r\n background-color: #ffffff !important;\r\n color: #000000 !important;\r\n border: none !important;\r\n }\r\n}\r\n.submission-card{\r\n h4{\r\n margin-bottom: 0;\r\n }\r\n}\r\n\r\n.hide-chart {\r\n display: none;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/home/dashboard/dashboard.component.css\"],\"names\":[],\"mappings\":\"AAAA,sBAAsB;AACtB;IACI;;;;;;;;;;;;QAYI,aAAa;IACjB;AACJ;;AAEA,2CAA2C;AAC3C;IACI;;QAEI,mBAAmB;IACvB;AACJ;;AAEA,2CAA2C;AAC3C;IACI;;QAEI,mBAAmB;IACvB;AACJ;;AAEA,2CAA2C;AAC3C;IACI;;QAEI,mBAAmB;IACvB;AACJ;;AAEA,2CAA2C;AAC3C;IACI;;QAEI,mBAAmB;IACvB;AACJ;;AAEA,2CAA2C;AAC3C;IACI;;QAEI,mBAAmB;IACvB;AACJ;;AAEA,6CAA6C;AAC7C;IACI;;QAEI,mBAAmB;IACvB;AACJ;;AAEA;IACI,iBAAiB;IACjB,kBAAkB;IAClB,YAAY;IACZ,4EAA4E;IAC5E,kBAAkB;IAClB,WAAW;IACX,aAAa;IACb,UAAU;AACd;;AAEA;IACI,iBAAiB;IACjB,kBAAkB;IAClB,YAAY;IACZ,4EAA4E;IAC5E,wBAAwB;IACxB,WAAW;IACX,aAAa;IACb,UAAU;IACV;QACI,aAAa;QACb,YAAY;IAChB;IACA;QACI,gBAAgB;IACpB;AACJ;;AAEA;IACI,oCAAoC;IACpC,wBAAwB;AAC5B;AACA;IACI,WAAW;EACb;AACF;IACI,0BAA0B;AAC9B;AACA;IACI,YAAY;AAChB;AACA;IACI,YAAY;AAChB;AACA;IACI,WAAW;AACf;AACA;IACI,YAAY;AAChB;AACA;;IAEI,WAAW;AACf;AACA;;IAEI,WAAW;AACf;;AAEA;IACI,YAAY;AAChB;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,gCAAgC;AACpC;;AAEA;IACI,8BAA8B;IAC9B,gCAAgC;IAChC,cAAc;AAClB;;AAEA;IACI,8BAA8B;AAClC;;AAEA;IACI,8BAA8B;IAC9B,gCAAgC;IAChC,cAAc;AAClB;;AAEA;IACI;QACI,oCAAoC;IACxC;IACA;QACI,wCAAwC;IAC5C;AACJ;AACA;IACI,iBAAiB;IACjB,kBAAkB;IAClB,cAAc;IACd,iBAAiB;IACjB,uBAAuB;IACvB;QACI,WAAW;QACX,kBAAkB;IACtB;IACA;QACI,2BAA2B;IAC/B;IACA;QACI,oCAAoC;QACpC,yBAAyB;IAC7B;IACA;QACI,oCAAoC;QACpC,yBAAyB;QACzB,gCAAgC;IACpC;IACA;QACI,sBAAsB;QACtB,sBAAsB;IAC1B;IACA;QACI,oCAAoC;IACxC;;IAEA;QACI,oBAAoB;IACxB;IACA;QACI,kBAAkB;IACtB;;IAEA;QACI,oCAAoC;QACpC,yBAAyB;QACzB,uBAAuB;IAC3B;AACJ;;AAEA;IACI,iBAAiB;IACjB,kBAAkB;IAClB,cAAc;IACd,iBAAiB;IACjB,uBAAuB;IACvB;QACI,WAAW;QACX,kBAAkB;IACtB;IACA;QACI,2BAA2B;IAC/B;IACA;QACI,WAAW;IACf;IACA;QACI,oCAAoC;QACpC,yBAAyB;IAC7B;IACA;QACI,oCAAoC;QACpC,yBAAyB;QACzB,+BAA+B;IACnC;IACA;QACI,sBAAsB;QACtB,sBAAsB;IAC1B;IACA;QACI,oCAAoC;IACxC;;IAEA;QACI,oBAAoB;IACxB;IACA;QACI,kBAAkB;IACtB;;IAEA;QACI,oCAAoC;QACpC,yBAAyB;QACzB,uBAAuB;IAC3B;AACJ;AACA;IACI;QACI,gBAAgB;IACpB;AACJ;;AAEA;IACI,aAAa;AACjB\",\"sourcesContent\":[\"/* Column Priorities */\\r\\n@media only all {\\r\\n th.ui-p-6,\\r\\n td.ui-p-6,\\r\\n th.ui-p-5,\\r\\n td.ui-p-5,\\r\\n th.ui-p-4,\\r\\n td.ui-p-4,\\r\\n th.ui-p-3,\\r\\n td.ui-p-3,\\r\\n th.ui-p-2,\\r\\n td.ui-p-2,\\r\\n th.ui-p-1,\\r\\n td.ui-p-1 {\\r\\n display: none;\\r\\n }\\r\\n}\\r\\n\\r\\n/* Show priority 1 at 320px (20em x 16px) */\\r\\n@media screen and (min-width: 20em) {\\r\\n th.ui-p-1,\\r\\n td.ui-p-1 {\\r\\n display: table-cell;\\r\\n }\\r\\n}\\r\\n\\r\\n/* Show priority 2 at 480px (30em x 16px) */\\r\\n@media screen and (min-width: 30em) {\\r\\n th.ui-p-2,\\r\\n td.ui-p-2 {\\r\\n display: table-cell;\\r\\n }\\r\\n}\\r\\n\\r\\n/* Show priority 3 at 640px (40em x 16px) */\\r\\n@media screen and (min-width: 40em) {\\r\\n th.ui-p-3,\\r\\n td.ui-p-3 {\\r\\n display: table-cell;\\r\\n }\\r\\n}\\r\\n\\r\\n/* Show priority 4 at 800px (50em x 16px) */\\r\\n@media screen and (min-width: 50em) {\\r\\n th.ui-p-4,\\r\\n td.ui-p-4 {\\r\\n display: table-cell;\\r\\n }\\r\\n}\\r\\n\\r\\n/* Show priority 5 at 960px (60em x 16px) */\\r\\n@media screen and (min-width: 60em) {\\r\\n th.ui-p-5,\\r\\n td.ui-p-5 {\\r\\n display: table-cell;\\r\\n }\\r\\n}\\r\\n\\r\\n/* Show priority 6 at 1,120px (70em x 16px) */\\r\\n@media screen and (min-width: 70em) {\\r\\n th.ui-p-6,\\r\\n td.ui-p-6 {\\r\\n display: table-cell;\\r\\n }\\r\\n}\\r\\n\\r\\n.oSearchHCS{\\r\\n background: white;\\r\\n position: absolute;\\r\\n width: 480px;\\r\\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\\r\\n text-align: center;\\r\\n right: 20px;\\r\\n padding: 10px;\\r\\n z-index: 9;\\r\\n}\\r\\n\\r\\n.oSearcLeads{\\r\\n background: white;\\r\\n position: absolute;\\r\\n width: 480px;\\r\\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\\r\\n /* text-align: center; */\\r\\n right: 20px;\\r\\n padding: 10px;\\r\\n z-index: 9;\\r\\n .p-inline-message{\\r\\n padding: 0 1%;\\r\\n opacity: 0.5;\\r\\n }\\r\\n .p-inline-message.p-inline-message-info {\\r\\n background: none;\\r\\n }\\r\\n}\\r\\n\\r\\n#Clinics th.ui-state-default {\\r\\n background-color: #a43794 !important;\\r\\n color:#ffffff !important;\\r\\n}\\r\\n::ng-deep .ui-widget-header {\\r\\n border: 0px;\\r\\n }\\r\\n#hcActionItems a {\\r\\n text-decoration: underline;\\r\\n}\\r\\n.w300{\\r\\n width: 250px;\\r\\n}\\r\\n.w200{\\r\\n width: 200px;\\r\\n}\\r\\n.w80p{\\r\\n width: 80px;\\r\\n}\\r\\n.w120p{\\r\\n width: 120px;\\r\\n}\\r\\n.w100p\\r\\n{\\r\\n width:100px;\\r\\n}\\r\\n.w280\\r\\n{\\r\\n width:230px;\\r\\n}\\r\\n\\r\\n.statusChange{\\r\\n margin: 10px;\\r\\n}\\r\\n\\r\\n.has-error label {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.has-error select {\\r\\n border: 1px solid red !important;\\r\\n}\\r\\n\\r\\n::ng-deep .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link {\\r\\n background: #f4f4f4 !important;\\r\\n border-color: #c8c8c8 !important;\\r\\n color: #ffffff;\\r\\n}\\r\\n\\r\\n::ng-deep .p-tabview .p-tabview-nav li .p-tabview-nav-link {\\r\\n background: #f4f4f4 !important;\\r\\n}\\r\\n\\r\\n::ng-deep .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link {\\r\\n background: #dbdbdb !important;\\r\\n border-color: #dbdbdb !important;\\r\\n color: #333333;\\r\\n}\\r\\n\\r\\n.cardHeaderOrangeBg{\\r\\n .cardBodyYellowBg{\\r\\n background-color: #fbd7bb !important;\\r\\n }\\r\\n .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link {\\r\\n border-top: 3px solid #f46d32 !important;\\r\\n }\\r\\n}\\r\\n.leads-container ::ng-deep .lead-intake-card {\\r\\n margin-left: auto;\\r\\n margin-right: auto;\\r\\n margin-top: 1%;\\r\\n margin-bottom: 2%;\\r\\n padding: 0.571rem 1rem ;\\r\\n .bar-icon {\\r\\n width: 40px;\\r\\n text-align: center;\\r\\n }\\r\\n table{\\r\\n margin-bottom: 0 !important;\\r\\n }\\r\\n .p-datatable .p-datatable-thead > tr > th {\\r\\n background-color: #f46d32 !important;\\r\\n color: #ffffff !important;\\r\\n }\\r\\n .p-paginator .p-paginator-pages .p-paginator-page.p-highlight {\\r\\n background-color: #f46d32 !important;\\r\\n color: #ffffff !important;\\r\\n border-color: #f46d32 !important;\\r\\n }\\r\\n .p-paginator{\\r\\n align-items:flex-start;\\r\\n justify-content: start;\\r\\n }\\r\\n .p-datatable .p-datatable-tbody > tr{\\r\\n background-color: initial !important;\\r\\n }\\r\\n\\r\\n .p-datatable .p-datatable-tbody > tr > td {\\r\\n padding: 0.8em 0.5em;\\r\\n }\\r\\n .p-datatable .p-datatable-tbody > tr > td:last-child {\\r\\n text-align: center;\\r\\n }\\r\\n\\r\\n .p-button{\\r\\n background-color: #ffffff !important;\\r\\n color: #000000 !important;\\r\\n border: none !important;\\r\\n }\\r\\n}\\r\\n\\r\\n.hcs-container ::ng-deep .lead-intake-card {\\r\\n margin-left: auto;\\r\\n margin-right: auto;\\r\\n margin-top: 1%;\\r\\n margin-bottom: 2%;\\r\\n padding: 0.571rem 1rem ;\\r\\n .bar-icon {\\r\\n width: 40px;\\r\\n text-align: center;\\r\\n }\\r\\n table{\\r\\n margin-bottom: 0 !important;\\r\\n }\\r\\n th {\\r\\n width: 40px;\\r\\n }\\r\\n .p-datatable .p-datatable-thead > tr > th {\\r\\n background-color: #a43794 !important;\\r\\n color: #ffffff !important;\\r\\n }\\r\\n .p-paginator .p-paginator-pages .p-paginator-page.p-highlight {\\r\\n background-color: #a43794 !important;\\r\\n color: #ffffff !important;\\r\\n border-color:#a43794 !important;\\r\\n }\\r\\n .p-paginator{\\r\\n align-items:flex-start;\\r\\n justify-content: start;\\r\\n }\\r\\n .p-datatable .p-datatable-tbody > tr{\\r\\n background-color: initial !important;\\r\\n }\\r\\n\\r\\n .p-datatable .p-datatable-tbody > tr > td {\\r\\n padding: 0.8em 0.5em;\\r\\n }\\r\\n .p-datatable .p-datatable-tbody > tr > td:last-child {\\r\\n text-align: center;\\r\\n }\\r\\n\\r\\n .p-button{\\r\\n background-color: #ffffff !important;\\r\\n color: #000000 !important;\\r\\n border: none !important;\\r\\n }\\r\\n}\\r\\n.submission-card{\\r\\n h4{\\r\\n margin-bottom: 0;\\r\\n }\\r\\n}\\r\\n\\r\\n.hide-chart {\\r\\n display: none;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `element.style {\r\n height: 135px;\r\n}\r\n\r\n.table td,\r\n.table th {\r\n border-top: 0px solid #e9ecef;\r\n}\r\n\r\n.radio,\r\n.checkbox {\r\n margin: 0 2px 5px 0 !important;\r\n}\r\n\r\n.error-msg {\r\n color: red;\r\n}\r\n\r\n.has-error label {\r\n color: red !important;\r\n}\r\n\r\n.has-error input {\r\n border: 1px solid red !important;\r\n}\r\n\r\n.fontSize14 {\r\n font-size: 14px !important;\r\n}\r\n\r\n.mb-30{\r\n margin-bottom: 30px;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/patientcareadvocacy/components/lula-contract-agreement-for-user-release2/lula-contract-agreement-for-user-release2.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,aAAa;AACf;;AAEA;;EAEE,6BAA6B;AAC/B;;AAEA;;EAEE,8BAA8B;AAChC;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,mBAAmB;AACrB\",\"sourcesContent\":[\"element.style {\\r\\n height: 135px;\\r\\n}\\r\\n\\r\\n.table td,\\r\\n.table th {\\r\\n border-top: 0px solid #e9ecef;\\r\\n}\\r\\n\\r\\n.radio,\\r\\n.checkbox {\\r\\n margin: 0 2px 5px 0 !important;\\r\\n}\\r\\n\\r\\n.error-msg {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.has-error label {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.has-error input {\\r\\n border: 1px solid red !important;\\r\\n}\\r\\n\\r\\n.fontSize14 {\\r\\n font-size: 14px !important;\\r\\n}\\r\\n\\r\\n.mb-30{\\r\\n margin-bottom: 30px;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `element.style {\r\n height: 135px;\r\n }\r\n \r\n .table td, .table th {\r\n border-top: 0px solid #e9ecef;\r\n}\r\n.radio, .checkbox {\r\n margin: 0 2px 5px 0 !important;\r\n}\r\n\r\n.error-msg {\r\n color: red;\r\n}\r\n .has-error label{\r\n color:red!important;\r\n }\r\n .has-error input{\r\n border:1px solid red !important;\r\n } `, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/patientcareadvocacy/components/lula-contract-agreement-for-user/lula-contract-agreement-for-user.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,aAAa;EACf;;EAEA;IACE,6BAA6B;AACjC;AACA;EACE,8BAA8B;AAChC;;AAEA;EACE,UAAU;AACZ;CACC;EACC,mBAAmB;EACnB;EACA;EACA,+BAA+B;EAC/B\",\"sourcesContent\":[\"element.style {\\r\\n height: 135px;\\r\\n }\\r\\n \\r\\n .table td, .table th {\\r\\n border-top: 0px solid #e9ecef;\\r\\n}\\r\\n.radio, .checkbox {\\r\\n margin: 0 2px 5px 0 !important;\\r\\n}\\r\\n\\r\\n.error-msg {\\r\\n color: red;\\r\\n}\\r\\n .has-error label{\\r\\n color:red!important;\\r\\n }\\r\\n .has-error input{\\r\\n border:1px solid red !important;\\r\\n } \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.fontSize14{\r\n font-size: 14px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/patientcareadvocacy/components/pca-agreement-Release2/pca-agreement-Release2.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,0BAA0B;AAC9B\",\"sourcesContent\":[\".fontSize14{\\r\\n font-size: 14px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `#q\r\n{\r\n padding: 5px;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/patientcareadvocacy/components/pca-location-list/pca-location-list.component.css\"],\"names\":[],\"mappings\":\"AAAA;;IAEI,YAAY;AAChB\",\"sourcesContent\":[\"#q\\r\\n{\\r\\n padding: 5px;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.hideImmunization{\r\n display: none !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/patientcareadvocacy/components/pca-location/pca-location.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,wBAAwB;AAC5B\",\"sourcesContent\":[\".hideImmunization{\\r\\n display: none !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `::ng-deep .form-control:disabled {\r\n background-color: #ffffff;\r\n opacity: 0.6;\r\n pointer-events: none;\r\n}\r\n\r\n::ng-deep .form-control:read-only {\r\n background-color: #ffffff;\r\n opacity: 0.6;\r\n pointer-events: none;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/patientcareadvocacy/components/pcadetails/pcadetails.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,yBAAyB;IACzB,YAAY;IACZ,oBAAoB;AACxB;;AAEA;IACI,yBAAyB;IACzB,YAAY;IACZ,oBAAoB;AACxB\",\"sourcesContent\":[\"::ng-deep .form-control:disabled {\\r\\n background-color: #ffffff;\\r\\n opacity: 0.6;\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n::ng-deep .form-control:read-only {\\r\\n background-color: #ffffff;\\r\\n opacity: 0.6;\\r\\n pointer-events: none;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.fontSize14 {\r\n font-size: 14px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/patientcareadvocacy/components/rhd-contract-agreement-release2/rhd-contract-agreement-release2.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,0BAA0B;AAC9B\",\"sourcesContent\":[\".fontSize14 {\\r\\n font-size: 14px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/activityreport/activityreport.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.btn-lst{\r\n padding: 4px 4px !important;\r\n line-height: 0 !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/covid-weekly-vaccine-purchase-report/covid-weekly-vaccine-purchase-report.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,2BAA2B;IAC3B,yBAAyB;AAC7B\",\"sourcesContent\":[\".btn-lst{\\r\\n padding: 4px 4px !important;\\r\\n line-height: 0 !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-bottom: 42px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/districtcompliancereport/districtcompliancereport.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,8BAA8B;AAClC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-bottom: 42px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/flu-hcs-actions-items-ip/flu-hcs-actions-items-ip.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/immunizationfinancereport/immunizationfinancereport.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/initiatedcontractsreport/initiatedcontractsreport.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/minimumshotexceptions/minimumshotexceptions.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/pcaactionitems/pcaactionitems.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/potentiallocalbusinesslist/potentiallocalbusinesslist.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-bottom: 42px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/potentionallocalbusinessandcontactstatus/potentionallocalbusinessandcontactstatus.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,8BAA8B;AAClC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-bottom: 42px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/restrictedstateclinics/restrictedstateclinics.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/revisedclinicdates/revisedclinicdates.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/scheduleclinicreport/scheduledclinicsreport.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/scheduledappointmentsreport/scheduledappointmentsreport.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/scheduledclinicstatus/scheduledclinicstatus.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/scheduledeventsreport/scheduledeventsreport.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/servicefeesreport/servicefeesreport.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/storecompliancereport/storecompliancereport.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/testingeventsreport/testingeventsreport.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/useraccesslog/useraccesslog.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/vaccinepurchasingreport/vaccinepurchasingreport.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.btn-lst{\r\n padding: 4px 4px !important;\r\n line-height: 0 !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/weeklyvaccinepuchasingreport/weeklyvaccinepurchase.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,2BAA2B;IAC3B,yBAAyB;AAC7B\",\"sourcesContent\":[\".btn-lst{\\r\\n padding: 4px 4px !important;\\r\\n line-height: 0 !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.export-btn {\r\n margin-left: 15px !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/reports/components/workflowmonitorreport/workflowmonitorreport.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,4BAA4B;AAChC\",\"sourcesContent\":[\".export-btn {\\r\\n margin-left: 15px !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.bg-resource{\r\n background: #2a7db5 !important;\r\n}\r\n.text-blue{\r\n color: #2a7db5 !important;;\r\n}\r\n.list-group-item {\r\n padding: 5px 10px !important;\r\n}\r\n\r\n.btn-lst {\r\n padding: 4px 4px !important;\r\n line-height: 0 !important;\r\n}\r\n\r\n.btn-resource{\r\n background: #2a7db5 !important;\r\n color: white;\r\n margin-top: 10px;\r\n padding:5px 10px !important;\r\n border-radius: 3px;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/resources/components/immunization/immunization.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,8BAA8B;AAClC;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,4BAA4B;AAChC;;AAEA;IACI,2BAA2B;IAC3B,yBAAyB;AAC7B;;AAEA;IACI,8BAA8B;IAC9B,YAAY;IACZ,gBAAgB;IAChB,2BAA2B;IAC3B,kBAAkB;AACtB\",\"sourcesContent\":[\".bg-resource{\\r\\n background: #2a7db5 !important;\\r\\n}\\r\\n.text-blue{\\r\\n color: #2a7db5 !important;;\\r\\n}\\r\\n.list-group-item {\\r\\n padding: 5px 10px !important;\\r\\n}\\r\\n\\r\\n.btn-lst {\\r\\n padding: 4px 4px !important;\\r\\n line-height: 0 !important;\\r\\n}\\r\\n\\r\\n.btn-resource{\\r\\n background: #2a7db5 !important;\\r\\n color: white;\\r\\n margin-top: 10px;\\r\\n padding:5px 10px !important;\\r\\n border-radius: 3px;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.bg-resource{\r\n background: #2a7db5 !important;;\r\n}\r\n.text-blue{\r\n color: #2a7db5 !important;;\r\n}\r\n.list-group-item {\r\n padding: 5px 10px !important;\r\n}\r\n\r\n.btn-lst {\r\n padding: 4px 4px !important;\r\n line-height: 0 !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/resources/components/pcaresources/pcaresources.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,8BAA8B;AAClC;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,4BAA4B;AAChC;;AAEA;IACI,2BAA2B;IAC3B,yBAAyB;AAC7B\",\"sourcesContent\":[\".bg-resource{\\r\\n background: #2a7db5 !important;;\\r\\n}\\r\\n.text-blue{\\r\\n color: #2a7db5 !important;;\\r\\n}\\r\\n.list-group-item {\\r\\n padding: 5px 10px !important;\\r\\n}\\r\\n\\r\\n.btn-lst {\\r\\n padding: 4px 4px !important;\\r\\n line-height: 0 !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.bg-resource{\r\n background: #2a7db5 !important;;\r\n}\r\n.text-blue{\r\n color: #2a7db5 !important;;\r\n}\r\n.list-group-item {\r\n padding: 5px 10px !important;\r\n}\r\n\r\n.btn-lst {\r\n padding: 4px 4px !important;\r\n line-height: 0 !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/resources/components/senioroutreach/senioroutreach.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,8BAA8B;AAClC;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,4BAA4B;AAChC;;AAEA;IACI,2BAA2B;IAC3B,yBAAyB;AAC7B\",\"sourcesContent\":[\".bg-resource{\\r\\n background: #2a7db5 !important;;\\r\\n}\\r\\n.text-blue{\\r\\n color: #2a7db5 !important;;\\r\\n}\\r\\n.list-group-item {\\r\\n padding: 5px 10px !important;\\r\\n}\\r\\n\\r\\n.btn-lst {\\r\\n padding: 4px 4px !important;\\r\\n line-height: 0 !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.bg-resource{\r\n background: rgb(50, 50, 100) !important;;\r\n}\r\n.text-blue{\r\n color: #02a0c0 !important;;\r\n}\r\n.list-group-item {\r\n padding: 5px 10px !important;\r\n}\r\n\r\n.btn-lst {\r\n padding: 4px 4px !important;\r\n line-height: 0 !important;\r\n}\r\n.show>.btn-primary.dropdown-toggle {\r\n color: #fff;\r\n background-color: #02a0c0 !important;\r\n border-color: #02a0c0 !important;\r\n}\r\n.btn-primary {\r\n color: #fff;\r\n background-color: rgb(50, 50, 100) !important;\r\n border-color: rgb(50, 50, 100) !important;\r\n}\r\n.btn-primary:hover {\r\n color: #fff;\r\n background-color: rgb(50, 50, 100) !important;\r\n border-color: rgb(50, 50, 100) !important;\r\n}\r\nsection.dark.page-header {\r\n color: #fff;\r\n background-color: rgb(50, 50, 100) !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/resources/components/vis/vis.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,uCAAuC;AAC3C;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,4BAA4B;AAChC;;AAEA;IACI,2BAA2B;IAC3B,yBAAyB;AAC7B;AACA;IACI,WAAW;IACX,oCAAoC;IACpC,gCAAgC;AACpC;AACA;IACI,WAAW;IACX,6CAA6C;IAC7C,yCAAyC;AAC7C;AACA;IACI,WAAW;IACX,6CAA6C;IAC7C,yCAAyC;AAC7C;AACA;IACI,WAAW;IACX,6CAA6C;AACjD\",\"sourcesContent\":[\".bg-resource{\\r\\n background: rgb(50, 50, 100) !important;;\\r\\n}\\r\\n.text-blue{\\r\\n color: #02a0c0 !important;;\\r\\n}\\r\\n.list-group-item {\\r\\n padding: 5px 10px !important;\\r\\n}\\r\\n\\r\\n.btn-lst {\\r\\n padding: 4px 4px !important;\\r\\n line-height: 0 !important;\\r\\n}\\r\\n.show>.btn-primary.dropdown-toggle {\\r\\n color: #fff;\\r\\n background-color: #02a0c0 !important;\\r\\n border-color: #02a0c0 !important;\\r\\n}\\r\\n.btn-primary {\\r\\n color: #fff;\\r\\n background-color: rgb(50, 50, 100) !important;\\r\\n border-color: rgb(50, 50, 100) !important;\\r\\n}\\r\\n.btn-primary:hover {\\r\\n color: #fff;\\r\\n background-color: rgb(50, 50, 100) !important;\\r\\n border-color: rgb(50, 50, 100) !important;\\r\\n}\\r\\nsection.dark.page-header {\\r\\n color: #fff;\\r\\n background-color: rgb(50, 50, 100) !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.bg-resource{\r\n background: #2a7db5 !important;;\r\n}\r\n.text-blue{\r\n color: #2a7db5 !important;;\r\n}\r\n.list-group-item {\r\n padding: 5px 10px !important;\r\n}\r\n\r\n.btn-lst {\r\n padding: 4px 4px !important;\r\n line-height: 0 !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/resources/components/viss/viss.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,8BAA8B;AAClC;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,4BAA4B;AAChC;;AAEA;IACI,2BAA2B;IAC3B,yBAAyB;AAC7B\",\"sourcesContent\":[\".bg-resource{\\r\\n background: #2a7db5 !important;;\\r\\n}\\r\\n.text-blue{\\r\\n color: #2a7db5 !important;;\\r\\n}\\r\\n.list-group-item {\\r\\n padding: 5px 10px !important;\\r\\n}\\r\\n\\r\\n.btn-lst {\\r\\n padding: 4px 4px !important;\\r\\n line-height: 0 !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.logTitle1 {\r\n font-family: Verdana;\r\n font-size: 13px;\r\n color: #3096D8;\r\n}\r\n\r\n\r\n::ng-deep a.p-accordion-header-link\r\n{\r\n color: #333319 !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/store/components/contactlog/contactlog.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,oBAAoB;IACpB,eAAe;IACf,cAAc;AAClB;;;AAGA;;EAEE,yBAAyB;AAC3B\",\"sourcesContent\":[\".logTitle1 {\\r\\n font-family: Verdana;\\r\\n font-size: 13px;\\r\\n color: #3096D8;\\r\\n}\\r\\n\\r\\n\\r\\n::ng-deep a.p-accordion-header-link\\r\\n{\\r\\n color: #333319 !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.titl{\r\n background-color: #2a7db5;\r\n }`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/store/components/follow-up/followup.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,yBAAyB;IACzB\",\"sourcesContent\":[\".titl{\\r\\n background-color: #2a7db5;\\r\\n }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.error-msg {\r\n color: red;\r\n}\r\n\r\nhas-error label {\r\n color: red !important;\r\n}\r\n\r\n.has-error input {\r\n border: 1px solid red !important;\r\n}\r\n\r\n.has-error select {\r\n border: 1px solid red !important;\r\n}\r\n\r\n.mt-23{\r\n margin-top: 23px !important;\r\n}\r\n\r\n::ng-deep a.p-accordion-header-link\r\n{\r\n color: #333333;\r\n background-color: #f4f4f4;\r\n}\r\n\r\n::ng-deep .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link {\r\n background: #007ad9;\r\n border-color: #007ad9;\r\n color: #ffffff !important;\r\n border-bottom-right-radius: 0;\r\n border-bottom-left-radius: 0;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/store/components/opportunity/opportunity.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,UAAU;AACZ;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;;EAEE,cAAc;EACd,yBAAyB;AAC3B;;AAEA;EACE,mBAAmB;EACnB,qBAAqB;EACrB,yBAAyB;EACzB,6BAA6B;EAC7B,4BAA4B;AAC9B\",\"sourcesContent\":[\".error-msg {\\r\\n color: red;\\r\\n}\\r\\n\\r\\nhas-error label {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.has-error input {\\r\\n border: 1px solid red !important;\\r\\n}\\r\\n\\r\\n.has-error select {\\r\\n border: 1px solid red !important;\\r\\n}\\r\\n\\r\\n.mt-23{\\r\\n margin-top: 23px !important;\\r\\n}\\r\\n\\r\\n::ng-deep a.p-accordion-header-link\\r\\n{\\r\\n color: #333333;\\r\\n background-color: #f4f4f4;\\r\\n}\\r\\n\\r\\n::ng-deep .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link {\\r\\n background: #007ad9;\\r\\n border-color: #007ad9;\\r\\n color: #ffffff !important;\\r\\n border-bottom-right-radius: 0;\\r\\n border-bottom-left-radius: 0;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.tab-content {\r\n padding: 5px 0;\r\n}\r\n\r\n.radio, .checkbox {\r\n margin: 0 2px 5px 0 !important;\r\n}\r\n\r\n.error-msg {\r\n color: red;\r\n }\r\n .has-error label{\r\n color:red!important;\r\n }\r\n .has-error input{\r\n border:1px solid red !important;\r\n } \r\n `, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/modules/store/components/schedule-event/schedule-event.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,cAAc;AAClB;;AAEA;IACI,8BAA8B;AAClC;;AAEA;IACI,UAAU;EACZ;GACC;IACC,mBAAmB;IACnB;IACA;IACA,+BAA+B;IAC/B\",\"sourcesContent\":[\".tab-content {\\r\\n padding: 5px 0;\\r\\n}\\r\\n\\r\\n.radio, .checkbox {\\r\\n margin: 0 2px 5px 0 !important;\\r\\n}\\r\\n\\r\\n.error-msg {\\r\\n color: red;\\r\\n }\\r\\n .has-error label{\\r\\n color:red!important;\\r\\n }\\r\\n .has-error input{\\r\\n border:1px solid red !important;\\r\\n } \\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","var map = {\n\t\"./af\": 85637,\n\t\"./af.js\": 85637,\n\t\"./ar\": 6777,\n\t\"./ar-dz\": 74508,\n\t\"./ar-dz.js\": 74508,\n\t\"./ar-kw\": 67504,\n\t\"./ar-kw.js\": 67504,\n\t\"./ar-ly\": 95373,\n\t\"./ar-ly.js\": 95373,\n\t\"./ar-ma\": 92412,\n\t\"./ar-ma.js\": 92412,\n\t\"./ar-sa\": 36670,\n\t\"./ar-sa.js\": 36670,\n\t\"./ar-tn\": 36448,\n\t\"./ar-tn.js\": 36448,\n\t\"./ar.js\": 6777,\n\t\"./az\": 23009,\n\t\"./az.js\": 23009,\n\t\"./be\": 28299,\n\t\"./be.js\": 28299,\n\t\"./bg\": 4685,\n\t\"./bg.js\": 4685,\n\t\"./bm\": 11171,\n\t\"./bm.js\": 11171,\n\t\"./bn\": 23590,\n\t\"./bn-bd\": 5841,\n\t\"./bn-bd.js\": 5841,\n\t\"./bn.js\": 23590,\n\t\"./bo\": 54309,\n\t\"./bo.js\": 54309,\n\t\"./br\": 54130,\n\t\"./br.js\": 54130,\n\t\"./bs\": 8033,\n\t\"./bs.js\": 8033,\n\t\"./ca\": 55294,\n\t\"./ca.js\": 55294,\n\t\"./cs\": 53028,\n\t\"./cs.js\": 53028,\n\t\"./cv\": 5807,\n\t\"./cv.js\": 5807,\n\t\"./cy\": 70342,\n\t\"./cy.js\": 70342,\n\t\"./da\": 38269,\n\t\"./da.js\": 38269,\n\t\"./de\": 11489,\n\t\"./de-at\": 42123,\n\t\"./de-at.js\": 42123,\n\t\"./de-ch\": 17757,\n\t\"./de-ch.js\": 17757,\n\t\"./de.js\": 11489,\n\t\"./dv\": 28152,\n\t\"./dv.js\": 28152,\n\t\"./el\": 7687,\n\t\"./el.js\": 7687,\n\t\"./en-au\": 46668,\n\t\"./en-au.js\": 46668,\n\t\"./en-ca\": 76798,\n\t\"./en-ca.js\": 76798,\n\t\"./en-gb\": 53615,\n\t\"./en-gb.js\": 53615,\n\t\"./en-ie\": 91364,\n\t\"./en-ie.js\": 91364,\n\t\"./en-il\": 79907,\n\t\"./en-il.js\": 79907,\n\t\"./en-in\": 70533,\n\t\"./en-in.js\": 70533,\n\t\"./en-nz\": 33190,\n\t\"./en-nz.js\": 33190,\n\t\"./en-sg\": 51096,\n\t\"./en-sg.js\": 51096,\n\t\"./eo\": 3962,\n\t\"./eo.js\": 3962,\n\t\"./es\": 37726,\n\t\"./es-do\": 65010,\n\t\"./es-do.js\": 65010,\n\t\"./es-mx\": 63654,\n\t\"./es-mx.js\": 63654,\n\t\"./es-us\": 59043,\n\t\"./es-us.js\": 59043,\n\t\"./es.js\": 37726,\n\t\"./et\": 25343,\n\t\"./et.js\": 25343,\n\t\"./eu\": 90728,\n\t\"./eu.js\": 90728,\n\t\"./fa\": 60787,\n\t\"./fa.js\": 60787,\n\t\"./fi\": 71771,\n\t\"./fi.js\": 71771,\n\t\"./fil\": 45335,\n\t\"./fil.js\": 45335,\n\t\"./fo\": 69761,\n\t\"./fo.js\": 69761,\n\t\"./fr\": 1670,\n\t\"./fr-ca\": 28991,\n\t\"./fr-ca.js\": 28991,\n\t\"./fr-ch\": 97280,\n\t\"./fr-ch.js\": 97280,\n\t\"./fr.js\": 1670,\n\t\"./fy\": 24203,\n\t\"./fy.js\": 24203,\n\t\"./ga\": 69858,\n\t\"./ga.js\": 69858,\n\t\"./gd\": 38605,\n\t\"./gd.js\": 38605,\n\t\"./gl\": 27365,\n\t\"./gl.js\": 27365,\n\t\"./gom-deva\": 33896,\n\t\"./gom-deva.js\": 33896,\n\t\"./gom-latn\": 95587,\n\t\"./gom-latn.js\": 95587,\n\t\"./gu\": 97950,\n\t\"./gu.js\": 97950,\n\t\"./he\": 92029,\n\t\"./he.js\": 92029,\n\t\"./hi\": 51897,\n\t\"./hi.js\": 51897,\n\t\"./hr\": 29816,\n\t\"./hr.js\": 29816,\n\t\"./hu\": 22253,\n\t\"./hu.js\": 22253,\n\t\"./hy-am\": 28196,\n\t\"./hy-am.js\": 28196,\n\t\"./id\": 51307,\n\t\"./id.js\": 51307,\n\t\"./is\": 95474,\n\t\"./is.js\": 95474,\n\t\"./it\": 23099,\n\t\"./it-ch\": 45807,\n\t\"./it-ch.js\": 45807,\n\t\"./it.js\": 23099,\n\t\"./ja\": 19127,\n\t\"./ja.js\": 19127,\n\t\"./jv\": 30182,\n\t\"./jv.js\": 30182,\n\t\"./ka\": 10758,\n\t\"./ka.js\": 10758,\n\t\"./kk\": 93444,\n\t\"./kk.js\": 93444,\n\t\"./km\": 72034,\n\t\"./km.js\": 72034,\n\t\"./kn\": 46223,\n\t\"./kn.js\": 46223,\n\t\"./ko\": 83064,\n\t\"./ko.js\": 83064,\n\t\"./ku\": 8714,\n\t\"./ku.js\": 8714,\n\t\"./ky\": 12062,\n\t\"./ky.js\": 12062,\n\t\"./lb\": 84796,\n\t\"./lb.js\": 84796,\n\t\"./lo\": 19279,\n\t\"./lo.js\": 19279,\n\t\"./lt\": 106,\n\t\"./lt.js\": 106,\n\t\"./lv\": 11840,\n\t\"./lv.js\": 11840,\n\t\"./me\": 42240,\n\t\"./me.js\": 42240,\n\t\"./mi\": 13588,\n\t\"./mi.js\": 13588,\n\t\"./mk\": 15518,\n\t\"./mk.js\": 15518,\n\t\"./ml\": 37823,\n\t\"./ml.js\": 37823,\n\t\"./mn\": 98657,\n\t\"./mn.js\": 98657,\n\t\"./mr\": 61285,\n\t\"./mr.js\": 61285,\n\t\"./ms\": 43014,\n\t\"./ms-my\": 86253,\n\t\"./ms-my.js\": 86253,\n\t\"./ms.js\": 43014,\n\t\"./mt\": 20167,\n\t\"./mt.js\": 20167,\n\t\"./my\": 47940,\n\t\"./my.js\": 47940,\n\t\"./nb\": 50014,\n\t\"./nb.js\": 50014,\n\t\"./ne\": 49023,\n\t\"./ne.js\": 49023,\n\t\"./nl\": 34208,\n\t\"./nl-be\": 71412,\n\t\"./nl-be.js\": 71412,\n\t\"./nl.js\": 34208,\n\t\"./nn\": 81354,\n\t\"./nn.js\": 81354,\n\t\"./oc-lnc\": 40870,\n\t\"./oc-lnc.js\": 40870,\n\t\"./pa-in\": 80389,\n\t\"./pa-in.js\": 80389,\n\t\"./pl\": 7342,\n\t\"./pl.js\": 7342,\n\t\"./pt\": 34774,\n\t\"./pt-br\": 73003,\n\t\"./pt-br.js\": 73003,\n\t\"./pt.js\": 34774,\n\t\"./ro\": 85333,\n\t\"./ro.js\": 85333,\n\t\"./ru\": 73451,\n\t\"./ru.js\": 73451,\n\t\"./sd\": 43921,\n\t\"./sd.js\": 43921,\n\t\"./se\": 59682,\n\t\"./se.js\": 59682,\n\t\"./si\": 80582,\n\t\"./si.js\": 80582,\n\t\"./sk\": 4348,\n\t\"./sk.js\": 4348,\n\t\"./sl\": 95337,\n\t\"./sl.js\": 95337,\n\t\"./sq\": 39358,\n\t\"./sq.js\": 39358,\n\t\"./sr\": 50683,\n\t\"./sr-cyrl\": 69382,\n\t\"./sr-cyrl.js\": 69382,\n\t\"./sr.js\": 50683,\n\t\"./ss\": 51156,\n\t\"./ss.js\": 51156,\n\t\"./sv\": 29855,\n\t\"./sv.js\": 29855,\n\t\"./sw\": 18536,\n\t\"./sw.js\": 18536,\n\t\"./ta\": 15373,\n\t\"./ta.js\": 15373,\n\t\"./te\": 37809,\n\t\"./te.js\": 37809,\n\t\"./tet\": 61297,\n\t\"./tet.js\": 61297,\n\t\"./tg\": 92527,\n\t\"./tg.js\": 92527,\n\t\"./th\": 85862,\n\t\"./th.js\": 85862,\n\t\"./tk\": 79331,\n\t\"./tk.js\": 79331,\n\t\"./tl-ph\": 44387,\n\t\"./tl-ph.js\": 44387,\n\t\"./tlh\": 3592,\n\t\"./tlh.js\": 3592,\n\t\"./tr\": 79732,\n\t\"./tr.js\": 79732,\n\t\"./tzl\": 99570,\n\t\"./tzl.js\": 99570,\n\t\"./tzm\": 83553,\n\t\"./tzm-latn\": 7699,\n\t\"./tzm-latn.js\": 7699,\n\t\"./tzm.js\": 83553,\n\t\"./ug-cn\": 25674,\n\t\"./ug-cn.js\": 25674,\n\t\"./uk\": 69974,\n\t\"./uk.js\": 69974,\n\t\"./ur\": 45773,\n\t\"./ur.js\": 45773,\n\t\"./uz\": 22738,\n\t\"./uz-latn\": 77135,\n\t\"./uz-latn.js\": 77135,\n\t\"./uz.js\": 22738,\n\t\"./vi\": 20043,\n\t\"./vi.js\": 20043,\n\t\"./x-pseudo\": 40767,\n\t\"./x-pseudo.js\": 40767,\n\t\"./yo\": 80150,\n\t\"./yo.js\": 80150,\n\t\"./zh-cn\": 21828,\n\t\"./zh-cn.js\": 21828,\n\t\"./zh-hk\": 86644,\n\t\"./zh-hk.js\": 86644,\n\t\"./zh-mo\": 79305,\n\t\"./zh-mo.js\": 79305,\n\t\"./zh-tw\": 31860,\n\t\"./zh-tw.js\": 31860\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 35358;"],"names":["COVIDTandCData","COVIDVisits","HeaderDetails","last_access","to_goal","to_complete","IPTandCData","LTCFTypesValues","MaxImmunizers","t1","commonMenuItems","adminmenuItems","title","active","url","navigationItems","storeManagermenuItems","districtManagermenuItems","healthcareSupervisormenuItems","regionalVicePresidentmenuItems","directorRxRetailmenuItems","MinImmunizers","t2","noClientInterestOptions","SiteRequiredFields","states","t3","UniversalTandCData2022","universalContractReleaseDate","UniversalTandCData2023","UniversalTandCData2024","UniversalTandCData2025","UniversalTandCData","universalContractReleaseDate2023","universalContractReleaseDate2022","adminUserNames","covidClinicTypeValues","adminFooterMenuItems","storeManagerFooterMenuItems","districtManagerFooterMenuItems","healthcareSupervisorFooterMenuItems","regionalVicePresidentFooterMenuItems","directorRxRetailFooterMenuItems","HintMessage","LocalField","outreachType","outreachTypePCA","PCADetailsFields","pcaDates","defaultSiteDesignInfo","ipDates","srDates","covidDates","fluOppContactStatusDates","thankyouMessageData","userLoginData","Injectable","Router","NavigationStart","Subject","AlertType","AlertService","constructor","router","subject","keepAfterRouteChange","ChangecorpStoreApptTrackerBannerColor$","setWarningAlert","events","subscribe","event","clear","getAlert","asObservable","getWarningAlert","sendWarningAlert","IP","SR","PCA","next","ip","sr","pca","clearWarningAlert","success","message","alert","Success","error","Error","info","Info","warn","Warning","type","_","__decorate","Component","AlertComponent","alertService","alerts","ngOnInit","push","removeAlert","filter","x","cssClass","selector","template","__NG_CLI_RESOURCE__0","AppComponent","BrowserModule","NgModule","CUSTOM_ELEMENTS_SCHEMA","RouterModule","FormsModule","HttpClientModule","BrowserAnimationsModule","AdminModule","AuthModule","ReportsModule","StoreModule","CommonComponentsModule","AdminRouteGuard","HomeRouteGuard","HeaderComponent","APP_ROUTES","ReusableModule","AuthenticationService","ClinicDetailsModule","ResourcesModule","HomeModule","ContractagreementModule","CanDeactivateGuard","PatientcareadvocacyModule","NgxSpinnerModule","TableModule","AccordionModule","InputMaskModule","KeyFilterModule","AutoCompleteModule","ButtonModule","TooltipModule","NgbModule","MessagesModule","SharedModule","AppModule","declarations","imports","forRoot","schemas","providers","bootstrap","ClinicalRequirementsImmunizations","ClinicalRequirementInstruction","ClinicalRequirementsImmunizationsContent","ClinicalRequirementsImmunizationsChkBoxContent","ImmunizationsClinicalRequirements","CompleteClinic","UserRole","BlockedImmunizations","RestrictedStatesAllowedUsers","ErrorMessages","SessionDetails","canActivate","userProfile","GetUserProfile","userRole","toLowerCase","DISTRICTMANAGER","DIRECTORPHARMACYRETAILOPERATIONS","HEALTHCARESUPERVISOR","REGIONALVICEPRESIDENT","REGIONALHEALTHCAREDIRECTOR","ADMIN","STOREMANAGER","PHARMACYMANAGER","PODUSER","navigate","MessageServiceService","message_service","canDeactivate","component","setCanShowRouteChangeConfirmation","getCanRouteChange","HostListener","Directive","ComponentCanDeactivate","unloadNotification","$event","returnValue","args","FormCanDeactivate","diff","getModelDiff","Object","keys","length","route","state","NavigationCanDeactivateGuard","messageService","_subscription","getNavigationClicked","setNavigationClicked","history","pushState","location","href","HttpClient","environment","Util","catchError","LookupService","http","getLookUpValues","columnName","category","API_URL","RESOURCES","GET_LOOKUP_VALUES","get","getRequestHeadersV1","pipe","handleErrorV2","providedIn","ActivityReport","user_id","user_role","filter_by","regional_number","area_number","pod_number","district_number","outreach_start_date","time_period","outreach_effort","is_current_season","report_name","output_type","reportName","outputType","userId","filterBy","regionNumber","areaNumber","podNumber","districtNumber","outreachStartDate","timePeriod","outreachEffort","isCurrentSeason","AddBusiness","businessId","BusinessName","Phone","FirstName","LastName","EMail","TollFree","Industry","JobTitle","WebsiteURL","Address1","EmploymentSize","Address2","CharityHHSVoucher","CommunityOutreach","City","ZipCode","ZipCode4","County","SeniorOutreach","ImmunizationProgram","BusinessInfoSelected","ContractInitiated","ContractRejected","ContractSent","ScheduledEvent","addressmatchkey","Alert","CorporateTrackerSchedulerClinics","is_client","client_id","appt_type","clientId","apptType","isClient","DistrictCompliance","district_id","year_start_date","quarter","districtId","yearStartDate","SrEventScheduledDetails","LogOutreachStatus","FollowUpDetails","ErrorS","FollowUp","logOutreachStatus","followUpDetails","srEventScheduledDetails","FollowUpDetailsList","followUpDetailsList","HighLevelCompliance","HighLevelStatus","from_date","to_date","covidOnly","fromDate","toDate","ddlState","ImmunizationCheck","ImmunizationFinance","ip_season","include_dates","covid_only","ipSeason","includeDates","JsFluOppContactStatusModel","MinimumShotExceptions","iscurrent_season","include_date_range","MovePatientsBetweenPatientGroupsModel","OutReachProgramType","contracts","communityoutreach","equityevents","AddOutreachOpportunity","outreachEffortList","Array","organizationtype","isStandardized","isCovidOpportunity","isFluOpportunity","privateClinicFees","notes","OutreachEffortList","SelectType","StoreInfo","TestingPartnerInfo","ClinicImzQtyList","ClinicList","ClinicImmunizationList","ClientInfo","WalgreenCoInfo","ContractThankYou","PCAContractAgreementModel","PotentialLocalBusiness","store_id","contacted","status","storeId","PotentialCOVIDBusiness","RestrictedClinicsAndOpportunitiesReport","report_type","reportType","ScheduledAppointment","user_pk","client_pk","clinic_pk","appts_type","appt_room","appt_date","clinicPk","room","clinicDate","ScheduledClinicStatus","ScheduledClinics","outreach_status","clinic_type","is_previous_season","page_index","opportunityDesignation","page_Size","outreachStatus","clinicType","isPreviousSeason","pageIndex","opportunityDesignationType","pageSize","ScheduledEventsReport","SearchCuraPatientPatientGroupsModel","searchString","TestingEvents","organiztion_type","organizationType","UnsubscribeEmailData","ClinicsList","isScheduled","SiteLogoAndStyles","SiteLandingPageText","SiteRequiredRegisField","UpdateSchedulerSiteDesign","UserAccessLog","season","UserProfile","UserProfileModel","profile_model","VaccinePurchase","vaccine_type","vaccineType","WeeklyVaccinePurchasing","file_name","fileName","WorkflowMonitor","CancelSchedulledClinics","CancelAppointments","latitude","longitude","previousContact","previousLocation","isNoClinic","charityVoucherProgram","CharityProgram","isSendLocationChangeEmailToAppts","isSendRescheduleEmailToAppts","headername","clientname","titlename","attentionto","address1","address2","cityname","statename","zipcode","ClinicDetailsDelete","OpportunityInfo","ClinicsUpdateHistoryLogList","ClinicDetailsUpdate","clinicContactStatus","ClinicAssignment","coClinics","isCovidClinic","clinicImzQtyList","isCurrent","errorCode","errorMessage","businessPk","clinicAgreementPk","outreachBusinessPk","contactLogPk","isApproved","approvedOrRejectedBy","isEmailSent","clinicImmunizationList","clinicList","errorS","EquityEvent","CommOutreachProgram","CommunityOutreachServiceModel","commOutreachProgram","EquityEventsProgram","EquityEventsServiceModel","Immunization","immunizationPk","immunizationName","immunizationAbvNameEN","paymentTypeName","paymentTypeId","estimatedQuantity","Clinic","contactFirstName","contactName","contactLastName","contactEmail","contactPhone","startTime","endTime","city","zipCode","isReassign","fluExpiryDate","routineExpiryDate","estShots","localvouchersDist","visitType","isNoClinicFee","vouchersDistributed","mobileOrg","Immunization2","isCopay","isVoucherNeeded","sendInvoiceTo","showprice","voucherExpirationDate","price","Immunizations","Client","client","name","reviewedDate","WalgreenCo","eSignature","preparedDate","rhdName","rhdEmail","LegalNoticeAddress","attentionTo","contractThankYou","storeState","hasPrefilledForms","pdfVarFormEn","pdfVarFormEsp","ContractData","forEach","imz","contractPostedByUser","contactWagUser","isEmailSentToRHD","isRHDApproved","licenseAgreementNum","isLocationReqAvailable","isHealthRoomAvailable","clientInfo","walgreenCoInfo","legalNoticeAddressInfo","contracTthankYou","LanguageVariables","thirdPartyRightsText","thirdPartyRights","inWitnessWhereOff","inWitnessWhereOff2ndLine","wallGreensCommOffsiteTitle1","wallGreensCommOffsiteTitle2","wallGreensResponsibilities","wallGreensResponsibilitiesPara1Heading","sendLegalNoticeToClient","sendLegalNoticeToWalgreens","wallGreensResponsibilitiesCvrdServices","profJudgementHeading","profJudgementText","provHealthCrProfHdng","provHealthCrProfText","clientsResponsibilites","vouchersHeading","vouchersText","offSiteLocation","eligibleParticipants","important","offSiteLocationText1","eligibleParticipantsText1","siteMin","siteAvg","siteMinText","siteAvgText","pmtAndBIlling","paymentHd","paymentText","latePayment","latePaymentText","costIncreasetext","costIncrease","termAndTermCaps","termAndTerm","termAndTermText","effectAndTerminiation","effectAndTerminiationText","waiver","waiverText","insurAndIndemnify","insurance","insuranceText","indemnification","indemnificationText","generalTerms","confidentiality","confidentialityP1","phi","phiAb","confidentialityP2","confidentialityUniversalText","singleStarTAndC","singleStarTAndC2","article2Text","Advertising","AdvertisingText","frcMaj","frcMajText","compliance","complianceText","assignment","assignmentText","notices","noticesText","entireAgr","entireAgrText","counterPart","counterPartsText","rights","businessName","date","district","attentionToTxt","zip","approveAgrmnt","approveText","electrSign","pageTitle","approve","reject","submit","printAgreementTxt","clinicLocation","clinicTime","contact","phone","time","email","emailAgrmntTo","multipleEmailAddrss","sendAgreeMnt","editAgreeMnt","saveAgreeMnt","cancelTxt","noteTxt","table1","cancel","dose","privateClinicFeesText","businessConfidentiality","businessConfidentialityText","clinicFee","participants","DashBoard","PrimaryAddress","DuplicateAddressList","DuplicateBusiness","primaryAddress","EncryptDecrypt","EventDetailsData","Globalvariables","showBtnEn","showBtnSp","LocalClinicDetails","OpportunitiesList","LocalLeads","LocalLeadsSave","recaptchaRequest","secret","LogData","OutreachEffort","Opportunities","isPCA","covidOpportunityType","LulaAsoRelease2","tnCCutOffDate","use","term","tradenames_publications","indemnity","surrender","miscellaneous","conditionalTnCInsurance","LulaGovRelease2","OpoLulaRelease2","inwitnesswhereof","CancerLulaRelease2","LulaSTIRelease2","LulaHIVAndHepatitisRelease2","LulaHIVRelease2","LulaHepatitisRelease2","LulaAso","LulaGov","OpoLula","CancerLula","ProofOfDocs","PCATestingEventDetails","opportunityInfo","clinicsUpdateHistoryLogList","MobileOrg","PcaEvent","immunization","jobTitle","PcaEventSchedule","eventDate","PcaContract","pcaClinic","testingPartner","store","pcaEvenScheduleList","dateApproved","init","Store","wipeData","isRhdApproved","PcaImmunization","Errors","firstName","lastName","PCACancerMetrics","DetailList","apptPk","middleName","employeeId","apptDate","apptTime","apptTimeOfDay","apptRoom","confirmationId","clinicState","clinicStoreId","naClinicGroupId","schedulerRegistration","storeAddress","selectedImmunization","schedulerRegistrationDetails","detailList","SchedulerUserInfo","Schedulevent","StoreComplianceSR","userPk","StoreComplianceIP","region_number","covid_Only","StoreProfile","ThankyouData","UserAccessLinkUserList","SendUserAccessLink","UserInfo","UserLoginInfo","VoucherFormData","CommonModule","UserProfileComponent","EditUserComponent","AddUserComponent","ReactiveFormsModule","UserProfileService","CorporateSchedulerComponent","CorporateSchedulerPreviewComponent","WalgreensSchedulerRegistrationComponent","CorporateuploaderstatusComponent","CorporateuploaderComponent","CorporateuploaderService","WalgreensSchedulerConfirmationComponent","SchedulerLandingComponent","PreviewService","ClientSchedulerApptTrackerComponent","SchedulerregistrationService","CheckboxModule","CorporateStoreApptTrackerComponent","StoreprofileuploaderstatusComponent","StoreprofileuploaderComponent","StoreprofilereportandupdateComponent","UploadstoreprofilesComponent","StoreProfileUploadCompleteComponent","UpdatestoreprofileComponent","ImmunizationCheckComponent","AddEditImmunizationCheckComponent","DroppedStoreReassignmentsComponent","GroupidsuploaderComponent","PickListModule","MultiSelectModule","ListboxModule","ColorPickerModule","TabViewModule","ProgressSpinnerModule","DialogModule","CalendarModule","PaginatorModule","ConfirmDialogModule","PatientReassignmentComponent","provide","useValue","window","ViewChild","Input","NgxSpinnerService","Location","LocationStrategy","_location","previewService","scheduler_regisration","spinner","index","showVarHCSLocal","showVarHCS","searchValue","appTbl","backVisible","siteDesignInfo","BannerColor","BannerTextColor","ButtonBgColor","ButtonTextcolor","clientLogo","clinicsList","ddlApptType","totalScheduledCount","totalUnscheduledCount","totalImmunizers","selectedDataList","errorPopUp","savePopup","showBlockUnblockButtons","ctrlKeyDown","recordsExist","confirmPopup","block_unblock_apts_obj","scheduledAppointmentInfo","getSchedulerUserInfo","sessionStorage","JSON","parse","removeItem","getSchedulerSiteDesign","designPk","result","enryptedClientKey","siteLogoAndStyles","defaultDesignValues","siteLandingPageText","defaultTextValues","bannerColor","logoFile","CORPORATE_SCHEDULER_UPLOADED_LOGOS_URL","bannerTextColor","buttonTextcolor","clinicDetails","onPopState","document","addEventListener","e","which","keyCode","stringify","onbeforeunload","ev","getCorporateClientApptsCounts","userName","getAppointmentTrackingList","appointmentCols","field","header","onTableHeaderCheckboxToggle","checked","first","slicedArray","slice","paginate","displayFieldCss","hName","disabledEnableRow","obj","isBlocked","clFld","table","reset","handleChange","onClickedOutside","onClickedOutsidee","storeSearchHCS","corporate_tracker_sch_clinics","getAppointmentTrackingDetails","data","filterChanged","refreshClicked","dataTableClinic","paginator","getCorporateClientList","corporate_client_list","corporateClientList","getAppointmentTrackingCounts","numImmunizers","totalScheduled","totalUnscheduled","refreshStoreSearch","navigateApptTracker","GoTo","blockUnblockAppts","is_block_appts","isBlockAppts","eeApptTimeSlots","element","temp","PatientName","apptTimePk","dialogMsg","dialogSummary","confirmblockUnblockAppts","msg","showDialogError","show","hide","sch_unsch_text","showDialogSaved","err","unKnownError","Ok","msgSummary","msgDetail","showRowCheckboxes","ngOnChanges","changes","currentValue","static","ButtonTextColor","LogoFile","MastheadLogo","BodyText","FooterText","HeaderText","image_source","LogoFileName","decodeHTML","replace","closeWindow","close","html","txt","createElement","innerHTML","value","Inject","DOCUMENT","FormBuilder","String","win","_fb","authenticationService","showHints","localStorage","getItem","pageName","dispEncryptedLink","landingPageHeaderText","landingPageBodyText","landingPageFooterText","landingPageHeaderText_value","landingPageBodyText_value","landingPageFooterText_value","isApptSchedulerEncLink","isApptTrackingEncLink","tbl_show","defaultDate","Date","maxDateValue","minDateValue","signUpDates","signUpMaxDates","selectedValues","encryptedSiteLink","encryptedClientApptTrackingLink","scheduleSource","siteSetUp","requiredFields","minImmunizers","maxImmunizers","maxImmunizersList","minImmunizersList","message_text","signupEndDate","siteStatus","walgreensLogo","client_log_image","selectedMaxValue","selectedMinValue","siteSetUpSuccess","uploadedFileName","setValue","uploadFileClinet","overRideOption","fileExt","temp_true","temp_false","pagination_value","image_file_path","today","temp_date","getFullYear","getMonth","getDate","setDate","corporateSchedulerForm","group","firstNameRequired","firstNameVisible","middleNameRequired","middleNameVisible","lastNameRequired","lastNameVisible","employeeIdRequired","employeeIdVisible","EmailRequired","EmailVisible","cols","domain","hostname","protocol","port","Sort","getCorporateSchedularClinics","start_number","min_date_Value","getCorporateSchedulerClinics","maxImmunizersData","minImmunizersData","csTbl","list","item","isCanceled","clinicStartTime","clinicEndTime","immunizers","scheduleTotalRecords","undefined","i","max_date_value","resetToDefault","defautLogoValues","pageNameChanger","setTimeout","setShowTabbedHints","tab_index","ngAfterViewInit","openNext","openPrev","resetToDefaultText","text","toHTML","input","DOMParser","parseFromString","documentElement","textContent","openPreview","preview_info","path","open","openLandingPage","showEncryptedLinkDlg","ptype","copyEncryptedLink","linkText","copyText","getElementById","select","execCommand","noRequireOptionChanged","controls","target","attributes","formcontrolname","nodeValue","ClientChanged","client_name","pk","Number","clientName","schedulerSiteDesign","siteRequiredRegisFields","defaultLandingValues","scheduler_site_design","accessSchedulerEncryptedLink","accessSchedulerTrackerEncryptedLink","apptSchedulerEncLink","copyApptTrackingEncLink","buttonColor","buttonTextColor","mastheadLogo","bodyText","footerText","headerText","siteRequiredRegisFieldList","isFieldRequired","isFieldVisible","okClicked","Save","validation","alternateText","siteRequiredFields1","siteRequiredFields","displayName","fieldName","concat","temp_var","all_data","temp_list","inner_item","clinic_list","isStoreConfirmed","signUpDate","max_imm","min_imm","findIndex","it","index1","updateSchedulerClientSetUp","Format","showErrorMessage","maxImmunizersChanged","splice","minImmunizersChanged","selectSignUpDate","disabledControl","clinic_date","ok","uploadFile","files","isValidFiles","formData","FormData","j","append","imageUpload","setradio","uploadOk","isValidFileExtension","ext","toLocaleUpperCase","split","pop","exists","accessScheduler","navigateToSchedulerSites","accessTracker","page_name","encrypt_data","encryptedS","decryptedS","postEncryptionDecryption","decrypted_data","_body","getD","absJ","splited_Data","scheduleuserInfo","password","appointmentPK","redirectPage","clinicPK","setSchedulerUserInfo","Override","Cancel","onRowSelect","onRowUnselect","customSort","reA","reN","sort","data1","data2","value1","value2","aA","bA","aN","parseInt","bN","order","ActivatedRoute","GetEventDetails","ngOnDestroy","Validators","corporateuploaderService","formBuilder","utility","viewSteps","totalSteps","uploadData","invalidFile","isError","dialogMessage","exportfilename","corporateUploaderForm","required","inputFile","onFileChange","onSubmit","setValidators","updateValueAndValidity","valid","saveFiles","validateAllFormFields","corporateUploadData","upload","corporateClinicList","paymentTypeIds","paymentMethod","indexOf","join","total_insert","isValidRecord","total_failed","totalInsert","totalFailed","currentStep","isFieldValid","touched","Continue","exportCSV","dataTable","rowCount","pageNoSize","OkError","step","clinicstatus","clickedPath","onDestroy$","GoToStep","HeaderserviceService","service","droppedStoreDlg","errorShow","successShow","reassignShow","getDroppedStoresForReassignment","droppedStores","getHeaderWidth","colName","reassignToClosetStore","isReassignAllstores","SelectedDroppedStores","reassignDroppedStoresToClosestStore","errorMessageShow","successOkClick","GroupiduploaderService","ApplicationSettings","groupiduploaderService","showMessage","showMessageAfter","isArchive","submitted","fileError","isContinue","showPopUp","beforeFluCount","beforeRoutineCount","afterFluCount","afterRoutineCount","beforeFluVoucherCount","afterFluVoucherCount","beforeRoutineVoucherCount","afterRoutineVoucherCount","groupIdUploaderForm","getGroupIdsCount","uploaded","description","unusedGroupIdsCount","cancelArchive","archiveGroupIds","f","invalid","cur_date","s_date","getIMmunizationStartDate","color","ImmunizationCheckService","immunzationService","isEdit","successImmunizationCheck","buttonName","headerMessage","overrideAgreements","addImmunizationCheck","ImmunizationName","SpanishName","Price","DirectBillPrice","DirectBillVoucherPrice","ClinicType","ImmunizationAbvEN","ImmunizationAbvSP","IsActive","getClinicTypes","GetImmunizationCheckPK","getImmunizationCheckData","onAddEditImmunizationSubmit","EditImmunization","AddImmunization","AssignFieldValues","updateImmunizationCheck","immunizationCheck","res","conflictAgreements","overrideAgreementMessage","successMessage","console","log","createImmunizationCheck","spanishName","directBillPrice","directBillVoucherPrice","immunizationAbvEN","immunizationAbvSP","isActive","getImmunizationCheckByPk","edit_immunization","toFixed","getAllClinicTypes","dropDownList","continueAgreementClick","allowOverride","formatPrice","transformtoFixed","immunizationCheckService","immunizationChecks","totalData","getImmunizationCheckDetails","getAllImmunizationChecks","p","getImmCheckCls","editImmunization","SetImmunizationCheckPK","onChange","ViewEncapsulation","PatientgroupService","sourceResult","sourceSearch","targetSearch","sourceSearchString","targetResult","sourceResultExists","targetResultExists","targetSearchString","sourceAndTargetFilled","typeMisMatch","getSourcePatientGroups","jsonRes","disabled","patientCount","getTargetPatientGroups","onChangeSource","SelectedSource","id","SelectedTarget","onChangeTarget","reassignPatients","confirmReassignPatients","postObj","fromPG","toPG","responseFromCP","typeMisMatchOkClick","encapsulation","None","clientStatus","footerText1","showAppointmentButton","showBodyText","showResendPopup","resendEmail","htmlDecode","hasActiveClinics","getElementsByClassName","getElementsByTagName","path_ref","setAttribute","substring","lastIndexOf","str","div","innerText","openRegistrationPage","openPopup","submitResendPopup","reg_exp","RegExp","test","resendAppointmentConfirmationEmail","closeErrorPopup","closePop","HttpHeaders","StoreprofileuploaderService","_baseURL","getUploadedFilesList","GET_STOREPROFILE_UPLOADED_FILES","uploadStores","upload_mode","uploaded_on","user_email","UPLOAD_STORE_PROFILES","userData","GetUserInfo","token","btoa","req_headers","set","post","headers","getGeneratedStoreProfileReport","uploaded_file_key","GET_GENERATED_STOREPROFILE_REPORT","updateAStoreProfile","store_profile","UPDATE_STOREUPLOAD_PROFILE","usernamePassword","getE","deleteStoreProfile","DELETE_STOREUPLOAD_PROFILE","deleteStoreUploadFile","DELETE_STOREUPLOAD_FILE","downloadStoreProfileUploadReport","DOWNLOAD_STOREPROFILE_REPORT","observe","responseType","updateStoreProfilesInSite","UPDATE_STOREPROFILES_INSITE","uploadedFileKey","uploadMode","completedStatusMsg","statusMessage","getButtonContent","action","but_content","getHeader","Output","EventEmitter","saveAs","importedSaveAs","store_profile_uploader_service","generatedStoreProfileData","currentAction","canShowActions","canShowConfirmPop","canShowEditStorePop","confirmMessage","showInfoMsg","selectedStore","selectedStoreString","selectedStoreBkp","onSiteLocationSelectedValues","canOpenForEdit","loadPage","loadEditForm","onsite_col","wag_rad_store","ele","onSiteLocation","storeProfileList","k","fileCounts","uploadedFilesStatsList","getHeaderClass","cls_name","backNav","emit_json","emit","showActionsDialog","setItem","selectedRow","continueOnConfirm","removeStoreSettings","is_error","cancelOnConfirm","cancelUpdate","updateStore","updateStoreSettings","updateSite","getCheckboxValue","rowIndex","attr","setIsOnsiteStore","getValue","dlg_header","makeAction","downloadReport","trim","body","disableOnSiteOptionForRadStore","wagRadStore","ViewContainerRef","ComponentFactoryResolver","componentFactoryResolver","partialFeedRecords","loadComponent","compRef","destroy","childCmpHost","componentFactory","resolveComponentFactory","createComponent","instance","goToStep","changeDetectorRef","detectChanges","event_data","stepNumber","uploadedOn","dynCompFactory","dynamiCmpHost","dynamicCompRef","cancelUpdateProfile","cancelUpdateStoreProfile","updateProfile","updateStoreProfile","read","is_clicked","updateFormControls","canCancelUpdate","canUpdateStore","createForm","storeUpdateFormGroup","control","number_pattern","addControl","compose","pattern","addr_pattern","name_pattern","state_pattern","zip_pattern","displayColMDCss","return_value","uploadedFilesList","hasFilesList","selectedFileKey","selectedFile","loading","cnt","mode","storeProfileUploadData","dt","m","toString","d","getHours","getMinutes","getSeconds","getSelectedFileReport","selected_file_key","getSelectedFileKey","setUploadMode","is_body","openFile","removeFile","getScrollableHeight","of","observableOf","switchMap","tap","distinctUntilChanged","debounceTime","_userservice","_headerservice","_router","hideElement","hideElement1","disable","display","selectedUserRole","UserRoles","isAreaRegion","searching","list_data","isStoreDist","disableFields","isSaveDisable","formatter","address","search","text$","storeSearch","multiSelectList","Email","GetUserRoles","getProfilePk","userProfileData","getUserProfileData","userRolesList","roleId","roleName","assignedLocation","emailField","assignUserRole","GetAvailableLocations","assignments","onAssignmentChange","selectedDistrict","userRoleChange","selected_value","userRoles","dropDownName","bindDropdownList","addUserProfile","user_roles","fax","company","created","createdBy","isDeleted","updatedOn","areaCode","suiteNumber","username","getuserName","isGenericEmail","GetStoreId","AddUserProfile","navigateByUrl","back","user_name","bindDropDownList","onStoreSelect","onSelect","AddRole","DeleteRole","delete_data","isGeneric","list_data_edit","isPodUser","selectedUserRoleName","checkCond","isSuperAdmin","editUserProfile","userRoleItems","params","userID","SuperAdmins","includes","errorClose","EditUserProfile","users","rolename","number","regionId","areaId","role","updatedBy","ConfirmationService","confirmationService","isSiteDeploying","list1","RoleName","cities","displayOptions","isAddUserRole","recordexists","podCol","autocompleteSearch","GetUserInformation","role_name","getData","autocomplete","query","countries","filtered","country","setProfilePk","SetUserProfileData","autoComplete","dataTableUser","sortOrder","sortField","clearSearch","ddlist","DeleteUser","user_details","removeMsg","confirm","accept","deleteUser","GetUserProfileData","showDialog","user_data","EditUser","AddUser","search_string","GetUserInformationSearch","spinnerele","querySelector","style","closeEle","spinnerelement_1","changeSort","localeCompare","getUserMgmntCls","scheduler_registration","registrationDetails","isCancelled","scheduleregistrationInfo","getSchedulerApptDetails","appointment","errorSchedulerMsg","appointmentTime","apptTimeRangeString","download","getVarFormPDF","pdfPath","errorVARForm","downloadVISForm","new_url","host","printConfirmation","print","goToResources","openSite","editAppointment","interval","take","ElementRef","DatePipe","TimeToDatePipe","_datePipe","_timeToDatePipe","row1Data","row2Data","row3Data","row4Data","row5Data","fieldsInfo","clinicLocationsList","apptDatesList","apptImmunizationsList","editimmunizationdata","selectedImmuzvalues","apptTimesOfDay","apptTimesOfDayList","apptTimesList","apptRoomsList","selectvalues","errorMessages","isDisable","isSelected","selectedlocationvalue","selectedImmunizations","email_pattern","schedulerUserInfo","selectedValuesRaw","alaSQL","require","regDetails","displayFormData","is_name_required","maxLength","l_name_pattern","l_is_name_required","is_email_required","employee_id_pattern","employee_id_required","is_required","createSelectImmunization","createFormElementsArray","getSchedulerClinicLocations","clinic_locations_results","clinicStateList","obs","schRegFormGroup","schedulerRegistrationFormGroup","loadClinicLoctions","appt_details_results","sCLMScheduleImmunizationLists","SEADImmunizationDetailByApptPK","map","some","imm","immunizationArray","getLocations","clinicLocationList","clinic_location","getDates","clinicLocationId","getTimesOfDay","clinicDateGroupId","scheduleApptTimeList","getTimes","getRooms","clearValidators","array","elements","resetAppointmentInfo","clinicRoom","clinicStoreid","loadAvblApptDates","selected_clinic_ele","temp_fieldsInfo","clinic_location_id","selected_option","options","selectedIndex","tm","loadAvblTimesofDay","selected_clinic_date_ele","clinic_date_group_id","selectedOption","getAttribute","find","clinic","loadAvblTimes","loadAvblRooms","field_info","handleImmunizations","isSelect","submitForm","formErrors","GetState","postSchedulerApptDetails","temp_response","key","disp_name","errors","requiredPattern","actualValue","cancelRegistration","cancelled_post_json","cancelRegisteredAppt","source","soure","appt_times_of_day","transform","apptAvlTimes","setSeconds","setHours","startTimeToken","endTimeToken","setMinutes","apptAvlTimesToShow","sortByKey","selected_clinic_date","a","b","onLastNameInput","lastInitial_pattern","fromCharCode","preventDefault","throwError","observableThrowError","Headers","CLINIC_UPLOAD","httpOptions","handleError","errMsg","statusText","GET_CORPORATE_SCHEDULER_CLINICS","GET_UNASSIGNED_GROUPID_COUNT","GROUPID_UPLOAD","_http","GET_IMMUNIZATION_CHECKS","GET_IMMUNIZATION_CHECKBYPK","UPDATE_IMMUNIZATION_CHECK","CREATE_IMMUNIZATION_CHECK","GET_ALL_CLINIC_TYPES","searchStringObj","GET_SOURCE_PATIENTGROUPS","GET_TARGET_PATIENTGROUPS","MOVE_PATIENTS_BETWEEN_PATIENTGROUPS","ButtonColor","change","SetBannerColor","GetBannerColor","GET_CORPORATE_CLIENTS","GET_SCHEDULER_SITE_DESIGN","UPDATE_SCHEDULER_CLIENT_SETUP","upload_image","CLINIC_UPLOAD_IMAGE","block_unblock_obj","getClinicInfoForTracker","business_pk","GET_CLINIC_INFO_FOR_TRACKER","appt_pk","email_id","appt_details","cancelled_list","action_type","GetAllUsers","GetDirectB2B","GetAutoCompleteData","GetUserInfoBySearch","_url","formatErrors","json","GetUserByRole","GetUserById","user_profile","code_value","GET_USER_ROLES","UserauthenticationComponent","LoginComponent","SignoutComponent","EncryptLinkService","UnauthorizeComponent","LandingComponent","siteMaintenanceDlg","isDashboard","overflow","scrollTo","loadAPI","Promise","resolve","loadScript","setIsPCA","setIsSR","getWagsOutreachCounts","opportunitiesContacted","clinicsScheduled","vaccinesAdministered","srEventsScheduled","getStoresProfile","setStoreProfileData","StoreId","StorePk","storePk","setState","GoToDashboard","DIRECTOR","GoToOpportunities","SetStoreOppSortByDefaultVal","GoToSR","GoToPCA","isFound","scripts","dynamicScripts","node","src","async","charset","appendChild","signout","Compiler","AppCommonSession","encrypt_link","commonsession","authservice","compiler","usersInfo","loginError","email_address","displayMultipulRoles","multipleRoles","ShowSendAccess","removeSendAccessInfo","clearCache","removeSession","unauth","OpenaccessLinkPDF","getDashboard","user_info","SetUserInfo","getUserProfile","dataList","isAdmin","isPowerUser","locationType","assignedLocations","SetUserProfile","getUserInfo","user_Data","login_Info","generateLink","sumMsg","sMsg","userAccessLinkUserList","validateEmail","getEncryptLink","success_message","sendMutipulEmails","selectedRole","Close","loginRedirect","ContractapproveService","PcacontractAgreementService","getContractComponentName","contractApproveService","_contractService","_previewService","popupShow","showPreUniversalContract","routePageName","current_Url","isAuthorise","oldPcaReleaseDate","PcaReleaseDate2022_1","encoded_value","setShowViewCancelBtn","encoded_data","agreementPk","getPCAContractAgreement","fromUserPage","getFormatedDate","clinic_agreement_pk","getContractAgreementApproveData","contractdateApproved","SetAgreementPK","business_data","eventDetails","EventDetails","corporate_clinic_info","GetAgreementPK","approveClinicCancellationByClient","setWagsContactInfo","rejectClinicCancellationByClient","getSchedulerSiteLink","getAndCreateUserProfileInfo","setEncryptedLinkcScheduerInfo","isApp","createUserProfileForSchedulerLinks","getPCAContractAgreementData","agreement_pk","user_type","is_RHD_approved","SEND_USER_ACCESS_LINK","NgPipesModule","LocalClinicDetailsComponent","ClinicdetailsService","OutreachProgramService","ClinicdetailsstatusComponent","QRCodeModule","MessageModule","UniquePipeClinicDetails","EquityEventDetailsComponent","step1Part1Text","step1Part2Text","step2Text","FormArray","KeysLogPipe","CSTDateConvertPipe","ClinicDetailsUtilities","moment","coClinicdetailsService","_localContractService","_alertService","_keysPipe","_apiservice","_lookupService","_uniquePipeClinicDetails","isApptSchedulerDisabled","showAppointmentScheduler","accessLinkHeaderTitle","isEncryptLinkNull","estimatedImmunizers","isAmendAgreementPopUp","ShowDeleteAmendAgreement","showRemoveCancelledStatus","showLastLogStatus","coClinicDetails","clinic_details_update","validateCancel","isAmendButtonEnable","disableCancelIfTotalAdmPresent","validateComplete","validateConfirm","IsAmendSubmit","IsnoclinicvouchersDistributed","dlgDispCOViewAgreement","deleteAgreement","shouldDisableVouchersDistributed","isDeleteAmendAgreement","storeV","distV","ariaV","storeV1","distV1","ariaV1","gropId","is_copay","voucher_needed","savePopUp","savedViaReassignBtn","showClinicCancelDlg","locListModalDlg","getDetailsErr","userApprovedGt250","userApprovedLt25","locConfirm250ModalDlg","locConfirm25ModalDlg","is_cancelled","is_completed","is_confirmed","savePopUpStatus","is_no_clinc","is_voucher_needed","is_voucher_neededForEQ","is_flu_group_id","is_routine_group_id","is_admin","area_dist","clinic_number","intakeID","searchFailed","step_value","is_flu_date","is_routine_date","isVARSectionShow","isVoucherSectionShow","isFluVoucher","isRoutineVoucher","isCovidVoucher","is_covid_date","varFormSP","fluFormSP","routingformSP","covidformSP","is_previous_locations","display_message","updateLogHistory","AssignedStoreChkModalDlg","maintainStatusSelected","action_status","FluDosesValidUnder14DaysDlg","isfluexpirationDate","isroutineexpirationDate","isCovidExpirationDate","isNewClinicAdded","rescheduledErrorCode","isOverride","errorMsgOverride","errorMsgSaveChanges","usPhoneNoRegEx","ConfirmBtnLabel","storeSearchRsp","clinicNotConfirmedMsgDlg","reAssignOutreachStatusLabel","showRemoveCancelledStatusDlg","showRemoveCancelledStatusResult","showClinicalRequirements","clinicalRequirements","canDisableClinicalRequirements","BillingVaccinesCol1Heading","BillingVaccinesCol2Rates","BillingVaccinesCol3PaymentMethod","BillingVaccinesCol4EstVol","BillingVaccinesCol5TtlAdmn","BillingVaccinesCol6VARs","adminConfirmedCancellation","adminCancellationAlert","showBlockedSlotAlert","overrideBlockedSlotAlert","OverrideOrOkTitle","showCancelBtn","myAngularxQrCode","isCovidVaccineAvailable","isNonCovidVaccineAvailable","is_Admin","showEstQnt","showSchedulerAlert","showDeleteClinic","showAfterClinicDelete","specificAdmin","Action","areApptsPresent","apptSchedulerType","pData","isremove","confirmationMessage","disableTotalAdministered","showCuraScheduler","canEditPatientGroupId","cOPForceUncheck","disableCuraPatientScheduler","isProd","envvariable","cancelDispositions","selectedCancelDisposition","displayCancelError","isWagsFreeFluVoucherSelected","covidVaccineWarningOkClicked","covidVaccineSelected","selectedappointementDetails","hasCompleteClinicClicked","makeLogHistoryItem","update_status","updated_value","group_name","item_alias_name","logHistory","updateAction","updatedField","updatedValue","updateSubCategory","getCanShowRouteChangeConfirmation","showCanRouteChange","stampImm","completeClinicHeader","completeClinic","isStoreIsfromRestrictedState","checkIfAnyFluImmIsSelected","setMonth","defaultStartTime","corporateForm","email1","email2","isTaxExempt","copayValue","fluexpirationDate","routineexpirationDate","covidExpirationDate","reassignForm","assignType","assignStoreID","assignStore","fromLocalclinics","event_details","bindControls1","bindLocalClinicData","cacheCPTokenData","currentStoreId","cpk","clinicAgreementDateApproved","Message","getPaymentTypes","immPk","paymentTypes","immzs","Math","round","paymentName","geLocalClinicDetails","apptSchedulerTypeForCP","schedularType","getclinicappointmentdetails","IsLTCFdesignatedOpprtunity","rest","showErrDialogThenGoToHome","isCovid","isFlu","max_clinic_location_id","maxClinicLocationId","sub_item","temp_dt","temp_dt_parts","immDistinct","from","Set","frmGrps","totalImmAdministered","isApptSchedulerEnabled","isCompleted","isConfirmed","childClinicAgreementId","enableDisableClinicDates","ala_sql","reverse","updateLogHistoryQuery","updateField","keyToRemove","filteredField","filteredValue","naClinicGroupIdOriginal","updategroupid","IsFLUVVoucherIncluded","IsROUVVoucherIncluded","splitData","imz_count","isAdminAllowedToAddGroupId","fluOpportunityType","currentDate","c_date","is_clinical_req","imzQtyItem","isClinicalReqd","clinicalReqUserNote","userNote","testsSortedByCognome","toLocaleLowerCase","getpreviousseasoncliniclocations","previous_location_data","previousLocationsList","appointmentScheduler","signUpEndDate","privateCPSchedulerLink","bindControls","clinicDetailsForm","isFluVaccineAvailable","isRoutineVaccineAvailable","PreviousLocationChange","previous_locations","rowId","noClinicOptionChanged","formIndex","imzqty","noClinicOption","clinicListArray","specificClinic","specificClinicImz","imzQty","imzCtrl","imzList","shotsCountOfFlu","patchValue","trimSpaces","formCtrlName","formValue","onlyLettersSpaceAndNumbers","onlyNumberKey","onlyNumbers","onlyNumberDecimals","checkIfFluGroupid","rec","checkIfRoutineGroupid","checkIfFluImmForCorpInvoiceSelected","checkIfVoucherYesSelectedForFluCorpInvoiceSelected","isFluYes","count","dlgCOViewAgreement","reassignVal","getAreaDist","keyValue","valueData","clearReassignDialogControls","saveReassign","restrictedStateCompliance","showDialogV2","checkRestrictedStateCompliance","saveChanges","validateRestrictedStatesReassignment","filterSearchRes","IsReassignmentAllowedForRestrictedState","orginalStoreId","current_date","DC_State_From","DC_State_TO","MO_State_From","MO_State_TO","check","storeID","pk_hash","clientReportingEmail","b2BTeamEmail","salesForceOpportunityId","salesForceAccountName","businessContactEmail","vouchersRedeemed","naClinicPlanId","coPayFLUGroupId","coPayROUTINEGroupId","recipientId","initImmunization","naClinicAddlComments","naClinicSplBillingInstr","initClinicLocations","feedbackNotes","feedback","initClinicHistoryLog","start_time","end_time","loc_array","loc","colLetterToNum","naClinicLocation","toUpperCase","naClinicStartTime","naClinicEndTime","cDate","dateSplitString","dateString","valueOf","covidExpiryDate","clinicNumber","naClinicAddress1","naClinicAddress2","naClinicCity","naClinicState","naClinicZip","naContactFirstName","patientGroupId","naContactLastName","confirmedClientName","naClinicContactPhone","naContactEmail","coOutreachTypeId","coOutreachTypeDesc","clinicLatitude","clinicLongitude","reassignType","reassignedTo","isCuraAppointmentScheduled","isSendCancellationEmailsApproved","AddInitialdummyClinicImmunizations","paperVars","IsPreviousClinic","imz_array","imz_app_date","clinicalReqApprovedDate","clinicalReqdApprovedBy","labelClinicNames","remove_loation_id","max_Location_id","location_count","numberToLetters","removeLocation","removeAt","getPrice","CheckIfWagsFreeFluVoucherIsSelected","updateClinicalRequirements","imz_name","imz_index","addLocation","showClinicNotConfirmedDialog","s","addrCtrl","initAddClinicLocation","startsWith","ctrl","copyPreviousContactInfo","copyPreviousLocation","previous_display","imzCount","AddAddlClinicImmunizations","calculateBS4GridSize","displayFieldCssForArray","isValidArrayField","displayFieldCssForTable","clinicImmzList","transformedList","displayFieldCssForLocImm","im","immArray","estQty","return_val","fields","isFormValid","frmar","confirmClinic","childClinicAgreementApproved","control_imz","requiredTrue","nullValidator","isNoclinicValidations","validateSingleEmail","validatePhoneNo","pharmacistPhone","isAssignedStoreValid","controlclinicList","index_clinic","validateReduceEstQnt","clinicItem","alertUserAboutScheduler","isClinicDateReminderBefore2WksReq","continueWithSaving","imz_names","validateClinicalRequirements","totalImmAdministeredIsOK","ret","locations","startDate","covidVaccineNotAviableDates","endDate","clinicImzQty","isBetween","isSame","disabledFeatures","covidWarning","setErrors","markAsDirty","markAsTouched","formGroup","icontrol","assignedStore","noSlotsOfBlocked","saveData","dateTimeConflict","scrolling","upDateClinicDetails","finalErrMsg","showClinicLocationDetailsSaveChangesError","showUpdateClinicDetailsRspError","showReAssignStoreDialog","isFluDosesValidUnder14DaysTimeFrame","showFluDosesValidityDialog","xcontrol","getCOVIDVisitTypesValidity","re","dose1Re","dose2Re","isValid","errMsgs","totalCovidImmCount","covidImmList","control_list","is_valid_assigned_store","is_reassigning","has_clinical_req_approved","hasClinicalRequirements","has_cl_approved","maintainStatusClicked","contactClientClicked","is_override","error_message","min_shot_validation","disposition","now","hdr","is_overlap","OverrideFluDosesValidUnder14Days","CancelFluDosesValidUnder14Days","qty","Status","cancelClinic","ContinueCancellation","userCancelledCancellation","saveToDB","deleteAgreementData","deleteAmendAgreementData","deleteClinicDetails","clinic_details","contractedStoreId","clinicName","deleteAgreementCancel","deleteAmendAgreementCancel","deleteAmendAgreement","removeCancelledStatus","cancelRemoveCancelledStatus","continueToRemoveCancelledStatus","removeClinicCancelledStatus","showRemoveCancelledStatusDialogResult","confirmDeleteClinic","deleteClinic","loadClinicDataAfterRemove","onBlurMethod","viewAgreement","modifyAgreement","setOpportunitiesData","clinicNotConfirmedMsgOk","showCancelClinicConfirmation","StayonDetailsPage","showDialogStatus","updateDataFromFormFields","canReassignClinic","getDifference","localAliasName","temp_obj","updated_item","updated_imz_item","updated_imz_qty","alias_and_group_name","group_item","aliasNames","groupName","test_item","alias_name","label","val","values","confirmed_status","dose1","dose2","manufacturer","immunizer1","immunizer2","doseNumber","target_obj","businessAddress","businessAddress2","businessCity","businessState","businessZip","naClinicCopay","naClinicCoverageType","isFluClinic","isNOclinic","isDataPostedToCP","immunizations","clinicScheduledOn","naClinicContactPhoneExt","showPrice","isClinicDateReminder","start_index","initialClinicDate","idt","loc_date","diffDays","getDiffDays","MinimumShotValidation","estimatedQty","location25Names","location250Names","moreThan255ImmunizationError","vaccineName","showConfirm250ImmDialog","showConfirm25ImmDialog","acceptLt25Imm","acceptGt250Imm","rejectLt25Imm","rejectGt250Imm","cancelBlockedSlotAlert","continueBlockedSlotAlert","locConflictList","errMsgV1","locClinicDate","stTime","locStartTime","enTime","locEndTime","locationsCpy","conflictLocs","locItem","endDateAdd39Mts","startDatetmToDt","add30MinTS","locStart","conflictLocsCpy","shrtTime","srcLocName","dstLocName","conflictClinicList","duplicateEntry","l","leftItem","rightItem","okClickedV2","goToHome","goToStoreHome","voucher_form_data","downloadType","getContractVoucherFormData","obj1","deepCopy","getObjDiff","oldObj","newObj","prototype","call","leaveRoute","setCanRouteChange","cancelRoute","updateLabel","totalImmAdmintered","updateEstQty","clinicIndex","frmGrp","clinicImzQtyListArr","matchedImms","doesClinicsHaveNoClinicAndMiscOptions","hasCorpInvNdVchNd","checkIfAnyImmunizationsHasCorpInvoiceAndVoucherNeeded","hasNoClinicAndMiscOptions","hasCorpInvoiceNdVchrNd","getPrevSiblingInHist","inner_index","getNextSiblingInHist","getLatitudeLongitude","isReassignGeographySelected","reAssigAllowed","fulladdress","geocoder","google","maps","Geocoder","geocode","results","GeocoderStatus","OK","geometry","lat","lng","AllowAdminsToEditDataForRestrictedState","getAddr","idx","addr","sourceobject","OnAmendAgreementClick","OnAmendAgreementForCommOutreachClick","isAmendAgreementCommOutreachPopUp","CancelAmendAgreement","CancelAmendAgreementCommOutreach","ContinueAmendAgreement","ContinueAmendAgreementCommOutreach","checkRestrictedStatesCompliance","reAssignedStoreId","onvisitTypeClicked","locationForm","onOtherRadioClicked","enable","onOtherTextChanged","displayFieldCssOutReachType","outReach","ErrorMsgContinueClicked","HandleUserResponse","ErrorMsgSaveChangesClicked","ErrorMsgCancelClicked","ErrorMsgSaveChangesCancelClicked","getSchedulerDisabledStatus","uncheckCOPRadio","schedulerType","onScheduleChange","accessCPScheduler","convertBase64ToBlob","Base64Image","parts","imageType","decodedData","atob","uInt8Array","Uint8Array","charCodeAt","Blob","saveAsImage","parent","parentElement","qrcElement","nativeElement","blobData","winnavigator","navigator","msSaveOrOpenBlob","substr","blob","URL","createObjectURL","link","click","newQuant","oldQuant","continueEstQntAlert","showAlert","messageString","alertClinicsList","continueSchedulerAlertClicked","updateClinicFee","onSelectedCancelDisposition","onClinicDateSelected","selectedDate","comparisonDate","handleCovidVaccineAdminConfirmation","handleCovidVaccineAlertOk","handleCompleteClinic","handleCompleteClinicNo","outputs","LCDdisplayDialog","isVoucherPaymentSelected","deleteDialogHeader","deleteDialogMsg","showParticipantsShotsMismatchWarning","showParticipantsShotsMismatchWarningSaveError","estimatedParticipantsAdminConfirmation","isRhdUser","disableEstimatedVolume","isRsvVaccineSelected","clinictype","hasServiceFeefeatureDisabled","serviceFee","isShowInvoiceInfo","isPreviousClinic","getisPreviousClinic","naClinicGroupIdForDisplayOriginal","estimatedParticipants","CheckIfVoucherPaymentMethodIsSelected","incorrect","markAsUntouched","markAsPristine","handleTotalVaccinesAdministered","displayDialogCC","showLCDdisplayDialog","c_invoice","routineExpDateLst","c","flueExpDateLst","covidExpDateLst","invoiceList","getUniqueImmunization","handleEstimatedQuantity","handleParticipantsShotsMismatchAdminConfirmation","immunizationsArr","reduce","prev","Pipe","FormControl","indexVal","uniqBy","pure","business_clinic_pk","GET_LOCAL_CLINIC_DETAILS","confirmClinicDetails","CONFIRM_CLINIC_DETAILS","UPDATE_CLINIC_DETAILS","DELETE_CLINIC_DETAILS","DELETE_AMEND_AGREEMENT","location_type","AREA_REGION_LIST","GET_CONTRACT_VOUCHER_FORM_DATA","REMOVE_CLINIC_CANCELLED_STATUS","CACHE_CP_TOKEN_DATA","GET_CLINIC_SCHEDULAR_APPOINTMENTS","Injector","GlobalErrorHandler","injector","stackTrace","stack","logData","OpportunitiesService","_service","groupIdLaunchDate","_2","outreachStartDateIP","_3","outreachStartDateCovid","_4","reportStartYear","_5","pcaSeason","_6","outreachEffortIP","_7","outreachEffortSO","getOutreachReportStartYear","getCurrentQuarter","getSRCurrentQuarter","getOutreachStartDate","getOutreachEndDate","t_dt","getOutreachReportYears","report_years","int_year","getReportYearQuarters","report_year_quarters","getCovidStartDate","year","getCovidEndDate","getFluOppContactStatusStartDate","getFluOppContactStatusEndDate","getImmunizationEndDate","getSRStartDate","getSREndDate","getPCAStartDate","getPCAEndDate","ErrorHandler","ReplaceTextPipe","useClass","LeadOpportunitiesService","stateCodenName","CovidContactUsComponent","leadService","successDlg","vacn","paymentType","paymentTypeCheckBoxes","schoolPaymentTypeCheckBoxes","redirect","fNlNameRegEx","cityRegEx","address1N2","urlPath","isRecaptchaVerified","schoolContactusForm","businessNameTitle","headerTitle","leadGenerationForm","lgCntrlemaNf255","lgCntrlemaNl400","lgCntrlynapmoc784","lgCntrlliame450","lgCntrl1sserddA594","lgCntrl2sserddA029","lgCntrlytic105","lgCntrletats936","lgCntrlpiz466","lgCntrlrebmuNhp802","lgCntrlnoisnetxe491","lgCntrlspmEfOoNlatot935","lgCntrletaDcinilc137","lgCntrlstnapicitraPfOrebmuNdetamitse432","lgCntrlsetatSluMcoLpme035","lgCntrlepyTtnemyap294","createPaymentType","lgCntrlmgrPhcruoVsi530","recaptchaReactive","vaccinationArray","paymentTypeArray","lgCntrlsetatSluMcoFluInt186","fromSchoolsContactUsPage","resetONBackBtn","statecodenname","createvaccinationsInfo","vaccinationsInfoInputs","arr","vcVals","paymentInp","getSelectedPaymentTypeInfo","paymentField","getSelectedvaccinationsInfo","seperateFiedls","getSelectedvaccinationsInfoName","selectedvcInfo","resolved","captchaResponse","verify","response","siteVerify","rsp","showDialogV3","formValues","trimFormValues","scroll","saveLeadOpportunitesEnquiries","validateFormNSendAlert","validateNResetCaptcha","lgCntrlofnIsnoitaniccav193","classList","remove","add","toElement","goToWagsOnClose","onlyAlphabets","FormGroup","FieldErrorDisplayComponent","onlySelf","FooterComponent","turnOffHints","getTurnOnOffLocalHintsFromComponent","GetFooterMenu","checking","setShowHintsOnToggleChange","setTurnOnOffLocalHintsFromFooter","menu","getAdminFooterMenu","getStoreManagerFooterMenu","getDistrictManagerFooterMenu","getHealthcareSupervisorFooterMenu","getDirectorRxRetailFooterMenu","getRegionalVicePresidentFooterMenu","NavigationEnd","Title","titleService","getTitle","routerState","root","setTitle","header_title","snapshot","firstChild","ImmzContactUsComponent","NavigateToContactUsPage","NavigateToLTCFContactUsPage","InvalidContractComponent","LtcfContactUsLocationsComponent","LtcfContactUsComponent","successDlg1","vacn2","showOtherVaccinationInputField","showOtherVaccinationListInputField","parentCompanyOptions","facilityTypesCheckBoxes","VaccineTypeCheckBox","showOtherPaymentOptionTxtField","industries","lgCntrlynapmoc884","lgCntrlstnapicitraPfOrebmuNdetamitse433","lgCntrlepyTtnemyap111","createVaccineType","VaccineTypeCheckBoxArray","lgCntrlynapmoc3284","lgCntrlAlternateFN","lgCntrlAlternateLN","lgCntrlAlternateJobTitle","lgCntrlAlternateEmail","lgCntrlDesiredClinicCompDate","lgCntrlNeedClinic","hadClinicInPast","lgCntrlOtherIndustry","lgCntrlIndustry","lgCntrlAltPhoneNumber","lgCntrlAltPhoneNumberExt","lgCntrlpharmacyPrvider","addAnotherLocation","otherIndustryIndex","industry","getSelectedIndustry","selectedIndustryText","onParentOptionChanged","getSelectedvaccinationsList","seperateFiedls2","sumOfLtcfEligibleResidentsandStaff","NavigateToImmContactUs","displayVaccineClass","initLocation","lgCntrlFacilityAddrTwo","lgCntrlJobTitle","canDeleteTheClinic","ActionType","StoresListService","MasterlayoutComponent","_opportunityService","_storeslistservice","showVar","openElements","lastAccess","stores","stores1","visible","searchTerm$","selectedNumber","onSelection","dashboard","isStoreTitle","isShowHeaderFooter","isFirstLogin","devWarning","isIP","isSR","isClientRequired","ChangecorpStoreApptTrackerBannerColor","subscription","wAlert","is_pca","is_sr","GetActionType","addOportunity","getRoleTitleForReports","getTitleForDashboardReports","getReportTitle","getProfileChange","getStoreAddress","GetMenu","textA","textB","unsubscribe","store_search","lastStatusProvided","sendStoreId","sendDashboard","model","storeSearchEleRef","focus","titleName","role_based_menu","temp_menu","getCommonMenuItems","tmp_parent_menu","forRoles","temp_item","sub_nav_items","storeInfo","displayNumber","forCovid","rpt_id","item_details","selectDropdownStore","selectedData","navigateToLink","link_info","SafehtmlPipe","HintsPopupComponent","safehtmlPipe","dispChild","dispHintDialog","turnOffHintsChange","currentHintNumber","backButton","nextButton","closeButton","hintHdng","hintMsg","turnOnOffHints","hintsType","getShowTabbedHints","hintMessages","loadCurrentHints","getHintsType","loadHintsOnTypeChange","getTurnOnOffLocalHintsFromFooter","getShowHintsOnButtonClick","hints_key","hints","targetElement","currentTarget","setTurnOnOffLocalHintsFromComponent","showMsg","loadStepWiseHints","PotentialClientInterestService","PreviousClientInterestComponent","potentialInterestAlreadyExists","showErrorMessageHtml","sendEmail","potentialInterestBusinessPk","potentialInterestEmail","SendPotentialClientInterestEmail","showDialogForMail","FilterPipe","StoreOpportunityComponent","LocationNumberPipe","OnlyNumberirectiveDirective","NumberhyphonparenthesisDirective","PhoneFormatPipe","RecaptchaModule","InputSwitchModule","StoreRespondsYesOrNoComponent","ClickOutsideDirective","exports","PLATFORM_ID","APP_ID","ChangeDetectorRef","forkJoin","ProgramType","ScheduleeventService","isPlatformBrowser","_sortByPipe","schedule_event_service","opportunitie","platformId","appId","_ref","turnOffHintss","opportunitiesDataList","opportunitiesFullDataList","opportunities","scheduleClinics","upcomingEvents","pastEvents","storeStatus","dispBlockVrbl","dispSchedulerMenu","displayInfoDlg","displayInfoDlgUpcomingEvents","displaySE","dncClients","dncTempClients","dispDNCsearch","col6Cls","dialogOptConLog","outreachStatusValue","opportunities1","storePharUser","displayMessage","dispContractInitiated","contractInitiated","contractFollowup","selectedDNCData","displayDNC","goTo","stateSpecificDisplay","DNCError","CIError","disable_button","showCorporateMenu","storehome","pcahome","srhome","COVIDHome","display1","pcaDisplay","appOpp","assignedBusinessTitle","GetStoreOppSortByDefaultVal","dialogPCAContactLog","eventListData","dialogOptConLogforPCA","displayMessageForPCA","firstdispHintDialog","ASOIntiaited","GovIntiaited","opoIntiaited","cssIntiaited","pendingRHDApproved","edit_profile_text","dncFilter","restrictedStatesOverride","attentionAlert","NCIOptions","showNCIOptions","showFeedbackNotes","canDisplayOutreachStatus","getShowHintsOnToggleChange","scrollToTop","opportunitiesData","SetLogContact","SetBusinessType","SetPageName","SetFollowUp","sortBy","getStoreID","searchText","getAssignedBusiness","selectName","opportunityForm","defaultSortBY","setIsCOVID","isProcessValue","outreachBbusinesssPKforUpdate","updateStatusEvents","searchTextValue","handleSearch","getIsPCA","getIsSR","getTime","logcontact","select_outreach","outreachstatus","Disposition","other","storeProfile","stateSpecific","statusCountByStore","statusCountByUser","getNationalContractClients","getOpportunities","workflowMonitorStatusList","goal_count","completed_count","upcoming_events","past_events","eventsList","date_string","outreachStatusTitle","sortByUpcoming","defaultValue","opportunityList","loopstartTime","others","employmentSize","isMilitaryOpportunity","isPreviousClient","isInterestClickedInRetentionEmail","isTopPriorityFromLead","isHighPriority","isNoContractOpportunity","businessType","outreachProgram","lastContact","isScheduledClinics","loopendTime","createRange","items","displayFieldCss1","cssColor","colMdClass","bsClasses","minH50","fltLeft","col12","pb0mb0","isOppDisabled","Opportunity","getColor","outreach_type","getColor1","contact_date","firstDate","secondDate","calculateDays","getColor2","calculateDays1","date1","date2","one_day","date1_ms","date2_ms","difference_ms","opportunityClick","opp","showEvents","outreachPk","targetObj","clinicTypeId","ContactLogInfo","showDialogOptConLog","ltcfOpportunity","getOutreachStatus","setOpportunityContactLogInfo","standardOpportunity","outreachStatusData","outreachStatusId","equityEventsIndex","immunization_status","getOutreachType","outreachTypeData","outreachValue","businessContacted","getOutreachTypePCA","onPCAStatusChange","opportunityDate","GetopportunitiesData","outreachStatusInfo","disableButton","onNCIFeedbackChange","nciOption","onOutreachStatusChange","outreach_pk","redirectToPage","redirectToPCAPage","rhdApproved","otherSelected","log_outreach_status","contactDate","getMilliseconds","logContactPrograms","logContact","SetProgramType","logContactCancelClicked","postSimpleUpEvent","sendProfileChange","setIsIP","setHintsType","showDialogInfo","showDialogInfoUpcomingEvents","showErrorDialog","addBusiness","onContactDateSelected","EditBusiness","SetActionType","editOportunity","editBuisnessData","followUpReminders","SRIP","deleteDNC","cancelConfirmation","deleteConfirmationDNC","deleteNationalContractClients","okDNCError","okCIError","showSchedulerMenu","goToclientSchedulerApptTracker","showDialogPCA","appOppourtunity","resrict_states","loggedInUserEmail","overrideRestrictedStatesRule","cancelRestrictedStatesOption","pcaAdd","showPCAContactLog","setInterval","pos","pageYOffset","readyState","clearInterval","onPCASubmit","logContactPCAPrograms","index2","showHintsOnButtonClick","hints_type","setShowHintsOnButtonClick","errorPopUpOkClick","onKeyUp","newString","fltrData","t","clientNameMatchKey","clrDNCsearch","alreadyExists","leadPk","storeResForLead","storeResForLeadStoreId","sendEmailToClientWhenStoreRespondsYes","leadNotFound","sendEmailToClientWhenStoreRespondsNo","getLoginUser","VERIFY_USER_GET","encrypt_decrypt","POST_ENCRYPTION_DECRYPTION","GET_USER_PROFILE","client_key","GET_SCHEDULER_SITE_LINK","GET_STORE_PROFILE","extractData","GET_WAGSOUTREACH_COUNTS","DROPPED_STORES_FOR_REASSIGNMENT","REASSIGN_DROPPEDSTORES_TO_CLOSESTSTORE","POTENTIAL_CLIENT_INTEREST_NEED_MORE_INFO","STORE_CLICKED_YES_FOR_CONTACTUS","STORE_CLICKED_NO_CONTACTUS","DomSanitizer","sanitized","bypassSecurityTrustHtml","ValidationHandler","validateLocalAgreement","agreement_json","is_blocked_imz","has_minimum_shots","shots_count","total_shots_count","failed_clinic_locations","validation_msg_list","has_clinic_before_2weeks","has_clinic_after_2weeks","agreement_messages","AgreementMessages","diffInMs","diffInDates","ceil","blockoutImmunizationValidationMessage","infoMessages","clinicDateReminderAfter2WeeksEN","warningMessages","ApproveagreementComponent2022","InvoiceInformation","displayInvoiceAndVoucher","signature","usernotes","currentUser","userRecords","clinicAgreement","immunizationInformation","clinicInformation","clientInformation","walGreensInfo","client_info","RoutineExpiryDate","languageVariables","fluExpiryDateTxt","routineExpiryDateTxt","voucherNeeded","voucherExpiry","dsblApprove","dsblReject","siteMinimum","isShow3dot3","approveContract","selectedLink","email_signature","user_notes","radioBtn","isShowsingleStarTAndC2","displayInvoiceInfo","GetClinicInformation","GetImmunizationformation","GetClientInformation","GetWalgreensCOformation","GetClientLegalInfo","changeLanguage","covidVaccine","getImmzPrices","priceEx","getImmzPricesForVoucher","isRecordExists","corp","getSelectedClientLegalInfo","languageChangeToSpanish","enlanguageSelection","splanguageSelection","uniContractReleaseDate","languageChange","spanishLanguage","spanish","attachment","attachmentheader","imzsp","payment","paymentsp","rates","ratessp","ImzVcnName","ImzVcnNameEn","PaymtBillMethod","PaymtBillMethodEn","VoucherRates","VoucherRatesEn","OffSiteClinicRates","OffSiteClinicRatesEn","clientsp","namesp","eSignatureSP","dateSP","districtSP","thirdPartyRightsSP","thirdPartyRightsTextSP","titlesp","attentionsp","address1sp","address2sp","citysp","statesp","zipcodesp","approveAgrmntSP","approveTextSP","electrSignSP","notesSP","pageTitleSP","inWitnessWhereOffSP","inWitnessWhereOff2ndLineSP","sendLegalNoticeToClientSP","sendLegalNoticeToWalgreensSP","wallGreensCommOffsiteTitle1SP","wallGreensCommOffsiteTitle2SP","wallGreensResponsibilitiesSP","wallGreensResponsibilitiesPara1HeadingSP","wallGreensResponsibilitiesCvrdServicesSP","profJudgementHeadingSP","profJudgementTextSP","provHealthCrProfHdngSP","provHealthCrProfTextSP","clientsResponsibilitesSP","vouchersHeadingSP","vouchersTextSP","offSiteLocationSP","eligibleParticipantsSP","importantSP","checkIfNonFluImmIsSelected","offSiteLocationText1SP","contractYearText1SP","influenzaSeasonText1SP","eligibleParticipantsTextSP","siteMinSP","siteAvgSP","siteMinTextSP","contractYearText2SP","siteMinTextfluSP","influenzaSeasonText2SP","siteAvgTextSP","pmtAndBIllingSP","paymentSP","paymentTextSP","latePaymentSP","privateClinicFeesSP","privateClinicFeesTextSP","latePaymentTextSP","costIncreaseSP","costIncreasetextSP","termAndTermCapsSP","termAndTermSP","termAndTermTextSP","effectAndTerminiationSP","effectAndTerminiationTextSP","waiverSP","waiverTextSP","insurAndIndemnifySP","insuranceSP","insuranceTextSP","indemnificationSP","indemnificationTAndCChangedDate","universalContractReleasedate","indemnificationTextSP","generalTermsSP","confidentialitySP","confidentialityP1SP","businessConfidentialitySP","businessConfidentialityTextSP","phiSP","phiAbSP","confidentialityP2SP","confidentialityTextSP","AdvertisingSP","AdvertisingTextSP","frcMajSP","frcMajTextSP","complianceSP","complianceTextSP","assignmentSP","assignmentTextSP","noticesSP","noticesTextSP","entireAgrSP","entireAgrTextSP","counterPartsHeadingSP","counterPartsTextSP","rightsSP","approveSP","rejectSP","submitSP","printAgreementSP","doseSP","clinicLocationSP","clinicDateSP","clinicTimeSP","contactSP","phoneSP","locationSP","timeSP","emailSP","emailAgreementToSP","multipleEmailAddressSP","sendAgreementSP","editAgreementSP","saveAgreementSP","cancelSP","noteTextSP","table1SP","attn","fluExpiryDateSP","routineExpiryDateSP","estShotsSP","sendInvoiceToSP","isTaxExemptSP","isCopaySP","voucherNeededSP","voucherExpirySP","copayValueSP","contactNameSP","contactPhoneSP","contactEmailSP","languageChangeToEnglish","englishLanguage","english","enheader","englishheader","enattachment","englishattachment","imzen","payen","ratesen","thirdPartyRightsEN","thirdPartyRightsTextEN","clienten","nameen","eSignatureEN","dateEN","districtEN","titleen","attentionen","address1en","address2en","cityen","stateen","zipcodeen","approveAgrmntEN","approveTextEN","electrSignEN","notesEN","pageTitleEN","doseEN","inWitnessWhereOffEN","inWitnessWhereOff2ndLineEN","sendLegalNoticeToClientEN","sendLegalNoticeToWalgreensEN","wallGreensCommOffsiteTitle1EN","wallGreensCommOffsiteTitle2EN","wallGreensResponsibilitiesEN","wallGreensResponsibilitiesPara1HeadingEN","wallGreensResponsibilitiesCvrdServicesEN","profJudgementHeadingEN","profJudgementTextEN","provHealthCrProfHdngEN","provHealthCrProfTextEN","clientsResponsibilitesEN","vouchersHeadingEN","vouchersTextEN","offSiteLocationEN","eligibleParticipantsEN","importantEN","offSiteLocationText1EN","contractYearText1EN","influenzaSeasonText1EN","eligibleParticipantsTextEN","siteMinEN","siteAvgEN","siteMinTextEN","contractYearText2EN","siteMinTextfluEN","influenzaSeasonText2EN","siteAvgTextEN","pmtAndBIllingEN","paymentEN","checkIfCovidImmForCorpInvoiceSelected","paymentTextEN","paymentTextDirectBillEN","directBillEnglishheader","privateClinicFeesEN","privateClinicFeesTextEN","latePaymentEN","latePaymentTextEN","costIncreaseEN","costIncreasetextEN","termAndTermCapsEN","termAndTermEN","termAndTermTextEN","effectAndTerminiationEN","effectAndTerminiationTextEN","waiverEN","waiverTextEN","insurAndIndemnifyEN","insuranceEN","insuranceTextEN","indemnificationEN","indemnificationTextEN","generalTermsEN","confidentialityEN","confidentialityP1EN","businessConfidentialityEN","businessConfidentialityTextEN","phiEN","phiAbEN","confidentialityP2EN","confidentialityTextEN","AdvertisingEN","AdvertisingTextEN","frcMajEN","frcMajTextEN","complianceEN","complianceTextEN","assignmentEN","assignmentTextEN","noticesEN","noticesTextEN","entireAgrEN","entireAgrTextEN","counterPartsHeadingEN","counterPartsTextEN","rightsEN","approveEN","rejectEN","submitEN","printAgreementEN","clinicLocationEN","clinicDateEN","clinicTimeEN","contactEN","phoneEN","locationEN","timeEN","emailEN","emailAgreementToEN","multipleEmailAddressEN","sendAgreementEN","editAgreementEN","saveAgreementEN","cancelEN","noteTextEN","table1EN","attnEN","fluExpiryDateEN","routineExpiryDateEN","estShotsEN","sendInvoiceToEN","isTaxExemptEN","isCopayEN","voucherNeededEN","voucherExpiryEN","copayValueEN","language","cl","dateSplitTokens","clDate","callback","contractApproved","makeValidBooleans","saveAgreementData","responseClinicAgreement","corporateInvoice","submitInsurance","thankuData","isRestrictedState","printContents","setThankUDetails","printAgreement","currentLanguage","checkIfNonFluImmForCorpInvoiceSelected","getVoucherExpiryDate","clinicLoc","vchrDate","getRoutineExpiryDate","getCovidExpiryDate","checkToPrintAsterisk","immAbvName","immName","bRet","checkForDoubleAsteriskRates","ApproveagreementComponent2023","isClinicNoFeesDisbaled","enattachmentArticleII","articleIIEN","articleNoFeeIIEN","Approveagreement2024Component","hasServicefeeFeatureDisabled","dispalyInvoiceData","record","Boolean","approvedData","ApproveagreementComponent","BusinesscontactpageComponent","childControls","firsttime","clientinfo","isChildFormValid","clientlegalform","businessApprovedDate","populateUIData","save","setSelectedClientLegalInfo","header_name","title_name","attention","legal_notice","legalsp","clientinfosp","legalen","clientinfoen","CharitylocationsListComponent","_charityProgramService","_locationNumberPipe","location_number","clinicData","errordisplay","msgs","coLocConfirm250ModalDlg","user_14days_check","user_250_check","overrideTimeSlotPopup","allowTimeOverRide","immunizerWarningAlert","immunizerWarningOkClicked","immunization_list","contractForm","oppurtunitiesData","getStoreBusinessDetails","clinic_immunizations","getImmunizationsList","clinic_immunization_list","immunizationList","immunizationId","initImmunizations","localEstmdShots","fGrp","coShowConfirm250ImmDialog","coRejectGt250Imm","getEstimatedImmunizers","errorList","shots_per_hour","locEnd","clinicLength","totalImmunizations","charity_program","clinicArray","showdImmunizerWarningDialog","locString","lowerCaseName","minimumShotValidations","dateCreated","lastUpdatedDate","insertCharityProgram","confirmOverride","showdImmunizerWarningDialogOk","editdImmunizerWarning","showOverRideTimeSlot","handleValidationsOption","CancelCharity","showDialogCancel","doNotSave","displayNgMsg","msgSeverity","severity","summary","detail","okErrorClicked","disabledButton","overrideTimeSlot","cancelTimeSlot","CharityLocationsComponent","_utility","locationData","login_info","onCharityHHSVoucherChange","locationFormArray","onSelectedTime","selectedTime","getGoogleLatLngCoordinates","STEPS","COSTEPS","WorkflowGuard","ImmunizationsComponent","LocationsListComponent","CommunityoutreachComponent","_workflowGuard","addedImmunizations","nextBtnTitle","validateInvoceInfo","interimDisplay","cnfdisplay","cnfcontinue","invoiceInfoPopUp","isLocationsFormValid","showStartTimeEndTimeValid","isTimeValid","clearSelectedImmunizations","clearCOClinicLocations","handlePageLeaveNavigation","loccmp","locations_data1","step_desc","getStepDesc","cacheInEnteredData","OnSave","verifyWorkFlow","locSteps","inx","prevStep","imzcmp","simpleSave","ContinueInvoiceInfo","curentStep","getImmunizationsData","getInvoiceAndVoucherData","isStartTimeEndTimeValid","startTimeEndTimesStep_desc","isNonNoClinicPresent","saveCommunityOutreachData","submitCoData","shots_per_10_min","slotTime","acc","current","controlBtnsDisplay","EditTimes","ContinueToNextStep","showInterimDialog","cnfshowDialog","okInterimClicked","cancelCommOutReach","cancelImmunization","cancelLocationData","coSubmitBtnClicked","saveInterimCommunityOutreachData","coSaveBtnClicked","ContactUsLocationComponent","ContactUsComponent","vaccinationsCheckBoxes","lgCntrletaDcinilc11437","lgCntrlstnapicitraPfOrebmuNdetamitse435","standardFormVaccines","lgCntrlynapmo2284","lgCntrlynapmo2184","lgCntrlynapmo1184","vaccinationDescArray","vaccine","vaccineVal","handleClinicTypeSelection","addValidators","addLocationCtrl","mainContactEmail","mainContactJobTitle","phoneNumber","extension","ContractComponent","AgreementComponent2022","clinicImmQtyList","immunizationFromDB","isStoreBusinessClinicAdded","isAmendAgreement","agreementEmails","showConfirmDialog","displayAmend","clinicSubmit","opportunityData","fetchContractAgreementData","regularContract","opportunitie_data","updateClinicalReqsFields","transformedStartTime","transformedEndTime","generateArray","btnClick","saveAgreement","businessUserEmails","is_email","parentClinicAgreementId","diffClinicList","modifiedBy","showConfirmDialogV2","confirmDialogSummary","confirmDialogMsg","confirmDialogOverrideAction","confirmDialogCancelAction","emailList","validateMultipleEmailsCommaSeparated","cancelAgreementClicked","ImzVcnNameSp","PaymtBillMethodSp","VoucherRatesSp","OffSiteClinicRatesSp","printAgreementTxtCapsSP","printAgreementTxtCapsEN","changeLanguageToSpanish","changeLanguageToEnglish","enableContractEditStatus","showHideSaveBtnStatus","confirmOverlap","amendOkClicked","AgreementComponent2023","hasServiceAgreement","hasServiceAgreementAccepted","hasOwnProperty","GetServiceAgreementStatus","handleServiceAgreementAccepted","SetServiceAgreementStatus","AgreementComponent2024","agreementmessage","aggrementDate","serviceFeeAgreement","agreementDate","servicefeeupdateMessage","servicefeeMessage","AgreementComponent","prouter","outReachProgramType","locListErrModalDlg","CovidExpiryDate","isDateTimeConflictPresent","showHideBtns","ccRegex","from_local_clinic","is_reAgreement","showDateTimeOverlpDlg","userOverriddenDateTimeConflict","userOverriddenVisitsGapConflict","showVisitsGapOverlpDlg","is_reAgreementCommOutreach","top","left","behavior","clearSelectedInvoiceAndVouchersData","GetfromUserPage","contractData","fetchCOAgreementData","getCOSelectedImmunizations","getSelectedImmunizations","totalClinicsCount","matching_imz","isVoucherOnly","added_immunizations","hasCorpInvoice","checkIfAnyImmunizationsHasCorpInvoice","hasCorpInvAndVchrNd","fluType","fluDone","routineDone","calculateClinicFee","onlyVoucherPaymentMethodSelected","CheckIfOnlyVoucherPaymentMethodIsSelectedForAllImmunizations","isAmmendValue","vouchersDistributedCount","calculateVouchersDistributedCount","GetAllEstimatedShotsValue","locations_data","assign","setValidationsRequiredStatus","SetIscanceled","aggregatedEstimatedQuantity","uniqueImmunizationShotsCount","Map","isNaN","paymentIdsForClinic","calculatedClinicFee","calculateClinicFeeForQty","size","has","updatedQuantity","copyPreviousLocationData","pfizerRe","modernaRe","pfizerClinics","modernaClinics","pfizerCovidImmList","modernaCovidImmList","pfizerVisit1Date","pfizerVisit2Date","pfizerVisit3Date","pfizerVisit4Date","pfizerVisit5Date","pfizerVisit6Date","pfizerVisit7Date","pfizerVisit8Date","pfizerVisit9Date","pfizerVisit10Date","visit1Date","visit2Date","visit3Date","visit4Date","visit5Date","visit6Date","visit7Date","visit8Date","visit9Date","visit10Date","modernaVisit1Date","modernaVisit2Date","modernaVisit3Date","modernaVisit4Date","modernaVisit5Date","modernaVisit6Date","modernaVisit7Date","modernaVisit8Date","modernaVisit9Date","modernaVisit10Date","outReachPrgType","locDateTimeConflict","showDateTimeOverLpDlg","errCOVIDVisits","showVisitsGapOverLpDlg","errRestrictedStatesMsgs","getRestrictedStatesDatesValidity","hasVouchersCountReducedTotalTo50","immunizationWithoutVoucherPaymentExists","immunizationWithoutVoucherPaymentForEquityEvents","locationNamesOfImmzWithoutVoucherPayment","newclinicImzQtyList","chain","groupBy","Immzs","totalEstimatedShots","o","totalEstimatedQuantity","locationsFormArray","locationFormGroup","setClinicLocations","setCancelClinicLocations","setCOClinicLocations","isFormValidForSimpleSave","validateFormGroupForSimpleSave","checkSpecialCharacters","closeErrModalDlg","coAcceptGt250Imm","setEquityEventsClinicLocations","saveEquityEventsData","submitEquityEventsData","isValidCode","coData","getEquityEventsData","saveEquityEventDataToDB","getCommunityOutreachData","saveCODataToDB","compare_objects","compareTwoObjects","isValidDates","OverRideDateTimeDlg","CancelDateTimeDlg","OverRideVisitsGapDlg","CancelVisitsGapDlg","LocationsComponent","fb","locationNumberPipe","locationNumber","invalidDates","locDlgDisplay","dlgDisplay","outReachTypeOtherVisible","isStoreIs_From_RestrictedState","canDisplayNoClinicFeeOption","canDisplayVouchersDistributedField","shouldDisplayNoClinicVoucherDistribution","shouldDisableNoClinicVoucherDistributionText","IsAmendisNoClinicValue","isOnlyVoucherValue","hasVoucherPaymentMethodOnly","manualNoClinicFeeChecked","hasServiceFeeFeatureDisabled","OutreachTypeIdzVal","commORdate","ProfileDetails","contains","handleRsvVaccinceSelection","maskedInputControl","handleConditionForVouchersDistributed","CheckIfOnlyVoucherPaymentMethodIsSelected","CheckOnlyVoucherPaymentIsSelected","clinicImzList","GetImmunizationGroupedByImmzPk","totalShotsCount","clinicImz","estimatedShots","accumulator","object","newClinicImzQtyList","logImm","handleNoClinicVoucherDistribution","imzqyt","focusOutFunction","displayFieldCssexpiry","fieldValue","fieldTouched","fieldInvalid","fieldPristine","pristine","checkIfVoucherYesSelectedForNonFluCorpInvoiceSelected","isNonFluYes","isVoucher","calcNoClinicStatus","newClinicFeeValue","getServiceFee","checkIfAnyImmunizationsHasCorpInvoiceV2","visitRadio","OtherRadio","clinicDateCtrl","startTimeCtrl","endTimeCtrl","imzQtyArray","immunizationControls","vouchersDistributedValue","showHideNoClinicOption","dtlMsg","icon","shouldValidateVouchersCount","paymentIds","shouldDisplayFieldAsReadonly","shouldDisplayCheckbox","handleParticipantsChange","NO_SERVICE_FEE","SERVICE_FEE_1","SERVICE_FEE_2","SERVICE_FEE_3","getAllEstimatedShots","initialValue","checkVaccineNames","isRsv","isOther","every","WitnessComponent","minDate","pharmacyInfoModalDlg","witnessInfo1","witnessInfo","profile_data","getStoreProfileData","witnessForm","witness_form_cancel","setWalgreensWitnessData","validField","validForm","getPharmacyContactEmail","cancelWitness","onExpirationDateSelected","ContractapproveComponent","isInvalidContract","componentToRenderName","serviceDataArrived","contractDataDBSnapShot","clientData","legalInfo","business_contact_pgae","approve_agreement","EquityeventsComponent","_opportunitiesService","locationFormCtrl","markAllAsTouched","isReAgreement","updateOutreachStatusToNoOutreach","datePipe","isInvoiceInformationProvided","isVoucherNeededDisable","isNewAmendAgreement","addedImmunizationsClinicalReqs","PaymentTypes","isFluType","copay","displayDesMisMatchModal","fluvoucherExpirationDate","flumaxDateValue","fluminDateValue","routinevoucherExpirationDate","covidvoucherExpirationDate","isCovidVoucherAvailable","isVoucherAvailable","routinemaxDateValue","routineminDateValue","fromCommunityOutreach","isVoucherFieldNeeded","everGreenValue","displayDialog","edit_button","btnContinue","btnUpdate","sortorderCount","validateLocForm","cancel_check","usZipCodeRegEx","usFaxNoRegEx","showSendInvoiceTodialog","isEditClick","clinicalRequirementsDiv","clinicalRequirementInstruction","CanAddNewImmunzsModal","canAddNewImmunzsSelected","CanAddNewImmunzsModalContinue","isApiCallSucceed","canDisplayExpiryDates","isDirectPaymentOrVoucher","formControls","isAmendAgreementForCommOutreach","boundImmunizations","contractedOpportunity","getContractAgreementData","isSaved","setClinicalRequirementFlags","setCOSelectedImmunizations","immunization_data","immunizationChkBxPresent","getIndexFromClinicaReqArray","validationsReqd","immClinicalRequirementsText","immClinicalRequirementsChkBxText","cliniclReqFA","immunizationForm","fg","immunizationSpanishName","default_routine_covid_exp_date","default_flu_exp_date","oldImmunizationFormValue","removeFieldValidation","setInvoiceAndVoucherData","fetchContractAgreementData$","setImmunizationsData","immunizationSelected","paymentsSelected","clinicalReqs","everGreen","ImmChanged","SortOrder","isRoutineuVaccineAvailable","isPfizerVaccineAvailable","isModernaVaccineAvailable","isJohnson","isTYPHOID","checkUIValidations","ctrlName","isClinicalReqsFieldValid","clinicalReqsFA","PmtChanged","voucherBillPrice","selectedPaymentType","addimmunizationData","isInvoiceExist","isVoucherExist","filterData","is_voucher_needed_imz","paymentTypeSpanishName","toLocaleDateString","IsVoucherData","crpInvEr","ind","invoice","addFieldValue","handleVoucher","oldImmunizationFormData","routineVoucherExpDate","fluvoucherExpDate","isvoucherRequire","clearFormFields","getEverGreenData","clearImmFormFields","closeCTI","deleteFieldValue","clinicalRequirementsIndex","reqImmunization","clinicalReqsFormArray","clinicalReqCtrlValues","clinicalReqsCtrls","ctrlIndexToBeRemoved","valueIndexToBeRemoved","ctrlValue","resetValidationForInvoiceForm","formGrpIndex","formGrp","onfluClinicDateSelected","updatedFluExpDate","updatedflu","onroutineClinicDateSelected","updatedRoutineExpDate","updatedroutine","SetImmunizationdata","onCovidClinicDateSelected","handleCopay","voucherneeded","ClosedisplayDesMisMatchModal","CloseAddImmnzsModal","ContinueToStepTwo","showMismatchDialog","CheckCanAddNewImmunzs","radioCheck","radioChecked","setEverGreenData","setFormCtrlsValidations","checkVoucherExpiryDatescompliance","setclinicalReqsFlagsFromUI","setCOCancelSelectedImmunizations","setSelectedImmunizations","setCancelSelectedImmunizations","clReqsFA","clReqList","clReqListCount","frmCtrlName","setToNull","updateValidations","selectedClinicalReqsCtrl","chkBxIndex","editCorporateToInvoice","checkVoucherExpiryDatesValidity","isVoucherValid","isVaccineFluType","imzDate","checkDesigantionMismatch","NavigateToStore","getIsCancel","checkIfAnyImmunizationsAdded","validateName","canAddImmunizationData","validatePhone","validateFax","validateAddress1","validateAddress2","validateCity","validateState","validateCopay","validateZipCode","validateTaxExempt","nameCtrlValid","phoneCtrlValid","faxCtrlValid","email1CtrlValid","email2CtrlValid","address1CtrlValid","address2CtrlValid","cityCtrlValid","stateCtrlValid","zipCtrlValid","isTaxExemptCtrlValid","WorkflowService","workflowService","isPharmacyFormValid","inNoclinicPopUp","covidVaccineAdminConfirmation","estimatedParticipantsError","showEstimatedParticipantsWarning","immunizationShotsParticipantsMismatchError","immunizationShotsParticipantsMismatchAdminConfirmation","clearClinicLocations","getContractAgreement","ammendAgreement","validateStep","witness","review","getValidationsRequiredStatus","witcmp","voucherPaymentOnly","Noclinic","handleVoucherPaymentMethod","uniqueImmPks","formArr","handleParticipantsShotsMismatch","isNoclinc","isNoclinicPopUp","vaccines","vaccineNonzero","validatePortalEmail","saveBtnClicked","saveInteriumAgreementData","saveInterimAgreementData","cancelContract","calculateNextStep","inNoclinicConfirm","handleEstimatedParticipantsAdminConfirmation","locationList","MaintenanceComponent","ThankyouComponent","cashPaid","medicalInsurance","pharmacyInsurance","isShowPDF","Message1","Message2","Message3","thankyou","torgthankyou","rhdthankyou","torgthankyouReject","iconImage","contractThankYouInfo","approveRejectCancellation","approveRejectCancellationText","txtStandard","GetThankUDetails","wagContactInfo","getWagsContactInfo","UnsubscribeService","UnsubscribeComponent","unsubscribeService","isShown","alertMessage","queryParamMap","queryParams","templateName","emailId","unsubscribeemail","inputData","EmailId","TemplateName","UnsubscribeEmailGroup","ViewcontractAgreementComponent2022","from_email","from_clinic_details","GetfromLocalclinics","GetClientAndLegalInformation","thankYou","cancelView","getShowViewCancelBtn","thankYouPage","ViewcontractAgreementComponent2023","dataServiceCalled","ViewcontractAgreement2024Component","isInvoiceInfoNeedToDisplay","serviceAgreementAccepted","ViewcontractAgreementComponent","showOldUniversalContract","RECAPTCHA_SETTINGS","MessageService","CustomAgreementGroupByPipe","CustomGroupByPipe","CustomLocationGroupByPipe","CustomUniquePipe","withConfig","callSetDisabledState","siteKey","newJson","ImmPk","sumBy","timestamp","input_date","hours","ampm","dateFormat","BehaviorSubject","retry","messageSource","currentMessage","showViewCancelBtn","contractDetails","currentContract","get_contract_param","GET_CONTRACT_AGREEMENT","isCOVIDVaccineAvailable","loadUniversalTAndC","loadoldUTandC","changeMessage","getSelectedLegalInfo","legal_info","setSelectedLegalInfo","updateContractDetails","contract","clinic_agreement","UPDATE_CONTRACT_AGREEMENT","getThankyouMessage","REJECT_CLINIC_CANCELLATION_BY_CLIENT","APPROVE_CLINIC_CANCELLATION_BY_CLIENT","SAVE_LEAD_ENQUIRIES","getContactUsReport","leadModel","GET_CONTACTUS_REPORT","request","VERIFY_RECAPTCHA","exportReportData","exportReportDataV2","exportLTCFReportData","isImmunizationsFormValid","isWitnessFormValid","isDataValidationsRequired","coFormData","GET_IMMUNIZATION_LIST","getOutReachType","outReachType","setOutReachType","getCancelSelectedImmunizations","getCOCancelSelectedImmunizations","getClinicLocationsForNewContract","getWalgreensWitnessData","getClinicLocation","getCOClinicLocation","getCancelClinicLocation","resetFormData","resetSteps","everGreenData","is_cancel","saveClinicLocations","isCovidContract","communityOutreachServiceModel","urlForAPI","AMEND_CO_AGREEMENT","UPDATE_CO_AGREEMENT","AMEND_EquityEvents_AGREEMENT","UPDATE_EquityEvent_AGREEMENT","GET_OPPORTUNITY_DETAILS","GET_PREVIOUSSEASON_CLINIC_LOCATIONS","checkIfFluImmIsSelected","contract_agreement_model","INSERT_CHARITY_PROGRAM","eMail","VALIDATE_PORTAL_EMAIL","unsubscribeEmailData","routeConfig","firstPath","getFirstInvalidStep","workflow","found","redirectToStep","ChartService","getOpportunitiesRequiringAction","requestData","GET_OPPORTUNITIES_REQUIRING_ACTION","outreachEffortId","getPriorityOpportunitiesRequiringAction","GET_PRIORITY_OPPORTUNITIES_REQUIRING_ACTION","getOpportunitiesRequiringActionReports","GET_OPPORTUNITIES_REQUIRING_ACTION_REPORTS","reportId","getPriorityOpportunitiesRequiringActionReports","GET_PRIORITY_OPPORTUNITIES_REQUIRING_ACTION_REPORTS","downloadOppourtunityReportData","DOWNLOAD_OPPOURTUNITY_REPORT","getRequestHeadersV2","downloadPriorityOppourtunityReportData","DOWNLOAD_PRIORITY_OPPOURTUNITY_REPORT","getOppourtuntiyReportTypeOureachandFollowUpCount","GET_OPPOURTUNITY_REPORT_OUTREACH_AND_FOLLOW_UP_COUNT","DashboardServiceService","getClosestStore","is_clinic","is_reassign_to_hcs","GET_CLOSEST_STORE","updateClinicAssignment","clinic_assignment_model","UPDATE_CLINIC_ASSIGNMENT","updateLocalLeadsAssignment","local_leads_model","UPDATE_LOCAL_LEADS","updateCanceledClinics","canceled_clinics_model","CONFIRM_CANCELLED_APPOINTMENTS","LeadAwaitingResponseService","getLeadAwaitingResponseList","LEAD_AWAITING_RESPONSE_OVER_THREE_DAYS","getLeadAwaitingResponseById","LEAD_AWAITING_RESPONSE_BY_ID","reassignLeadAwaitingResponse","REASSIGN_CLOSEST_STOREBY_ID","Chart","ChartsComponent","districtPortalActivityBar","dataStatsByProgramBar","dataStatsByProgramBar2","imzSchedulingAndClinicDatesBar","pcaSchedulingAndEventDatesBar","srEventDatesBar","srEventScheduledBar","srEventTypesBar","statusOfLocalClinicsPie","statusOfCommunityOutreachClinicsPie","statusOfCharityPie","statusOfCorpClinicsPie","avgFluShotsAdminBar","pcaEventsBar","labels","datasets","barPercentage","barThickness","maxBarThickness","minBarLength","backgroundColor","responsive","plugins","legend","position","scales","stacked","y","grid","dataStatsByProgramDataBar2","xAxis","offset","yAxis","imzSchedulingAndClinicDatesData","avgFluShotsAdminData","statusOfLocalClinicsData","borderColor","align","statusOfCommunityOutreachClinicsData","statusOfCharityData","statusOfCorpClinicsData","srEventDatesData","pcaSchedulingAndEventDatesData","pcaEventsData","OppourtunitiesRequiringActionComponent","chartService","oppourtinitesRequiringActionsList","reportNames","tableOptions","tableColumnNames","btnLabel","downloadStartedSpinner","noOfCallsNeeded","totalRecordsCount","counter","selectedReport","GetOpportunityRequiringActionMetricId","columns","isSearchable","isSortable","rowsPerPage","rowsPerPageOptions","hasPagination","report","handleOtherType","handleOutreachandFollowType","handleOutreachandFollowTypeClick","RecordCount","tData","col","exportToExcel","responseJsonForExcel","reportChanged","SetOpportunityRequiringActionMetricId","generatereportformat","postData","userid","ddlFormat","reportid","reportype","outreachpk","pagesize","pageindex","PriorityOppourtunitiesRequiringActionComponent","GetPriorityOpportunityRequiringActionMetricId","SetPriorityOpportunityRequiringActionMetricId","DialogService","ActionComponent","ChartDataLabels","DashboardComponent","_dashboardservice","ref","dialogService","leadAwaitingResponseService","potentialClientInterestService","successDistStore","displayClinic","displayLocal","clinicHCSInfo","dispDlgReassignToHCS","LocalOpportunitiesInfo","HCSMetrics","HCSAction","PCAActionItems","PCAMetrics","submitEntryBtn","HCSInfoVisible","DMInfoVisible","StoreInfoVisible","CancelInfoVisible","UnassignLocalInfoVisible","LocalDistrictInfoVisible","AssignedLocalInfoVisible","dispDlgReassign","regionV","store_local","dist_local","aria_local","region_local","regionV1","selectOption","search_from_list","search_HCS_value","search_from_list_local","search_local_value","searchLocalValue","storeTab","districtTab","HCSTab","assignReq","bulkAction_hcs","bulkAction_dm","bulkAction_store","bulkAction_cancel","bulkAction_local_hcs","bulkAction_local_dm","bulkAction_local_store","selectedLocalList","selected_data_list","selectedCancelledList","selectedValue","bulk_submit","HCSClinicDetails","hcsClinicsSource","hcsClinicNoOfPageRecords","HCSClinicDM","HCSClinicStore","HCSClinicCancelled","cancelClinicSourceList","cancelClinicList","HCSCancelStores","hcsLocalLeadsSource","hcsLocalNoOfPageRecords","HCSLocalLeads","HCSLocalLeadsDM","HCSAssignedLocalLeads","reassign_to_hcs","changestatusPopUp","hcs_clinic_details","hcs_clinic_DM","hcs_clinic_store","hcs_clinic_cancel","hcs_local_details","hcs_local_DM","hcs_local_store","outreach","noClient","businessClosed","hcs","displayStoredlg","districtSelected","districtValue","selectAllDist","bulkDisplayStoredlg","BulkdispDlgReassignToHCS","btnHide","HCSLocalLeads1","area_user","dist_user","admin_user","region_user","hcs_local_details_search","hcs_local_DM_search","hcs_local_store_search","hcs_clinic_details_search","hcs_clinic_DM_search","hcs_clinic_store_search","select_data","page_count","sorting","PCATab","BulkdispDlgReassignToHCSStoreTab","BulkdispDlgConfirmCancelClinicTab","BulkdispDlgRevertCancelClinicTab","BulkdispDlgReassignHasSREvents","localOppHasSREvents","selectOptionLocal","errorLocalShow","errorMessageLocalShow","localLeadsSortBy","scheduledClinicsSortBy","localLeadsPageIndex","scheduledClinicsPageIndex","localLeadsSortOrder","scheduledClinicsSortOrder","formLoaded","confirmLabel","reassignToHCSConfirmDlg","dlgMessage","displayDispositionError","showFullSubmission","showRespondStatus","showRespondAction","showRespondActionDialog","responseMessage","selectedResponse","showReassignStatus","seachAwaitingLeadsResponse","leadsSearchValue","requestType","leadAwaitingResponseList","leadAwaitingResponseInfo","leadDistrictList","leadAwaitingResponseSelectedDistrict","leadAwaitingResponseSelectedStore","selectedLeadAwaitingResponseInfo","showReassignSuccessDialog","priorityOppourtinitesSource","priorityOppourtinitesList","leadAwaitingActiveIndex","localOpportunitiesActiveIndex","opportunitiesActionPie","opportunitiesActionApiData","priorityOpportunitiesActionApiData","priorityOpportunitiesActionPie","opportunitiesActionData","fill","pointHoverRadius","pointHoverBorderWidth","pointHoverBorderColor","hoverOffset","priorityOportunitiesActionData","getActionItemsCounts","getPCADashboardSnapshot","register","cancelClinicCols","clinicCols","localOppCols","handleChartData","getMetricsCount","tabIndex","getAssignedToHCS","getPriorityOpportunities","openPowerBILink","resizeWidth","header_value","Table","actionMenuCallback","leadIntakeClick","bind","showBarsIcon","iconPosition","tableClass","getLocalLeads","handleLocalOpportunitiesFilter","localLeads","opportunitiesList","assignedTo","filterById","searchByValue","sortByField","totalCount","startIndex","finalIndex","noOfRecordsInPage","unassignedSelectedRowCount","localLeadsData","hcsLocalTotalRecords","opptoDMrowsPerPage","assignedOpprowsPerPage","getHCSClinicDetails","hcsclinicDetail","hcsClinicTotalRecords","hcaTableOptions","showDialogClinic","loadDataLazy","grid_source","prioritySelectedRowCount","rows","unassignedrowsPerPage","assignedtoDMSelectedRowCount","assignedSelectedRowCount","curr_page_rec_count","page_to_get","changePageToFirst","chkAll1","chkAll2","chkAll3","startpage","source_obj","page_idx","getDataFromServer","hcsdata","setHCSActionItemsList","getMetricsCounts","metrics","setHCSMetricsList","actionItemCountsList","metricCounts","setPCAActionItemsList","setPCAMetricsList","globalSearch","rowSelect","assigned_to","changePage","dataTableClinic_DM","dataTableClinic_store","onLocalChange","clearFilter","clinicsEleRef","searchGlobal","search_value","changeCheck","searchLocalLeads","dataTable_DM","dataTable_store","storeSearchHCSLocal","opportunitiesEleRef","out_reach_business_pk","currentSelectedRowItem","selectedTabValue","default_store_id","store_number","defaultStore","out_reach_status_id","selectedTab","showLocalDialog","showDialogclinicHCSInfo","showDialogLocalInfo","DlgReassign","districtList","storeList","defaultDistrict","SetTabHCS","SetTabLocal","originalEvent","tableUnassignedRef","tableAssignedDMRef","tableAssignedStoreRef","table_PriorityRef","onDistrictSelect","disrict_value","check_value","currentDestinationStoreAddress","onAreaSelect","bulkSubmitClinics","clinic_assignment","oldStoreId","bulk_action_value","locationId","page_index_value","dateAdded","totalS","ErrorCode","error_4_msg","errorString","submitBulkLocalLeads","error_msg","localLeadsSave","sourceStoreId","sourceStoreState","selectedStoreState","itemDate","naClinicDate","local_leads","override_sr_events","lastContactDate","assignToDistrict","isStatusUpdated","isAssignAllInDistrict","onActionSelect","businessNameList","local_opp","hasSREvents","hcsContractList","Count","areaList","defaultAreaNumber","selectMessage","isRowDisabled","row_data","onLeadsHeaderChange","evt","temp_local_list","bulkClose","bulkCloseHCS","CloseStore","CloseHCS","stopPropagation","clrFld","onLocalLeadsSelect","changeStatus","closeStatus","saveChangeStatus","cancelBtn","setWidth","headerv","showActionItemOrMetricsDetails","actionitem_metric_id","hcs_action_item_name","programType","actionItemOrMetricId","priorityOpportunitiesRef","scrollIntoView","block","leadAwaitingRef","setLeadsAwaitingTab","sort_field","LocalcustomSort","errorLocal","MoveToHCSorDM","confirmCancelledClinics","submitCancelClinics","confirmRevertCancelledClinics","cancelSchedulledClinics","cancelledList","actionValue","cancelAppointments","onReasonForDeclineChange","onIPOuteachStatusChange","leadInfo","dialogRef","contentStyle","baseZIndex","draggable","onClose","handleFormSubmission","handleRespond","handleReassign","Pk","handleRespondAction","handleContinue","ClosestStore","handleLeadsSearchClick","searchLeadsRef","onLeadsClickedOutside","handleLeadsAwaitingSearch","newArrayData","leadObj","newData","handleLeadsAwaitingSearchKeyChange","charCode","clrLeadsSearchFld","handleLeadDistrictSelection","handleLeadAwaitingResponseReassignClose","handleLeadAwaitingResponseReassignSubmit","OldStoreId","NewStoreId","handleLeadAwaitingResponseReassignSucess","selectionClicked","oppotunitiesrowsPerPage","priorityOppourtinitesTotalRecords","olables","odata","plables","pdata","radius","layout","padding","arc","borderWidth","onClick","handleOpportunityDougnnutClick","datalabels","ctx","total","dataset","tooltip","displayColors","callbacks","context","dataIndex","usePointStyle","boxWidth","boxHeight","onHover","chartElement","native","cursor","handlePriorityOpportunityDougnnutClick","legendItem","oApiData","pApiData","DynamicDialogModule","ChartModule","DynamicDialogRef","DynamicDialogConfig","config","handleSubmission","hadndleReassign","AddTestingOrganizationService","getTestingPartnerNames","state_name","TESTING_PARTNER_NAMES","proofInsurances","GET_PCA_CONTRACTAGREEMENT","approveAgreementData","APPROVE_PCA_CONTRACT_AGREEMENT","updateContractForTestingPartner","UPDATE_CONTRACT_AGREEMNET_TESTING_PARTNER","UploadProofOfInsurance","UPLOAD_PROOF_OF_INSURANCE","GetProofOfInsurance","GET_PROOF_OF_INSURANCE","DeleteProofOfInsurance","DELETE_PROOF_OF_INSURANCE","delete","setProofInsuranceDocumentList","getProofInsuranceDocumentList","PcaDetailsService","getPcaDetails","GET_PCA_DETAILS","updatePCADetails","UPDATE_PCA_DETAILS","deletePCADetails","AddBusinessService","AddpcaComponent","_AddBusinessService","_testingpartner","actionType","location_back","TestingPartners","TotalTestingPartners","selectedTestingPartners","selectedState","orgTypeSelect","differentState","btnDisbale","IsAdmin","isInitiated","isScheduleClinics","btnCancel","disableBtn","getStoreProfile","storeProfileInfo","clearSelectedValues","addPCAForm","testingOrgType","organizationName","tollFree","btnSaveText","edit_data","showSelectedData","stateChange","stateValue","distinct","TestingOrgTypeChange","business_id","getPCAStoreBusinessDetails","organization_type","isCharityInitiated","isCommunityInitiated","addSelectedData","setDefaultValues","selectedZipCode","selectedtesting_partner_name","selectedcontact_phone","selectedcontact_name","selectedtitle_of_contact","selectedcontact_e_mail_address","selectedtesting_partner_address","selectedtesting_partner_city","selectedtesting_partner_state","editTestingOrganizations","saveTestingOrganizations","store_pk","GetStorePk","addPCAData","existingStoreId","addPCAOpportunity","business_name","updatePCAOpportunity","onOnlyNumbers","closePopup","PcaContractsService","PcaImmunizationsComponent","PcaPharmacyInfoComponent","PcaLocationListComponent","AsolulaComponent","pcaContractService","tandC","RHDRVPEmails","hideSaveBtn","locationName","getRHDRVPEmails","validateRHDRVPEmails","tandcRelease1","setLulaTandC","tandcRelease2","fetchPcaContractAgreementData","index_value","getRHDEmail","match","q","getPcaContractData","setLula","orthoDoxContract","transformPcaAgreementToOrthoDoxContractJson","CsslulaComponent","cancerDialogdisplay","cancerMetrics","totalCanerEventsinCurrentYear","totalCanerEventsinNextYear","isoverride","validateCancerEventsCount","cancerdialogSummary","cancerdialogMsg","acceptCanelOverride","cancelCanelOverride","calenderEvents","GetTotalCancerEvents","calcualteNewEventsinCurrentYear","currentYear","Year","EventCount","GovlulaAgreementComponent","OrgMobileType","LulaContractAgreementForUserrelease2Component","step1","step2","step3","Lulasteps","lulaHdr","apprOrRejectTextBox","agreement_model","uploadDoc","uploadTitle","alrdApprd","uploadBtn","disableBtnOnSave","disableSignature","isSTI","isHIVAndHepatitis","isHIV","isHepatitis","serviceLabel","headerLabel","orgMobileType","PCAContractForm","approvePCAContract","getProofOfInsurance","goto","removeValidator","client_title","apprOrReject","approveRejectEmail","client_signature","serviceLabelList","lastEle","paragraph","testingPartnerInfo","isFieldValidStep","displayFieldCssStep","checker","special_characters","file_display_name","Delete","Download","PROOF_OF_DOCUMENTS","loadtAndCInsurance","LulaContractAgreementForUserComponent","OpolulaComponent","PcaAgreementComponent2022","disableSendOrSave","getTpOpportunityDetailsUsingBusinessPk","setStoreData","tAndC","getLulaTandC","dateRHDApproved","PcaAgreementComponent","PcaType","pcaType","initializeLula","pcaContractData","cacheDBContractData","setPcaContractData","addImmunization","addAllImmunizationData","deleteImmunization","getFormData","pcaObject","locationRequirementLabel","locationRequirementLabel1","locationRequirementLabel2","disableAddEvents","getTotalCancelEvents","SetTotalCancerEvents","addedImmunization","pcaEventSchedule","diableEventsButton","eventSchdule","isLocationReqAvailableChanged","isHealthRoomAvailableCtrl","locEventDate","showMobileUnitErrorDialog","checkEventLocation","setTestingLocation","locForm","isAdd","totalNewEvents","currentYearEvents","nextYearEvents","schedulledCurrentYearEvents","schedulledNextYearEvents","thisYear","pcaMetric","getMobileOrgEventsYesIndex","curr","getMobileOrgEventsNoIndex","hasMobileOrgEventYes","hasMobileOrgEventNo","mobileOrgEventsNoIndex","mobileOrgEventsYesIndex","mobileUnitWithYes","mobileUnitWithNo","PcaLocationComponent","defaultEndTime","eventNumber","getMobileUnitDisableStatus","getStoreRhdDetails","validNo","pharmacyInfo","PcadetailsComponent","pcaDetailsService","_cstDate","pcaDetailsSource","pcaDetails","stepValue","showSimpleDialog","isErrorMessage","dialogBody","dialogHeader","changedDateTime","changeDateTimeHeader","changeDateTimeBody","changeDateTimeActionStatus","servicesQuantityText","noPCAData","cancelEvent","makeLogHisoryList","pcaAliasName","getOwnPropertyNames","clinicTypeCode","constants","preliminarypositivesanddonors","registereddonors","preliminarypositives","setMinMaxDateTimes","pcaDetailsForm","getPCADetails","need_req_qty_validation","initTestingAndScreeningInfo","imz_qty_controls","preliminaryPositives","initTestingLocations","location_controls","mobileorg","addInitialclinicImmunizationsInfo","immunization_pk","eventRemoved","formatGetDataValues","makeUpdateLogHistory","setStepValus","setFormControlValues","setControl","validateAndSaveOrContinue","pca_details","additionalComments","proofOfDocs","is_clinic_date_reminder","isClinicDateisPast","is_clinic_date_past","is_data_time_changed","verifyDateAndTimeUpdated","setDateTimeChangeDialogInfo","msg_header","msg_body","is_remove_cancelled_status","closeSimpleDialog","show_msg_dialog","is_valid","validateLocationAddress","setValidatorsAndValidateQuantities","prelimPositiveIsOk","setValidatorAndValidateConfirmedClientName","validateFeedbackOrNotes","preliminaryPositivesIsOk","erMsg","is_clinic_date_time_changed","initial_clinic_st_time","initial_clinic_end_time","initial_clinic_date","st_time","dt_temp","dt_temp_comp","idt_temp","idt_temp_components","downloadProofOfDocs","pod_path","viewContractAgreement","continueToChange","cancelTheChange","restrictSpaces","showCancelEventConfirmation","confirmCancelEvent","PcadetailstepsComponent","RhdContractAgreementrelease2Component","load","isTestingPartner","isFromPcaDetails","isFromActionItemsReport","rhdSignature","rvpApprovedOrRejectedBy","RhdContractAgreementComponent","immunizationiPkArray","setSelectedImmunization","immunizatioName","pcaCtData","wallgreenCoData","testingLocation","GET_RHD_DETAILS","GET_CANCEREVENTS_COUNT","getTpOpportunityDetails","outReachPk","GET_TPOPPORTUNITY_DETAILS","GET_PCA_OpportunityDetails","isvalidationsRequired","dbData","lulaTandC","VALIDATE_RHD_RVP","ActivityReportService","CommonservicesService","ActivityreportComponent","activityreport","common_services","showGrid","markets","areas","districts","ddlYear","userType","showArea","showRegionFilter","showAreaFilter","showPodFilter","showDistrictFilter","showDistrict","showStoreId","showRegion","showFilterBy","showddlState","canExport","showDlg","defaultQuarters","startMonth","month_names","FilterByArray","ddlFiscalYear","ddlFilterBy","ddlDistrict","ddlArea","ddlRegion","ddlPOd","ddlTimePeriod","getRegionAreaDistrict","loadQuarters","getTimePeriod","setFormControls","region","regionVal","podList","Quarter","qtr","months_count","curr_date","year_start_month","activityReportForm","generateReport","getQuarterStartDate","getSelectedQuarter","ar","getActivityReportData","resultArray","datasource","totalRecords","activityReportArray","getArea","getPod","area","getDistrict","month","onFiscalYearChanged","canExportOnchange","validateExportType","selected_index","selected_month","show_dialog","QuarterArray","appSettings","ContactUsReportComponent","lgRData","leadLaunchDate","seasons","filterByDate","currentSeason","report_year","ddlSeason","setDates","loadReport","LeadGenerationForm","minLength","reportname","otherIndustry","generateReportFormat","tempMinDate","tempMaxDate","maxDate","setCalendarDates","d1","d2","CovidContactUsReportComponent","covidOpportunityTYpe","GroupIdAssignmentReportService","CovidGroupidassignmentreportComponent","groupidassignmentreport","covidSeason","covidReportStartYear","GroupidassignmentreportForm","fDate","tDate","getGroupidassignmentreportData","GroupidassignmentreportArray","HighlevelstatusService","CovidHighlevelstatusreportrtComponent","highLevelStatus","showFilters","showDistrictNames","districtNames","stateList","selectedDistrictId","getDistrictNames","getStates","covidHighlevelStatusForm","hlsr","f_date","t_date","fr_date","tt_date","ddlDistricts","getHighLevelStatusReportData","highLevelStatusArray","tmp_year","onDistrictChange","srcElement","select_element_text","tmp","MinimumshotexceptionsService","CovidMinimumshotexceptionsReportComponent","minimum_shot_exceptions_service","minimumShotExceptionsForm","mse","getExceptionShotDetailsReport","minimumShotExceptionsReportArray","PotentialLocalBusinessAndContactStatusService","ScheduledAppointmentsService","CovidOppStatusreportComponent","potential_service","storeIdListService","potentialLocalBusinessContactStatusReportArray","allStatuses","canShowNoBusinessesText","regionList","ddlStoreId","outreachEndDate","isDisableDates","outreach_program","covidOppOutreachstatusForm","potential_local_business","getPotentialCOVIDBusinessData","potentialLocalBusinessContactStatusReportSource","updateOutreachStatus","exportCOVIDReportData","RevisedClinicDatesAndVolumesService","CovidRevisedClinicdatesComponent","revisedClinicDatesAndVolumes","RevisedClinicDatesReportForm","vaccine_purchase","RevisedClinicDatesreportArray","getRevisedClinicDatesAndVolumeReportData","outreachProgramSelected","Length","VaccinePurchasingReportService","CovidVaccinePurchasingReportComponent","vaccinepurchasingreport","outreachStartYear","ddlVaccines","vaccinePurchasingReportForm","getVaccinePurchasingDetailsReportData","vaccinePurchasingReportArray","vaccineChange","WeeklyvaccinepurchasingService","CovidWeeklyVaccinePurchaseReportComponent","WeeklyVaccinePurchase","weeklyVaccinePurchaseReportArray","columnCount","column1Links","column2Links","column3Links","bindReportSeasonWeeks","weeklyVaccinePurchaseForm","onSeasonChange","getVaccinePurchase","getReport","file","wvp","CovidclinicsService","CovidclinicsreportComponent","covidclinics_service","covidClinicsList","recordExists","makeAndLoadFilters","covidClinicsForm","getCovidClinicsDetails","getMarket","ImmunizationFinanceService","CovidimmunizationfinanceReportComponent","imzFinanceService","onFilterChange","eve","immunizationFinanceReportForm","immz_finance","chkFilterByDate","getImmunizationFinanceReportData","immunizationFinanceReportArray","DatastatsreportingService","DataStatsReportingComponent","_data_stats_reporting_service","ddlReport","exportData","DistrictcomplianceService","DistrictCompliancereportComponent","district_compliance_report","ddlDistrict1","years","quarters","ddlQuarter","getDistrictComplianceReportDistrictsData","districtComplianceReportForm","dcPager","dc","getDistrictComplianceReportData","districtComplianceReportSource","updateRowGroupMetaData","districtComplianceReportArray","rowGroupMetadata","rowData","compliant_non_compliant","Compliant_Non_Compliant","store_count","storeCount","previousRowData","previousRowGroup","ViewChildren","ActionitemsandmetricsService","FluHcsActionsItemsIpComponent","actionitems_metrics_service","_compiler","recordsCountText","is_flu","getHCSActionItemsList","hcsActionItemsOrMetricsList","actionItemId","getHCSMetricsList","fluHcsActionsIpForm","ddlReports","actionItemsAndMetricArray","setReportTitle","getActionItemsReportData","hidden","getMetricsReportData","exportActionItemsReportData","filename","exportMetricsReportData","FluOpportunitiesContactStatusService","xlsx","FluOpportunitiesContactStatusComponent","_fluOpportunitiesContactStatusService","ddlPod","postModel","postCountModel","countCall","getTotalRecordsCountForFluOppContactStatusReport","fluOppOutreachstatusForm","ws","utils","json_to_sheet","wb","book_new","book_append_sheet","writeFile","onDistrictStateChange","GroupidassignmentreportComponent","past2021","isCurrentYearSeason","setDates1","HcsActionsItemsIpComponent","metric","metricName","covidCount","metricCount","metricDesc","metricId","HighlevelcomplianceService","HighlevelcomplianceComponent","highlevel_compliance_service","hlcr","quarter_start_date","getHighLevelReportSO","highLevelComplianceArray","getQuarterName","quarter_name","HighlevelstatusreportComponent","highLevelForm","ImmunizationfinancereportComponent","InitiatedcontractsService","InitiatedcontractsreportComponent","initiatedcontractsreport","InitiatedContractsReportForm","ddlFormatDropdown","getInitiatedContractsDetails","InitiatedContractsReportArray","LtcfContactUsReportComponent","ng4LoadingSpinnerService","ltcfContactUsReportForm","needClinicAtFacilityLTCF","isYesClickedByStore","MinimumShotExceptionsComponent","setCurrentPage","n","PcaActionItemsComponent","OrganizationTypes","ddlOrganizationType","getPCAActionItemsList","getPCAMetricsList","getOrgnizationTypes","getEventDates","eventDateStr","eventDatesArr","openContractAgreement","getOrganizationTypes","PotentiallocalbusinesslistService","appReportSettings","PotentiallocalbusinesslistComponent","potential_local_business_list","potentialLocalBusinessForm","getBusinessAssignedToStore","result_array","potentialLocalBusinessArray","PotentionallocalbusinessandcontactstatusComponent","potentialLocalBusinessContactStatusReportForm","ddlcontacted","ddloutreachstatus","getPotentialLocalBusinessData","RestrictedstateclinicsService","RestrictedstateclinicsComponent","restricted_state_service","restrictedClinicsAndOpportunitiesForm","ddlStateDropdown","restricted_clinics_oppurtunities","getRestrictedClinicsOpportunitiesReportData","restrictedClinicsAndOpportunitiesArray","onFilterByDateChanged","RevisedclinicdatesComponent","ScheduledClinicsReportService","ScheduledclinicsreportComponent","scheduleclinicreport","ddlClinicStatus","ddlClinicType","isPagerClick","canShowCopay","showReport","canDisablePager","IsPreviousSeason","ClinicTypeArray","ClinicStatusArray","defaultCheck","scheduledClinicReportForm","is_page_load","bindClinicType","plbcsPager","scheduled_clinics","getScheduledClinicDetails","Table1","totalScheduledClinics","scheduledClinicReportArray","page","clinicTypeChange","clinicStatusChange","v","isDefaultChecked","bindClinicStatus","clinic_status","ScheduledCovidClinicsReportComponent","ddlopportunityDesignationStatus","OpportunityDesignation","opportunityDesignationChange","bindopportunityDesignation","opportunity_Designation","ScheduledApptsRepForReminderEmailComponent","showMe","clinicEventDetails","corpDesignInfo","my_int_timer","ScheduledAppointmentsreportComponent","scheduledAppointments","scheduler_service","clinicDates","clinicRooms","trackingflag","clinicLocationPk","showAllLocationsOption","isClientUser","userprofile","makeAndSetFilters","ddlAppointments","setCorportateClientPk","is_opened_from_reminder_email","ddlClinicDate","ddlCorporateClient","AppointmentsreportForm","ddlRoom","sa","getScheduledAppointmentsReportData","AppointmentsreportArray","onCorporateClientChange","loadFilters","getSchedulerClients","getCorporateClients","corporateClients","allClinicDetails","Table2","allLocations","clinicRoomValue","navigateBackToTracking","thisRef","row","ScheduledClinicstatusService","ScheduledclinicstatusComponent","scheduledclinicStatusreport","ddlContacted","ddlStatus","bindDropdown","getScheduledClinicStatusOutreachStatus","statusArray","scPager","scheduled_clinic_status","getScheduledClinicStatusDetails","scheduledClinicStatusDataSource","scheduledClinicStatusReportArray","scheduled_clinics_status","storeid","bName","bAddr","store_address","previousInnerRowGroup","Scheduledeventsreportservice","ScheduledeventsreportComponent","Scheduledeventsreport","scheduledEventsReportForm","se","getScheduledEventsReportData","scheduledEventsReportArray","SchedulerAppttrackingComponent","ServicefessreportComponent","getServiceFeeDetails","exportServiceFeeReportData","StorecompliancereportService","StorecompliancereportComponent","store_compliance","showSearchFilter","storeComplianceForm","covidValue","fluRoutine","scr","getLocationComplianceSO","PercentContacted","getPercentRounded","PercentNotContacted","storeComplianceArray","txtSearch","getStoreBusinessFeedbackPer","exportReportDataSO","exportReportDataImz","quartersLocal","yearCode","TestingeventsService","TestingeventsreportComponent","testingeventsreport","eventStatuses","eventStatusesToBind","ddlEventStatus","orgTypesToBind","apiMethodName","isFiscalYearChanged","loadEventStatuses","testingEventsForm","fiscalYearChange","is_fiscalyear_changed","showReportClick","testing_events","getTestingEventsDetails","totalTestingEvents","testingEventsReportArray","bindOrgType","org_type","bindEventStatus","event_status","orgTypeChange","eventStatusChange","UseraccessService","UseraccesslogComponent","user_access_log","userAccessLogArray","getDistricts","districtsarray","districtID","userAccessLogForm","ual","getUserAccessLog","export","VaccinePurchasingReportComponent","WeeklygroupidassignmentsComponent","WeeklyGroupIdReportForm","WeeklyvaccinepurhaseComponent","WorkflowmonitorService","WorkflowMonitorReportComponent","workflowreport","workFlowReportForm","workflow_monitor","getWorkflowMonitorReportData","workFlowReportArray","seasonStartDate","seasonEndDate","outreachStartDateSR","WeeklygroupidassignmentsService","report_id","ar_params","pod","api_url","GET_STATS_DATA","GET_OPPORTUNITIES_BY_SIC","GET_ASSIGNED_30PLUS_OPPORTUNITIES","GET_STORE_COUNT_BY_ASSIGNED_OPPORTUNITIES","GET_STORE_COUNT_BY_ASSIGNED_RANGE","GET_IP_CLINICS_BY_SIC","GET_SR_EVENTS_BY_SIC","district_compliance","post_Model","filter_by_date","cURL","highlevel_compliance","hlsr_params","minimum_shot_exceptions","GET_OUTREACH_STATUS_LABELS","restricted_clinics_opportunities","scheduled_appointments","corporate_client","sheduled_clinics","API_URL_V2","SCHEDULED_CLINIC_REPORT_V2","SCHEDULED_CLINIC_REPORT","se_params","getGroupId","weekly_vaccine_purchase","FavoritesComponent","ImmunizationProgramEmailTemplateComponent","ResourcecountService","ImmunizationComponent","resourcecountService","displayDownload","selectedResourcesFiles","walgreensResources","scrollDownSample","visresources","showDownloadDialog","resource_category","resources","resourceFiles","dispSelectedResource","selected_type","getCount","getResourceCount","handleClick","resourceName","resourceLink","resourceClickedTime","toISOString","resourceItemCount","PatientCareAdvocacyEmailTemplateComponent","PcaresourcesComponent","SeniorOutreachEmailTemplateComponent","SenioroutreachComponent","TrainingvideosComponent","passVideoPath","VideoPlayerComponent","videoSrcPath","VisComponent","VissComponent","RESOURCE_COUNT","GET_RESOURCE_COUNT","Contactlogpipe","ContactlogService","ContactlogComponent","_contactlog","contactlogList","employees","GetAssignedBusinessesData","selected","loghistory","logTitle","noRecords","viewlog","view_log_history","displayLog","contact_log_pk","outreach_effort_code","contact_log_history","business_type","GetBusinessType","GetContactLogs","contact_data","selectedBusinessName","contact_log_data","contactLogData","contactLogHistory","contact_log","outreachEffortCode","removeLogEntry","deleteLogEntry","DeleteContactLog","FollowupComponent","date_pipe","sr_followup","ip_followup","followup_save","displayOnSucc","get_followup_data","contact_log_IP","contact_log_SR","follow_up_details","doNotSaveText","setUp","formError","date3","GetProgramType","follow_up_title","followupForm","imzemail","imzdate","sremail","srdate","doNotSendImz","doNotSendSR","GetFollowUp","GetPageName","get_follow_up","getFollowpData","onSave","followup_details_list","followup_details_list1","emailReminder","updatedDate","emailTo","followupDate","updateFollowUpEvent","follow_up","get_contact_log","GetLogContact","isSendEmailReminder","postFollowUpEvent","onFolloUpIPDateSelected","select_date","onFolloUpSRDateSelected","getFollowUpEvent","onCancel","OpportunityComponent","openAlternateAcc","BusinessInformation","business_info","isUserAdmin","LocalBusinesses","duplicate_business1","isShowAssignStore","isImmunizationProgram","isSeniorOutreach","popupSuccessShow","enableDisableCovidOption","noContract","isDNC","isOverrideDupCheck","canReassign","isRemoveContactLog","ccnRegEx","ipProgramCheck","srProgramCheck","updatePopupShow","overridePopupShow","duplicateErrorPopUp","logExistsPopupShow","removeIPSR","diffStateOverridePopupShow","updateBusinessShow","okCancel","isCommunityCharity","isCharityCommunityNew","isCheckContractInitiatedCharity","isCheckContractInitiatedCommunity","dncText","disableStandard","disableFluLTCFFlu","showDeactivateOpportunity","IndustryForLTCFCovidOpp","canDisplayIndustries","canDisplayOtherTextboxForIndustries","isIPChecked","isSOChecked","ltcfOpportunityIndustries","standardOpportunityIndustries","isIPOrSR","canDisplayAutoInitiate","deleteOpportunityHeader","deleteOpportunityBody","AddBusinessView","openAllAccordionTabs","addBusinessForm","dirty","phone_search","duplicateAddress","totalRecs","checkDuplicateBusiness","duplicateAddressList","onBlurMethod1","validateAddress","address_search","getFormValue","dupilicate_search","duPlicateAddressSearch","duplicate_message1","removeSpace","loginUserEmailId","outreachOpportunity","updateOutreachOpportunity","BusinessSelected","Ext","AlternateContactExt","Residents","Others","SeniorOutReachStore","ImmunizationProgramStore","pkhash","targetPopulation","communityPartner","communityPartnerName","healthDeptInvolved","opportunityHostLocation","vaccineInventorySource","covidClinicType","LTCFType","ccn","AlternateFirstName","AlternateLastName","AlternatePhone","AlternateJobTitle","AlternateEMail","CheckIfUserIsAdmin","statusTitle","onBusinessSelected","getStoreBusinessInfo","LTCFTypeValues","valueChanges","validateMaxLengths","maxLegthExceeded","businessNameLegthExceeded","onAddEditBusinessSubmit","validateControls","AddToStore","SeniorOutReach","residents","alternateContactExt","addressMatchKey","alternateFirstName","alternateLastName","alternatePhone","alternateJobTitle","alternateEMail","confirmState","checkDNC","DNCClick","overrideDNCAdd","isCheckDnc","addOpportunity","businessData","format","updateStoreBusiness","isBusinessStateStoreStateDiff","BusinessId","phoneValue","telephoneNumberFormat","edit_business_data","currentStateCode","hasAlternateContactData","assignedStoreValue","ltcfClinicTypeIndex","enabled","onCommunityOutreachChange","srList","ipList","destinationState","isChecked","updateOpportunity","doNotRemove","removeIPSROk","onUpdateSuccess","onUpdateNavinagtion","CoCharityForUnapprovedOpportunity","onSuccess","onDNCClick","onOverrideDNC","overrideUdpateBusiness","onOverrideOk","onDuplicateOk","onOverride","ondiffStateOverride","ondiffStateOverrideOk","onLogExistOk","onContactLogOverride","disableControls","checkForIP","checkForSO","checkForCovid","confirmDeactivateOpportunity","DeactivateOpportunity","deactivateOpportunity","CheckIfOnlyCovidSelected","displayIndustries","designationType","addConditionForOtherIndustry","opportunityType","selectedIndustry","ValidateFieldForSpecialCharacters","RemoveCharactersFromField","opportunityName","deleteOpportunityConfirmation","displayDeleteDialog","deleteOpportunityCancel","deleteOpportunityData","deleteOpporunityInfo","ScheduleEventComponent","defaultTime","startTimeToDo","continuePopUp","isEventTypeReadOnly","isWallgreenRoleReadOnly","schedule_event_check","continueToSaveClicked","schedule_event_form","eventdate","eventStartTime","eventEndTime","eventTypeId","walgreensRoleId","provideEducationalMaterial","numberOfAttendees","eventDescription","walgreensRoleDescription","getScheduleEvents","schedule_event","schedule_events","dateOfEvent","updateEvent","addEvent","scheduleEvent","numberOfAttendes","postScheduleEvent","eventStartTimeValid","eventEndTimeValid","upadteScheduleEvent","onScheduleDateSelected","eventTypeClick","eventTypeOtherClick","walgreensRoleClick","walgreensRoleOtherClick","continueSetup","prop","isArray","getProperty","isUndefined","isNil","isObject","shift","_datePipeObj","day_light_saving_from_curr_year","nthWeekdayOfMonth","day_light_saving_to_next_year","cstOffset","cstTimeZoneVal","todayMillis","curretCST","cstDateObj","formatted_cdt","weekday","idate","getDay","FilterPipe_1","el","_orderByDescComparator","_orderByComparatorBooleanValuesPC","_orderByComparator","_orderByComparatorV1","is_ip","getIsIP","_orderByComparatorBooleanValuesisCOVIDOpp","parseFloat","isFinite","isSr","_orderByComparatorBooleanValues","isPC","filtered_keys","_baseUrl","formdata","opportunity","isCheckDNC","ADD_OPPORTUNTY","UPDATE_OPPORTUNITY","getContractData","BusinessInfo","duplcateAddress","DUPLICATE_BUSINESS","duPlicatePhoneSearch","duplicate","matching_imz1","add_business","IsSeniorOutReachStoreValid","matchStoreModel","IsImmunizationProgStoreValid","ADD_PCA_OPPORTUNTY","UPDATE_PCA_OPPRTUNITY","GET_OUTREACH_CONTACT_LOGS","DELETE_CONTACT_LOG","subjectHint","subjectProfile","turnOffOnHintsFromFooter","turnOffOnHintsFromComponent","canRouteChangeConfirmDialog","canRouteChange","dashBoard","reportTitle","isNavigationClicked","showHintsOnToggleChange","showTabbedHints","clearStoreId","getStepValue","setStepValue","clearStepValue","dash_board","clearDashboard","sendStoreProfile","clearStoreProfile","turn_on_off","can_show","can_change","is_navigation_clicked","util","GET_ASSIGNED_BUSINESSES","GET_METRICS_COUNTS","GET_ACTION_ITEM_COUNTS","GET_PCA_DASHBOARD_SNAPSHOT","setBusinessPk","GET_NATIONAL_CONTRACT_CLIENTS","DNCData","DELETE_NATIONAL_CONTRACT_CLIENTS","dash_board_data","GET_DASHBOARD_DATA","GET_LOCAL_LEADS","getConfigDates","GET_CONFIG_DATES","GET_PRIORITY_OPPORTUNITIES","UPDATE_OUTREACH_STATUS_TO_NOOUTREACH","put","DELETE_OPPORTUNITY_INFO","GET_SCHEDULE_EVENT","POST_FOLLOWUP_EVENT","POST_SCHEDULE_EVENT","UPDATE_SCHEDULE_EVENT","POST_SIMPLE_EVENT","outreachBusinessPkusiness","UPDATE_FOLLOWUP_EVENT","contact_log_pk_IP","contact_log_pk_SR","GET_FOLLOWUP_EVENT","baseUrl","storeslist","FieldsetModule","pathMatch","children","TableComponent","showSearchBar","headerData","headerCloumns","headerColumns","checkValidDate","formats","ISO_8601","handleSearchClick","InplaceModule","InputTextModule","InputNumberModule","InputTextareaModule","KnobModule","MegaMenuModule","MenuModule","MenubarModule","OrderListModule","OrganizationChartModule","OverlayPanelModule","PanelModule","PanelMenuModule","PasswordModule","ProgressBarModule","RadioButtonModule","RatingModule","ScrollerModule","ScrollPanelModule","ScrollTopModule","SelectButtonModule","SidebarModule","SkeletonModule","SlideMenuModule","SliderModule","SpeedDialModule","SpinnerModule","SplitButtonModule","SplitterModule","StepsModule","TabMenuModule","TagModule","TerminalModule","TieredMenuModule","TimelineModule","ToastModule","ToggleButtonModule","ToolbarModule","TriStateCheckboxModule","TreeModule","TreeSelectModule","TreeTableModule","AnimateModule","CardModule","BlockUIModule","StyleClassModule","appClickOutside","phoneNo","shallWeShow2WkConfirmDialog","excessQty","onlyVoucherPaymentMethodIsSelected","voucherPaymentMethodIsSelected","wagsFreeFluVoucherIsSelected","max","PageType","releaseDate","componentToRender","uniContractReleaseDate2022","uniContractReleaseDate2023","regex","specialKeys","onKeyDown","cleaned","is_event","CryptoJS","SetRoleID","roleID","GetRoleID","details","contactInfo","log_contact","setSortBy","followp_flag","enc","Utf8","iv","encrypted","AES","encrypt","keySize","CBC","pad","Pkcs7","getDed","decrypt","user_page","local_clinic","thankudata","EmitFunction","emit_function","GetEmitFunction","hcs_action_items_list","hcs_metrics_list","pca_action_items_list","pca_metrics_list","setSchedulerSiteSetUp","scheduler_site_set_up","getSchedulerSiteSetUp","setSchedulerSiteSetUpData","scheduler_site_set_up_data","getSchedulerSiteSetUpData","schedulerInfo","profile_pk","getIsCOVID","user_profile_data","totalCancerEvents","immunizationCheckPK","recordInfo","redcordInfo","immunizationform","StringBuilder","handleErrorV1","operation","ErrorEvent","letter","nNum","base","pow","emailTokens","regex_pattern","fn","telephoneNumber","numberKeys","numKey","decimalValue","leftChain","rightChain","compare2Objects","isPrototypeOf","arguments","o1","o2","_t","isEmptyObject","obj2","form","immunization2","immunizationObj","is_admin_allowed_to_add_groupid","authorized_admin_users","addCoPayGroupIdAdmins","documentId","docprintContents","elementRef","popupWin","builder","checkBoxStr","outerHTML","updatedCheckBoxStr","isIEOrEdge","userAgent","write","reassignmentAllowed","production","BlockedStartDate","BlockedEndDate","outreachStartDateSO","restrict_states","GET_APPOINTMENT_TRACKING_DETAILS","GET_OpportunityDetails","GET_ORGANIZATION_TYPES","GET_STOREUPLOAD_FILE_COUNTS","GET_IP_BUSINESS_FEEDBACK_ALL","GET_LEADS_VACCINATION_INFO","GET_OPPURTUNITY_DETAILS","enableProdMode","platformBrowserDynamic","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[522]}