コード例 #1
0
 public bool EventPreparationOrReport(Enums.SystemMessageEventCodes eventCode)
 {
     return(eventCode == Enums.SystemMessageEventCodes.EVENT_PRIPRAVA_OPOZORILO ||
            eventCode == Enums.SystemMessageEventCodes.EVENT_PRIPRAVA_OPOZORILO_NADREJENI ||
            eventCode == Enums.SystemMessageEventCodes.EVENT_PRIPRAVA_OPOZORILO_NADREJENI_DIREKTOR ||
            eventCode == Enums.SystemMessageEventCodes.EVENT_POROCILO_OPOZORILO ||
            eventCode == Enums.SystemMessageEventCodes.EVENT_POROCILO_OPOZORILO_NADREJENI ||
            eventCode == Enums.SystemMessageEventCodes.EVENT_POROCILO_OPOZORILO_NADREJENI_DIREKTOR);
 }
コード例 #2
0
        private void CreateSystemMessageEventsForEvent(EventFullModel dogodek, Enums.SystemMessageEventCodes eventType)
        {
            DataTypesHelper.LogThis("*****CREATING NEW SYSTEMMESSGE EVENT: event type = *****" + eventType.ToString());
            SystemMessageEvents newEvent = new SystemMessageEvents();

            newEvent.SystemMessageEventID = 0;
            newEvent.Status   = (int)Enums.SystemMessageEventStatus.UnProcessed;
            newEvent.MasterID = dogodek.idDogodek;
            newEvent.Code     = eventType.ToString();
            newEvent.ts       = DateTime.Now;

            if (dogodek.tsIDOsebe != 0)
            {
                newEvent.tsIDOsebe = dogodek.tsIDOsebe;
            }

            context.SystemMessageEvents.Add(newEvent);
        }
コード例 #3
0
        public int GetEmployeeHierarchyLevel(Enums.SystemMessageEventCodes eventCode)
        {
            int level = 1;

            if (eventCode == Enums.SystemMessageEventCodes.EVENT_PRIPRAVA_OPOZORILO || eventCode == Enums.SystemMessageEventCodes.EVENT_POROCILO_OPOZORILO)
            {
                level = 1;
            }
            else if (eventCode == Enums.SystemMessageEventCodes.EVENT_PRIPRAVA_OPOZORILO_NADREJENI || eventCode == Enums.SystemMessageEventCodes.EVENT_POROCILO_OPOZORILO_NADREJENI)
            {
                level = 2;
            }
            else if (eventCode == Enums.SystemMessageEventCodes.EVENT_PRIPRAVA_OPOZORILO_NADREJENI_DIREKTOR || eventCode == Enums.SystemMessageEventCodes.EVENT_POROCILO_OPOZORILO_NADREJENI_DIREKTOR)
            {
                level = 3;
            }

            return(level);
        }
