예제 #1
0
        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);

        }
예제 #2
0
        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));
        }