Telerik Forums
UI for ASP.NET MVC Forum
1 answer
203 views
I have an edit view for a particular model.  The view contains the following Kendo autocomplete control code:

 @(Html.Kendo().AutoCompleteFor(model => model.Location).Placeholder("Please select a value")
               .Name("locationAutoComplete").BindTo((IEnumerable<LocationData>)ViewData["locationList"])
               .DataTextField("Name")) //Specifies which property of the Product to be used by the autocomplete.
               ;

The drop down auto complete is working.  However, existing values on the model (Location property) are not bound to the control.  When I open up an existing record in edit mode the autocomplete control is empty, even if the underlying Location property on the model has a value.  How does this control handle binding?
Daniel
Telerik team
 answered on 18 Feb 2013
10 answers
252 views
When using IE (tested in version 7-10) you must click on the first empty line for the editor to gain focus.  FireFox and Chrome do not exhibit this behavior with the Editor control.

Example:  While using Firefox or Chrome you can click anywhere inside the Editor box and it will gain focus (The mouse cursor changes to an I-Beam anywhere in the Editor window).  In Internet Explore you will only gain the I-Beam cursor when you are hovering over areas where text exists.

This behavior is easily replicated by dropping a default Editor control onto a page.  the behavior can been seen on the demo site even: http://demos.kendoui.com/web/editor/index.html
Dimo
Telerik team
 answered on 18 Feb 2013
1 answer
589 views
Kendo UI: MVC 2012.3.1114 Commercial
OS: Windows 7 64 bit
Browser: IE 9
JQuery: 1.8.2

When uploading a file with special characters (for example "&#170.xlsx") using the Upload control with "showFileList" option turned on, the special characters are processed. What would be desirable is to have the file list show the filename as the user sees it on their machine. It would make sense to see an apostrophe, but not see special HTML codes or JavaScript processed. This can be viewed by uploading a file with the name "&#170.xlsx" using the demo Upload control at http://demos.kendoui.com/web/upload/index.html. What can be done about this? Thanks.
Dimiter Madjarov
Telerik team
 answered on 18 Feb 2013
0 answers
81 views
Hello, let me state that I just started to use Telerik Kendo UI.
I'm creating a simple CRM to manage customers of our companies, using ASP.NET MVC, OpenAccess ORM and Kendo UI.

It will use mainly kendo grid to access and manipulate data from a SQL db.

I wish I had some advice from you experts: it is better to use standard controller and access the data via dbContext or work with API services (ODATA3 / ASP.NET API) and bind the grid to API result?

Thanks in advance for your answers,
Luca
Luca
Top achievements
Rank 1
 asked on 18 Feb 2013
5 answers
145 views
I have noticed an intermittent error with scrolling when using remote virtualization in IE 8.0.
Here are the steps to reproduce the error:

1) Sort the grid by a single column in ascending order
2) Drag the scroll bar down to the bottom of the grid as quickly as you can

In some cases the last few records are not the ones you would expect based on the sort.

This is also reproducable in your online demo. If you sort by Order ID ASC you will in some cases not see the number 11077 as the last entry in the grid.
Seems like the grid corrects itself if you scroll up from the bottom (just a tiny amount is needed).

Thanks
Tor
Daniel
Telerik team
 answered on 15 Feb 2013
7 answers
346 views
It would be great if Kendo team can add Scaffolding templates to MVC templates for CRUD operation using Kendo's controls.
Any play or thoughts on that?

Thanks!
..Ben
Sebastian
Telerik team
 answered on 15 Feb 2013
4 answers
353 views
Hi,
I need to customize the layout for a grid. Can you explain how can I do this, please?

THIS IS MY CODE