コード例 #4
0
        public void ProcessEventMessage(SystemMessageEvents message, Enums.SystemMessageEventCodes eventCode = Enums.SystemMessageEventCodes.EVENT_DOGODEK)
        {
            StreamReader reader = null;

            try
            {
                //DataTypesHelper.LogThis("*****IN Method ProcessEventMessage*****");
                int    employeeHierarchyLevel = GetEmployeeHierarchyLevel(eventCode);
                string emailSubject           = SystemEmailMessageResource.res_03;
                string templatePath           = (AppDomain.CurrentDomain.BaseDirectory + ConfigurationManager.AppSettings["NEW_EVENT_TEMPLATE"].ToString()).Replace("\"", "\\");
                DataTypesHelper.LogThis(AppDomain.CurrentDomain.BaseDirectory);
                Dogodek dogodek = context.Dogodek.Where(dog => dog.idDogodek == message.MasterID).FirstOrDefault();
                EventMessageTemplateModel modelForTemplate = new EventMessageTemplateModel();

                if (EventPreparationOrReport(eventCode))
                {
                    templatePath               = (AppDomain.CurrentDomain.BaseDirectory + ConfigurationManager.AppSettings["MEETING_WARNING_TEMPLATE"].ToString()).Replace("\"", "\\");
                    modelForTemplate.Tip       = EventPreparation(eventCode) ? "Priprava" : "Poročilo";
                    modelForTemplate.Zamuda    = DateTime.Now.Subtract(dogodek.DatumOtvoritve.Value).Days;
                    modelForTemplate.Otvoritev = dogodek.DatumOtvoritve.Value;
                    modelForTemplate.ServerTag = ConfigurationManager.AppSettings["ServerTag"].ToString();
                    emailSubject               = SystemEmailMessageResource.res_04.Replace("%Tip%", modelForTemplate.Tip);
                }
                //DataTypesHelper.LogThis("*****Afer if statement of checking if event is about priprava or Poročilo***** EVENT ID: " + dogodek.idDogodek.ToString());
                //DataTypesHelper.LogThis("*****TemplatePath: ********" + templatePath);
                reader = new StreamReader(templatePath);
                //DataTypesHelper.LogThis("***1***");

                modelForTemplate.idDogodek = dogodek.idDogodek;
                //DataTypesHelper.LogThis("***2***");
                modelForTemplate.ImeIzvajalec = dogodek.Osebe != null ? dogodek.Osebe.Ime : "";
                //DataTypesHelper.LogThis("***3***");
                modelForTemplate.PriimekIzvajalec = dogodek.Osebe != null ? dogodek.Osebe.Priimek : "";
                //DataTypesHelper.LogThis("***4***");
                modelForTemplate.ImeSkrbnik = dogodek.Osebe1 != null ? dogodek.Osebe1.Ime : "";
                //DataTypesHelper.LogThis("***5***");
                modelForTemplate.PriimekSkrbnik = dogodek.Osebe1 != null ? dogodek.Osebe1.Priimek : "";
                //DataTypesHelper.LogThis("***6***");
                modelForTemplate.Kategorija = dogodek.Kategorija != null ? dogodek.Kategorija.Naziv : "";
                //DataTypesHelper.LogThis("***7***");
                modelForTemplate.KategorijaKoda = dogodek.Kategorija != null ? dogodek.Kategorija.Koda : "";
                //DataTypesHelper.LogThis("***8***");
                modelForTemplate.NazivPrvi = dogodek.Stranka != null ? dogodek.Stranka.NazivPrvi : "";
                //DataTypesHelper.LogThis("***9***");
                modelForTemplate.Opis = dogodek.Opis;
                //DataTypesHelper.LogThis("***10***");
                modelForTemplate.EmailTo = dogodek.Osebe != null ? dogodek.Osebe.Email : "";
                //DataTypesHelper.LogThis("***11***");
                modelForTemplate.Rok = dogodek.Rok.HasValue ? dogodek.Rok.Value : DateTime.MinValue;
                //DataTypesHelper.LogThis("***12***");
                modelForTemplate.Status = dogodek.StatusDogodek != null ? dogodek.StatusDogodek.Naziv : "";
                //DataTypesHelper.LogThis("***13***");
                string templateString = reader.ReadToEnd();
                //DataTypesHelper.LogThis("*****Before ReplaceDefaultValuesInTemplate*****");
                templateString = ReplaceDefaultValuesInTemplate(modelForTemplate, templateString);
                //DataTypesHelper.LogThis("*****After ReplaceDefaultValuesInTemplate*****");

                if (String.IsNullOrEmpty(modelForTemplate.Opis))
                {
                    templateString = templateString.Replace("$%Opis%$ ", "");
                }

                //DataTypesHelper.LogThis("*****Before if statement Sporocila*****");
                if (dogodek.Sporocila != null && eventCode.Equals(Enums.SystemMessageEventCodes.EVENT_DOGODEK))
                {
                    foreach (var item in dogodek.Sporocila)
                    {
                        int index = templateString.IndexOf("##INSERT_MESSAGE_HERE##");
                        templateString = templateString.Insert(index, item.OpisDel + "<br />");
                    }
                }
                //DataTypesHelper.LogThis("*****After if statement Sporocila*****");
                templateString = templateString.Replace("##INSERT_MESSAGE_HERE##", "");
                if (dogodek.Osebe != null)
                {
                    SaveToSystemEmailMessage(dogodek.Osebe.Email, templateString, dogodek.Osebe.idOsebe, employeeHierarchyLevel, emailSubject);
                }
                //DataTypesHelper.LogThis("*****After SaveSystemEmailMessage*****");
                //TODO: Update Avtomatika tabela
                //update status
                message.Status = (int)Enums.SystemMessageEventStatus.Processed;
                //DataTypesHelper.LogThis("*****Before UpdateSysteMessageEvents*****");
                UpdateSystemMessageEvents(message);
                //DataTypesHelper.LogThis("*****After UpdateSysteMessageEvents*****");
            }
            catch (Exception ex)
            {
                DataTypesHelper.LogThis("Error:" + ex.Message);
                throw new Exception(ex.Message);
            }
            finally
            {
                reader.Close();
            }
        }