예제 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="XmlSchemaWriter"/> class.
 /// </summary>
 /// <param name="writer">The underlying writer</param>
 /// <param name="sb">StringBuilder where result is written</param>
 /// <param name="log">Translation log where errors and warnings are written</param>
 public XmlSchemaWriter(XmlWriter writer, StringBuilder sb, TranslationLog log)
 {
     Writer       = writer;
     this._sb     = sb;
     Log          = log;
     this.IsEmpty = true;
 }
        public void InsterRecord(string TextId, string Text, string LanguageCode)
        {
            AdminInput input = new AdminInput();

            input.TextId       = TextId;
            input.Text         = Text;
            input.LanguageCode = LanguageCode;
            if (this.doesTextIdExist(input) == false)
            {
                input.TextId = input.TextId;
                Text text = new Text();
                text.TextId = input.TextId;
                text.System = true;

                Translation translation = new Translation();
                translation.LanguageCode    = input.LanguageCode;
                translation.TextId          = text.TextId;
                translation.Translated_Text = input.Text;
                translation.OfficialBoolean = true;
                translation.Votes           = 0;

                TranslationLog translation_log = new TranslationLog();
                translation_log.TextId          = input.TextId;
                translation_log.System_Date     = DateTime.Now;
                translation_log.LanguageCode    = input.LanguageCode;
                translation_log.Translated_Text = input.Text;

                ITranslation.InsertTextTranslation(text, translation, translation_log);
            }
        }
        public ActionResult Create(AdminInput input)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView(input));
            }
            if (this.doesTextIdExist(input) == true)
            {
                return(PartialView(input));
            }
            else
            {
                input.TextId = input.TextId;
                Text text = new Text();
                text.TextId = input.TextId;
                text.System = true;

                Translation translation = new Translation();
                translation.LanguageCode    = input.LanguageCode;
                translation.TextId          = text.TextId;
                translation.Translated_Text = input.Text;
                translation.OfficialBoolean = true;
                translation.Votes           = 0;

                TranslationLog translation_log = new TranslationLog();
                translation_log.TextId          = input.TextId;
                translation_log.System_Date     = DateTime.Now;
                translation_log.LanguageCode    = input.LanguageCode;
                translation_log.Translated_Text = input.Text;

                ITranslation.InsertTextTranslation(text, translation, translation_log);

                // returning the key to call grid.api.update
                var data    = this.Gridformat();
                var rowData = data.GridRows.Where(x => x.TextId == input.TextId).FirstOrDefault();

                if (System.Web.HttpContext.Current.Request.Cookies["MissingTrans"] != null)
                {
                    if (System.Web.HttpContext.Current.Request.Cookies["MissingTrans"].Value != "true")
                    {
                        return(Json(MapToGridModel(rowData)));
                    }
                    else
                    {
                        return(Json(rowData));
                    }
                }
                else
                {
                    return(Json(rowData));
                }
            }
        }
예제 #4
0
        public static void Show(DockingManager manager, PSMDiagram diagram, Dictionary <string, string> schemas, TranslationLog log)
        {
            XMLSchemaWindow w = new XMLSchemaWindow();

            w.Diagram        = diagram;
            w.XMLSchemaTexts = schemas;
            w.LogMessages    = log;
            w.MainWindow     = (MainWindow)manager.ParentWindow;

            w.IsFloatingAllowed = true;
            w.IsCloseable       = true;
            w.Title             = "XML Schema"; //string.Format("{0}.xsd", diagram.Caption);
            DocumentFloatingWindow fw = new DocumentFloatingWindow(manager, w, manager.MainDocumentPane)
            {
                Topmost = true
            };

            w.MainWindow.DiagramTabManager.CreatedFloatingWindows.Add(fw);
            w.DocumentFloatingWindow = fw;
            fw.Show();
        }
예제 #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SimpleTypesWriter"/> class.
 /// </summary>
 /// <param name="writer">The underlying writer</param>
 /// <param name="sb">StringBuilder where result is written</param>
 /// <param name="log">Translation log where errors and warnings are written</param>
 public SimpleTypesWriter(XmlWriter writer, StringBuilder sb, TranslationLog log) :
     base(writer, sb, log)
 {
     declaredTypes = new List <SimpleDataType>();
 }
