Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2014, 14:08   #1
1van1vanov
Новичок
Джуниор
 
Регистрация: 27.02.2014
Сообщений: 4
Лампочка Создание страницы редактирования настроек

Здравствуйте, форумчане!
Задание - нужно создать страницу для редактирования настроек который считываются с .xml файла. C С# знаком неделю. Показали конфиг контроллер, .xml страницу, объяснили, но тяжко)

ConfigController
Код:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Xml.Serialization;
using Clases;

namespace ConfiguratorController.Controllers
{
    public class ConfigurationController : Controller
    {
        //
        // GET: /Configuration/
        private ParkomatConfig Config = new ParkomatConfig();
        public ActionResult Index()
        {
            return View();
        }

        public ActionResult GetConfig(int equipmentId)
        {
            StreamReader File;
            XmlSerializer reader = new XmlSerializer(typeof(ParkomatConfig));
            string path = @"C:\" + equipmentId + ".xml"; ;
            try
            {
                File = new StreamReader(path);
                Config = (ParkomatConfig)reader.Deserialize(File);
               
                File.Close();
                return View(Config);
            }
            catch (Exception)
            {               
                return null;
            }                                                            
        }

        public void SaveConfig(ParkomatConfig innConfig, int equipmentId)
        {
            try
            {
                Config = innConfig;
                XmlSerializer writer = new XmlSerializer(typeof (ParkomatConfig));
                string path = @"C:\"+equipmentId+".xml";
                StreamWriter File = new StreamWriter(path);
                writer.Serialize(File, Config);
                File.Close();
            }
            catch (Exception)
            {
                return;
            }
            return;
        }

    }
}

Последний раз редактировалось MaTBeu; 27.02.2014 в 14:19.
1van1vanov вне форума Ответить с цитированием
Старый 27.02.2014, 14:09   #2
1van1vanov
Новичок
Джуниор
 
Регистрация: 27.02.2014
Сообщений: 4
По умолчанию

.xml файл с конфигами
Код:
<?xml version="1.0"?>
<ParkomatConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <!-- Тайминги переходов -->
  <AppTiming>
    <!-- Время неактивности  -->
    <PayTimeOut>5</PayTimeOut>
    <!-- Время отображения уведомления пользователю -->
    <ShowMessageTimeOut>3</ShowMessageTimeOut>
    <!-- Время автоматического запуска Z отчета -->
    <TimeAutoReport>23:56</TimeAutoReport>
  </AppTiming>

  <!-- Настройки оборудования -->
  <Equipment>

    <!--  -->
    <CoinAcceptor>
      <Active>true</Active>
      <Port>6</Port>
      <Baud>19200</Baud>
      <NoWokrAnError>false</NoWokrAnError>
      <RetriesCount>0</RetriesCount>
      <DeviceName>EU9R</DeviceName>
    </CoinAcceptor>

    <!--  -->
    <CoinDispenser>
      <Active>true</Active>
      <Port>7</Port>
      <Baud>9600</Baud>
      <NoWokrAnError>false</NoWokrAnError>
      <RetriesCount>0</RetriesCount>
      <DeviceName>SA595C</DeviceName>
    </CoinDispenser>

    <!--  -->
    <CashAcceptor>
      <Active>true</Active>
      <Port>5</Port>
      <Baud>9600</Baud>
      <NoWokrAnError>false</NoWokrAnError>
      <RetriesCount>0</RetriesCount>
      <DeviceName>SCI8327R</DeviceName>
    </CashAcceptor>

    <!--  -->
    <CardReader>
      <Active>true</Active>
      <Port>1</Port>
      <Baud>9600</Baud>
      <NoWokrAnError>false</NoWokrAnError>
      <RetriesCount>0</RetriesCount>
      <DeviceName>MicroEm</DeviceName>
    </CardReader>

    <!--  -->
    <BarCodeReader>
      <Active>true</Active>
      <Port>2</Port>
      <Baud>9600</Baud>
      <NoWokrAnError>false</NoWokrAnError>
      <RetriesCount>0</RetriesCount>
      <DeviceName>FM420</DeviceName>
    </BarCodeReader>

    <!--  -->
    <CardDispenser>
      <Active>false</Active>
      <Port>0</Port>
      <Baud>0</Baud>
      <NoWokrAnError>false</NoWokrAnError>
      <RetriesCount>0</RetriesCount>
    </CardDispenser>

    <!--  -->
    <Eqcuiring>
      <Active>true</Active>
      <Port>0</Port>
      <Baud>0</Baud>
      <NoWokrAnError>false</NoWokrAnError>
      <RetriesCount>0</RetriesCount>
      <DeviceName>Uniteller</DeviceName>
    </Eqcuiring>

    <!--  -->
    <CoinDispenserNominal>1000</CoinDispenserNominal>

    <!--  -->
    <CashDispenserNominal1>5000</CashDispenserNominal1>

    <!--  -->
    <CashDispenserNominal2>10000</CashDispenserNominal2>

    <!--  -->
    <CashDispenserNominal3>0</CashDispenserNominal3>

    <!--  -->
    <CashDispenserNominal4>0</CashDispenserNominal4>

    <!--  -->
    <FiscalPrinter>
      <Active>true</Active>
      <Port>4</Port>
      <Baud>115200</Baud>
      <NoWokrAnError>false</NoWokrAnError>
      <RetriesCount>0</RetriesCount>
      <DeviceName>PRIM21</DeviceName>
    </FiscalPrinter>

    <!--  -->
    <FiscalItemsHeaderLines>
      <string>----------------------------------------</string>
      <string>     </string>
      <string>----------------------------------------</string>
    </FiscalItemsHeaderLines>

    <!--  -->
    <FiscalAfterTotalLines>
      <string>FirstLine</string>
      <string>SecondLine</string>
    </FiscalAfterTotalLines>

    <!--  -->
    <FiscalAfterTenderLines>
      <string>FirstLine</string>
      <string>SecondLine</string>
    </FiscalAfterTenderLines>

    <!--  -->
    <FiscalDocParam1>23254</FiscalDocParam1>
    <!--  -->
    <FiscalDocParam2>2240</FiscalDocParam2>

    <!--  -->
    <CashDispenser>
      <Active>false</Active>
      <Port>3</Port>
      <Baud>9600</Baud>
      <NoWokrAnError>false</NoWokrAnError>
      <RetriesCount>0</RetriesCount>
      <DeviceName>ECDM200</DeviceName>
    </CashDispenser>
  </Equipment>

  <!-- Настройки внешнего вида -->
  <ViewConfig>
    <UserMainImage></UserMainImage>
    <UserLogoImage></UserLogoImage>
    <AddMessageForStartPage>Первый час бесплатно.\r\nКаждый последующий 10руб./час.\r\nПосле оплаты 15 мин. на выезд.</AddMessageForStartPage>
  </ViewConfig>

  <!--Настройки звуков -->
  <SoundConfig>
    <EnableSound>false</EnableSound>
    <SoundAmountFull>Sound\AmountFull.wav</SoundAmountFull>
    <SoundDebtNot>Sound\DebtNot.wav</SoundDebtNot>
    <SoundGiveCheck>Sound\GiveCheck.wav</SoundGiveCheck>
    <SoundInsertMoney>Sound\InsertMoney.wav</SoundInsertMoney>
  </SoundConfig>

  <!-- Имя паркомата - используется в чеке -->
  <ParkomatName>Первый</ParkomatName>
  <!-- Ид паркомата -->
  <IdParcomat>6</IdParcomat>

