private void UpdateTalukFromModel(Taluk target, TalukModel source)
 {
     target.TalukId       = source.TalukId;
     target.TalukGuid     = source.TalukGuid;
     target.TalukName     = source.TalukName;
     target.TalukGMapLink = source.TalukGMapLink;
     target.TalukIsActive = source.TalukIsActive;
 }
        static public async Task <TalukModel> CreateTalukModelAsync(Taluk source, bool includeAllFields)
        {
            var model = new TalukModel()
            {
                TalukId       = source.TalukId,
                TalukGuid     = source.TalukGuid,
                TalukName     = source.TalukName,
                TalukGMapLink = source.TalukGMapLink,
                TalukIsActive = source.TalukIsActive,
            };

            return(model);
        }
        public async Task <TalukModel> UpdateTalukAsync(TalukModel model)
        {
            long id = model.TalukId;

            using (var dataService = DataServiceFactory.CreateDataService())
            {
                var taluk = new Taluk();
                if (taluk != null)
                {
                    UpdateTalukFromModel(taluk, model);
                    await dataService.UpdateTalukAsync(taluk);

                    model.Merge(await GetTalukAsync(dataService, taluk.TalukId));
                }
                return(model);
            }
        }
        public async Task <Result> DeleteTalukAsync(TalukModel model)
        {
            var taluk = new Taluk {
                TalukId = model.TalukId
            };

            using (var dataService = DataServiceFactory.CreateDataService())
            {
                try
                {
                    await dataService.DeleteTalukAsync(taluk);
                }
                catch (DbUpdateException ex) when(ex.InnerException is SqlException sqlException && (sqlException.Number == 547))
                {
                    return(Result.Error("Taluk is already in use"));
                }
                catch (Exception ex)
                {
                    throw ex;
                }

                return(Result.Ok());
            }
        }