예제 #6
0
        public static void Show(DockingManager manager, PSMDiagram diagram, string schema, TranslationLog log)
        {
            XMLSchemaWindow w = new XMLSchemaWindow();

            w.Diagram       = diagram;
            w.XMLSchemaText = schema;
            w.LogMessages   = log;
            w.MainWindow    = manager.GetMainWindow();

            w.IsFloatingAllowed = true;
            w.IsCloseable       = true;
            w.Title             = string.Format("{0}.xsd", diagram.Caption);
            w.Show(manager, true);
            //DocumentFloatingWindow fw = new DocumentFloatingWindow(manager, w, manager.MainDocumentPane) { Topmost = true };
            //w.MainWindow.DiagramTabManager.CreatedFloatingWindows.Add(fw);
            //w.DocumentFloatingWindow = fw;
            //fw.Show();
        }
        public ActionResult Edit(TranslationInput input)
        {
            //TODO: still need some improvements
            if (!ModelState.IsValid)
            {
                return(PartialView("EditTranslation", input));
            }
            input.Votes = 1;

            var updateMode = ITranslationMode.GetTranslationModeByID(input.TextId, input.LanguageCode);

            if (updateMode == null)//This mean it is the first Translation of this string
            {
                TranslationMode mode = new TranslationMode();
                mode.TextId       = input.TextId;
                mode.LanguageCode = input.LanguageCode;
                mode.Mode         = input.ModeOfTranslation;
                ITranslationMode.InsertTranslationMode(mode);

                updateMode = mode;

                if (input.ModeOfTranslation == 2)
                {
                    var griddata    = this.Gridformat();
                    var gridrowData = griddata.GridRows.Where(x => x.TextId == input.TextId).FirstOrDefault();
                    return(Json(MapToGridModel(gridrowData)));
                }
            }
            else
            {
                updateMode.Mode = input.ModeOfTranslation;
                ITranslationMode.UpdateTranslationMode(updateMode);

                if (updateMode.Mode == 2)
                {
                    var updateGriddata    = this.Gridformat();
                    var updateGridrowData = updateGriddata.GridRows.Where(x => x.TextId == input.TextId).FirstOrDefault();
                    return(Json(MapToGridModel(updateGridrowData)));
                }
            }

            var newtranslation = new Translation();

            if (updateMode.Mode == 0 || updateMode.Mode == 1)
            {
                var repetTranslated = ITranslation.GetAll().Where(x => x.TextId == input.TextId && x.LanguageCode == input.LanguageCode && x.Translated_Text == input.TranslationText).FirstOrDefault();
                if (repetTranslated != null)
                {
                    if (updateMode.Mode == 0)
                    {
                        var items = ITranslation.GetTranslationLogByCode(repetTranslated.TextId, repetTranslated.LanguageCode).ToList();
                        foreach (var item in items)
                        {
                            item.OfficialBoolean = false;
                        }
                        var maxVote = items.Max(s => s.Votes);
                        var setdata = items.Where(x => x.Votes == maxVote).FirstOrDefault();
                        setdata.OfficialBoolean = true;
                        setdata.Votes           = maxVote;

                        ITranslation.Update(setdata);
                    }
                    return(Json(repetTranslated));
                }

                //Find the las translation that has officialBoolean in true
                var translatedData = ITranslation.GetAll()
                                     .Where(x =>
                                            x.TextId == input.TextId &&
                                            x.LanguageCode == input.LanguageCode &&
                                            x.OfficialBoolean == true)
                                     .FirstOrDefault();

                if (translatedData != null)
                {
                    translatedData.OfficialBoolean = false;
                    translatedData.Votes           = translatedData.Votes > 0 ? 0 : translatedData.Votes;

                    //Update the last saved translation with the new values in order to put the new translation as the one to be shown in the grid.
                    // translateData is NOT the new input to be saved, is the last saved in a previous instance
                    ITranslation.Update(translatedData);
                }

                // the new translation to be saved in db
                var translatedText = new Translation();
                translatedText.Translated_Text = input.TranslationText;
                translatedText.LanguageCode    = input.LanguageCode;
                translatedText.TextId          = input.TextId;
                translatedText.Votes           = 0;
                translatedText.OfficialBoolean = true;

                ITranslation.Save(translatedText);

                newtranslation = ITranslation.GetAll().Where(x => x.Id == translatedText.Id).FirstOrDefault();

                this.VoteCount("Like", newtranslation.TextId, newtranslation.Id, newtranslation.LanguageCode);

                TranslationLog translation_log = new TranslationLog();
                translation_log.TextId          = translatedText.TextId;
                translation_log.System_Date     = DateTime.Now;
                translation_log.LanguageCode    = translatedText.LanguageCode;
                translation_log.Translated_Text = translatedText.Translated_Text;

                ITranslation_Log.Save(translation_log);
            }

            var data    = this.Gridformat();
            var rowData = data.GridRows.Where(x => x.TextId == input.TextId).FirstOrDefault();

            if (System.Web.HttpContext.Current.Request.Cookies["MissingTrans"] != null)
            {
                if (System.Web.HttpContext.Current.Request.Cookies["MissingTrans"].Value != "true")
                {
                    return(Json(MapToGridModel(rowData)));
                }
                else
                {
                    return(Json(data));
                }
            }
            else
            {
                return(Json(data));
            }
        }
예제 #8
0
        //public static void Show(string documentText, PSMDiagram diagram)
        public static void Show(DockingManager manager, string documentText, PSMDiagram diagram, TranslationLog log)
        {
            documentText = documentText.Replace("utf-16", "utf-8");

            SampleDocumentWindow w = new SampleDocumentWindow();

            w.Diagram         = diagram;
            w.documentText    = documentText;
            w.tbDocument.Text = documentText;
            w.LogMessages     = log;
            w.MainWindow      = (MainWindow)manager.ParentWindow;


            w.foldingManager  = FoldingManager.Install(w.tbDocument.TextArea);
            w.foldingStrategy = new XmlFoldingStrategy();
            if (!String.IsNullOrEmpty(documentText))
            {
                w.UpdateFolding();
            }

            w.IsFloatingAllowed = true;
            w.IsCloseable       = true;
            w.Title             = string.Format("{0}.xml", diagram.Caption);
            DocumentFloatingWindow fw = new DocumentFloatingWindow(manager, w, manager.MainDocumentPane)
            {
                Topmost = true
            };

            w.MainWindow.DiagramTabManager.CreatedFloatingWindows.Add(fw);
            w.DocumentFloatingWindow = fw;
            fw.Show();
        }
예제 #9
0
 /// <summary>
 /// Insert Text object in db, then save translation and create a translation log for this instances
 /// </summary>
 /// <param name="text"></param>
 /// <param name="translation"></param>
 /// <param name="translation_log"></param>
 public void InsertTextTranslation(Text text, Translation translation, TranslationLog translation_log)
 {
     _baseRepositoryText.Save(text);
     Save(translation);
     _baseRepositoryTranslationLog.Save(translation_log);
 }