AnagraficaRistoratoriEspositori.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/ViewsMasterPage.Master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="phdContent" runat="server">
<h2>Gestione Anagrafica Ristoratori/Organizzatori</h2>
<%: Html.Kendo().Grid<Sopra.Fmspa.BusinessLayer.ViewModels.AnagraficaViewModel>()
.Name("Grid")
.HtmlAttributes(new { Style = "height:700px; width:1200px;" })
.Columns(columns =>
{
columns.Bound(e => e.Id).Hidden();
columns.Bound(e => e.RagioneSociale)
.Filterable(filterable => filterable.UI("RagioneSocialeFilter"))
.Width(300);
columns.Bound(e => e.TipologiaAnagrafica)
.Filterable(filterable => filterable.UI("TipologiaAnagraficaFilter"))
.Width(300)
.ClientTemplate("# try {# #=TipologiaAnagrafica.Descrizione# #} catch (e) {}#");
columns.Bound(e => e.Padiglione)
.Filterable(filterable => filterable.UI("PadiglioneFilter"))
.Width(300)
.ClientTemplate("# try {# #=Padiglione.Descrizione# #} catch (e) {}#");
columns.Bound(p => p.Descrizione).Width(300);
columns.Bound(e => e.FlagEstero)
.Filterable(filterable => filterable.UI("FlagEsteroFilter"))
.Width(150);
// Batch editing
//columns.Command(command => command.Destroy()).Width(100);
// InLine editing or PopUp editing
//columns.Command(command => { command.Edit(); command.Destroy(); }).Width(200);
columns.Command(command => { command.Edit(); command.Destroy(); }).Width(200);
})
.Resizable(resizing => resizing.Columns(true))
.Reorderable(reordering => reordering.Columns(true))
.Filterable(filterable => filterable
.Extra(false)
.Operators(operators => operators
.ForString(str => str.Clear()
.StartsWith("Inizia per")
.IsEqualTo("Equivale a")
.IsNotEqualTo("Differisce da")
))
)
.Groupable()
// Batch editing
//.ToolBar(toolbar =>
// {
// toolbar.Create();
// toolbar.Save();
// })
// InLine editing
//.ToolBar(toolbar => toolbar.Create())
.ToolBar(toolbar => toolbar.Create())
// Batch editing
//.Editable(editable => editable.Mode(GridEditMode.InCell))
// InLine editing
//.Editable(editable => editable.Mode(GridEditMode.InLine))
// PopUp editing
//.Editable(editable => editable.Mode(GridEditMode.PopUp))
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Pageable()
.Sortable()
.Scrollable()
.ColumnMenu()
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(true)
.PageSize(100)
.Batch(true)
.Events(events => events.Error("error_handler"))
.Model(model =>
{
model.Id(p => p.Id);
model.Field(p => p.FlagEstero).DefaultValue(null);
})
.Read("Anagrafiche_Read", "Anagrafica")
.Update("Anagrafiche_Update", "Anagrafica")
.Create("Anagrafiche_Create", "Anagrafica")
.Destroy("Anagrafiche_Delete", "Anagrafica")
)
%>
<script type="text/javascript">
function error_handler(e) {
if (e.errors) {
var message = "Errors:\n";
$.each(e.errors, function (key, value) {
if ('errors' in value) {
$.each(value.errors, function () {
message += this + "\n";
});
}
});
var grid = $("#Grid").data("kendoGrid");
grid.one("dataBinding", function (e) {
e.preventDefault(); // cancel grid rebind if error occurs
});
alert(message);
}
}
function RagioneSocialeFilter(element) {
element.kendoDropDownList({
dataSource: {
transport: {
read: "<%= Url.Action("Anagrafiche_RagioneSocialeFilter") %>"
}
},
optionLabel: "--Scegliere ragione sociale--"
});
}
function TipologiaAnagraficaFilter(element) {
element.kendoDropDownList({
dataSource: {
transport: {
read: "<%= Url.Action("Anagrafiche_TipologiaAnagraficaFilter") %>"
}
},
optionLabel: "--Scegliere tipologia anagrafica--"
});
}
function PadiglioneFilter(element) {
element.kendoDropDownList({
dataSource: {
transport: {
read: "<%= Url.Action("Anagrafiche_PadiglioneFilter") %>"
}
},
optionLabel: "--Scegliere padiglione--"
});
}
function FlagEsteroFilter(element) {
element.kendoDropDownList({
dataSource: {
transport: {
read: "<%= Url.Action("Anagrafiche_FlagEsteroFilter") %>"
}
},
optionLabel: "--Espositore Estero?--"
});
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="phdHeadContent" runat="server">
</asp:Content>

AnagraficaRepository.cs

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<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.Ignore())
.ForMember(dest => dest.Padiglione, opt => opt.Ignore())
.ForMember(dest => dest.Manifestazione, opt => opt.Ignore());
}
//public AnagraficaRepository(ODLModelContainer context)
//{
// this.context = context;
//}
// ---------------------------------------------------------------------------------------------- //
public IEnumerable<Anagrafica> GetAnagrafica()
{
return context.odl_Anagrafica.ToList();
}
public IList<AnagraficaViewModel> GetAnagraficaList()
{
List<Anagrafica> anag = context.odl_Anagrafica.ToList();
List<AnagraficaViewModel> anagview = AutoMapper.Mapper.Map<List<Anagrafica>,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)
{
Anagrafica anag = AutoMapper.Mapper.Map<AnagraficaViewModel, Anagrafica>(anagview);
// valore forzato
anag.ManifestazioneId = anagview.ManifestazioneId;
context.odl_Anagrafica.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)
{
Anagrafica anag = AutoMapper.Mapper.Map<AnagraficaViewModel,Anagrafica>(anagview);
context.odl_Anagrafica.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)
{
Anagrafica anag = context.odl_Anagrafica.Find(anagview.Id);
if (anag != null)
{
context.odl_Anagrafica.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)
* - migliorare l'interfaccia grafica, in particolare l'aspetto della grid
* - controllo ad inserimento per la ragione sociale: stabilire se una voce è già stata inserita nel database
*/


AnagraficaController.cs
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<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.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.GetAnagrafica().Select(e => e.RagioneSociale).Distinct(), JsonRequestBehavior.AllowGet);
}
public ActionResult Anagrafiche_TipologiaAnagraficaFilter()
{
return Json(anagraficaRepository.GetAnagrafica().Select(e => e.TipologiaAnagrafica).Distinct(), JsonRequestBehavior.AllowGet);
}
public ActionResult Anagrafiche_PadiglioneFilter()
{
return Json(anagraficaRepository.GetAnagrafica().Select(e => e.Padiglione).Distinct(), JsonRequestBehavior.AllowGet);
}
public ActionResult Anagrafiche_FlagEsteroFilter()
{
return Json(anagraficaRepository.GetAnagrafica().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_Padiglione.ToList());
}
// ---------------------------------------------------------------------------------------------- //
//[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)
* - migliorare l'interfaccia grafica, in particolare l'aspetto della grid
* - controllo ad inserimento per la ragione sociale: stabilire se una voce è già stata inserita nel database
Stefano
Top achievements
Rank 1
 answered on 15 Feb 2013
