public IHttpActionResult EditTargetGroup(dto_target_group_updateC _dto) { var _groupService = _ServiceFactory.GetService<ITargetGroupService>(); _groupService.controller_key = _controller_key; var _updated = _groupService.Update(_dto).Result; if (!this.ModelState.IsValid) { return BadRequest(this.ModelState.ToErrorMessage());; } return Ok(_updated); }
public Task <bool> Update(dto_target_group_updateC _dto) { bool _updated = false; if (string.IsNullOrEmpty(_dto.target_gp_name)) { AddErrorMessage("Update Error", "Save Error", "Target Area Name Is Null!"); return(Task.FromResult(_updated)); } if (fnn.LOGGED_USER.DoesNotHaveRight(em.right_menu_types.can_edit_target_group_info)) { _updated = false; AddErrorMessage("Limited Rights Error", "Limited Rights Error", "You Are Not Authorized To Perform This Operation"); return(Task.FromResult(_updated)); } #region _image_section string _imageUrl = null; target_groupC _obj = null; if (!string.IsNullOrEmpty(_dto.target_gp_image_base_64)) { string _imageFilePath = string.Empty; string _file_extension = string.Empty; if (string.IsNullOrEmpty(_dto.image_file_extension)) { AddErrorMessage("Insert Error", "Save Error", "Grantee Image File Extension Cannot Be Empty"); return(Task.FromResult(_updated)); } try { if (_dto.image_file_extension.IndexOf('.') == -1) { _file_extension = string.Format(".{0}", _dto.image_file_extension); } else { _file_extension = _dto.image_file_extension; } if (!fnn.IsValidImageFileExtension(_file_extension)) { AddErrorMessage("Insert Error", "Save Error", "Grantee Image File Extension Is Invalid"); return(Task.FromResult(_updated)); } var _image_bytes = System.Convert.FromBase64String(_dto.target_gp_image_base_64); if (_image_bytes == null || _image_bytes.Length == 0) { throw new Exception("Error Getting Grantee Image From Base64 String"); } var rootPath = HostingEnvironment.MapPath("~/ImageAssets/"); string _file_name = string.Format("tg-{0:yyyy-MM-dd_hh-mm-ss-tt}{1}", DateTime.Now, _file_extension); _imageFilePath = Path.Combine(rootPath, Path.GetFileName(_file_name)); File.WriteAllBytes(_imageFilePath, _image_bytes); _imageUrl = fnn.CreateImageAssetUrl(_file_name); } catch (Exception ex) { AddErrorMessage("Thrown Execption", "Thrown Exception", ex.Message); return(Task.FromResult(_updated)); } } #endregion using (var _trans = new ZUpdateContext()) { var _existing = _trans.Context.TARGET_GROUPS.Where(e => e.target_gp_id == _dto.target_gp_id & e.delete_id == 0).FirstOrDefault(); if (_existing == null) { _updated = false; AddErrorMessage("Update Error", "Save Error", "Unable To Find Facilitator Object"); return(Task.FromResult(_updated)); } _obj = _existing; if (_existing.target_gp_name.ToLower() != _dto.target_gp_name.ToLower()) { var _ret = DbHelper.UpdatePrimaryKeyColumn(new DbHelperPrimarykeyUpdateC { col_to_update = "target_gp_name", new_col_value = _dto.target_gp_name.Trim().ToProperCase(), table_name = _table_name, pk_col_name = "target_gp_id", pk_id = _dto.target_gp_id }, _trans.Context); if (_ret == null || _ret.Value == false) { AddErrorMessage("Error", "Update Error", "Target Area Name Already Exists"); _updated = false; return(Task.FromResult(_updated)); } else { _updated = true; _trans.Context.SaveChanges(); } } _updated = true; if (_updated) { List <DbParameter> _para = new List <DbParameter>(); _para.Clear(); _para.Add(fnn.GetDbParameters("@id", _existing.target_gp_id)); _para.Add(fnn.GetDbParameters("@v2", fnn.GetServerDate().ToUnixTimestamp())); _para.Add(fnn.GetDbParameters("@v3", string.IsNullOrEmpty(_dto.alias) ? string.Empty : _dto.alias)); _para.Add(fnn.GetDbParameters("@v4", string.IsNullOrEmpty(_imageUrl) ? string.Empty : _imageUrl)); // var _sql = string.Format(string.Format("update {0} set fs_timestamp=@v2,alias=@v3,target_gp_image_url=@v4 where target_gp_id = @id and delete_id = 0", _table_name)); _trans.Context.Database.ExecuteSqlCommand(_sql, _para.ToArray()); _trans.Context.SaveChanges(); int _cat_type_id = em.resource_cat_typeS.target_gp.ToInt32(); var _r_list = (from k in _trans.Context.VOICE_RESOURCE_CATEGORIES where k.resource_cat_type_id == _cat_type_id & k.resource_cat_id == _obj.target_gp_id & k.delete_id == 0 select k).ToList(); foreach (var _v in _r_list) { _para.Clear(); _para.Add(fnn.GetDbParameters("@v1", _existing.target_gp_id)); _para.Add(fnn.GetDbParameters("@v2", fnn.GetServerDate().ToUnixTimestamp())); _para.Add(fnn.GetDbParameters("@v3", string.IsNullOrEmpty(_imageUrl) ? string.Empty : _imageUrl)); _para.Add(fnn.GetDbParameters("@v4", _dto.target_gp_name.Trim().ToProperCase())); _sql = string.Format(string.Format("update {0} set fs_timestamp=@v2,resource_cat_img_url=@v3" + ",resource_cat_name=@v4 where un_id = @v1 and delete_id = 0", DbHelper.GetTableSchemaName("voice_resource_cat_tb"))); _trans.Context.Database.ExecuteSqlCommand(_sql, _para.ToArray()); _trans.Context.SaveChanges(); } _trans.Commit(); } } return(Task.FromResult(_updated)); }