public ConfirmAddOrUpdatePeriodPriceCommand(PeriodPrice periodPrice, PeriodPriceViewModel periodPriceViewModel, PeriodPricesViewModel periodPricesViewModel, HomePageViewModel homePageViewModel) { PeriodPricesViewModel = periodPricesViewModel; PeriodPriceViewModel = periodPriceViewModel; HomePageViewModel = homePageViewModel; PeriodPrice = periodPrice; }
public List <PeriodPrice> GetPeriodPrices(long accommodationUnitId) { GetPeriodPricesRequestDTO getPeriodPricesRequestDTO = new GetPeriodPricesRequestDTO(accommodationUnitId); try { GetPeriodPricesResponseDTO getPeriodPricesResponseDTO = new GetPeriodPricesResponseDTO(periodPricePortClient.getPeriodPrices(getPeriodPricesRequestDTO.GetPeriodPricesRequest)); List <PeriodPrice> periodPrices = getPeriodPricesResponseDTO.PeriodPrices; if (periodPrices.Count > 0) { foreach (PeriodPrice periodPrice in periodPrices) { PeriodPrice periodPriceDB = unitOfWork.PeriodPrices.SingleOrDefault(pp => pp.Id == periodPrice.Id); if (periodPriceDB != null) { periodPriceDB.Price = periodPrice.Price; periodPriceDB.FromDate = periodPrice.FromDate; periodPriceDB.ToDate = periodPrice.ToDate; periodPriceDB.Deleted = false; } else { periodPrice.AccommodationUnit = unitOfWork.AccommodationUnits.SingleOrDefault(au => au.Id == accommodationUnitId); unitOfWork.PeriodPrices.Add(periodPrice); } unitOfWork.Complete(); } //set deleted period prices in localDB List <PeriodPrice> periodPricesDB = unitOfWork.PeriodPrices.Find(p => p.AccommodationUnit.Id == accommodationUnitId).ToList(); foreach (PeriodPrice periodPriceDB in periodPricesDB) { int flag = 0; foreach (PeriodPrice periodPrice in periodPrices) { if (periodPrice.Id == periodPriceDB.Id) { flag += 1; } } if (flag == 0) { periodPriceDB.Deleted = true; unitOfWork.Complete(); } } } } catch { } return(unitOfWork.PeriodPrices.Find(p => p.AccommodationUnit.Id == accommodationUnitId && !p.Deleted).ToList()); }
public AddPeriodPriceRequestDTO(PeriodPrice PeriodPrice, long unitId) { AddPeriodPriceRequest = new addPeriodPriceRequest() { accommodationUnitId = unitId, periodPrice = new periodPrice() { Price = PeriodPrice.Price, FromDate = PeriodPrice.FromDate.Date, ToDate = PeriodPrice.ToDate.Date } }; }
public bool UpdatePeriodPrice(PeriodPrice periodPrice) { try { UpdatePeriodPriceRequestDTO updatePeriodPriceDTO = new UpdatePeriodPriceRequestDTO(periodPrice); periodPricePortClient.updatePeriodPrice(updatePeriodPriceDTO.UpdatePeriodPriceRequest); return(true); } catch { return(false); } }
public GetPeriodPricesResponseDTO(getPeriodPricesResponse getPeriodPricesResponse) { PeriodPrices = new List <PeriodPrice>(); foreach (periodPrice periodPriceResponse in getPeriodPricesResponse.periodPrices) { PeriodPrice periodPrice = new PeriodPrice() { Id = periodPriceResponse.Id, Price = periodPriceResponse.Price, FromDate = periodPriceResponse.FromDate, ToDate = periodPriceResponse.ToDate }; PeriodPrices.Add(periodPrice); } }
public UpdatePeriodPriceRequestDTO(PeriodPrice PeriodPrice) { UpdatePeriodPriceRequest = new updatePeriodPriceRequest() { periodPrice = new periodPrice() { Id = PeriodPrice.Id, Price = PeriodPrice.Price, FromDate = PeriodPrice.FromDate.Date, ToDate = PeriodPrice.ToDate.Date, AccommodationUnit = new accommodationUnit() { Id = PeriodPrice.AccommodationUnit.Id } } }; }
public PeriodPriceViewModel(PeriodPrice periodPrice, PeriodPricesViewModel periodPricesViewModel, HomePageViewModel homePageViewModel) { PeriodPricesViewModel = periodPricesViewModel; HomePageViewModel = homePageViewModel; if (periodPrice != null) { PeriodPrice = periodPrice; FromDate = periodPrice.FromDate; ToDate = periodPrice.ToDate; Price = periodPrice.Price.ToString(); AddOrSaveButton = "Save"; } else { FromDate = new DateTime(2001, 1, 1); ToDate = new DateTime(2001, 1, 1); PeriodPrice = new PeriodPrice(); AddOrSaveButton = "Add"; } AddOrUpdatePeriodPriceCommand = new ConfirmAddOrUpdatePeriodPriceCommand(PeriodPrice, this, PeriodPricesViewModel, HomePageViewModel); CancelPeriodPriceCommand = new CancelPeriodPriceCommand(PeriodPricesViewModel, HomePageViewModel); }
public UpdatePeriodPriceCommand(PeriodPrice periodPrice, PeriodPricesViewModel periodPricesViewModel, HomePageViewModel homePageViewModel) { PeriodPrice = periodPrice; PeriodPricesViewModel = periodPricesViewModel; HomePageViewModel = homePageViewModel; }
public ActionResult Save(int selectType, int PriceLoadList, IEnumerable <HttpPostedFileBase> attachments) { HttpResponseBase response = ControllerContext.HttpContext.Response; response.ContentType = "text/html"; response.Write("<html><body>"); if (attachments == null) { response.Write("Файл для загрузки не выбран!"); } else { int idOrg = int.Parse(getCurrentEnterpriseId()); Organization currentOrg = organizationRepository.Get(idOrg); PeriodPrice periodPrice = periodPriceRepository.Get(PriceLoadList); if (selectType == 1) { nomGroupPriceRepository.TruncNomGroupPrice(idOrg, PriceLoadList); } foreach (var file in attachments) { // Some browsers send file names with full path. This needs to be stripped. var isError = false; var fileName = Path.GetFileName(file.FileName); response.Write("Обрабатывается файл <b>" + fileName + "</b><br/>"); response.Flush(); var physicalFilePath = Path.Combine(Server.MapPath("~/TempFiles"), fileName); try { if (System.IO.File.Exists(physicalFilePath)) { System.IO.File.Delete(physicalFilePath); } try { file.SaveAs(physicalFilePath); } catch (Exception e) { response.Write("Ошибка при охранении файла на сервере:<br/>"); response.Write(e.Message); response.Flush(); isError = true; } System.Data.DataTable table = null; string workSheetNames = ""; if (!isError) { try { ExcelReader excelReader = new ExcelReader(physicalFilePath, true); if (excelReader.workSheetNames.Length > 0) { workSheetNames = excelReader.workSheetNames[0]; table = excelReader.GetWorksheet(workSheetNames); } else { response.Write("В файле не найден рабочий лист!<br/>"); response.Flush(); isError = true; } } catch (Exception e) { response.Write("Ошибка при открытии файла:<br/>"); response.Write(e.Message); response.Flush(); isError = true; } } if (table != null) { response.Write("Загрузка данных производится из листа '" + workSheetNames.Trim(new[] { '$' }) + "'<br/>"); response.Flush(); if (!table.Columns.Contains("Цена")) { response.Write("Файл содержит не коррекные данные ('Цена').<br/>"); response.Flush(); isError = true; } if (!table.Columns.Contains("Код группы")) { response.Write("Файл содержит не коррекные данные ('Код группы').<br/>"); response.Flush(); isError = true; } int colPrice = table.Columns.IndexOf("Цена"); int colExternalCode = table.Columns.IndexOf("Код группы"); if (!isError) { DataRow[] result = table.Select(); Dictionary <string, object> queryParams = new Dictionary <string, object>(); foreach (DataRow row in result) // Loop over the rows. { if (row[colExternalCode] != System.DBNull.Value) { string rowExternalCode = Convert.ToString(row[colExternalCode]); try { string rowPriceString = Convert.ToString(row[colPrice]); double rowPrice = Convert.ToDouble(rowPriceString); queryParams.Clear(); queryParams.Add("Organization", currentOrg); queryParams.Add("ExternalCode", rowExternalCode); NomGroup ng = nomGroupRepository.FindOne(queryParams); if (ng == null) { response.Write("В справочнике не найдена группа номенклатур с кодом " + rowExternalCode + ".<br/>"); response.Flush(); } else { NomGroupPrice nPrice = null; queryParams.Clear(); queryParams.Add("OrganizationId", currentOrg.Id); queryParams.Add("NomGroup", ng); queryParams.Add("PeriodPrice", periodPrice); nPrice = nomGroupPriceRepository.FindOne(queryParams); if (nPrice == null) { nPrice = new NomGroupPrice(); nPrice.NomGroup = ng; nPrice.OrganizationId = currentOrg.Id; nPrice.PeriodPrice = periodPrice; nPrice.ExternalCode = ng.ExternalCode; } nPrice.Price = rowPrice; nomGroupPriceRepository.DbContext.BeginTransaction(); try { nomGroupPriceRepository.SaveOrUpdate(nPrice); nomGroupPriceRepository.DbContext.CommitTransaction(); } catch (Exception e) { nomGroupPriceRepository.DbContext.RollbackTransaction(); response.Write("Ошибка при сохранении данных в БД:<br/>"); response.Write(e.Message); response.Write("<br/>"); if (e.InnerException != null) { response.Write(e.InnerException.Message); response.Write("<br/>"); } response.Flush(); } } } catch (Exception) { response.Write("Ошибка определения цены для номклатуры " + rowExternalCode + "<br/>"); response.Flush(); } } } response.Flush(); } response.Flush(); } if (!isError) { response.Write("Файл успешно обработан!"); } } finally { System.IO.File.Delete(physicalFilePath); } } } Response.Write("</html></body>"); Response.Flush(); return(null);; }
public PeriodPriceView(PeriodPrice periodPrice, PeriodPricesViewModel periodPricesViewModel, HomePageViewModel homePageViewModel) { InitializeComponent(); DataContext = new PeriodPriceViewModel(periodPrice, periodPricesViewModel, homePageViewModel); }
public void AddPeriodPrice(PeriodPrice periodPrice, long accommodationUnitId) { AddPeriodPriceRequestDTO addPeriodPriceRequestDTO = new AddPeriodPriceRequestDTO(periodPrice, accommodationUnitId); periodPricePortClient.addPeriodPrice(addPeriodPriceRequestDTO.AddPeriodPriceRequest); }