</ParkomatConfig>

Последний раз редактировалось MaTBeu; 27.02.2014 в 14:19.
1van1vanov вне форума Ответить с цитированием
Старый 27.02.2014, 14:10   #3
1van1vanov
Новичок
Джуниор
 
Регистрация: 27.02.2014
Сообщений: 4
По умолчанию

скрипт сделанный мной глядя на пример имея недельные знания js
Код:
<script>

    // p_ - parameters
    // m_ - methods

    //AppTimingConfig params
    this.p_PayTimeOut = null;
    this.p_ShowMessageTimeOut = null;
    this.p_TimeAutoReport = null;

    //Equipment params
    this.p_CoinDispenserNominal = null;
    this.p_CashDispenserNominal1 = null;
    this.p_CashDispenserNominal2 = null;
    this.p_CashDispenserNominal3 = null;
    this.p_CashDispenserNominal4 = null;
    this.p_FiscalHeaderLines[null];
    this.p_FiscalFooterLines[null];
    this.p_FiscalItemsHeaderLines[null];
    this.p_FiscalAfterTotalLines[null];
    this.p_FiscalAfterTenderLines[null];
    this.p_FiscalDocParam1 = null;
    this.p_FiscalDocParam2 = null;

    //>?<
    this.p_PayTimeOut = null;
    this.p_int = null;
    this.p_string = null;

    //AppViewConfig params
    this.p_UserMainImage = null;
    this.p_UserLogoImage = null;
    this.p_AddMessageForStartPage = null;

    //AppSoundConfig params
    this.p_EnableSound = null;
    this.p_SoundAmountFull = null;
    this.p_SoundDebtNot = null;
    this.p_SoundGiveCheck = null;
    this.p_SoundInsertMoney = null;

    //>?<
    this.p_ParkomatName = null;
    this.p_IdParcomat = null;

    var ParkomatConfig = function createObjectParkomatConfig() {

        
        //Initializing
        this.o_DeviceParameters = {
            Active: null,
            Port: null,
            Baud: null,
            NoWokrAnError: null,
            RetriesCount: null,
            DeviceName: null,
        }

        o_CoinAcceptor = {
            DefParam: o_DeviceParameters
        }

        o_CoinDispenser = {
            DefParam: o_DeviceParameters
        }

        o_CashAcceptor = {
            DefParam: o_DeviceParameters
        }

        o_CardReader = {
            DefParam: o_DeviceParameters
        }

        o_BarCodeReader = {
            DefParam: o_DeviceParameters
        }

        o_CardDispenser = {
            DefParam: o_DeviceParameters
        }

        o_Eqcuiring = {
            DefParam: o_DeviceParameters
        }

        o_FiscalPrinter = {
            DefParam: o_DeviceParameters
        }

        o_CashDispenser = {
            DefParam: o_DeviceParameters
        }

    }

