or
using System;using System.Collections.Generic;using System.Linq;using System.Data;using System.Web;using System.Text;using System.Threading.Tasks;using Sopra.Fmspa.BusinessLayer.Models;using Sopra.Fmspa.BusinessLayer.ViewModels;using AutoMapper.Configuration;using AutoMapper.Mappers;/* SINTASSI AUTOMAPPER AutoMapper.Mapper.CreateMap<Sorgente,Destinatario>(); Destinatario dest = AutoMapper.Mapper.Map<Sorgente,Destinatario>(sorg); */namespace Sopra.Fmspa.BusinessLayer.DAL{ public class AnagraficaRepository : IAnagraficaRepository, IDisposable { private ODLModelContainer context; /* TO DO: * - vedere AnagraficaViewModel.cs * - sistemare il codice in modo tale che questo mapper funzioni senza l'opzione ignore per il campo manifestazione */ //public AnagraficaRepository(ODLModelContainer context) //{ // this.context = context; // AutoMapper.Mapper.CreateMap<TipologiaAnagrafica,TipologiaAnagraficaViewModel>(); // AutoMapper.Mapper.CreateMap<Padiglione,PadiglioneViewModel>(); // AutoMapper.Mapper.CreateMap<Manifestazione,ManifestazioneViewModel>(); // AutoMapper.Mapper.CreateMap<TipologiaAnagraficaViewModel,TipologiaAnagrafica>(); // AutoMapper.Mapper.CreateMap<PadiglioneViewModel,Padiglione>(); // AutoMapper.Mapper.CreateMap<ManifestazioneViewModel,Manifestazione>(); // AutoMapper.Mapper.CreateMap<Anagrafica,AnagraficaViewModel>() // .ForMember(dest => dest.TipologiaAnagrafica, opt => opt.MapFrom(src => src.TipologiaAnagrafica)) // .ForMember(dest => dest.Padiglione, opt => opt.MapFrom(src => src.Padiglione)) // .ForMember(dest => dest.Manifestazione, opt => opt.MapFrom(src => src.Manifestazione)); // AutoMapper.Mapper.CreateMap<AnagraficaViewModel,Anagrafica>() // .ForMember(dest => dest.TipologiaAnagrafica, opt => opt.MapFrom(src => src.TipologiaAnagrafica)) // .ForMember(dest => dest.Padiglione, opt => opt.MapFrom(src => src.Padiglione)) // .ForMember(dest => dest.Manifestazione, opt => opt.MapFrom(src => src.Manifestazione)); //} public AnagraficaRepository(ODLModelContainer context) { this.context = context; AutoMapper.Mapper.CreateMap<TipologiaAnagrafica,TipologiaAnagraficaViewModel>(); AutoMapper.Mapper.CreateMap<Padiglione,PadiglioneViewModel>(); //AutoMapper.Mapper.CreateMap<Manifestazione, ManifestazioneViewModel>(); AutoMapper.Mapper.CreateMap<TipologiaAnagraficaViewModel,TipologiaAnagrafica>(); AutoMapper.Mapper.CreateMap<PadiglioneViewModel,Padiglione>(); //AutoMapper.Mapper.CreateMap<ManifestazioneViewModel, Manifestazione>(); AutoMapper.Mapper.CreateMap<AnagraficaInBianco,AnagraficaViewModel>() .ForMember(dest => dest.TipologiaAnagrafica, opt => opt.MapFrom(src => src.TipologiaAnagrafica)) .ForMember(dest => dest.Padiglione, opt => opt.MapFrom(src => src.Padiglione)); //.ForMember(dest => dest.Manifestazione, opt => opt.MapFrom(src => src.Manifestazione)); AutoMapper.Mapper.CreateMap<AnagraficaViewModel, AnagraficaInBianco>() .ForMember(dest => dest.TipologiaAnagrafica, opt => opt.Ignore()) .ForMember(dest => dest.Padiglione, opt => opt.Ignore()) .ForMember(dest => dest.Manifestazione, opt => opt.Ignore()); } //public AnagraficaRepository(ODLModelContainer context) //{ // this.context = context; //}// ---------------------------------------------------------------------------------------------- // public IEnumerable<AnagraficaInBianco> GetAnagrafica() { return context.odl_AnagraficaInBianco.ToList(); } public IList<AnagraficaViewModel> GetAnagraficaList() { List<AnagraficaInBianco> anag = context.odl_AnagraficaInBianco.ToList(); List<AnagraficaViewModel> anagview = AutoMapper.Mapper.Map<List<AnagraficaInBianco>,List<AnagraficaViewModel>>(anag); return anagview; }// ---------------------------------------------------------------------------------------------- // //public static IList<AnagraficaViewModel> All() //{ // IList<AnagraficaViewModel> result = (IList<AnagraficaViewModel>)HttpContext.Current.Session["Anagrafica"]; // if (result == null) // { // HttpContext.Current.Session["Anagrafica"] = result = // (from anag in new ODLModelContainer().odl_Anagrafica // select new AnagraficaViewModel // { // Id = anag.Id, // AccountNumber = anag.AccountNumber, // RagioneSociale = anag.RagioneSociale, // TipologiaAnagraficaId = anag.TipologiaAnagraficaId, // Descrizione = anag.Descrizione, // ManifestazioneId = anag.ManifestazioneId, // PadiglioneId = anag.PadiglioneId, // Stand = anag.Stand, // FlagSolvenza = anag.FlagSolvenza, // FlagEstero = anag.FlagEstero, // TipologiaAnagrafica = anag.TipologiaAnagrafica, // Padiglione = anag.Padiglione // }).ToList(); // } // return result; //}// ---------------------------------------------------------------------------------------------- // //public static AnagraficaViewModel One(Func<AnagraficaViewModel, bool> predicate) //{ // return All().Where(predicate).FirstOrDefault(); //}// ---------------------------------------------------------------------------------------------- // //public void Insert(AnagraficaViewModel anagview) //{ // if (anagview != null) // { // Anagrafica anag = AutoMapper.Mapper.Map<AnagraficaViewModel, Anagrafica>(anagview); // context.odl_Anagrafica.Add(anag); // } //} public void Insert(AnagraficaViewModel anagview) { if (anagview != null) { AnagraficaInBianco anag = AutoMapper.Mapper.Map<AnagraficaViewModel, AnagraficaInBianco>(anagview); // valore forzato anag.ManifestazioneId = anagview.ManifestazioneId; context.odl_AnagraficaInBianco.Add(anag); } } //public void Insert(AnagraficaViewModel anagview) //{ // Anagrafica anag = new Anagrafica(); // anag.Id = anagview.Id; // anag.AccountNumber = anagview.AccountNumber; // anag.RagioneSociale = anagview.RagioneSociale; // anag.TipologiaAnagraficaId = anagview.TipologiaAnagraficaId; // anag.Descrizione = anagview.Descrizione; // anag.ManifestazioneId = anagview.ManifestazioneId; // anag.PadiglioneId = anagview.PadiglioneId; // anag.Stand = anagview.Stand; // anag.FlagSolvenza = anagview.FlagSolvenza; // anag.FlagEstero = anagview.FlagEstero; // anag.TipologiaAnagrafica = anagview.TipologiaAnagrafica; // anag.Padiglione = anagview.Padiglione; // context.odl_Anagrafica.Add(anag); //} //public static void Insert(AnagraficaViewModel anag) //{ // anag.Id = All().OrderByDescending(p => p.Id).First().Id + 1; // All().Insert(0, anag); //}// ---------------------------------------------------------------------------------------------- // public void Update(AnagraficaViewModel anagview) { if (anagview != null) { AnagraficaInBianco anag = AutoMapper.Mapper.Map<AnagraficaViewModel,AnagraficaInBianco>(anagview); context.odl_AnagraficaInBianco.Attach(anag); context.Entry(anag).State = EntityState.Modified; } } //public void Update(AnagraficaViewModel anagview) //{ // Anagrafica anag = context.odl_Anagrafica.Find(anagview.Id); // if (anag != null) // { // anag.Id = anagview.Id; // anag.AccountNumber = anagview.AccountNumber; // anag.RagioneSociale = anagview.RagioneSociale; // anag.TipologiaAnagraficaId = anagview.TipologiaAnagraficaId; // anag.Descrizione = anagview.Descrizione; // anag.ManifestazioneId = anagview.ManifestazioneId; // anag.PadiglioneId = anagview.PadiglioneId; // anag.Stand = anagview.Stand; // anag.FlagSolvenza = anagview.FlagSolvenza; // anag.FlagEstero = anagview.FlagEstero; // anag.TipologiaAnagrafica = anagview.TipologiaAnagrafica; // anag.Padiglione = anagview.Padiglione; // context.Entry(anag).State = EntityState.Modified; // } //} //public static void Update(AnagraficaViewModel anag) //{ // AnagraficaViewModel target = One(p => p.Id == anag.Id); // if (target != null) // { // target.AccountNumber = anag.AccountNumber; // target.RagioneSociale = anag.RagioneSociale; // target.TipologiaAnagraficaId = anag.TipologiaAnagraficaId; // target.Descrizione = anag.Descrizione; // target.ManifestazioneId = anag.ManifestazioneId; // target.PadiglioneId = anag.PadiglioneId; // target.Stand = anag.Stand; // target.FlagSolvenza = anag.FlagSolvenza; // target.FlagEstero = anag.FlagEstero; // target.TipologiaAnagrafica = anag.TipologiaAnagrafica; // target.Padiglione = anag.Padiglione; // } //}// ---------------------------------------------------------------------------------------------- // public void Delete(AnagraficaViewModel anagview) { AnagraficaInBianco anag = context.odl_AnagraficaInBianco.Find(anagview.Id); if (anag != null) { context.odl_AnagraficaInBianco.Remove(anag); } } //public static void Delete(AnagraficaViewModel anag) //{ // AnagraficaViewModel target = One(p => p.Id == anag.Id); // if (target != null) // { // All().Remove(target); // } //}// ---------------------------------------------------------------------------------------------- // public void Save() { context.SaveChanges(); } private bool disposed = false; protected virtual void Dispose(bool disposing) { if (!this.disposed) { if (disposing) { // dispose della classe context <--- dispose della classe ODLModelContainer context.Dispose(); } } this.disposed = true; } public void Dispose() { // dispose della classe IDisposable ---> GC ---> liberazione della memoria Dispose(true); GC.SuppressFinalize(this); } }}/* TO DO: * - aggiungere la possibilità di scegliere, per ogni record della grid, una manifestazione * - collegamento tra la pagina manifestazioni e questa pagina (anagrafica in bianco) */using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Sopra.Fmspa.BusinessLayer.Models;using System.ComponentModel.DataAnnotations;using System.ComponentModel.DataAnnotations.Schema;using Sopra.Fmspa.BusinessLayer.ViewModelsValidators;namespace Sopra.Fmspa.BusinessLayer.ViewModels{ [FluentValidation.Attributes.Validator(typeof(AnagraficaViewModelValidator))] public class AnagraficaViewModel { //[Required(ErrorMessage = "Il campo Id è obbligatorio")] [Display(Name = "Id Anagrafica")] [DisplayFormat(NullDisplayText = "Id assente")] [ScaffoldColumn(false)] public int Id { get; set; } public string AccountNumber { get; set; } //[Required(ErrorMessage = "Il campo Ragione Sociale è obbligatorio")] [Display(Name = "Ragione Sociale")] //[DisplayFormat(NullDisplayText = "")] public string RagioneSociale { get; set; } // //[Required(ErrorMessage = "Il campo Tipologia Anagrafica è obbligatorio")] [Display(Name = "Id Tipologia Anagrafica")] [DisplayFormat(NullDisplayText = "Id assente")] [ScaffoldColumn(false)] public string TipologiaAnagraficaId { get; set; } // //[Required(ErrorMessage = "Il campo Descrizione è obbligatorio")] [DisplayFormat(NullDisplayText = "")] public string Descrizione { get; set; } // //[Required(ErrorMessage = "Il campo Manifestazione è obbligatorio")] [Display(Name = "Id Manifestazione")] [DisplayFormat(NullDisplayText = "Id assente")] [ScaffoldColumn(false)] public string ManifestazioneId { get; set; } // //[Required(ErrorMessage = "Il campo Padiglione è obbligatorio")] [Display(Name = "Id Padiglione")] [DisplayFormat(NullDisplayText = "Id assente")] [ScaffoldColumn(false)] public string PadiglioneId { get; set; } // //[Required(ErrorMessage = "Il campo Stand è obbligatorio")] [DisplayFormat(NullDisplayText = "")] public string Stand { get; set; } public bool FlagSolvenza { get; set; } public bool FlagEstero { get; set; } //[Required(ErrorMessage = "Il campo Tipologia Anagrafica è obbligatorio")] [Display(Name = "Tipologia Anagrafica")] //[DisplayFormat(NullDisplayText = "")] public virtual TipologiaAnagraficaViewModel TipologiaAnagrafica { get; set; } //[Required(ErrorMessage = "Il campo Padiglione è obbligatorio")] [Display(Name = "Padiglione")] //[DisplayFormat(NullDisplayText = "")] public virtual PadiglioneViewModel Padiglione { get; set; } /* TO DO: * - reintrodurre il riferimento virtual alla classe manifestazione? Oppure tenere solo l'id number? * - impostare il viewmodel in modo tale che, per ogni record inserito, possa essere specificata una manifestazione */ //[Required(ErrorMessage = "Il campo Manifestazione è obbligatorio")] //[Display(Name = "Manifestazione")] //public virtual PadiglioneViewModel ManifestazioneViewModel { get; set; } }}using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Sopra.Fmspa.BusinessLayer.Models;using System.ComponentModel.DataAnnotations;using System.ComponentModel.DataAnnotations.Schema;using Sopra.Fmspa.BusinessLayer.ViewModelsValidators;namespace Sopra.Fmspa.BusinessLayer.ViewModels{ [FluentValidation.Attributes.Validator(typeof(ManifestazioneViewModelValidator))] public class ManifestazioneViewModel { // //[Required(ErrorMessage = "Il campo Manifestazione è obbligatorio")] [Display(Name = "Id Manifestazione")] [DisplayFormat(NullDisplayText = "Id assente")] [ScaffoldColumn(false)] public string Id { get; set; } // //[Required(ErrorMessage = "Il campo Manifestazione è obbligatorio")] [Display(Name = "Descrizione Manifestazione")] [DisplayFormat(NullDisplayText = "")] public string Descrizione { get; set; } [DisplayFormat(DataFormatString = "{0:dd/mm/yyyy}", ApplyFormatInEditMode = true)] public System.DateTime DataInizio { get; set; } [DisplayFormat(DataFormatString = "{0:dd/mm/yyyy}", ApplyFormatInEditMode = true)] public System.DateTime DataFine { get; set; } }}using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Sopra.Fmspa.BusinessLayer.Models;using System.ComponentModel.DataAnnotations;using System.ComponentModel.DataAnnotations.Schema;using Sopra.Fmspa.BusinessLayer.ViewModelsValidators;namespace Sopra.Fmspa.BusinessLayer.ViewModels{ [FluentValidation.Attributes.Validator(typeof(PadiglioneViewModelValidator))] public class PadiglioneViewModel { // //[Required(ErrorMessage = "Il campo Padiglione è obbligatorio")] [Display(Name = "Id Padiglione")] [DisplayFormat(NullDisplayText = "Id assente")] [ScaffoldColumn(false)] public string Id { get; set; } // //[Required(ErrorMessage = "Il campo Padiglione è obbligatorio")] [Display(Name = "Descrizione Padiglione")] [DisplayFormat(NullDisplayText = "")] public string Descrizione { get; set; } }}using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Web.Mvc;using Kendo.Mvc.Extensions;using Kendo.Mvc.UI;using Sopra.Fmspa.BusinessLayer.Models;using Sopra.Fmspa.BusinessLayer.DAL;using Sopra.Fmspa.BusinessLayer.ViewModels;using System.Data.Entity.Validation;using System.Diagnostics;using AutoMapper.Configuration;using AutoMapper.Mappers;/* SINTASSI AUTOMAPPER AutoMapper.Mapper.CreateMap<Sorgente,Destinatario>(); Destinatario dest = AutoMapper.Mapper.Map<Sorgente,Destinatario>(sorg); */namespace Sopra.Fmspa.BusinessLayer.Controllers{ public class AnagraficaController : Controller { ODLModelContainer db = new ODLModelContainer(); private IAnagraficaRepository anagraficaRepository; //public AnagraficaController() //{ // this.anagraficaRepository = new AnagraficaRepository(new ODLModelContainer()); // AutoMapper.Mapper.CreateMap<TipologiaAnagrafica,TipologiaAnagraficaViewModel>(); // AutoMapper.Mapper.CreateMap<Padiglione,PadiglioneViewModel>(); // AutoMapper.Mapper.CreateMap<Manifestazione,ManifestazioneViewModel>(); // AutoMapper.Mapper.CreateMap<TipologiaAnagraficaViewModel,TipologiaAnagrafica>(); // AutoMapper.Mapper.CreateMap<PadiglioneViewModel,Padiglione>(); // AutoMapper.Mapper.CreateMap<ManifestazioneViewModel,Manifestazione>(); // AutoMapper.Mapper.CreateMap<Anagrafica,AnagraficaViewModel>() // .ForMember(dest => dest.TipologiaAnagrafica, opt => opt.MapFrom(src => src.TipologiaAnagrafica)) // .ForMember(dest => dest.Padiglione, opt => opt.MapFrom(src => src.Padiglione)) // .ForMember(dest => dest.Manifestazione, opt => opt.MapFrom(src => src.Manifestazione)); // AutoMapper.Mapper.CreateMap<AnagraficaViewModel,Anagrafica>() // .ForMember(dest => dest.TipologiaAnagrafica, opt => opt.MapFrom(src => src.TipologiaAnagrafica)) // .ForMember(dest => dest.Padiglione, opt => opt.MapFrom(src => src.Padiglione)) // .ForMember(dest => dest.Manifestazione, opt => opt.MapFrom(src => src.Manifestazione)); // //AutoMapper.Mapper.CreateMap<AnagraficaViewModel,AnagraficaViewModel>(); //} public AnagraficaController() { this.anagraficaRepository = new AnagraficaRepository(new ODLModelContainer()); AutoMapper.Mapper.CreateMap<TipologiaAnagrafica,TipologiaAnagraficaViewModel>(); AutoMapper.Mapper.CreateMap<Padiglione,PadiglioneViewModel>(); //AutoMapper.Mapper.CreateMap<Manifestazione,ManifestazioneViewModel>(); AutoMapper.Mapper.CreateMap<TipologiaAnagraficaViewModel,TipologiaAnagrafica>(); AutoMapper.Mapper.CreateMap<PadiglioneViewModel,Padiglione>(); //AutoMapper.Mapper.CreateMap<ManifestazioneViewModel,Manifestazione>(); AutoMapper.Mapper.CreateMap<AnagraficaInBianco,AnagraficaViewModel>() .ForMember(dest => dest.TipologiaAnagrafica, opt => opt.MapFrom(src => src.TipologiaAnagrafica)) .ForMember(dest => dest.Padiglione, opt => opt.MapFrom(src => src.Padiglione)); //.ForMember(dest => dest.Manifestazione, opt => opt.MapFrom(src => src.Manifestazione)); AutoMapper.Mapper.CreateMap<AnagraficaViewModel,AnagraficaInBianco>() .ForMember(dest => dest.TipologiaAnagrafica, opt => opt.Ignore()) .ForMember(dest => dest.Padiglione, opt => opt.Ignore()) .ForMember(dest => dest.Manifestazione, opt => opt.Ignore()); //AutoMapper.Mapper.CreateMap<AnagraficaViewModel,AnagraficaViewModel>(); } public AnagraficaController(IAnagraficaRepository anagraficaRepository) { this.anagraficaRepository = anagraficaRepository; } public ActionResult Remote_Data() { return View("AjaxBinding"); }// ---------------------------------------------------------------------------------------------- // public ActionResult AnagraficaRistoratoriEspositori() { IList<AnagraficaViewModel> anagview = anagraficaRepository.GetAnagraficaList(); PopulateTipologiaAnagrafica(); PopulatePadiglione(); return View(anagview); } //public ActionResult AnagraficaRistoratoriEspositori() //{ // IEnumerable<Anagrafica> anag = anagraficaRepository.GetAnagrafica(); // PopulateTipologiaAnagrafica(); // PopulatePadiglione(); // return View(anag); //}// ---------------------------------------------------------------------------------------------- // public ActionResult Anagrafiche_Read([DataSourceRequest] DataSourceRequest request) { return Json(anagraficaRepository.GetAnagraficaList().ToDataSourceResult(request)); } //public ActionResult Anagrafiche_Read([DataSourceRequest] DataSourceRequest request) //{ // return Json(AnagraficaRepository.All().ToDataSourceResult(request)); //}// ---------------------------------------------------------------------------------------------- // public ActionResult Anagrafiche_RagioneSocialeFilter() { return Json(anagraficaRepository.GetAnagraficaList().Select(e => e.RagioneSociale).Distinct(), JsonRequestBehavior.AllowGet); } public ActionResult Anagrafiche_TipologiaAnagraficaFilter() { return Json(anagraficaRepository.GetAnagraficaList().Select(e => e.TipologiaAnagrafica).Distinct(), JsonRequestBehavior.AllowGet); } public ActionResult Anagrafiche_PadiglioneFilter() { return Json(anagraficaRepository.GetAnagraficaList().Select(e => e.Padiglione).Distinct(), JsonRequestBehavior.AllowGet); } public ActionResult Anagrafiche_FlagEsteroFilter() { return Json(anagraficaRepository.GetAnagraficaList().Select(e => e.FlagEstero).Distinct(), JsonRequestBehavior.AllowGet); }// ---------------------------------------------------------------------------------------------- // //[AcceptVerbs(HttpVerbs.Post)] //public ActionResult Anagrafiche_Create([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<AnagraficaViewModel> anagrafiche) //{ // if (anagrafiche != null && ModelState.IsValid) // { // foreach (var anag in anagrafiche) // { // anagraficaRepository.Insert(anag); // } // anagraficaRepository.Save(); // } // return Json(ModelState.ToDataSourceResult()); //} [AcceptVerbs(HttpVerbs.Post)] public ActionResult Anagrafiche_Create([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<AnagraficaViewModel> anagrafiche) { if (anagrafiche != null && ModelState.IsValid) { foreach (var anag in anagrafiche) { anag.Id = anagraficaRepository.GetAnagrafica().OrderByDescending(p => p.Id).First().Id + 1; anag.TipologiaAnagraficaId = anag.TipologiaAnagrafica.Id; anag.PadiglioneId = anag.Padiglione.Id; // valore forzato if (anag.ManifestazioneId == null) { //anag.Manifestazione.Id = anagraficaRepository.GetAnagrafica().OrderByDescending(p => p.Id).First().Manifestazione.Id; anag.ManifestazioneId = anagraficaRepository.GetAnagrafica().OrderByDescending(p => p.Id).First().ManifestazioneId; } //anag.ManifestazioneId = anag.Manifestazione.Id; anagraficaRepository.Insert(anag); } anagraficaRepository.Save(); } return Json(ModelState.ToDataSourceResult()); } //[AcceptVerbs(HttpVerbs.Post)] //public ActionResult Anagrafiche_Create([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<AnagraficaViewModel> anagrafiche) //{ // var results = new List<AnagraficaViewModel>(); // if (anagrafiche != null && ModelState.IsValid) // { // foreach (var anag in anagrafiche) // { // anagraficaRepository.Insert(anag); // results.Add(anag); // } // anagraficaRepository.Save(); // } // return Json(results.ToDataSourceResult(request, ModelState)); //}// ---------------------------------------------------------------------------------------------- // private void PopulateTipologiaAnagrafica() { ViewData["TipologiaAnagrafiche"] = AutoMapper.Mapper.Map<IList<TipologiaAnagrafica>,IList<TipologiaAnagraficaViewModel>>(db.odl_TipologiaAnagrafica.ToList()); } private void PopulatePadiglione() { ViewData["Padiglioni"] = AutoMapper.Mapper.Map<IList<Padiglione>,IList<PadiglioneViewModel>>(db.odl_vw_PADIGLIONI.ToList()); } public ActionResult GetData() { return Json(anagraficaRepository.GetAnagraficaList(), JsonRequestBehavior.AllowGet); }// ---------------------------------------------------------------------------------------------- // //[AcceptVerbs(HttpVerbs.Post)] //public ActionResult Anagrafiche_Update([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<AnagraficaViewModel> anagrafiche) //{ // if (anagrafiche != null && ModelState.IsValid) // { // foreach (var anag in anagrafiche) // { // anag.TipologiaAnagrafica.Id = anag.TipologiaAnagraficaId; // anag.Padiglione.Id = anag.PadiglioneId; // anag.Manifestazione.Id = anag.ManifestazioneId; // anagraficaRepository.Update(anag); // } // anagraficaRepository.Save(); // } // return Json(ModelState.ToDataSourceResult()); //} [AcceptVerbs(HttpVerbs.Post)] public ActionResult Anagrafiche_Update([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<AnagraficaViewModel> anagrafiche) { if (anagrafiche != null && ModelState.IsValid) { foreach (var anag in anagrafiche) { anag.TipologiaAnagrafica.Id = anag.TipologiaAnagraficaId; anag.Padiglione.Id = anag.PadiglioneId; //anag.Manifestazione.Id = anag.ManifestazioneId; anagraficaRepository.Update(anag); } anagraficaRepository.Save(); } return Json(ModelState.ToDataSourceResult()); } //[AcceptVerbs(HttpVerbs.Post)] //public ActionResult Anagrafiche_Update([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<AnagraficaViewModel> anagrafiche) //{ // if (anagrafiche != null && ModelState.IsValid) // { // foreach (var anag in anagrafiche) // { // var target = AnagraficaRepository.One(p => p.Id == anag.Id); // if (target != null) // { // target = AutoMapper.Mapper.Map<AnagraficaViewModel, AnagraficaViewModel>(anag); // anagraficaRepository.Update(target); // } // } // anagraficaRepository.Save(); // } // return Json(ModelState.ToDataSourceResult()); //} //[AcceptVerbs(HttpVerbs.Post)] //public ActionResult Anagrafiche_Update([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<AnagraficaViewModel> anagrafiche) //{ // if (anagrafiche != null && ModelState.IsValid) // { // foreach (var anag in anagrafiche) // { // var target = AnagraficaRepository.One(p => p.Id == anag.Id); // if (target != null) // { // target.AccountNumber = anag.AccountNumber; // target.RagioneSociale = anag.RagioneSociale; // target.TipologiaAnagraficaId = anag.TipologiaAnagraficaId; // target.Descrizione = anag.Descrizione; // target.ManifestazioneId = anag.ManifestazioneId; // target.PadiglioneId = anag.PadiglioneId; // target.Stand = anag.Stand; // target.FlagSolvenza = anag.FlagSolvenza; // target.FlagEstero = anag.FlagEstero; // target.TipologiaAnagrafica = anag.TipologiaAnagrafica; // target.Padiglione = anag.Padiglione; // anagraficaRepository.Update(target); // } // } // anagraficaRepository.Save(); // } // return Json(ModelState.ToDataSourceResult()); //}// ---------------------------------------------------------------------------------------------- // public ActionResult Anagrafiche_Delete([Bind(Prefix = "models")]IEnumerable<AnagraficaViewModel> anagrafiche) { if (anagrafiche.Any()) { Anagrafiche_Destroy(anagrafiche); } else { return HttpNotFound(); } return Json(ModelState.ToDataSourceResult()); } [HttpPost, ActionName("Anagrafiche_Delete")] public void Anagrafiche_Destroy([Bind(Prefix = "models")]IEnumerable<AnagraficaViewModel> anagrafiche) { if (ModelState.IsValid) { foreach (var anag in anagrafiche) { anagraficaRepository.Delete(anag); } } anagraficaRepository.Save(); } //[AcceptVerbs(HttpVerbs.Post)] //public ActionResult Anagrafiche_Destroy([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<AnagraficaViewModel> anagrafiche) //{ // if (anagrafiche.Any() && ModelState.IsValid) // { // foreach (var anag in anagrafiche) // { // anagraficaRepository.Delete(anag); // } // } // anagraficaRepository.Save(); // return Json(ModelState.ToDataSourceResult()); //}// ---------------------------------------------------------------------------------------------- // }}/* TO DO: * - aggiungere la possibilità di scegliere, per ogni record della grid, una manifestazione * - collegamento tra la pagina manifestazioni e questa pagina (anagrafica in bianco) */@(Html.Kendo().Grid(Model) .Name("IssuesGrid") .Columns(column => {
column.Bound(i => i.Id.Value).Title("Id");
column.Bound(i => i.SubmitDate.Value).Title("Submitted"); }) .Pageable() .Sortable() .Filterable() .Selectable(selectable => selectable.Mode(GridSelectionMode.Single)) .Events(events => events.Change("rowSelected")) .DataSource(dataSource => dataSource .Ajax() .PageSize(15) .Read("GetIssuesAsync", "Issues") .Model(model => model.Id(i => i.Id))))public JsonResult GetIssuesAsync([DataSourceRequest]DataSourceRequest request) { var issues = TempContext.GetIssues().ToDataSourceResult(request); return Json(issues); }