3 answers
279 views
Hi,
my code doesn't work, it do not find a controller action because is located in a specific area of my MVC project.
Can I specify in url parameter what is the area name from which call the action method?

$("<div id = '10'/>").appendTo(document.body).kendoWindow({
        name: "window",
        resizable: true,
        width: 100,
        height: 100,
        scrollable: false,
        content: { url: 'Cliente/ClienteIndex' },
        iframe: true,
        modal: false,
        title: 'title',
        actions: ["Refresh", "Minimize", "Maximize", "Close"],
        close: function (e) {
            this.destroy();
        }
    });
Gaetano
Top achievements
Rank 1
 answered on 14 Feb 2013
1 answer
243 views
Is there an easy way to enumerate through a list of controls such as datetime pickers or numeric controls and call the enable() method on them without specifying the id? Essentially I want to disable and enable a group of controls in a div.

Thanks!
Michael
Top achievements
Rank 1
 answered on 14 Feb 2013
8 answers
222 views
Hi,
Will there be a Kendo.Mvc.resources.dll for Swedish or do I need to compile my own file?

Regards,
Mattias
Daniel
Telerik team
 answered on 14 Feb 2013
Narrow your results
Selected tags
Tags
Grid
General Discussions
Scheduler
DropDownList
Chart
Editor
TreeView
DatePicker
ComboBox
Upload
MultiSelect
ListView
Window
TabStrip
Menu
Installer and VS Extensions
Spreadsheet
AutoComplete
TreeList
Gantt
PanelBar
NumericTextBox
Filter
ToolTip
Map
Diagram
Button
PivotGrid
Form
ListBox
Splitter
Application
FileManager
Sortable
Calendar
View
MaskedTextBox
PDFViewer
TextBox
Toolbar
MultiColumnComboBox
Dialog
DropDownTree
Checkbox
Slider
Switch
Notification
Accessibility
ListView (Mobile)
Pager
ColorPicker
DateRangePicker
Security
Wizard
Styling
Chat
DateInput
MediaPlayer
TileLayout
Drawer
SplitView
Template
Barcode
ButtonGroup (Mobile)
Drawer (Mobile)
ImageEditor
RadioGroup
Sparkline
Stepper
TabStrip (Mobile)
GridLayout
Badge
LinearGauge
ModalView
ResponsivePanel
TextArea
Breadcrumb
ExpansionPanel
Licensing
Rating
ScrollView
ButtonGroup
CheckBoxGroup
NavBar
ProgressBar
QRCode
RadioButton
Scroller
Timeline
TreeMap
TaskBoard
OrgChart
Captcha
ActionSheet
Signature
DateTimePicker
AppBar
BottomNavigation
Card
FloatingActionButton
Localization
MultiViewCalendar
PopOver (Mobile)
Ripple
ScrollView (Mobile)
Switch (Mobile)
PivotGridV2
FlatColorPicker
ColorPalette
DropDownButton
AIPrompt
PropertyGrid
ActionSheet (Mobile)
BulletGraph
Button (Mobile)
Collapsible
Loader
CircularGauge
SkeletonContainer
Popover
HeatMap
Avatar
ColorGradient
CircularProgressBar
SplitButton
StackLayout
TimeDurationPicker
Chip
ChipList
DockManager
ToggleButton
Sankey
OTPInput
ChartWizard
SpeechToTextButton
InlineAIPrompt
TimePicker
StockChart
RadialGauge
ContextMenu
ArcGauge
AICodingAssistant
SegmentedControl
+? more
Top users last month
Boardy
Top achievements
Rank 2
Veteran
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
ivory
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ClausDC
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Boardy
Top achievements
Rank 2
Veteran
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
ivory
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ClausDC
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?