Последний раз редактировалось MaTBeu; 27.02.2014 в 14:21.
1van1vanov вне форума Ответить с цитированием
Старый 27.02.2014, 14:11   #4
1van1vanov
Новичок
Джуниор
 
Регистрация: 27.02.2014
Сообщений: 4
По умолчанию

Код:
//Change For Object
    function changeParams(obj) {
        this.obj = obj;
    }

        //Change Settings
        function changeAppTimingConfig(PayTimeOut, ShowMessageTimeOut, TimeAutoReport) {
            this.p_PayTimeOut = PayTimeOut;
            this.p_ShowMessageTimeOut = ShowMessageTimeOut;
            this.p_TimeAutoReport = TimeAutoReport;
        }

        function changeEquipmentConfig(CoinDispenserNominal, CashDispenserNominal1, CashDispenserNominal2, CashDispenserNominal3, CashDispenserNominal4, FiscalHeaderLines, FiscalFooterLines, FiscalItemsHeaderLines, FiscalAfterTotalLines, FiscalAfterTenderLines, FiscalDocParam1, FiscalDocParam2) {
            this.p_CoinDispenserNominal = CoinDispenserNominal;
            this.p_CashDispenserNominal1 = CashDispenserNominal1;
            this.p_CashDispenserNominal2 = CashDispenserNominal2;
            this.p_CashDispenserNominal3 = CashDispenserNominal3;
            this.p_CashDispenserNominal4 = CashDispenserNominal4;
            this.p_FiscalHeaderLines[null] = FiscalHeaderLines[header];
            this.p_FiscalFooterLines[null] = FiscalFooterLines[footer];
            this.p_FiscalItemsHeaderLines[null] = FiscalItemsHeaderLines[itemsHeader];
            this.p_FiscalAfterTotalLines[null] = FiscalAfterTotalLines[afterTotal];
            this.p_FiscalAfterTenderLines[null] = FiscalAfterTenderLines[afterTender];
            this.p_FiscalDocParam1 = FiscalDocParam1;
            this.p_FiscalDocParam2 = FiscalDocParam2;
        }

        function changeAppViewConfig(UserMainImage, UserLogoImage, AddMessageForStartPage) {
            this.p_UserMainImage = UserMainImage;
            this.p_UserLogoImage = UserLogoImage;
            this.p_AddMessageForStartPage = AddMessageForStartPage;
        }

        function changeAppSoundConfig(EnableSound, SoundAmountFull, SoundDebtNot, SoundGiveCheck, SoundInsertMoney) {
            this.p_EnableSound = EnableSound;
            this.p_SoundAmountFull = SoundAmountFull;
            this.p_SoundDebtNot = SoundDebtNot;
            this.p_SoundGiveCheck = SoundGiveCheck;
            this.p_SoundInsertMoney = SoundInsertMoney;
        }

        
    
        //Serializing
        function serializing(essence) {
            JSON.stringify(essence);
        }

    //Saving

        function saving(obj) {
            if (confirm("Сохранить настройки?")) {
                this.obj = obj;
                $.ajax({
                    Type: "POST",
                    dataType: "json",
                    url: "./1.html",//?
                    contentType: 'application/json, charset=utf8',
                    data: JSON.stringify(obj),
                    //data: serializing(obj);
                    success:alert("Настройки сохранены.")

                })
            } else {
                alert("Сохранение отменено.")
            }
        }
  
</script>
Вопрос - как реализовать отображение и сохранение на странице?

Последний раз редактировалось MaTBeu; 27.02.2014 в 14:20.
1van1vanov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание страницы в Dreamweaver. Denny10 Помощь студентам 6 24.07.2012 18:31
Создание и сохранение HTML страницы demiancz Работа с сетью в Delphi 2 20.11.2010 14:57
проблема редактирования динамической флэш страницы Lord777 HTML и CSS 8 02.07.2010 15:53
Создание HTML страницы Игорек89 Помощь студентам 2 17.12.2009 15:54