public FileContentResult RacunReportCollection(string jqGridFilters) { DataAccessAdapterBase adapter = Helpers.Helper.GetDataAccessAdapter(); long firmaId = UserEntity.GetFirmaId(adapter, User.Identity.Name); string reportPath = Server.MapPath(string.Format("~/ReportTemplates/{0}/Racun.xls", firmaId)); FlexCel.XlsAdapter.XlsFile xls = new FlexCel.XlsAdapter.XlsFile(); xls.Open(reportPath); short godina = ConfigEntity.GetInstance(adapter, firmaId).AktivnaGodina; RelationPredicateBucket bucket = RacunGlavaPager.CreateBucket(godina, jqGridFilters); bucket.PredicateExpression.Add(RacunGlavaFields.FirmaId == firmaId); IEnumerable <RacunReport> racunReportCollection = CoolJ.DatabaseGeneric.BusinessLogic.RacunReport.GetRacunReportCollection(adapter, bucket, firmaId); FlexCel.Report.FlexCelReport report = new FlexCel.Report.FlexCelReport(); report.AddTable("Racun", racunReportCollection); report.Run(xls); using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) { FlexCel.Render.FlexCelPdfExport pdfExport = new FlexCel.Render.FlexCelPdfExport(xls); pdfExport.BeginExport(ms); pdfExport.ExportAllVisibleSheets(false, ""); pdfExport.EndExport(); //xls.Save(ms); ms.Position = 0; return(File(ms.ToArray(), "application/pdf")); } }
public ActionResult GetRacunGlavaCollectionForPaging(string sidx, string sord, string filters, int page = 1) { using (DataAccessAdapterBase adapter = Helper.GetDataAccessAdapter()) { long firmaId = UserEntity.GetFirmaId(adapter, User.Identity.Name); short godina = ConfigEntity.GetInstance(adapter, firmaId).AktivnaGodina; RelationPredicateBucket bucket = RacunGlavaPager.CreateBucket(godina, filters); bucket.PredicateExpression.Add(RacunGlavaFields.FirmaId == firmaId); bucket.Relations.Add(RacunGlavaEntity.Relations.PartnerEntityUsingPartnerId); bool?isSortAscending = PagerBase.IsJqgridSortAscending(sord); RacunGlavaPager pager = new RacunGlavaPager(); pager.LoadData(adapter, bucket, page, Common.Config.JqGridPageSize, sidx, isSortAscending); return(CreateJsonResponse(pager.CreateJqGridRespose())); } }
public ActionResult SaveRacun(string racunGlavaJson, string racunStavkaCollectionJson) { DataAccessAdapterBase adapter = Helper.GetDataAccessAdapter(User.Identity.Name); RacunGlavaEntity racunGlava4Save; bool isSaved = false; using (adapter) { adapter.StartTransaction(System.Data.IsolationLevel.Serializable, "SaveRacun"); JsonSerializerSettings jsonSettings = new JsonSerializerSettings(); CultureInfo currentCulture = System.Threading.Thread.CurrentThread.CurrentCulture; jsonSettings.Culture = currentCulture; RacunGlavaEntity racunGlava = JsonConvert.DeserializeObject <RacunGlavaEntity>(racunGlavaJson, jsonSettings); if (racunGlava.RacunGlavaId == 0) { long firmaId = UserEntity.GetFirmaId(adapter, User.Identity.Name); racunGlava4Save = racunGlava; racunGlava4Save.Godina = ConfigEntity.GetInstance(adapter, firmaId).AktivnaGodina; racunGlava4Save.BrojRacuna = BrojacEntity.GetNextNumber(adapter, firmaId, BrojacEnum.Racun, racunGlava4Save.Godina); racunGlava4Save.FirmaId = firmaId; } else { PrefetchPath2 prefetchPath = new PrefetchPath2(EntityType.RacunGlavaEntity); prefetchPath.Add(RacunGlavaEntity.PrefetchPathRacunStavkaCollection); racunGlava4Save = RacunGlavaEntity.FetchRacunGlava(adapter, prefetchPath, racunGlava.RacunGlavaId); racunGlava4Save.UpdateDataFromOtherObject(racunGlava, null, null); } racunGlava4Save.TarifaStopa = TarifaEntity.FetchTarifa(adapter, null, racunGlava4Save.TarifaId).Stopa; if (racunGlava4Save.Godina != racunGlava4Save.Datum.Year) { // TODO: create mechanism for pushing errors to client. Currently check is on client. Remove client check after push error mechanism is implemented. } else { isSaved = adapter.SaveEntity(racunGlava4Save, true, false); } if (isSaved) { IEnumerable <RacunStavkaEntity> racunStavkaCollectionToDelete = racunGlava4Save.RacunStavkaCollection.GetEntitiesNotIncludedInJson(racunStavkaCollectionJson, jsonSettings); foreach (RacunStavkaEntity racunStavka in racunStavkaCollectionToDelete) { if (isSaved) { racunGlava4Save.RacunStavkaCollection.Remove(racunStavka); isSaved = adapter.DeleteEntity(racunStavka); } } racunGlava4Save.RacunStavkaCollection.UpdateEntityCollectionFromJson(racunStavkaCollectionJson, RacunStavkaFields.RacunStavkaId, null, null, jsonSettings); foreach (RacunStavkaEntity racunStavka in racunGlava4Save.RacunStavkaCollection) { if (isSaved) { racunStavka.RecalculateData(racunGlava.TarifaStopa); isSaved = adapter.SaveEntity(racunStavka, false, false); } } } adapter.Commit(); } dynamic response = new { IsSaved = isSaved, RacunGlavaId = racunGlava4Save.RacunGlavaId }; return(CreateJsonResponse(response)); }