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); }
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); }
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); }
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(); } }